From 7385c8cdc74a2b4d28d65ce91676157471d9e629 Mon Sep 17 00:00:00 2001 From: Yaron Haviv Date: Thu, 26 Dec 2019 01:46:07 +0200 Subject: [PATCH 1/9] update notebooks in xgboost --- xgboost/nuclio_serving.ipynb | 238 ++++- xgboost/train_xgboost_serverless.ipynb | 1214 ++++++++++++++++++------ 2 files changed, 1157 insertions(+), 295 deletions(-) diff --git a/xgboost/nuclio_serving.ipynb b/xgboost/nuclio_serving.ipynb index e35585d6..c49f0ab0 100644 --- a/xgboost/nuclio_serving.ipynb +++ b/xgboost/nuclio_serving.ipynb @@ -1,5 +1,32 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Deploy a Serverless Model Server with Nuclio-KFServing\n", + " --------------------------------------------------------------------\n", + "\n", + "The following notebook demonstrates how to deploy an XGBoost model using nuclio + KFServing (a.k.a Nuclio-serving)\n", + "\n", + "#### **notebook how-to's**\n", + "* Write and test model serving (KFServing) class in a notebook.\n", + "* Deploy the model server as a Nuclio-serving function.\n", + "* Invoke and test the serving function." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "#### **steps**\n", + "**[define a new function and its dependencies](#define-function)**
\n", + "**[test the model serving class locally](#test-locally)**
\n", + "**[deploy our serving class using as a serverless function](#deploy)**
\n", + "**[test our model server using HTTP request](#test-model-server)**
" + ] + }, { "cell_type": "code", "execution_count": 1, @@ -11,6 +38,14 @@ "import nuclio " ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### **define a new function and its dependencies**" + ] + }, { "cell_type": "code", "execution_count": null, @@ -18,29 +53,28 @@ "outputs": [], "source": [ "%%nuclio cmd\n", - "pip install kfserving==0.2.0 --upgrade\n", + "pip install kfserving --upgrade\n", "pip install azure\n", "pip install numpy\n", - "pip install xgboost" + "pip install xgboost\n", + "pip install mlrun" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import kfserving\n", "import os\n", "import numpy as np\n", - "from typing import List, Any\n", - "\n", "import xgboost as xgb" ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -61,46 +95,135 @@ " self._booster = xgb.Booster(model_file=model_file)\n", " self.ready = True\n", "\n", - " def predict(self, body: List) -> List:\n", + " def predict(self, body):\n", " try:\n", " # Use of list as input is deprecated see https://github.com/dmlc/xgboost/pull/3970\n", - " dmatrix = xgb.DMatrix(body)\n", + " dmatrix = xgb.DMatrix(body['instances'])\n", " result: xgb.DMatrix = self._booster.predict(dmatrix)\n", " return result.tolist()\n", " except Exception as e:\n", " raise Exception(\"Failed to predict %s\" % e)\n" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following end-code annotation tells ```nuclio``` to stop parsing the notebook from this cell. _**Please do not remove this cell**_:" + ] + }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "# nuclio: end-code\n", - "from mlrun import new_model_server\n", - "import requests" + "# nuclio: end-code" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "______________________________________________" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### **test the model serving class locally**\n", + "The class above can be tested locally. Just instantiate the class, `.load()` will load the model to a local dir.\n", + "\n", + "> **Verify there is a `model.bst` file in the model_dir path (generated by the training notebook)**" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "model_dir = '/User/mlrun/data'" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[I 191225 20:59:23 storage:35] Copying contents of /User/mlrun/data to local\n" + ] + } + ], + "source": [ + "my_server = XGBoostModel('my-model', model_dir=model_dir)\n", + "my_server.load()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "We can use the `.predict(body)` method to test the model." + ] + }, + { + "cell_type": "code", + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "[[0.789408266544342,\n", + " 0.02588181011378765,\n", + " 0.02631426602602005,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943],\n", + " [0.789408266544342,\n", + " 0.02588181011378765,\n", + " 0.02631426602602005,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943,\n", + " 0.022627953439950943]]" ] }, - "execution_count": 13, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "fn = new_model_server('iris-srv', models={'iris_v1': '/User/mlrun'}, model_class='XGBoostModel')\n", - "fn.with_v3io('User','~/') " + "my_server.predict({\"instances\":[[5], [10]]})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### **deploy our serving class using as a serverless function**\n", + "in the following section we create a new model serving function which wraps our class , and specify model and other resources.\n", + "\n", + "the `models` dict store model names and the assosiated model **dir** URL (the URL can start with `S3://` and other blob store options), the faster way is to use a shared file volume, we use `.apply(mount_v3io())` to attach a v3io (iguazio data fabric) volume to our function. By default v3io will mount the current user home into the `\\User` function path.\n", + "\n", + "**verify the model dir does contain a valid `model.bst` file**" ] }, { @@ -109,44 +232,101 @@ "metadata": {}, "outputs": [], "source": [ - "addr = fn.deploy(project='iris')" + "from mlrun import new_model_server, mount_v3io\n", + "import requests" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 11, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Seldon protocol event\n", - "event_seldon = {\"data\": {\"ndarray\": [[5], [10]]}}\n", - "csel = str(event_seldon).replace(\"\\'\", \"\\\"\")" + "fn = new_model_server('iris-srv', \n", + " models={'iris_v1': model_dir}, \n", + " model_class='XGBoostModel')\n", + "\n", + "fn.apply(mount_v3io()) " ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "b'{\"data\": {\"ndarray\": [[0.9523019790649414, 0.007880364544689655, 0.007672834675759077, 0.00459211366251111, 0.00459211366251111, 0.00459211366251111, 0.00459211366251111, 0.00459211366251111, 0.00459211366251111, 0.00459211366251111], [0.9494358897209167, 0.011671468615531921, 0.006844568531960249, 0.004578292835503817, 0.004578292835503817, 0.004578292835503817, 0.004578292835503817, 0.004578292835503817, 0.004578292835503817, 0.004578292835503817]]}}'\n" + "[mlrun] 2019-12-25 21:00:29,593 deploy started\n", + "[nuclio] 2019-12-25 21:00:30,683 (info) Building processor image\n", + "[nuclio] 2019-12-25 21:00:36,743 (info) Build complete\n", + "[nuclio] 2019-12-25 21:00:42,816 (info) Function deploy complete\n", + "[nuclio] 2019-12-25 21:00:42,826 done creating iris-srv, function address: 13.58.34.174:32590\n" ] } ], "source": [ - "resp = requests.put(addr + '/predict/iris_v1', data=csel)\n", - "print(resp.content)" + "addr = fn.deploy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "### **test our model server using HTTP request**\n", + "\n", + "\n", + "We invoke our model serving function using test data, the data vector is specified in the `instances` attribute." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "# KFServing protocol event\n", + "event_data = {\"instances\":[[5], [10]]}" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[0.789408266544342, 0.02588181011378765, 0.02631426602602005, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943], [0.789408266544342, 0.02588181011378765, 0.02631426602602005, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943, 0.022627953439950943]]\n" + ] + } + ], + "source": [ + "import json\n", + "resp = requests.put(addr + '/iris_v1/predict', json=json.dumps(event_data))\n", + "print(resp.text)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**[back to top](#top)**" + ] } ], "metadata": { diff --git a/xgboost/train_xgboost_serverless.ipynb b/xgboost/train_xgboost_serverless.ipynb index 4af327b2..65253d2f 100644 --- a/xgboost/train_xgboost_serverless.ipynb +++ b/xgboost/train_xgboost_serverless.ipynb @@ -4,7 +4,31 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Train XGboost Model With Hyper-Params Using Serverless Functions" + "# E2E Serverless ML pipeline - Ingest, Train, Auto Deploy Model\n", + " --------------------------------------------------------------------\n", + "\n", + "Using the classic Iris dataset to demonstrate definition and automation of an end to end ML pipeline.\n", + "\n", + "#### **notebook how-to's**\n", + "* Write and test ML pipeline in a notebook.\n", + "* Use hyper parameter tests\n", + "* Convert the code to serverless functions and run in the cluster\n", + "* Define an ML pipeline DAG (using KubeFlow Pipelines)\n", + " * with 4 steps: data prep, training, model deployment, model report\n", + "* Check our pipeline results from the notebook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "#### **steps**\n", + "**[define a new function and its dependencies](#define-function)**
\n", + "**[run the data collection and training locally](#test-locally)**
\n", + "**[running a task with Hyper parameters (GridSearch)](#hyper-param)**
\n", + "**[define cluster jobs, build images and run](#build)**
\n", + "**[Create a multi-stage KubeFlow Pipeline from our functions](#pipeline)**
" ] }, { @@ -21,7 +45,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Define function dependencies" + "\n", + "### **define a new function and its dependencies**" ] }, { @@ -55,15 +80,19 @@ ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 3, "metadata": {}, + "outputs": [], "source": [ - "### Function code" + "# use this to supress XGB FutureWarning\n", + "import warnings\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -120,7 +149,7 @@ " context.log_result('accuracy', float(accuracy_score(Y_test, best_preds)))\n", " context.log_artifact('model', body=bytes(xgb_model.save_raw()), \n", " target_path=model_name, labels={'framework': 'xgboost'})\n", - " \n", + " \n", " \n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", @@ -136,9 +165,16 @@ " context.log_artifact(PlotArtifact('myfig', body=fig))" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following end-code annotation tells ```nuclio``` to stop parsing the notebook from this cell. _**Please do not remove this cell**_:" + ] + }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -150,38 +186,54 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Import MLRUN, and run the data collection and training locally" + "\n", + "### run the data collection and training locally\n", + "\n", + "The functions above can be tested locally. Parameters, inputs, and outputs can be specified in the API or the `Task` object.\n", + "\n", + "We use the ```local``` runtime by default, later on we will use a ```job``` runtime for running containers.\n", + "\n", + "In each run we can specify the function, inputs, parameters/hyper-parameters, etc... For more details, see the [mlrun_basics notebook](mlrun_basics.ipynb)." ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "from mlrun import new_function, code_to_function, NewTask, mount_v3io, new_model_server, mlconf, get_run_db\n", + "from mlrun import new_function, code_to_function, NewTask, v3io_cred, new_model_server, mlconf, get_run_db, mount_v3io\n", "# for local DB path use 'User/mlrun' instead \n", - "mlconf.dbpath = 'http://mlrun-db:8080'" + "mlconf.dbpath = 'http://mlrun-api:8080'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Generate the iris dataset and store in a CSV" + "#### Generate the iris dataset and store in a CSV" ] }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "df_path = 'mydf.csv'\n", + "out_path='/User/mlrun/data'" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-18 12:02:55,255 starting run iris_gen uid=d04439c48b5d4708977cfa5b53ea2996 -> http://mlrun-db:8080\n", - "[mlrun] 2019-11-18 12:02:55,384 saving iris dataframe to /User/mlrun/df.csv\n", + "[mlrun] 2019-12-25 21:50:12,125 saving iris dataframe to mydf.csv\n", "\n" ] }, @@ -354,26 +406,26 @@ " \n", " \n", " \n", - "
...ea2996
\n", + "
...eaadee
\n", " 0\n", - " Nov 18 12:02:55\n", + " Dec 25 21:50:12\n", " completed\n", " iris_gen\n", - "
kind=handler
owner=admin
host=jupyter-1hxq4i7w8a-ii3h9-65659db544-5zp95
\n", + "
host=jupyter-dulwoc9x63-ixir3-68dccc6b7-rr8cn
\n", " \n", - "
target=/User/mlrun/df.csv
\n", + "
target=mydf.csv
\n", " \n", - "
iris_dataset
\n", + "
iris_dataset
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -388,38 +440,42 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid d04439c48b5d4708977cfa5b53ea2996 \n", - "[mlrun] 2019-11-18 12:02:55,448 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run a85f7d4e67184ecbb3794d5429eaadee , !mlrun logs a85f7d4e67184ecbb3794d5429eaadee \n", + "[mlrun] 2019-12-25 21:50:12,283 run executed, status=completed\n" ] } ], "source": [ - "df_path = '/User/mlrun/df.csv'\n", - "gen = new_function().run(name='iris_gen', handler=iris_generator, params={'target': df_path})" + "gen = new_function().run(name='iris_gen', handler=iris_generator, out_path=out_path, params={'target': df_path})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Define a training task with Hyper parameters (GridSearch) and run locally" + "#### define a training task and run locally" ] }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 9, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# create a task and test our function locally with multiple parameters\n", - "parameters = {\n", - " \"eta\": [0.05, 0.10, 0.20],\n", - " \"max_depth\": [3, 4, 6, 8, 10],\n", - " \"gamma\": [0.0, 0.1, 0.3],\n", - " }\n", - "\n", - "task = NewTask(handler=xgb_train, out_path='/User/mlrun/data', inputs={'dataset': df_path}).with_hyper_params(parameters, 'max.accuracy')" + "task = NewTask(handler=xgb_train, out_path=out_path, inputs={'dataset': df_path})\n", + "task.with_params(eta=0.1, max_depth=6, gamma=0.1)" ] }, { @@ -427,13 +483,6 @@ "execution_count": 10, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[mlrun] 2019-11-18 12:03:10,209 starting run xgb_train uid=141cedd49d074792934da530076ddc63 -> http://mlrun-db:8080\n" - ] - }, { "data": { "text/html": [ @@ -603,26 +652,26 @@ " \n", " \n", " \n", - "
...6ddc63
\n", + "
...98e5ae
\n", " 0\n", - " Nov 18 12:03:10\n", + " Dec 25 21:50:25\n", " completed\n", " xgb_train\n", - "
kind=handler
owner=admin
\n", - "
dataset
\n", - " \n", - "
best_iteration=4
accuracy=1.0
\n", - "
model
iteration_results
\n", + "
host=jupyter-dulwoc9x63-ixir3-68dccc6b7-rr8cn
\n", + "
dataset
\n", + "
eta=0.1
max_depth=6
gamma=0.1
\n", + "
accuracy=0.9
\n", + "
model
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -637,9 +686,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid 141cedd49d074792934da530076ddc63 \n", - "[mlrun] 2019-11-18 12:03:14,014 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run a05f3ca5f9b3490a8c16ca456198e5ae , !mlrun logs a05f3ca5f9b3490a8c16ca456198e5ae \n", + "[mlrun] 2019-12-25 21:50:25,447 run executed, status=completed\n" ] } ], @@ -651,75 +700,19 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Deploy XGB function to Nuclio (with paralelism), and run remotely " - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# create the function from the notebook code + annotations, add volumes and parallel HTTP trigger\n", - "xgbfn = code_to_function('xgb', runtime='nuclio:mlrun')\n", - "xgbfn.add_volume('User','~/').with_http(workers=16).with_v3io()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[mlrun] 2019-11-18 12:14:05,432 deploy started\n", - "[nuclio.deploy] 2019-11-18 12:14:06,506 (info) Building processor image\n", - "[nuclio.deploy] 2019-11-18 12:14:11,547 (info) Build complete\n", - "[nuclio.deploy] 2019-11-18 12:14:20,010 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-11-18 12:14:20,022 done updating xgb, function address: 3.133.112.240:32290\n" - ] - }, - { - "data": { - "text/plain": [ - "'http://3.133.112.240:32290'" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# deploy the function to the cluster\n", - "xgbfn.deploy(project='iris')" + "\n", + "### running a task with Hyper parameters (GridSearch)\n", + "\n", + "In many cases we want to run our jobs with multiple parameter combination options, we can simply create a task with hyper params (list of possible values per parameter) and MLRun will run all the combinations.\n", + "\n", + "MLRun will store all the results (see the `iteration_results` artifact), you can specify which result is the best (will be treated as the overall task output) using the selection criteria (`max.accuracy` i.e. the one with maximum value as the `accuracy` result)." ] }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 11, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[mlrun] 2019-11-18 12:11:57,449 starting run xgb_train uid=42e9c80152664a948f62e7a0b5fbb67a -> http://mlrun-db:8080\n" - ] - }, { "data": { "text/html": [ @@ -889,26 +882,26 @@ " \n", " \n", " \n", - "
...fbb67a
\n", + "
...899d6d
\n", " 0\n", - " Nov 18 12:11:57\n", + " Dec 25 21:50:33\n", " completed\n", " xgb_train\n", - "
kind=remote
owner=admin
\n", - "
dataset
\n", " \n", - "
best_iteration=1
accuracy=1.0
\n", - "
model
iteration_results
\n", + "
dataset
\n", + " \n", + "
best_iteration=4
accuracy=1.0
\n", + "
model
iteration_results
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -923,174 +916,863 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid 42e9c80152664a948f62e7a0b5fbb67a \n", - "[mlrun] 2019-11-18 12:11:57,628 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run 555f99679f0d4dff9f2a5c0b84899d6d , !mlrun logs 555f99679f0d4dff9f2a5c0b84899d6d \n", + "[mlrun] 2019-12-25 21:50:34,213 run executed, status=completed\n" ] } ], "source": [ - "nrun = xgbfn.run(task, handler='xgb_train')" + "# test our function locally with multiple parameters\n", + "parameters = {\n", + " \"eta\": [0.10, 0.20],\n", + " \"max_depth\": [3, 6, 10],\n", + " \"gamma\": [0.1, 0.3],\n", + " }\n", + "\n", + "hyper_task = NewTask(handler=xgb_train, out_path=out_path, inputs={'dataset': df_path})\n", + "hyper_task.with_hyper_params(parameters, 'max.accuracy')\n", + "run = new_function().run(hyper_task)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Create a multi-stage KubeFlow Pipeline from our functions\n", - "* Load Iris dataset into a CSV\n", - "* Train a model using XGBoost with Hyper-parameter\n", - "* Deploy the model using Nuclio-serving\n", - "* Generate a plot of the training results" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "import kfp\n", - "from kfp import dsl" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [], - "source": [ - "artifacts_path = 'v3io:///users/admin/mlrun/kfp/{{workflow.uid}}/'" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [], - "source": [ - "@dsl.pipeline(\n", - " name='My XGBoost training pipeline',\n", - " description='Shows how to use mlrun.'\n", - ")\n", - "def xgb_pipeline(\n", - " eta = [0.1, 0.2, 0.3], gamma = [0.0, 0.1, 0.2, 0.3]\n", - "):\n", + "\n", + "______________________________________________\n", + "### **define cluster jobs and build images**\n", "\n", - " ingest = xgbfn.as_step(name='ingest_iris', handler='iris_generator',\n", - " params = {'target': df_path},\n", - " outputs=['iris_dataset'], out_path=artifacts_path).apply(mount_v3io())\n", + "In order to use our function in a cluster we need to package our code and dependencies.\n", "\n", - " \n", - " train = xgbfn.as_step(name='xgb_train', handler='xgb_train',\n", - " hyperparams = {'eta': eta, 'gamma': gamma},\n", - " selector='max.accuracy',\n", - " inputs = {'dataset': ingest.outputs['iris_dataset']}, \n", - " outputs=['model'], out_path=artifacts_path).apply(mount_v3io())\n", + "The ```code_to_function``` call will automatically generate a ```function``` object from the current notebook (or a specified file) with its list of dependencies and runtime configuration.\n", "\n", - " \n", - " plot = xgbfn.as_step(name='plot', handler='plot_iter',\n", - " inputs={'iterations': train.outputs['iteration_results']},\n", - " outputs=['iris_dataset'], out_path=artifacts_path).apply(mount_v3io())\n", + "The `.deploy()` command will build the dependencies and image required for running our function.\n", "\n", + "We use `.apply(mount_v3io())` to attach a v3io (iguazio data fabric) volume to our function. By default v3io will mount the current user home into the `\\User` function path.\n", "\n", - " # define a nuclio-serving functions, generated from a notebook file\n", - " srvfn = new_model_server('iris-serving', model_class='XGBoostModel', filename='nuclio_serving.ipynb')\n", - " \n", - " # deploy the model serving function with inputs from the training stage\n", - " deploy = srvfn.with_v3io('User','~/').deploy_step(project = 'iris', models={'iris_v1': train.outputs['model']})" + "Alternatively we can use S3 as a data source or target, for that you need to add AWS credentials to the task and specify paths starting with `s3://` e.g.:\n", + "\n", + " task.with_secrets('file', 'secrets.txt')\n", + " out_path='s3://my-bucket/data'" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ - "### Create a KubeFlow client and submit the pipeline with parameters" + "# create the function from the notebook code + annotations, add volumes and parallel HTTP trigger\n", + "xgbfn = code_to_function('xgb', runtime='job').apply(mount_v3io())\n", + "xgbfn.deploy()" ] }, { - "cell_type": "code", - "execution_count": 28, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# for debug generate the pipeline dsl\n", - "#kfp.compiler.Compiler().compile(xgb_pipeline, 'mlrunpipe.yaml')" + "**run our task using the cluster job**" ] }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 14, "metadata": {}, "outputs": [ { - "data": { - "text/html": [ - "Experiment link here" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" + "name": "stdout", + "output_type": "stream", + "text": [ + "[mlrun] 2019-12-25 22:01:17,954 starting run xgb_train uid=6a8ccf6491364d75b3b7d373fcc6a608 -> http://mlrun-api:8080\n", + "[mlrun] 2019-12-25 22:01:24,930 run executed, status=completed\n", + "/usr/local/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", + " % (item.__module__, item.__name__)\n", + "final state: succeeded\n" + ] }, { "data": { "text/html": [ - "Run link here" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "client = kfp.Client(namespace='default-tenant')\n", - "arguments = {'eta': [0.05, 0.10, 0.30], 'gamma': [0.0, 0.1, 0.2, 0.3]}\n", - "run_result = client.create_run_from_pipeline_func(xgb_pipeline, arguments, run_name='xgb 1', experiment_name='xgb')" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [], - "source": [ - "# connect to the run db \n", - "db = get_run_db().connect()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# query the DB with filter on workflow ID (only show this workflow) \n", - "db.list_runs('', labels=f'workflow={run_result.run_id}').show()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "# use this to supress XGB FutureWarning\n", - "import warnings\n", - "warnings.simplefilter(action='ignore', category=FutureWarning)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
uiditerstartstatenamelabelsinputsparametersresultsartifacts
...c6a608
0Dec 25 22:01:24completedxgb
host=xgb-train-xhbwh
kind=job
owner=admin
dataset
eta=0.1
gamma=0.1
max_depth=6
accuracy=0.9666666666666667
model
\n", + "
\n", + "
\n", + "
\n", + " Title\n", + " ×\n", + "
\n", + " \n", + "
\n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run 6a8ccf6491364d75b3b7d373fcc6a608 , !mlrun logs 6a8ccf6491364d75b3b7d373fcc6a608 \n", + "[mlrun] 2019-12-25 22:01:27,152 run executed, status=completed\n" + ] + } + ], + "source": [ + "task.with_input('dataset', os.path.join(out_path, df_path))\n", + "nrun = xgbfn.run(task, handler='xgb_train', out_path=out_path, watch=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "______________________________________________\n", + "## Create a multi-stage KubeFlow Pipeline from our functions\n", + "* Load Iris dataset into a CSV\n", + "* Train a model using XGBoost with Hyper-parameter\n", + "* Deploy the model using Nuclio-serving\n", + "* Generate a plot of the training results" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "import kfp\n", + "from kfp import dsl" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**define the artifacts output path**\n", + "the pipeline outputs will be writtento the artifacts path directory, the path can be a file path (require volume mounts) or an object path (v3io://, s3://, ..).\n", + "\n", + "if we specify `{{workflow.uid}}` in the path it will be replaced with the actual workflow ID, this way every workflow run will store artifacts in a unique location for reproducability." + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "artifacts_path = 'v3io:///users/admin/mlrun/kfp/{{workflow.uid}}/'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**create a model serving function from the [model-serving notebook](nuclio_serving.ipynb)** \n", + "\n", + "This function will be used in our workflow" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# define a nuclio-serving functions, generated from a notebook file\n", + "srvfn = new_model_server('iris-serving', \n", + " model_class='XGBoostModel', \n", + " filename='nuclio_serving.ipynb')\n", + "\n", + "# attach to the fabric (to read the model file)\n", + "srvfn.apply(mount_v3io())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**define a 4 step workflow with hyper-params**" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "@dsl.pipeline(\n", + " name='My XGBoost training pipeline',\n", + " description='Shows how to use mlrun.'\n", + ")\n", + "def xgb_pipeline(\n", + " eta = [0.1, 0.2, 0.3], gamma = [0.1, 0.2, 0.3]\n", + "):\n", + "\n", + " ingest = xgbfn.as_step(name='ingest_iris', handler='iris_generator',\n", + " params = {'target': df_path},\n", + " outputs=['iris_dataset'], out_path=artifacts_path).apply(mount_v3io())\n", + "\n", + " \n", + " train = xgbfn.as_step(name='xgb_train', handler='xgb_train',\n", + " hyperparams = {'eta': eta, 'gamma': gamma},\n", + " selector='max.accuracy',\n", + " inputs = {'dataset': ingest.outputs['iris_dataset']}, \n", + " outputs=['model'], out_path=artifacts_path).apply(mount_v3io())\n", + "\n", + " \n", + " plot = xgbfn.as_step(name='plot', handler='plot_iter',\n", + " inputs={'iterations': train.outputs['iteration_results']},\n", + " outputs=['iris_dataset'], out_path=artifacts_path).apply(mount_v3io())\n", + "\n", + " # deploy the model serving function with inputs from the training stage\n", + " deploy = srvfn.deploy_step(project = 'iris', models={'iris_v1': train.outputs['model']})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Create a KubeFlow client and submit the pipeline with parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# for debug generate the pipeline dsl\n", + "kfp.compiler.Compiler().compile(xgb_pipeline, 'mlrunpipe.yaml')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "client = kfp.Client(namespace='default-tenant')" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "Experiment link here" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "Run link here" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "arguments = {'eta': [0.05, 0.10, 0.40, 0.5], 'gamma': [0.1, 0.3, 0.6]}\n", + "run_result = client.create_run_from_pipeline_func(xgb_pipeline, arguments, experiment_name='xgb')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### check the resilts of our pipeline" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# connect to the run db \n", + "db = get_run_db().connect()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "
\n", + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
uiditerstartstatenamelabelsinputsparametersresultsartifacts
...a2b459
12Dec 25 22:13:37completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.5
gamma=0.6
accuracy=0.9666666666666667
model
...a2b459
11Dec 25 22:13:37completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.4
gamma=0.6
accuracy=0.9333333333333333
model
...a2b459
10Dec 25 22:13:37completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.1
gamma=0.6
accuracy=0.9666666666666667
model
...a2b459
9Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.05
gamma=0.6
accuracy=0.9666666666666667
model
...a2b459
8Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.5
gamma=0.3
accuracy=0.9333333333333333
model
...a2b459
7Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.4
gamma=0.3
accuracy=0.9666666666666667
model
...a2b459
6Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.1
gamma=0.3
accuracy=0.9666666666666667
model
...a2b459
5Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.05
gamma=0.3
accuracy=1.0
model
...a2b459
4Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.5
gamma=0.1
accuracy=0.9666666666666667
model
...a2b459
3Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.4
gamma=0.1
accuracy=0.9666666666666667
model
...a2b459
2Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.1
gamma=0.1
accuracy=0.8666666666666667
model
...a2b459
1Dec 25 22:13:36completedxgb
host=xgb-train-6mznm
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
eta=0.05
gamma=0.1
accuracy=0.9
model
...a2b459
0Dec 25 22:13:35completedxgb
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
dataset
accuracy=1.0
best_iteration=5
model
iteration_results
...689b57
0Dec 25 22:13:18completedxgb
host=ingest-iris-f7nrs
kind=job
owner=admin
workflow=1bd6756e-3dcd-40a4-a8fd-9e9d50dac0f9
target=mydf.csv
iris_dataset
\n", + "
\n", + "
\n", + "
\n", + " Title\n", + " ×\n", + "
\n", + " \n", + "
\n", + "
\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# query the DB with filter on workflow ID (only show this workflow) \n", + "db.list_runs('', labels=f'workflow={run_result.run_id}').show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**[back to top](#top)**" + ] } ], "metadata": { From 01218243a9a17d89cf29ced3922e2f73875908c3 Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 09:41:24 +0000 Subject: [PATCH 2/9] *Netops demo now runs on parquet by default *Netops demo bug fixes --- netops/mlrun.ipynb | 994 ++++++++++++++++++++++++-- netops/nuclio-data-preperations.ipynb | 192 +++-- netops/nuclio-generator.ipynb | 183 ++--- netops/nuclio-inference.ipynb | 174 ++--- netops/nuclio-training.ipynb | 306 ++++++-- 5 files changed, 1472 insertions(+), 377 deletions(-) diff --git a/netops/mlrun.ipynb b/netops/mlrun.ipynb index f301f75f..b14703b2 100644 --- a/netops/mlrun.ipynb +++ b/netops/mlrun.ipynb @@ -1,30 +1,36 @@ { "cells": [ { - "cell_type": "code", - "execution_count": 1, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# nuclio: ignore\n", - "import nuclio" + "# Network Operations\n", + "## MLRun - Running notebook" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We start by importing the `MLRun` functions we need to run the functions." ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 97, "metadata": {}, "outputs": [], "source": [ - "from mlrun import new_function, code_to_function, get_run_db, mount_v3io, mlconf, new_model_server, v3io_cred\n", + "from mlrun import code_to_function, mlconf, new_model_server\n", "import os\n", + "\n", "# for local DB path use '/User/mlrun' instead \n", - "mlconf.dbpath = '/User/mlrun-db'" + "mlconf.dbpath = 'http://mlrun-api:8080'" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 45, "metadata": {}, "outputs": [], "source": [ @@ -40,96 +46,936 @@ }, { "cell_type": "code", - "execution_count": 12, - "metadata": {}, + "execution_count": 82, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, "outputs": [ { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 12, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "kind: remote\n", + "metadata:\n", + " name: generator\n", + " tag: ''\n", + " project: ''\n", + " labels:\n", + " filename: nuclio-generator.ipynb\n", + " repo: http://github.com/mlrun/demos\n", + " commit: 00451b64816a2ab32d2b4b5307f1dd3c80c2d4e6\n", + "spec:\n", + " command: ''\n", + " args: []\n", + " image: ''\n", + " description: ''\n", + " volumes:\n", + " - flexVolume:\n", + " driver: v3io/fuse\n", + " options:\n", + " accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " container: users\n", + " subPath: /admin\n", + " name: fs\n", + " volume_mounts:\n", + " - name: fs\n", + " mountPath: User\n", + " env:\n", + " - !!python/object:kubernetes.client.models.v1_env_var.V1EnvVar\n", + " _name: initial_timestamp\n", + " _value: 1577089586\n", + " _value_from: null\n", + " discriminator: null\n", + " build_commands: []\n", + " base_spec:\n", + " apiVersion: nuclio.io/v1\n", + " kind: Function\n", + " metadata:\n", + " annotations:\n", + " nuclio.io/generated_by: function generated at 24-12-2019 by admin from nuclio-generator.ipynb\n", + " labels: {}\n", + " name: generator\n", + " spec:\n", + " build:\n", + " baseImage: python:3.6-jessie\n", + " commands:\n", + " - pip install pyarrow\n", + " - pip install pyyaml --upgrade\n", + " - pip install pandas\n", + " - pip install pytimeparse\n", + " - pip install v3io_frames --upgrade\n", + " - pip install -i https://test.pypi.org/simple/ v3io-generator\n", + " - pip install faker\n", + " functionSourceCode: IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjI2CgppbXBvcnQgb3MKaW1wb3J0IGRhdGV0aW1lCgppbXBvcnQgdGltZQppbXBvcnQgeWFtbAppbXBvcnQgcGFuZGFzIGFzIHBkCmltcG9ydCBpdGVydG9vbHMKCmltcG9ydCB2M2lvX2ZyYW1lcyBhcyB2M2YKCmZyb20gdjNpb19nZW5lcmF0b3IgaW1wb3J0IG1ldHJpY3NfZ2VuZXJhdG9yLCBkZXBsb3ltZW50X2dlbmVyYXRvcgoKZGVmIF9jcmVhdGVfZGVwbG95bWVudCgpOgogICAgcHJpbnQoJ2NyZWF0aW5nIGRlcGxveW1lbnQnKQogICAgZGVwX2dlbiA9IGRlcGxveW1lbnRfZ2VuZXJhdG9yLmRlcGxveW1lbnRfZ2VuZXJhdG9yKCkKICAgIGZha2VyPWRlcF9nZW4uZ2V0X2Zha2VyKCkKCiAgICBkZXBfZ2VuLmFkZF9sZXZlbChuYW1lPSdjb21wYW55JyxudW1iZXI9MixsZXZlbF90eXBlPWZha2VyLmNvbXBhbnkpCiAgICBkZXBfZ2VuLmFkZF9sZXZlbCgnZGF0YV9jZW50ZXInLG51bWJlcj0yLGxldmVsX3R5cGU9ZmFrZXIuc3RyZWV0X25hbWUpCiAgICBkZXBfZ2VuLmFkZF9sZXZlbCgnZGV2aWNlJyxudW1iZXI9MixsZXZlbF90eXBlPWZha2VyLm1zaXNkbikKCiAgICBkZXBsb3ltZW50X2RmID0gZGVwX2dlbi5nZW5lcmF0ZV9kZXBsb3ltZW50KCkKICAgIHJldHVybiBkZXBsb3ltZW50X2RmCgpkZWYgX2lzX2RlcGxveW1lbnRfZXhpc3QocGF0aCk6CiAgICByZXR1cm4gb3MucGF0aC5leGlzdHMoZicvdjNpby9iaWdkYXRhL3twYXRofScpCgpkZWYgX2dldF9kZXBsb3ltZW50X2Zyb21fa3YoY2xpZW50LCBwYXRoKToKICAgIHByaW50KGYnUmV0cmlldmluZyBkZXBsb3ltZW50IGZyb20ge3BhdGh9JykKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmV0cmlldmluZyBkZXBsb3ltZW50IGZyb20ge3BhdGh9JykKICAgIGRlcGxveW1lbnRfZGYgPSBjbGllbnQucmVhZChiYWNrZW5kPSdrdicsIHRhYmxlPXBhdGgpCiAgICAKICAgIGRlcGxveW1lbnRfZGYuaW5kZXgubmFtZSA9ICdkZXZpY2UnCiAgICBkZXBsb3ltZW50X2RmID0gZGVwbG95bWVudF9kZi5yZXNldF9pbmRleCgpCiAgICByZXR1cm4gZGVwbG95bWVudF9kZgoKZGVmIF9zYXZlX2RlcGxveW1lbnRfdG9fa3YocGF0aCwgZGYsIGNsaWVudD12M2YuQ2xpZW50KCdmcmFtZXNkOjgwODEnKSk6CiAgICBjbGllbnQud3JpdGUoYmFja2VuZD0na3YnLCB0YWJsZT0nbmV0b3BzX2RldmljZXMnLGRmcz1kZiwgaW5kZXhfY29scz1bJ2RldmljZSddKQoKZGVmIGdldF9vcl9jcmVhdGVfZGVwbG95bWVudChwYXRoLCBzYXZlX3RvX2Nsb3VkPUZhbHNlLCBjbGllbnQ9Tm9uZSk6CiAgICBpZiBjbGllbnQgYW5kIF9pc19kZXBsb3ltZW50X2V4aXN0KHBhdGgpOgogICAgICAgIGRlcGxveW1lbnRfZGYgPSBfZ2V0X2RlcGxveW1lbnRfZnJvbV9rdihjbGllbnQsIHBhdGgpCiAgICBlbHNlOgogICAgICAgIGRlcGxveW1lbnRfZGYgPSBfY3JlYXRlX2RlcGxveW1lbnQoKQogICAgICAgIAogICAgICAgIGlmIGNsaWVudCBhbmQgc2F2ZV90b19jbG91ZDoKICAgICAgICAgICAgX3NhdmVfZGVwbG95bWVudF90b19rdihwYXRoLCBkZXBsb3ltZW50X2RmLCBjbGllbnQpCgogICAgcmV0dXJuIGRlcGxveW1lbnRfZGYKCmRlZiBzZXRfaW5kZXhlcyhkZik6CiAgICBkZiA9IGRmLnNldF9pbmRleChbJ3RpbWVzdGFtcCcsICdjb21wYW55JywgJ2RhdGFfY2VudGVyJywgJ2RldmljZSddKQogICAgcmV0dXJuIGRmCgpkZWYgc2F2ZV9tZXRyaWNzX3RvX3RzZGIoY29udGV4dCwgbWV0cmljczogcGQuRGF0YUZyYW1lKToKICAgIHByaW50KCdTYXZpbmcgbWV0cmljcyB0byBUU0RCJykKICAgIAogICAgY29udGV4dC52M2Yud3JpdGUoJ3RzZGInLCBjb250ZXh0Lm1ldHJpY3NfdGFibGUsIG1ldHJpY3MpCgpkZWYgc2F2ZV9tZXRyaWNzX3RvX3BhcnF1ZXQoY29udGV4dCwgbWV0cmljcyk6CiAgICBwcmludCgnU2F2aW5nIG1ldHJpY3MgdG8gUGFycXVldCcpCiAgICBkZiA9IHBkLmNvbmNhdChpdGVydG9vbHMuY2hhaW4obWV0cmljcykpCiAgICAKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGZbJ3RpbWVzdGFtcCddID0gZGYubG9jWzosICd0aW1lc3RhbXAnXS5hc3R5cGUoJ2RhdGV0aW1lNjRbbXNdJykKICAgIAogICAgZGYgPSBzZXRfaW5kZXhlcyhkZikKICAgIAogICAgZmlyc3RfdGltZXN0YW1wID0gZGYuaW5kZXhbMF1bMF0uc3RyZnRpbWUoJyVZJW0lZFQlSCVNJVMnKQogICAgbGFzdF90aW1lc3RhbXAgPSBkZi5pbmRleFstMV1bMF0uc3RyZnRpbWUoJyVZJW0lZFQlSCVNJVMnKQogICAgZmlsZW5hbWUgPSBmaXJzdF90aW1lc3RhbXAgKyAnLScgKyBsYXN0X3RpbWVzdGFtcCArICcucGFycXVldCcKICAgIHByaW50KGZpbGVuYW1lKQogICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5tZXRyaWNzX3RhYmxlLCBmaWxlbmFtZSkKICAgIHByaW50KGZpbGVwYXRoKQogICAgd2l0aCBvcGVuKGZpbGVwYXRoLCAnd2IrJykgYXMgZjoKICAgICAgICBkZi50b19wYXJxdWV0KGYpCgpkZWYgaXNfZGVwbG95bWVudF9pbml0aWFsaXplZChjb250ZXh0KToKICAgIHJldHVybiBoYXNhdHRyKGNvbnRleHQsICdtZXRyaWNfZ2VuZXJhdG9yJykKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNhdmVfdG9fdHNkYiA9IChpbnQob3MuZ2V0ZW52KCdTQVZFX1RPX1RTREInLCAxKSkgPT0gMSkKICAgIAogICAgbWV0cmljc190YWJsZSA9IG9zLmdldGVudignU0FWRV9UTycsICduZXRvcHNfbWV0cmljcycpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtZXRyaWNzX3RhYmxlJywgbWV0cmljc190YWJsZSkgCgogICAgaWYgc2F2ZV90b190c2RiOgogICAgICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKCdTYXZpbmcgdG8gVFNEQicpCiAgICAgICAgY2xpZW50ID0gdjNmLkNsaWVudChhZGRyZXNzPSdmcmFtZXNkOjgwODEnLCBjb250YWluZXI9J2JpZ2RhdGEnKQogICAgICAgIAogICAgICAgIGNsaWVudC5jcmVhdGUoJ3RzZGInLCBtZXRyaWNzX3RhYmxlLCBhdHRycz17J3JhdGUnOiAnMS9zJ30sIGlmX2V4aXN0cz0xKQogICAgICAgIAogICAgICAgIHNldGF0dHIoY29udGV4dCwgJ3dyaXRlJywgc2F2ZV9tZXRyaWNzX3RvX3RzZGIpCiAgICAKICAgIGVsc2U6CiAgICAgICAgY29udGV4dC5sb2dnZXIuZGVidWcoJ1NhdmluZyB0byBQYXJxdWV0JykKICAgICAgICBjbGllbnQgPSBOb25lCiAgICAgICAgICAKICAgICAgICBmaWxlcGF0aCA9IG9zLnBhdGguam9pbihtZXRyaWNzX3RhYmxlKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlcGF0aCk6CiAgICAgICAgICAgIG9zLm1ha2VkaXJzKGZpbGVwYXRoKQogICAgICAgIAogICAgICAgIHNldGF0dHIoY29udGV4dCwgJ3dyaXRlJywgc2F2ZV9tZXRyaWNzX3RvX3BhcnF1ZXQpCiAgICAKICAgICAgICAgIAogICAgc2Vjc190b19nZW5lcmF0ZSA9IG9zLmdldGVudignU0VDU19UT19HRU5FUkFURScsIDEwKQogICAgc2V0YXR0cihjb250ZXh0LCAnc2Vjc190b19nZW5lcmF0ZScsIHNlY3NfdG9fZ2VuZXJhdGUpCiAgICAKICAgICAKICAgIAogICAgZGVwbG95bWVudF9kZiA9IGdldF9vcl9jcmVhdGVfZGVwbG95bWVudChvcy5lbnZpcm9uWydERVBMT1lNRU5UX1RBQkxFJ10sIG9zLmVudmlyb25bJ1NBVkVfREVQTE9ZTUVOVCddLCBjbGllbnQpCiAgICAKICAgIGRlcGxveW1lbnRfZGZbJ2NwdV91dGlsaXphdGlvbiddID0gNzAKICAgIGRlcGxveW1lbnRfZGZbJ2xhdGVuY3knXSA9IDAKICAgIGRlcGxveW1lbnRfZGZbJ3BhY2tldF9sb3NzJ10gPSAwCiAgICBkZXBsb3ltZW50X2RmWyd0aHJvdWdocHV0J10gPSAyOTAKICAgIGRlcGxveW1lbnRfZGYuaGVhZCgpCiAgICAKICAgIHdpdGggb3Blbihvcy5nZXRlbnYoJ01FVFJJQ1NfQ09ORklHVVJBVElPTl9GSUxFUEFUSCcsICcvY29uZmlndXJhdGlvbnMvbWV0cmljc19jb25maWd1cmF0aW9uLnlhbWwnKSwgJ3InKSBhcyBmOgogICAgICAgIG1ldHJpY3NfY29uZmlndXJhdGlvbiA9IHlhbWwubG9hZChmKQogICAgICAgIAogICAgaW5pdGlhbF90aW1lc3RhbXAgPSBpbnQob3MuZ2V0ZW52KCdpbml0aWFsX3RpbWVzdGFtcCcsIChkYXRldGltZS5kYXRldGltZS5ub3coKS1kYXRldGltZS50aW1lZGVsdGEoZGF5cz0xKSkudGltZXN0YW1wKCkpKQogICAgbWV0X2dlbiA9IG1ldHJpY3NfZ2VuZXJhdG9yLkdlbmVyYXRvcl9kZihtZXRyaWNzX2NvbmZpZ3VyYXRpb24sIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2hpZXJhcmNoeT1kZXBsb3ltZW50X2RmLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbF90aW1lc3RhbXA9aW5pdGlhbF90aW1lc3RhbXApCiAgICBzZXRhdHRyKGNvbnRleHQsICdtZXRyaWNfZ2VuZXJhdG9yJywgbWV0X2dlbikKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgY2xpZW50KQoKZGVmIGhhbmRsZXIoY29udGV4dCwgZXZlbnQpOgogICAgICAgCiAgICBtZXRyaWNzID0gY29udGV4dC5tZXRyaWNfZ2VuZXJhdG9yLmdlbmVyYXRlX3JhbmdlKHN0YXJ0X3RpbWU9ZGF0ZXRpbWUuZGF0ZXRpbWUubm93KCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmRfdGltZT1kYXRldGltZS5kYXRldGltZS5ub3coKStkYXRldGltZS50aW1lZGVsdGEoc2Vjb25kcz1pbnQoY29udGV4dC5zZWNzX3RvX2dlbmVyYXRlKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc19kZj1UcnVlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXNfaXRlcmF0b3I9VHJ1ZSkKICAgIAogICAgY29udGV4dC53cml0ZShjb250ZXh0LCBtZXRyaWNzKQoK\n", + " noBaseImagesPull: true\n", + " env:\n", + " - name: METRICS_CONFIGURATION_FILEPATH\n", + " value: /User/mlrun-demos/demos/netops/configurations/metrics_configuration.yaml\n", + " - name: V3IO_FRAMESD\n", + " value: framesd.default-tenant.svc:8080\n", + " - name: V3IO_USERNAME\n", + " value: admin\n", + " - name: V3IO_ACCESS_KEY\n", + " value: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " - name: V3IO_API\n", + " value: v3io-webapi.default-tenant.svc:8081\n", + " - name: SAVE_DEPLOYMENT\n", + " value: '1'\n", + " - name: DEPLOYMENT_TABLE\n", + " value: netops_devices\n", + " - name: SAVE_TO\n", + " value: /v3io/bigdata/netops_metrics_parquet\n", + " - name: SECS_TO_GENERATE\n", + " value: '3600'\n", + " - name: SAVE_TO_TSDB\n", + " value: '0'\n", + " handler: nuclio-generator:handler\n", + " runtime: python:3.6\n", + " triggers:\n", + " secs:\n", + " attributes:\n", + " interval: 10s\n", + " kind: cron\n", + " volumes:\n", + " - volume:\n", + " flexVolume:\n", + " driver: v3io/fuse\n", + " options:\n", + " accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " container: users\n", + " subPath: /admin/\n", + " name: fs\n", + " volumeMount:\n", + " mountPath: /User\n", + " name: fs\n", + " source: ''\n", + "\n" + ] } ], "source": [ "generator_fn = code_to_function(name='generator',\n", - " runtime='nuclio:mlrun',\n", + " runtime='nuclio',\n", " filename='nuclio-generator.ipynb')\n", - "generator_fn.add_volume('User','~/')" + "generator_fn.add_volume('User','~/')\n", + "generator_fn.set_env('initial_timestamp', int((datetime.datetime.now()-datetime.timedelta(days=1)).timestamp()))\n", + "print(generator_fn.to_yaml())" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 81, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[mlrun] 2019-12-24 08:25:44,637 deploy started\n", + "[nuclio.deploy] 2019-12-24 08:25:45,714 (info) Building processor image\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Building processor image\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:25:45,715 (info) Build complete\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Build complete\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:25:51,836 (info) Function deploy complete\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Function deploy complete\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:25:51,841 done updating generator, function address: 3.18.11.15:30541\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:done updating generator, function address: 3.18.11.15:30541\n" + ] + }, { "data": { "text/plain": [ - "" + "'http://3.18.11.15:30541'" ] }, - "execution_count": 13, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "generator_fn.deploy(project='netops')" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kind: remote\n", + "metadata:\n", + " name: preprocessing\n", + " tag: ''\n", + " project: ''\n", + " labels:\n", + " filename: nuclio-data-preperations.ipynb\n", + " repo: http://github.com/mlrun/demos\n", + " commit: 00451b64816a2ab32d2b4b5307f1dd3c80c2d4e6\n", + "spec:\n", + " command: ''\n", + " args: []\n", + " image: ''\n", + " description: ''\n", + " volumes:\n", + " - flexVolume:\n", + " driver: v3io/fuse\n", + " options:\n", + " accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " container: users\n", + " subPath: /admin\n", + " name: fs\n", + " volume_mounts:\n", + " - name: fs\n", + " mountPath: User\n", + " env:\n", + " - !!python/object:kubernetes.client.models.v1_env_var.V1EnvVar\n", + " _name: metrics_table\n", + " _value: /v3io/bigdata/netops_metrics_parquet\n", + " _value_from: null\n", + " discriminator: null\n", + " - !!python/object:kubernetes.client.models.v1_env_var.V1EnvVar\n", + " _name: features_table\n", + " _value: /v3io/bigdata/netops_metrics_parquet\n", + " _value_from: null\n", + " discriminator: null\n", + " build_commands: []\n", + " base_spec:\n", + " apiVersion: nuclio.io/v1\n", + " kind: Function\n", + " metadata:\n", + " annotations:\n", + " nuclio.io/generated_by: function generated at 24-12-2019 by admin from nuclio-data-preperations.ipynb\n", + " labels: {}\n", + " name: preprocessing\n", + " spec:\n", + " build:\n", + " baseImage: python:3.6-jessie\n", + " commands:\n", + " - pip install pyarrow\n", + " - pip install pandas\n", + " - pip install v3io_frames --upgrade\n", + " - pip install dask[\"complete\"]\n", + " - pip install 'fsspec>=0.3.3'\n", + " functionSourceCode: IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjQwCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgaXRlcnRvb2xzCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmRlZiBmb3JtYXRfZGZfZnJvbV90c2RiKGNvbnRleHQsIGRmKToKICAgIGRmLmluZGV4Lm5hbWVzID0gWyd0aW1lc3RhbXAnLCAnY29tcGFueScsICdkYXRhX2NlbnRlcicsICdkZXZpY2UnXQogICAgZGYgPSBkZi5yZXNldF9pbmRleCgpCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3RzZGIoY29udGV4dCk6CiAgICBkZiA9IGNvbnRleHQudjNmLnJlYWQoYmFja2VuZD0ndHNkYicsIHF1ZXJ5PWYnc2VsZWN0IGNwdV91dGlsaXphdGlvbiwgbGF0ZW5jeSwgcGFja2V0X2xvc3MsIHRocm91Z2hwdXQsIGlzX2Vycm9yIGZyb20ge2NvbnRleHQubWV0cmljc190YWJsZX0nLAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0PWYnbm93LTJoJywgZW5kPSdub3cnLCBtdWx0aV9pbmRleD1UcnVlKQogICAgZGYgPSBmb3JtYXRfZGZfZnJvbV90c2RiKGNvbnRleHQsIGRmKQogICAgcmV0dXJuIGRmCgpkZWYgZ2V0X2RhdGFfcGFycXVldChjb250ZXh0KToKICAgIG1wYXRoID0gW29zLnBhdGguam9pbihjb250ZXh0Lm1ldHJpY3NfdGFibGUsIGZpbGUpIGZvciBmaWxlIGluIG9zLmxpc3RkaXIoY29udGV4dC5tZXRyaWNzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIAogICAgZGYgPSBwZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICBkZiA9IGZvcm1hdF9kZl9mcm9tX3RzZGIoY29udGV4dCwgZGYpCiAgICByZXR1cm4gZGYKCmRlZiBjcmVhdGVfcm9sbGluZ19mZWF0dWVycyhjb250ZXh0LCBkZiwgd2luZG93X3NpemU6IGludCk6CiAgICBmZWF0dXJlcyA9IGRmLmNvcHkoKQogICAgZmVhdHVyZXNbJ2tleSddID0gZmVhdHVyZXMuYXBwbHkobGFtYmRhIHJvdzogZid7cm93WyJjb21wYW55Il19X3tyb3dbImRhdGFfY2VudGVyIl19X3tyb3dbImRldmljZSJdfScsIGF4aXM9MSwgbWV0YT1mZWF0dXJlcy5jb21wdXRlKCkuZHR5cGVzKQogICAgZmVhdHVyZXMuc2V0X2luZGV4KCdrZXknKQogICAgZmVhdHVyZXNbImNwdV91dGlsaXphdGlvbiJdID0gZmVhdHVyZXMuY3B1X3V0aWxpemF0aW9uLnJvbGxpbmcod2luZG93PXdpbmRvd19zaXplKS5tZWFuKCkKICAgIGZlYXR1cmVzWyJsYXRlbmN5Il0gPSBmZWF0dXJlcy5sYXRlbmN5LnJvbGxpbmcod2luZG93PXdpbmRvd19zaXplKS5tZWFuKCkKICAgIGZlYXR1cmVzWyJwYWNrZXRfbG9zcyJdID0gZmVhdHVyZXMucGFja2V0X2xvc3Mucm9sbGluZyh3aW5kb3c9d2luZG93X3NpemUpLm1lYW4oKQogICAgZmVhdHVyZXNbInRocm91Z2hwdXQiXSA9IGZlYXR1cmVzLnRocm91Z2hwdXQucm9sbGluZyh3aW5kb3c9d2luZG93X3NpemUpLm1lYW4oKQogICAgZmVhdHVyZXNbImlzX2Vycm9yIl0gPSBmZWF0dXJlcy5pc19lcnJvci5yb2xsaW5nKHdpbmRvdz13aW5kb3dfc2l6ZSkubWF4KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgZmVhdHVyZXMgPSBmZWF0dXJlcy5kcm9wbmEoKQogICAgZmVhdHVyZXMgPSBmZWF0dXJlcy5kcm9wX2R1cGxpY2F0ZXMoKQoKICAgIHJldHVybiBmZWF0dXJlcwoKZGVmIHNldF9pbmRleGVzKGRmKToKICAgIGRmID0gZGYuc2V0X2luZGV4KFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10pCiAgICByZXR1cm4gZGYKCmRlZiBzYXZlX3RvX3RzZGIoY29udGV4dCwgZmVhdHVyZXM6IHBkLkRhdGFGcmFtZSk6ICAgCiAgICBjb250ZXh0LnYzZi53cml0ZSgndHNkYicsIGNvbnRleHQuZmVhdHVyZXNfdGFibGUsIGZlYXR1cmVzKQoKZGVmIHNhdmVfdG9fcGFycXVldChjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIHByaW50KCdTYXZpbmcgZmVhdHVyZXMgdG8gUGFycXVldCcpCiAgICAKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGZbJ3RpbWVzdGFtcCddID0gZGYubG9jWzosICd0aW1lc3RhbXAnXS5hc3R5cGUoJ2RhdGV0aW1lNjRbbXNdJykKICAgIAogICAgZGY9IHNldF9pbmRleGVzKGRmKQogICAgCiAgICBmaXJzdF90aW1lc3RhbXAgPSBkZi5pbmRleFswXVswXS5zdHJmdGltZSgnJVklbSVkVCVIJU0lUycpCiAgICBsYXN0X3RpbWVzdGFtcCA9IGRmLmluZGV4Wy0xXVswXS5zdHJmdGltZSgnJVklbSVkVCVIJU0lUycpCiAgICBmaWxlbmFtZSA9IGZpcnN0X3RpbWVzdGFtcCArICctJyArIGxhc3RfdGltZXN0YW1wICsgJy5wYXJxdWV0JwogICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZW5hbWUpCiAgICB3aXRoIG9wZW4oZmlsZXBhdGgsICd3YisnKSBhcyBmOgogICAgICAgIGRmLnRvX3BhcnF1ZXQoZikKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIGRhc2tfY2xpZW50ID0gQ2xpZW50KCkKICAgIHNldGF0dHIoY29udGV4dCwgJ2Rhc2snLCBkYXNrX2NsaWVudCkgIAogICAgCiAgICBzZXRhdHRyKGNvbnRleHQsICdzaGFyZHMnLCBpbnQob3MuZ2V0ZW52KCdOVU1CRVJfT0ZfU0hBUkRTJywgNCkpKQogICAgCiAgICBpc19zYXZlX3RvX3RzZGIgPSAoaW50KG9zLmdldGVudignU0FWRV9UT19UU0RCJywgMSkpID09IDEpCiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ21ldHJpY3NfdGFibGUnLCBvcy5nZXRlbnYoJ21ldHJpY3NfdGFibGUnLCAnbmV0b3BzX21ldHJpY3MnKSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnZmVhdHVyZXNfdGFibGUnLCBvcy5nZXRlbnYoJ2ZlYXR1cmVzX3RhYmxlJywgJ25ldG9wc19mZWF0dXJlcycpKQogICAgCiAgICAKICAgIGlmIGlzX3NhdmVfdG9fdHNkYjoKICAgICAgICB2M2lvX2NsaWVudCA9IHYzZi5DbGllbnQoYWRkcmVzcz0nZnJhbWVzZDo4MDgxJywgY29udGFpbmVyPSdiaWdkYXRhJykKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICd2M2YnLCB2M2lvX2NsaWVudCkKICAgICAgICAKICAgICAgICBjb250ZXh0LnYzZi5jcmVhdGUoJ3RzZGInLCBjb250ZXh0LmZlYXR1cmVzX3RhYmxlLCBhdHRycz17J3JhdGUnOiAnMS9zJ30sIGlmX2V4aXN0cz0xKQogICAgICAgIAogICAgICAgIHNldGF0dHIoY29udGV4dCwgJ3JlYWQnLCBnZXRfZGF0YV90c2RiKQogICAgICAgIAogICAgICAgIHNldGF0dHIoY29udGV4dCwgJ3dyaXRlJywgc2F2ZV90b190c2RiKQogICAgICAgIAogICAgZWxzZToKICAgICAgICBmaWxlcGF0aCA9IG9zLnBhdGguam9pbihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKQogICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhmaWxlcGF0aCk6CiAgICAgICAgICAgIG9zLm1ha2VkaXJzKGZpbGVwYXRoKQogICAgICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfcGFycXVldCkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICd3cml0ZScsIHNhdmVfdG9fcGFycXVldCkKCmRlZiBoYW5kbGVyKGNvbnRleHQsIGV2ZW50KToKICAgIAogICAgcmF3ID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAogICAgICAgIAogICAgbWludXRlID0gY3JlYXRlX3JvbGxpbmdfZmVhdHVlcnMoY29udGV4dCwgcmF3LCAzKQogICAgY29sdW1uX25hbWVzID0geydjcHVfdXRpbGl6YXRpb24nOiAnY3B1X3V0aWxpemF0aW9uX21pbnV0ZWx5JywKICAgICAgICAgICAgICAgICAgICAnbGF0ZW5jeSc6ICdsYXRlbmN5X21pbnV0ZWx5JywKICAgICAgICAgICAgICAgICAgICAncGFja2V0X2xvc3MnOiAncGFja2V0X2xvc3NfbWludXRlbHknLAogICAgICAgICAgICAgICAgICAgICd0aHJvdWdocHV0JzogJ3Rocm91Z2hwdXRfbWludXRlbHknfQogICAgbWludXRlID0gbWludXRlLnJlbmFtZShjb2x1bW5zPWNvbHVtbl9uYW1lcykKICAgIAogICAgaG91ciA9IGNyZWF0ZV9yb2xsaW5nX2ZlYXR1ZXJzKGNvbnRleHQsIHJhdywgMyo2MCkKICAgIGNvbHVtbl9uYW1lcyA9IHsnY3B1X3V0aWxpemF0aW9uJzogJ2NwdV91dGlsaXphdGlvbl9ob3VybHknLAogICAgICAgICAgICAgICAgICAgICdsYXRlbmN5JzogJ2xhdGVuY3lfaG91cmx5JywKICAgICAgICAgICAgICAgICAgICAncGFja2V0X2xvc3MnOiAncGFja2V0X2xvc3NfaG91cmx5JywKICAgICAgICAgICAgICAgICAgICAndGhyb3VnaHB1dCc6ICd0aHJvdWdocHV0X2hvdXJseSd9CiAgICBob3VyID0gaG91ci5yZW5hbWUoY29sdW1ucz1jb2x1bW5fbmFtZXMpCiAgICAKICAgIGZlYXR1cmVzX3JtID0gcmF3Lm1lcmdlKG1pbnV0ZSwgb249Wyd0aW1lc3RhbXAnLCAnY29tcGFueScsICdkYXRhX2NlbnRlcicsICdkZXZpY2UnXSwgc3VmZml4ZXM9KCdfcmF3JywgJ19taW51dGUnKSkKICAgIGZlYXR1cmVzX3JtLmNvbXB1dGUoKQogICAgCiAgICBmZWF0dXJlcyA9IGZlYXR1cmVzX3JtLm1lcmdlKGhvdXIsIG9uPVsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10sIHN1ZmZpeGVzPSgnX3JhdycsICdfaG91cmx5JykpCiAgICBmZWF0dXJlcyA9IGZlYXR1cmVzLmNvbXB1dGUoKQogICAgCiAgICAKICAgIGZlYXR1cmVzID0gZmVhdHVyZXMucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZmVhdHVyZV9jb2xzID0gW2NvbCBmb3IgY29sIGluIGZlYXR1cmVzLmNvbHVtbnMgaWYgJ2tleScgaW4gY29sXQogICAgZmVhdHVyZXMgPSBmZWF0dXJlcy5kcm9wKGZlYXR1cmVfY29scywgYXhpcz0xKQogICAgCiAgICAKICAgIGZlYXR1cmVzID0gZmVhdHVyZXMuc2V0X2luZGV4KFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10pCiAgICAKICAgIGNvbnRleHQud3JpdGUoY29udGV4dCwgZmVhdHVyZXMpCgo=\n", + " noBaseImagesPull: true\n", + " env:\n", + " - name: V3IO_FRAMESD\n", + " value: framesd.default-tenant.svc:8080\n", + " - name: V3IO_USERNAME\n", + " value: admin\n", + " - name: V3IO_ACCESS_KEY\n", + " value: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " - name: SAVE_TO_TSDB\n", + " value: '0'\n", + " - name: metrics_table\n", + " value: /v3io/bigdata/netops_metrics_parquet\n", + " - name: features_table\n", + " value: /v3io/bigdata/netops_features_parquet\n", + " - name: NUMBER_OF_SHARDS\n", + " value: '4'\n", + " handler: nuclio-data-preperations:handler\n", + " runtime: python:3.6\n", + " triggers:\n", + " retrain:\n", + " attributes:\n", + " interval: 1h\n", + " kind: cron\n", + " volumes: []\n", + " source: ''\n", + "\n" + ] + } + ], "source": [ "preprocessing_fn = code_to_function(name='preprocessing',\n", - " runtime='nuclio:mlrun',\n", + " runtime='nuclio',\n", " filename='nuclio-data-preperations.ipynb')\n", - "preprocessing_fn.add_volume('User','~/')" + "preprocessing_fn.add_volume('User','~/')\n", + "preprocessing_fn.set_env('metrics_table', '/v3io/bigdata/netops_metrics_parquet')\n", + "preprocessing_fn.set_env('features_table', '/v3io/bigdata/netops_metrics_parquet')\n", + "print(preprocessing_fn.to_yaml())" ] }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 89, "metadata": {}, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[mlrun] 2019-12-24 08:40:15,568 deploy started\n", + "[nuclio.deploy] 2019-12-24 08:40:16,640 (info) Building processor image\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Building processor image\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:40:18,661 (info) Build complete\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Build complete\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:40:24,713 (info) Function deploy complete\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Function deploy complete\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:40:24,718 done updating preprocessing, function address: 3.18.11.15:31192\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:done updating preprocessing, function address: 3.18.11.15:31192\n" + ] + }, { "data": { "text/plain": [ - "" + "'http://3.18.11.15:31192'" ] }, - "execution_count": 14, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], + "source": [ + "preprocessing_fn.deploy(project='netops')" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "kind: remote\n", + "metadata:\n", + " name: training\n", + " tag: ''\n", + " project: ''\n", + " labels:\n", + " filename: nuclio-training.ipynb\n", + " repo: http://github.com/mlrun/demos\n", + " commit: 00451b64816a2ab32d2b4b5307f1dd3c80c2d4e6\n", + "spec:\n", + " command: ''\n", + " args: []\n", + " image: ''\n", + " description: ''\n", + " volumes:\n", + " - flexVolume:\n", + " driver: v3io/fuse\n", + " options:\n", + " accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " container: users\n", + " subPath: /admin\n", + " name: fs\n", + " volume_mounts:\n", + " - name: fs\n", + " mountPath: User\n", + " env: []\n", + " build_commands: []\n", + " base_spec:\n", + " apiVersion: nuclio.io/v1\n", + " kind: Function\n", + " metadata:\n", + " annotations:\n", + " nuclio.io/generated_by: function generated at 24-12-2019 by admin from nuclio-training.ipynb\n", + " labels: {}\n", + " name: training\n", + " spec:\n", + " build:\n", + " baseImage: python:3.6-jessie\n", + " commands:\n", + " - pip install pyyaml\n", + " - pip install pyarrow\n", + " - pip install pandas\n", + " - pip install v3io_frames --upgrade\n", + " - pip install scikit-learn==0.20.1\n", + " - pip install xgboost==0.90 --upgrade\n", + " - pip install dask[\"complete\"] --upgrade\n", + " - pip install dask-ml[\"complete\"] --upgrade\n", + " functionSourceCode: IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjUzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK\n", + " noBaseImagesPull: true\n", + " env:\n", + " - name: V3IO_FRAMESD\n", + " value: framesd.default-tenant.svc:8080\n", + " - name: V3IO_USERNAME\n", + " value: admin\n", + " - name: V3IO_ACCESS_KEY\n", + " value: 275eeda5-5d83-427e-adda-ddb469370fb5\n", + " - name: V3IO_API\n", + " value: v3io-webapi.default-tenant.svc:8081\n", + " - name: FEATURES_TABLE\n", + " value: /v3io/bigdata/netops_features_parquet\n", + " - name: FROM_TSDB\n", + " value: '0'\n", + " - name: TRAIN_ON_LAST\n", + " value: 1d\n", + " - name: TRAIN_SIZE\n", + " value: '0.7'\n", + " - name: NUMBER_OF_SHARDS\n", + " value: '4'\n", + " - name: MODEL_FILENAME\n", + " value: netops.v3.model\n", + " - name: SAVE_TO\n", + " value: /v3io/bigdata/netops/models\n", + " handler: nuclio-training:handler\n", + " runtime: python:3.6\n", + " triggers:\n", + " retrain:\n", + " attributes:\n", + " interval: 1h\n", + " kind: cron\n", + " volumes: []\n", + " source: ''\n", + "\n" + ] + } + ], "source": [ "training_fn = code_to_function(name='training',\n", - " runtime='nuclio:mlrun',\n", + " runtime='nuclio',\n", " filename='nuclio-training.ipynb')\n", - "training_fn.add_volume('User','~/')" + "training_fn.add_volume('User','~/')\n", + "print(training_fn.to_yaml())" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 95, "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 15, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "[mlrun] 2019-12-24 08:53:25,158 deploy started\n", + "[nuclio.deploy] 2019-12-24 08:53:26,238 (info) Building processor image\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Building processor image\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:54:52,958 (info) Build complete\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(info) Build complete\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:55:55,497 (warn) Create function failed, setting function status\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:(warn) Create function failed, setting function status\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[nuclio.deploy] 2019-12-24 08:55:55,498 \n", + "Error - NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "\n", + "Call stack:\n", + "NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-5b9df8f7-2c2bj\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177314140808083 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjQ4CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177316 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:53:08,849 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7fb589bc59-4k6mm\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177605220368167 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjUzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost==0.90 --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177692 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:55:45,342 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:169\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-5b9df8f7-2c2bj\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177314140808083 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjQ4CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177316 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:53:08,849 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7fb589bc59-4k6mm\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177605220368167 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjUzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost==0.90 --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177692 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:55:45,342 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:nuclio.deploy:\n", + "Error - NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "\n", + "Call stack:\n", + "NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-5b9df8f7-2c2bj\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177314140808083 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjQ4CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177316 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:53:08,849 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7fb589bc59-4k6mm\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177605220368167 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjUzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost==0.90 --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177692 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:55:45,342 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:169\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-5b9df8f7-2c2bj\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177314140808083 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjQ4CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177316 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:53:07.550Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t3svsnb0g00a5id9g.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:53:08,849 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7fb589bc59-4k6mm\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577177605220368167 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDA4OjUzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pyyaml pip install pyarrow pip install pandas pip install v3io_frames --upgrade pip install scikit-learn==0.20.1 pip install xgboost==0.90 --upgrade pip install dask[\\\"complete\\\"] --upgrade pip install dask-ml[\\\"complete\\\"] --upgrade] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577177692 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.033Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T08:55:44.034Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo0t543c2aqg00c66akg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}Python> 2019-12-24 08:55:45,342 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n" + ] + }, + { + "ename": "DeployError", + "evalue": "cannot deploy ", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mDeployError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mtraining_fn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdeploy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mproject\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m'netops'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/.pythonlibs/lib/python3.6/site-packages/mlrun/runtimes/function.py\u001b[0m in \u001b[0;36mdeploy\u001b[0;34m(self, dashboard, project, tag, kind)\u001b[0m\n\u001b[1;32m 254\u001b[0m \u001b[0mconfig\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdashboard\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmetadata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 255\u001b[0m \u001b[0mproject\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mproject\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtag\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtag\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverbose\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mverbose\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 256\u001b[0;31m create_new=True)\n\u001b[0m\u001b[1;32m 257\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/conda/lib/python3.6/site-packages/nuclio/deploy.py\u001b[0m in \u001b[0;36mdeploy_config\u001b[0;34m(config, dashboard_url, name, project, tag, verbose, create_new)\u001b[0m\n\u001b[1;32m 257\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mstate\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;34m'ready'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 258\u001b[0m \u001b[0mlog\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'ERROR: {}'\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mformat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 259\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mDeployError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'cannot deploy '\u001b[0m \u001b[0;34m+\u001b[0m \u001b[0mresp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtext\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 260\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 261\u001b[0m \u001b[0mlogger\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minfo\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'done %s %s, function address: %s'\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mverb\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mname\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maddress\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mDeployError\u001b[0m: cannot deploy " + ] } ], + "source": [ + "training_fn.deploy(project='netops')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "inference_fn = code_to_function(name='inference',\n", - " runtime='nuclio:mlrun',\n", + " runtime='nuclio',\n", " filename='nuclio-inference.ipynb')\n", "inference_fn.add_volume('User','~/')" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "inference_fn.deploy(project='netops')" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -139,7 +985,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 23, "metadata": {}, "outputs": [], "source": [ @@ -149,7 +995,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 24, "metadata": {}, "outputs": [], "source": [ @@ -158,7 +1004,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -167,44 +1013,66 @@ " description='Network operations E2E pipeline'\n", ")\n", "def netops_pipepline(\n", - " use_tsdb = 1,\n", + " use_tsdb = 0,\n", " metrics_configuration_file = os.path.join(os.getcwd(), \n", " 'configurations', \n", " 'metrics_configuration.yaml'),\n", " deployment_table = 'netops-deployment',\n", - " metrics_table = 'netops-metrics',\n", - " initial_timestamp = str(int((datetime.datetime.now()-datetime.timedelta(days=1)).timestamp())),\n", - " SECS_TO_GENERATE = 60*60*60\n", + " metrics_table = '/User/v3io/bigdata/netops_metrics_parquet',\n", + " features_table = '/User/v3io/bigdata/netops_features_parquet',\n", + " predictions_table = '/User/v3io/bigdata/netops_predictions_parquet',\n", + " initial_timestamp = str(int((datetime.datetime.now()-\n", + " datetime.timedelta(days=1)).timestamp())),\n", + " secs_to_generate = 60*60*60,\n", + " number_of_shards = 4,\n", + " train_on_last = '1d',\n", + " train_size = 0.7,\n", "):\n", " \n", - " generator = generator_fn.as_step(name='generator',\n", - " params={'use_tsdb': use_tsdb,\n", - " 'metrics_configuration_file': metrics_configuration_file,\n", - " 'deployment_table': deployment_table,\n", - " 'metrics_table': metrics_table,\n", - " 'initial_timestamp': initial_timestamp,\n", - " 'SECS_TO_GENERATE': SECS_TO_GENERATE})" + " envs = {\n", + " # Use TSDB / Parquet\n", + " 'from_tsdb': use_tsdb,\n", + " \n", + " # Tables\n", + " 'metrics_table': metrics_table,\n", + " 'features_table': features_table,\n", + " 'predictions_table': predictions_table,\n", + " \n", + " # Data generation\n", + " 'initial_timestamp': initial_timestamp,\n", + " 'secs_to_generate': secs_to_generate,\n", + " \n", + " # Preprocessing\n", + " 'number_of_shards': number_of_shards,\n", + " \n", + " # Training\n", + " 'train_on_last': train_on_last,\n", + " 'train_size': train_size,\n", + " }\n", + " print(envs)\n", + " \n", + " for k, v in envs.items():\n", + " generator_fn.set_env(k, v)\n", + " \n", + " generator = generator_fn.as_step(name='generator')" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 42, "metadata": {}, "outputs": [ { - "name": "stderr", + "name": "stdout", "output_type": "stream", "text": [ - "/User/.pythonlibs/lib/python3.6/site-packages/kfp/components/_data_passing.py:133: UserWarning: Missing type name was inferred as \"Integer\" based on the value \"1\".\n", - " warnings.warn('Missing type name was inferred as \"{}\" based on the value \"{}\".'.format(type_name, str(value)))\n", - "/User/.pythonlibs/lib/python3.6/site-packages/kfp/components/_data_passing.py:133: UserWarning: Missing type name was inferred as \"Integer\" based on the value \"216000\".\n", - " warnings.warn('Missing type name was inferred as \"{}\" based on the value \"{}\".'.format(type_name, str(value)))\n" + "{'from_tsdb': {{pipelineparam:op=;name=use_tsdb}}, 'metrics_table': {{pipelineparam:op=;name=metrics_table}}, 'features_table': {{pipelineparam:op=;name=features_table}}, 'predictions_table': {{pipelineparam:op=;name=predictions_table}}, 'initial_timestamp': {{pipelineparam:op=;name=initial_timestamp}}, 'secs_to_generate': {{pipelineparam:op=;name=secs_to_generate}}, 'number_of_shards': {{pipelineparam:op=;name=number_of_shards}}, 'train_on_last': {{pipelineparam:op=;name=train_on_last}}, 'train_size': {{pipelineparam:op=;name=train_size}}}\n" ] }, { "data": { "text/html": [ - "Experiment link here" + "Experiment link here" ], "text/plain": [ "" @@ -216,7 +1084,7 @@ { "data": { "text/html": [ - "Run link here" + "Run link here" ], "text/plain": [ "" diff --git a/netops/nuclio-data-preperations.ipynb b/netops/nuclio-data-preperations.ipynb index 2782f432..892b41fc 100644 --- a/netops/nuclio-data-preperations.ipynb +++ b/netops/nuclio-data-preperations.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 2, "metadata": {}, "outputs": [ { @@ -66,11 +66,79 @@ }, { "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], + "execution_count": 6, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pyarrow in /User/.pythonlibs/lib/python3.6/site-packages (0.15.1)\n", + "Requirement already satisfied: six>=1.0.0 in /conda/lib/python3.6/site-packages (from pyarrow) (1.12.0)\n", + "Requirement already satisfied: numpy>=1.14 in /User/.pythonlibs/lib/python3.6/site-packages (from pyarrow) (1.17.4)\n", + "Requirement already satisfied: pandas in /conda/lib/python3.6/site-packages (0.24.2)\n", + "Requirement already satisfied: numpy>=1.12.0 in /User/.pythonlibs/lib/python3.6/site-packages (from pandas) (1.17.4)\n", + "Requirement already satisfied: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas) (2019.3)\n", + "Requirement already satisfied: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas) (2.8.0)\n", + "Requirement already satisfied: six>=1.5 in /conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", + "Requirement already up-to-date: v3io_frames in /User/.pythonlibs/lib/python3.6/site-packages (0.6.6)\n", + "Requirement already satisfied, skipping upgrade: requests>=2.19.1 in /conda/lib/python3.6/site-packages (from v3io_frames) (2.22.0)\n", + "Requirement already satisfied, skipping upgrade: pandas>=0.23.4 in /conda/lib/python3.6/site-packages (from v3io_frames) (0.24.2)\n", + "Requirement already satisfied, skipping upgrade: grpcio-tools>=1.16.0 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.24.3)\n", + "Requirement already satisfied, skipping upgrade: googleapis-common-protos>=1.5.3 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.6.0)\n", + "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2019.9.11)\n", + "Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2.8)\n", + "Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (3.0.4)\n", + "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (1.24.2)\n", + "Requirement already satisfied, skipping upgrade: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas>=0.23.4->v3io_frames) (2.8.0)\n", + "Requirement already satisfied, skipping upgrade: numpy>=1.12.0 in /User/.pythonlibs/lib/python3.6/site-packages (from pandas>=0.23.4->v3io_frames) (1.17.4)\n", + "Requirement already satisfied, skipping upgrade: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas>=0.23.4->v3io_frames) (2019.3)\n", + "Requirement already satisfied, skipping upgrade: grpcio>=1.24.3 in /conda/lib/python3.6/site-packages (from grpcio-tools>=1.16.0->v3io_frames) (1.24.3)\n", + "Requirement already satisfied, skipping upgrade: protobuf>=3.5.0.post1 in /conda/lib/python3.6/site-packages (from grpcio-tools>=1.16.0->v3io_frames) (3.10.0)\n", + "Requirement already satisfied, skipping upgrade: six>=1.5 in /conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas>=0.23.4->v3io_frames) (1.12.0)\n", + "Requirement already satisfied, skipping upgrade: setuptools in /conda/lib/python3.6/site-packages (from protobuf>=3.5.0.post1->grpcio-tools>=1.16.0->v3io_frames) (41.4.0)\n", + "Requirement already satisfied: dask[complete] in /User/.pythonlibs/lib/python3.6/site-packages (2.9.0)\n", + "Requirement already satisfied: numpy>=1.13.0; extra == \"complete\" in /User/.pythonlibs/lib/python3.6/site-packages (from dask[complete]) (1.17.4)\n", + "Requirement already satisfied: cloudpickle>=0.2.1; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (1.2.2)\n", + "Requirement already satisfied: pandas>=0.21.0; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (0.24.2)\n", + "Requirement already satisfied: distributed>=2.0; extra == \"complete\" in /User/.pythonlibs/lib/python3.6/site-packages (from dask[complete]) (2.9.0)\n", + "Requirement already satisfied: toolz>=0.7.3; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (0.10.0)\n", + "Requirement already satisfied: partd>=0.3.10; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (1.0.0)\n", + "Requirement already satisfied: bokeh>=1.0.0; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (1.0.3)\n", + "Requirement already satisfied: PyYaml; extra == \"complete\" in /conda/lib/python3.6/site-packages (from dask[complete]) (5.1.2)\n", + "Collecting fsspec>=0.6.0; extra == \"complete\" (from dask[complete])\n", + "\u001b[?25l Downloading https://files.pythonhosted.org/packages/dd/1f/7028dacd3c28f34ce48130aae73a88fa5cc27b6b0e494fcf2739f7954d9d/fsspec-0.6.2-py3-none-any.whl (62kB)\n", + "\u001b[K 100% |████████████████████████████████| 71kB 3.0MB/s ta 0:00:011\n", + "\u001b[?25hRequirement already satisfied: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas>=0.21.0; extra == \"complete\"->dask[complete]) (2.8.0)\n", + "Requirement already satisfied: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas>=0.21.0; extra == \"complete\"->dask[complete]) (2019.3)\n", + "Requirement already satisfied: zict>=0.1.3 in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (1.0.0)\n", + "Requirement already satisfied: msgpack in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (0.6.2)\n", + "Requirement already satisfied: psutil>=5.0 in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (5.6.3)\n", + "Requirement already satisfied: click>=6.6 in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (7.0)\n", + "Requirement already satisfied: tblib in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (1.5.0)\n", + "Requirement already satisfied: sortedcontainers!=2.0.0,!=2.0.1 in /conda/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (2.1.0)\n", + "Requirement already satisfied: tornado>=5 in /User/.pythonlibs/lib/python3.6/site-packages (from distributed>=2.0; extra == \"complete\"->dask[complete]) (5.1.1)\n", + "Requirement already satisfied: locket in /conda/lib/python3.6/site-packages (from partd>=0.3.10; extra == \"complete\"->dask[complete]) (0.2.0)\n", + "Requirement already satisfied: packaging>=16.8 in /conda/lib/python3.6/site-packages (from bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (19.2)\n", + "Requirement already satisfied: pillow>=4.0 in /conda/lib/python3.6/site-packages (from bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (6.2.0)\n", + "Requirement already satisfied: Jinja2>=2.7 in /conda/lib/python3.6/site-packages (from bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (2.10.3)\n", + "Requirement already satisfied: six>=1.5.2 in /conda/lib/python3.6/site-packages (from bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (1.12.0)\n", + "Requirement already satisfied: heapdict in /conda/lib/python3.6/site-packages (from zict>=0.1.3->distributed>=2.0; extra == \"complete\"->dask[complete]) (1.0.1)\n", + "Requirement already satisfied: pyparsing>=2.0.2 in /conda/lib/python3.6/site-packages (from packaging>=16.8->bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (2.4.2)\n", + "Requirement already satisfied: MarkupSafe>=0.23 in /conda/lib/python3.6/site-packages (from Jinja2>=2.7->bokeh>=1.0.0; extra == \"complete\"->dask[complete]) (1.1.1)\n", + "Installing collected packages: fsspec\n", + "Successfully installed fsspec-0.6.2\n", + "Requirement already satisfied: fsspec>=0.3.3 in /User/.pythonlibs/lib/python3.6/site-packages (0.6.2)\n" + ] + } + ], "source": [ - "%%nuclio cmd -c\n", + "%%nuclio cmd\n", "\n", "############\n", "# installs #\n", @@ -84,7 +152,8 @@ "pip install v3io_frames --upgrade\n", "\n", "# Function\n", - "pip install dask[\"complete\"]" + "pip install dask[\"complete\"]\n", + "pip install 'fsspec>=0.3.3'" ] }, { @@ -96,21 +165,28 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "# DB Config\n", + "%nuclio env %v3io" + ] + }, + { + "cell_type": "code", + "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "%nuclio: setting 'V3IO_FRAMESD' environment variable\n", - "%nuclio: setting 'V3IO_USERNAME' environment variable\n", - "%nuclio: setting 'V3IO_ACCESS_KEY' environment variable\n", "%nuclio: setting 'SAVE_TO_TSDB' environment variable\n", - "%nuclio: setting 'METRICS_TABLE' environment variable\n", - "%nuclio: setting '# METRICS_TABLE' environment variable\n", - "%nuclio: setting 'FEATURES_TABLE' environment variable\n", - "%nuclio: setting '# FEATURES_TABLE' environment variable\n", + "%nuclio: setting '# metrics_table' environment variable\n", + "%nuclio: setting 'metrics_table' environment variable\n", + "%nuclio: setting '# features_table' environment variable\n", + "%nuclio: setting 'features_table' environment variable\n", "%nuclio: setting 'NUMBER_OF_SHARDS' environment variable\n" ] }, @@ -121,7 +197,6 @@ "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", - "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n" ] } @@ -129,21 +204,16 @@ "source": [ "%%nuclio env\n", "\n", - "# DB Config\n", - "V3IO_FRAMESD=${V3IO_FRAMESD}\n", - "V3IO_USERNAME=${V3IO_USERNAME}\n", - "V3IO_ACCESS_KEY=${V3IO_ACCESS_KEY}\n", - "\n", "# Save as\n", - "SAVE_TO_TSDB=1\n", + "SAVE_TO_TSDB=0\n", "\n", "# Metrics\n", - "METRICS_TABLE=netops_metrics\n", - "# METRICS_TABLE=/v3io/bigdata/netops_metrics_parquet\n", + "# metrics_table=netops_metrics\n", + "metrics_table=/v3io/bigdata/netops_metrics_parquet\n", "\n", "# Features\n", - "FEATURES_TABLE=netops_features\n", - "# FEATURES_TABLE=/v3io/bigdata/netops_features_parquet\n", + "# features_table=netops_features\n", + "features_table=/v3io/bigdata/netops_features_parquet\n", "\n", "\n", "# Parallelizem\n", @@ -166,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -193,7 +263,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -206,7 +276,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -219,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -240,7 +310,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -262,7 +332,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -273,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -283,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -315,7 +385,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -332,10 +402,10 @@ " is_save_to_tsdb = (int(os.getenv('SAVE_TO_TSDB', 1)) == 1)\n", " \n", " # Netops metrics table\n", - " setattr(context, 'metrics_table', os.getenv('METRICS_TABLE', 'netops_metrics'))\n", + " setattr(context, 'metrics_table', os.getenv('metrics_table', 'netops_metrics'))\n", " \n", " # Netops feautres table\n", - " setattr(context, 'features_table', os.getenv('FEATURES_TABLE', 'netops_features'))\n", + " setattr(context, 'features_table', os.getenv('features_table', 'netops_features'))\n", " \n", " \n", " # Save to TSDB\n", @@ -376,7 +446,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -423,6 +493,15 @@ " context.write(context, features)" ] }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# nuclio: end-code" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -432,9 +511,21 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 22, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/User/.pythonlibs/lib/python3.6/site-packages/distributed/dashboard/core.py:72: UserWarning: \n", + "Port 8787 is already in use. \n", + "Perhaps you already have a cluster running?\n", + "Hosting the diagnostics dashboard on a random port instead.\n", + " warnings.warn(\"\\n\" + msg)\n" + ] + } + ], "source": [ "# nuclio: ignore\n", "init_context(context)" @@ -442,9 +533,17 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 23, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Saving features to Parquet\n" + ] + } + ], "source": [ "# nuclio: ignore\n", "# init_context(context)\n", @@ -453,6 +552,13 @@ "output" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -510,5 +616,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/netops/nuclio-generator.ipynb b/netops/nuclio-generator.ipynb index 40a83f10..bb18b75b 100644 --- a/netops/nuclio-generator.ipynb +++ b/netops/nuclio-generator.ipynb @@ -43,14 +43,14 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "1560956279\n" + "1577087965\n" ] } ], @@ -63,7 +63,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -87,40 +87,33 @@ "spec.build.baseImage = \"python:3.6-jessie\"" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Set configuration file for function pulling" - ] - }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "mkdir: cannot create directory ‘/v3io/bigdata/netops_configurations’: File exists\n" + "mounting volume path /User as ~/\n" ] } ], "source": [ - "# nuclio: ignore\n", - "os.environ['local_configurations_path'] = os.path.join(os.path.dirname(os.getcwd()), 'configurations', 'metrics_configuration.yaml')\n", - "os.environ['shared_configurations_path'] = os.path.join('/', 'v3io', 'bigdata', 'netops_configurations')\n", - "os.environ['webapi_configuration_path'] = os.path.join('/', 'bigdata', 'netops_configurations', 'metrics_configuration.yaml')\n", - "os.environ['function_configuration_dir'] = os.path.join('/', 'configurations')\n", - "\n", - "!mkdir ${shared_configurations_path}\n", - "!cp ${local_configurations_path} -t ${shared_configurations_path}" + "%nuclio mount /User ~/" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Set configuration file" ] }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -132,22 +125,7 @@ } ], "source": [ - "%nuclio env -c METRICS_CONFIGURATION_FILEPATH=/configurations/metrics_configuration.yaml\n", - "%nuclio env -l METRICS_CONFIGURATION_FILEPATH=../configurations/metrics_configuration.yaml" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "%%nuclio cmd -c\n", - "\n", - "# Pull configuration file to function\n", - "apt-get update && apt-get install -y wget\n", - "mkdir -p ${function_configuration_dir}\n", - "wget -O ${METRICS_CONFIGURATION_FILEPATH} --header \"x-v3io-session-key: ${V3IO_ACCESS_KEY}\" http://${V3IO_WEBAPI_SERVICE_HOST}:8081${webapi_configuration_path}" + "%nuclio env METRICS_CONFIGURATION_FILEPATH=/User/mlrun-demos/demos/netops/configurations/metrics_configuration.yaml" ] }, { @@ -161,52 +139,9 @@ "cell_type": "code", "execution_count": 8, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pyarrow in /User/.pythonlibs/lib/python3.6/site-packages (0.13.0)\n", - "Requirement already satisfied: numpy>=1.14 in /conda/lib/python3.6/site-packages (from pyarrow) (1.16.4)\n", - "Requirement already satisfied: six>=1.0.0 in /conda/lib/python3.6/site-packages (from pyarrow) (1.12.0)\n", - "Collecting pyyaml\n", - "\u001b[31mnuclio-jupyter 0.7.2 has requirement tornado<6,>=5, but you'll have tornado 6.0.2 which is incompatible.\u001b[0m\n", - "Installing collected packages: pyyaml\n", - " Found existing installation: PyYAML 5.1\n", - "\u001b[31mCannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\u001b[0m\n", - "Requirement already satisfied: pandas in /conda/lib/python3.6/site-packages (0.23.4)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas) (2019.1)\n", - "Requirement already satisfied: numpy>=1.9.0 in /conda/lib/python3.6/site-packages (from pandas) (1.16.4)\n", - "Requirement already satisfied: six>=1.5 in /conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already satisfied: pytimeparse in /User/.pythonlibs/lib/python3.6/site-packages (1.1.8)\n", - "Requirement already up-to-date: v3io_frames in /User/.pythonlibs/lib/python3.6/site-packages (0.5.6)\n", - "Requirement already satisfied, skipping upgrade: googleapis-common-protos>=1.5.3 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.6.0)\n", - "Requirement already satisfied, skipping upgrade: requests>=2.19.1 in /conda/lib/python3.6/site-packages (from v3io_frames) (2.22.0)\n", - "Requirement already satisfied, skipping upgrade: pandas==0.23.* in /conda/lib/python3.6/site-packages (from v3io_frames) (0.23.4)\n", - "Requirement already satisfied, skipping upgrade: grpcio-tools>=1.16.0 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.21.1)\n", - "Requirement already satisfied, skipping upgrade: protobuf>=3.6.0 in /conda/lib/python3.6/site-packages (from googleapis-common-protos>=1.5.3->v3io_frames) (3.8.0)\n", - "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (1.24.2)\n", - "Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2.8)\n", - "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2019.3.9)\n", - "Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (3.0.4)\n", - "Requirement already satisfied, skipping upgrade: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (2.8.0)\n", - "Requirement already satisfied, skipping upgrade: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (2019.1)\n", - "Requirement already satisfied, skipping upgrade: numpy>=1.9.0 in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (1.16.4)\n", - "Requirement already satisfied, skipping upgrade: grpcio>=1.21.1 in /conda/lib/python3.6/site-packages (from grpcio-tools>=1.16.0->v3io_frames) (1.21.1)\n", - "Requirement already satisfied, skipping upgrade: six>=1.9 in /conda/lib/python3.6/site-packages (from protobuf>=3.6.0->googleapis-common-protos>=1.5.3->v3io_frames) (1.12.0)\n", - "Requirement already satisfied, skipping upgrade: setuptools in /conda/lib/python3.6/site-packages (from protobuf>=3.6.0->googleapis-common-protos>=1.5.3->v3io_frames) (41.0.1)\n", - "Looking in indexes: https://test.pypi.org/simple/\n", - "Requirement already satisfied: v3io-generator in /User/.pythonlibs/lib/python3.6/site-packages (0.0.27.dev0)\n", - "Requirement already satisfied: faker in /User/.pythonlibs/lib/python3.6/site-packages (1.0.7)\n", - "Requirement already satisfied: text-unidecode==1.2 in /User/.pythonlibs/lib/python3.6/site-packages (from faker) (1.2)\n", - "Requirement already satisfied: six>=1.10 in /conda/lib/python3.6/site-packages (from faker) (1.12.0)\n", - "Requirement already satisfied: python-dateutil>=2.4 in /conda/lib/python3.6/site-packages (from faker) (2.8.0)\n" - ] - } - ], + "outputs": [], "source": [ - "%%nuclio cmd\n", + "%%nuclio cmd -c\n", "\n", "# Utils\n", "pip install pyarrow\n", @@ -231,7 +166,17 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "# DB Config\n", + "%nuclio env %v3io" + ] + }, + { + "cell_type": "code", + "execution_count": 9, "metadata": {}, "outputs": [ { @@ -243,8 +188,8 @@ "%nuclio: setting 'V3IO_ACCESS_KEY' environment variable\n", "%nuclio: setting 'SAVE_DEPLOYMENT' environment variable\n", "%nuclio: setting 'DEPLOYMENT_TABLE' environment variable\n", - "%nuclio: setting '# SAVE_TO' environment variable\n", "%nuclio: setting 'SAVE_TO' environment variable\n", + "%nuclio: setting '# SAVE_TO' environment variable\n", "%nuclio: setting 'INITIAL_TIMESTAMP' environment variable\n", "%nuclio: setting 'SECS_TO_GENERATE' environment variable\n", "%nuclio: setting 'SAVE_TO_TSDB' environment variable\n" @@ -265,11 +210,6 @@ "source": [ "%%nuclio env\n", "\n", - "# DB Config\n", - "V3IO_FRAMESD=${V3IO_FRAMESD}\n", - "V3IO_USERNAME=${V3IO_USERNAME}\n", - "V3IO_ACCESS_KEY=${V3IO_ACCESS_KEY}\n", - "\n", "# Deployment\n", "SAVE_DEPLOYMENT=1\n", "DEPLOYMENT_TABLE=netops_devices\n", @@ -277,14 +217,13 @@ "# Metrics\n", "\n", "# Parquet\n", - "# SAVE_TO=/v3io/bigdata/netops_metrics_parquet\n", - "SAVE_TO=netops_metrics\n", + "SAVE_TO=/v3io/bigdata/netops_metrics_parquet\n", + "# SAVE_TO=netops_metrics\n", "\n", - "INITIAL_TIMESTAMP=${INITIAL_TS}\n", - "SECS_TO_GENERATE=10\n", + "SECS_TO_GENERATE=3600\n", "\n", "# Save as\n", - "SAVE_TO_TSDB=1" + "SAVE_TO_TSDB=0" ] }, { @@ -296,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -322,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 11, "metadata": {}, "outputs": [], "source": [ @@ -344,7 +283,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -355,7 +294,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -373,7 +312,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -384,7 +323,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -404,7 +343,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -415,7 +354,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 17, "metadata": {}, "outputs": [], "source": [ @@ -427,7 +366,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 18, "metadata": {}, "outputs": [], "source": [ @@ -455,7 +394,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 19, "metadata": {}, "outputs": [], "source": [ @@ -472,7 +411,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -532,7 +471,7 @@ " metrics_configuration = yaml.load(f)\n", " \n", " # Create metrics generator\n", - " initial_timestamp = int(os.getenv('INITIAL_TIMESTAMP', time.time()))\n", + " initial_timestamp = int(os.getenv('initial_timestamp', (datetime.datetime.now()-datetime.timedelta(days=1)).timestamp()))\n", " met_gen = metrics_generator.Generator_df(metrics_configuration, \n", " user_hierarchy=deployment_df, \n", " initial_timestamp=initial_timestamp)\n", @@ -551,7 +490,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 21, "metadata": {}, "outputs": [], "source": [ @@ -576,28 +515,30 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Retrieving deployment from netops_devices\n" + "creating deployment\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "/conda/lib/python3.6/site-packages/ipykernel_launcher.py:57: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.\n" + "/conda/lib/python3.6/site-packages/ipykernel_launcher.py:54: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Saving metrics to TSDB\n" + "Saving metrics to Parquet\n", + "20191224T080931-20191224T090931.parquet\n", + "/v3io/bigdata/netops_metrics_parquet/20191224T080931-20191224T090931.parquet\n" ] } ], @@ -618,18 +559,17 @@ }, { "cell_type": "code", - "execution_count": 85, + "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[nuclio.deploy] 2019-06-20 06:05:47,211 (info) Building processor image\n", - "[nuclio.deploy] 2019-06-20 06:05:53,269 (info) Pushing image\n", - "[nuclio.deploy] 2019-06-20 06:05:53,270 (info) Build complete\n", - "[nuclio.deploy] 2019-06-20 06:05:57,365 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-06-20 06:05:57,370 done updating generator, function address: 18.185.111.133:31908\n", + "[nuclio.deploy] 2019-12-24 08:25:10,270 (info) Building processor image\n", + "[nuclio.deploy] 2019-12-24 08:25:15,310 (info) Build complete\n", + "[nuclio.deploy] 2019-12-24 08:25:21,359 (info) Function deploy complete\n", + "[nuclio.deploy] 2019-12-24 08:25:21,367 done updating generator, function address: 3.18.11.15:30541\n", "%nuclio: function deployed\n" ] } @@ -637,6 +577,13 @@ "source": [ "%nuclio deploy -p netops -n generator -c" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -659,5 +606,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/netops/nuclio-inference.ipynb b/netops/nuclio-inference.ipynb index 8fa4c779..8aab6e3b 100644 --- a/netops/nuclio-inference.ipynb +++ b/netops/nuclio-inference.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Nuclio - Training function" + "# Nuclio - Infer function" ] }, { @@ -66,7 +66,17 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# DB Config\n", + "%nuclio env %v3io" + ] + }, + { + "cell_type": "code", + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -74,13 +84,10 @@ "output_type": "stream", "text": [ "%nuclio: setting 'FROM_TSDB' environment variable\n", - "%nuclio: setting 'V3IO_FRAMESD' environment variable\n", - "%nuclio: setting 'V3IO_USERNAME' environment variable\n", - "%nuclio: setting 'V3IO_ACCESS_KEY' environment variable\n", - "%nuclio: setting 'FEATURES_TABLE' environment variable\n", "%nuclio: setting '# FEATURES_TABLE' environment variable\n", - "%nuclio: setting 'PREDICTIONS_TABLE' environment variable\n", + "%nuclio: setting 'FEATURES_TABLE' environment variable\n", "%nuclio: setting '# PREDICTIONS_TABLE' environment variable\n", + "%nuclio: setting 'PREDICTIONS_TABLE' environment variable\n", "%nuclio: setting 'TRAIN_ON_LAST' environment variable\n", "%nuclio: setting 'TRAIN_SIZE' environment variable\n", "%nuclio: setting 'NUMBER_OF_SHARDS' environment variable\n", @@ -99,7 +106,6 @@ "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", - "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n" ] } @@ -108,20 +114,15 @@ "%%nuclio env\n", "\n", "# Work from TSDB or Parquet?\n", - "FROM_TSDB=1\n", - "\n", - "# DB Config\n", - "V3IO_FRAMESD=${V3IO_FRAMESD}\n", - "V3IO_USERNAME=${V3IO_USERNAME}\n", - "V3IO_ACCESS_KEY=${V3IO_ACCESS_KEY}\n", + "FROM_TSDB=0\n", "\n", "# Features\n", - "FEATURES_TABLE=netops_features\n", - "# FEATURES_TABLE=/v3io/bigdata/netops_features_parquet\n", + "# FEATURES_TABLE=netops_features\n", + "FEATURES_TABLE=/v3io/bigdata/netops_features_parquet\n", "\n", "# Predictions\n", - "PREDICTIONS_TABLE=netops_predictions\n", - "# PREDICTIONS_TABLE=/v3io/bigdata/netops_predictions_parquet\n", + "# PREDICTIONS_TABLE=netops_predictions\n", + "PREDICTIONS_TABLE=/v3io/bigdata/netops_predictions_parquet\n", "\n", "# Training\n", "TRAIN_ON_LAST=1d\n", @@ -166,49 +167,9 @@ "cell_type": "code", "execution_count": 5, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: pyarrow in /User/.pythonlibs/lib/python3.6/site-packages (0.13.0)\n", - "Requirement already satisfied: six>=1.0.0 in /conda/lib/python3.6/site-packages (from pyarrow) (1.12.0)\n", - "Requirement already satisfied: numpy>=1.14 in /conda/lib/python3.6/site-packages (from pyarrow) (1.16.4)\n", - "Requirement already satisfied: pandas in /conda/lib/python3.6/site-packages (0.23.4)\n", - "Requirement already satisfied: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas) (2.8.0)\n", - "Requirement already satisfied: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas) (2019.1)\n", - "Requirement already satisfied: numpy>=1.9.0 in /conda/lib/python3.6/site-packages (from pandas) (1.16.4)\n", - "Requirement already satisfied: six>=1.5 in /conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas) (1.12.0)\n", - "Requirement already up-to-date: v3io_frames in /User/.pythonlibs/lib/python3.6/site-packages (0.5.6)\n", - "Requirement already satisfied, skipping upgrade: pandas==0.23.* in /conda/lib/python3.6/site-packages (from v3io_frames) (0.23.4)\n", - "Requirement already satisfied, skipping upgrade: requests>=2.19.1 in /conda/lib/python3.6/site-packages (from v3io_frames) (2.22.0)\n", - "Requirement already satisfied, skipping upgrade: googleapis-common-protos>=1.5.3 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.6.0)\n", - "Requirement already satisfied, skipping upgrade: grpcio-tools>=1.16.0 in /conda/lib/python3.6/site-packages (from v3io_frames) (1.21.1)\n", - "Requirement already satisfied, skipping upgrade: python-dateutil>=2.5.0 in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (2.8.0)\n", - "Requirement already satisfied, skipping upgrade: pytz>=2011k in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (2019.1)\n", - "Requirement already satisfied, skipping upgrade: numpy>=1.9.0 in /conda/lib/python3.6/site-packages (from pandas==0.23.*->v3io_frames) (1.16.4)\n", - "Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2019.3.9)\n", - "Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (3.0.4)\n", - "Requirement already satisfied, skipping upgrade: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (1.24.2)\n", - "Requirement already satisfied, skipping upgrade: idna<2.9,>=2.5 in /conda/lib/python3.6/site-packages (from requests>=2.19.1->v3io_frames) (2.8)\n", - "Requirement already satisfied, skipping upgrade: protobuf>=3.6.0 in /conda/lib/python3.6/site-packages (from googleapis-common-protos>=1.5.3->v3io_frames) (3.8.0)\n", - "Requirement already satisfied, skipping upgrade: grpcio>=1.21.1 in /conda/lib/python3.6/site-packages (from grpcio-tools>=1.16.0->v3io_frames) (1.21.1)\n", - "Requirement already satisfied, skipping upgrade: six>=1.5 in /conda/lib/python3.6/site-packages (from python-dateutil>=2.5.0->pandas==0.23.*->v3io_frames) (1.12.0)\n", - "Requirement already satisfied, skipping upgrade: setuptools in /conda/lib/python3.6/site-packages (from protobuf>=3.6.0->googleapis-common-protos>=1.5.3->v3io_frames) (41.0.1)\n", - "Requirement already satisfied: xgboost in /User/.pythonlibs/lib/python3.6/site-packages (0.90)\n", - "Requirement already satisfied: numpy in /conda/lib/python3.6/site-packages (from xgboost) (1.16.4)\n", - "Requirement already satisfied: scipy in /conda/lib/python3.6/site-packages (from xgboost) (1.2.1)\n", - "Requirement already satisfied: scikit-learn==0.20.1 in /User/.pythonlibs/lib/python3.6/site-packages (0.20.1)\n", - "Requirement already satisfied: numpy>=1.8.2 in /conda/lib/python3.6/site-packages (from scikit-learn==0.20.1) (1.16.4)\n", - "Requirement already satisfied: scipy>=0.13.3 in /conda/lib/python3.6/site-packages (from scikit-learn==0.20.1) (1.2.1)\n", - "Reading package lists... Done\n", - "E: List directory /var/lib/apt/lists/partial is missing. - Acquire (13: Permission denied)\n", - "mkdir: cannot create directory ‘/models’: Permission denied\n" - ] - } - ], + "outputs": [], "source": [ - "%%nuclio cmd\n", + "%%nuclio cmd -c\n", "\n", "############\n", "# installs #\n", @@ -300,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -495,7 +456,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 16, "metadata": {}, "outputs": [], "source": [ @@ -505,69 +466,66 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Index(['cpu_utilization', 'cpu_utilization_hourly', 'cpu_utilization_minutely',\n", - " 'latency', 'latency_hourly', 'latency_minutely', 'packet_loss',\n", - " 'packet_loss_hourly', 'packet_loss_minutely', 'throughput',\n", - " 'throughput_hourly', 'throughput_minutely'],\n", - " dtype='object')\n", - " cpu_utilization \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 72.854064 \n", + "/v3io/bigdata/netops_features_parquet/20191222T133150-20191222T143000.parquet\n", + " cpu_utilization \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 60.221371 \n", "\n", - " cpu_utilization_hourly \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 76.420022 \n", + " cpu_utilization_hourly \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 70.272812 \n", "\n", - " cpu_utilization_minutely \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 71.008158 \n", + " cpu_utilization_minutely \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 65.188694 \n", "\n", - " latency \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 4.47977 \n", + " latency \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 2.324342 \n", "\n", - " latency_hourly \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 19.602218 \n", + " latency_hourly \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 2.494616 \n", "\n", - " latency_minutely \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 1.493257 \n", + " latency_minutely \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 2.928534 \n", "\n", - " packet_loss \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 0.62291 \n", + " packet_loss \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 0.0 \n", "\n", - " packet_loss_hourly \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 8.787566 \n", + " packet_loss_hourly \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 0.711046 \n", "\n", - " packet_loss_minutely \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 0.834527 \n", + " packet_loss_minutely \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 6.106227e-16 \n", "\n", - " throughput \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 273.852044 \n", + " throughput \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 241.354545 \n", "\n", - " throughput_hourly \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 210.776314 \n", + " throughput_hourly \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 249.985214 \n", "\n", - " throughput_minutely \\\n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 273.986271 \n", + " throughput_minutely \\\n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 241.810661 \n", "\n", - " prediction \n", - "timestamp company data_center device \n", - "2019-06-20 14:58:24.605 Johnson_and_Sons Hoffman_Trace 0405787217462 0.0 \n" + " prediction \n", + "timestamp company data_center device \n", + "2019-12-22 13:31:50.280 Wilson_LLC Krystal_Wells 9376248881714 1.0 \n", + "Saving features to Parquet\n" ] } ], @@ -635,5 +593,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } diff --git a/netops/nuclio-training.ipynb b/netops/nuclio-training.ipynb index ff310e3a..fe033715 100644 --- a/netops/nuclio-training.ipynb +++ b/netops/nuclio-training.ipynb @@ -16,7 +16,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ @@ -33,7 +33,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 81, "metadata": {}, "outputs": [ { @@ -57,6 +57,23 @@ "spec.build.baseImage = \"python:3.6-jessie\"" ] }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mounting volume path /User as ~/\n" + ] + } + ], + "source": [ + "%nuclio mount /User ~/" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -66,31 +83,43 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 91, "metadata": {}, "outputs": [], "source": [ "%%nuclio cmd -c\n", "\n", + "# apt-get update && apt-get install -y libaio1\n", + "# apt-get install libgomp1 \n", + "\n", "############\n", "# installs #\n", "############\n", "\n", - "# Utils\n", - "pip install pyyaml\n", - "pip install pyarrow\n", - "pip install pandas\n", - "\n", "# Igz DB\n", - "pip install v3io_frames --upgrade\n", + "pip install v3io_frames\n", + "\n", + "# Utils\n", + "pip install 'fsspec>=0.3.3'\n", + "# pip install PyYAML==5.1.2\n", + "# pip install pyarrow==0.15.1\n", + "pip install pandas==0.25.3\n", + "# pip install kubernetes==9.0.0\n", "\n", "# Function\n", - "pip install scikit-learn==0.20.1\n", - "pip install xgboost --upgrade\n", - "pip install dask[\"complete\"] --upgrade\n", - "pip install dask-ml[\"complete\"] --upgrade" + "# pip install scikit-learn==0.21.3\n", + "pip install dask-kubernetes\n", + "pip install dask-ml[\"complete\"]==1.0.0\n", + "pip install dask-xgboost==0.1.7\n" ] }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, { "cell_type": "markdown", "metadata": {}, @@ -100,18 +129,25 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 36, + "metadata": {}, + "outputs": [], + "source": [ + "# DB Config\n", + "%nuclio env %v3io" + ] + }, + { + "cell_type": "code", + "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "%nuclio: setting 'V3IO_FRAMESD' environment variable\n", - "%nuclio: setting 'V3IO_USERNAME' environment variable\n", - "%nuclio: setting 'V3IO_ACCESS_KEY' environment variable\n", - "%nuclio: setting '# FEATURES_TABLE' environment variable\n", "%nuclio: setting 'FEATURES_TABLE' environment variable\n", + "%nuclio: setting '# FEATURES_TABLE' environment variable\n", "%nuclio: setting 'FROM_TSDB' environment variable\n", "%nuclio: setting 'TRAIN_ON_LAST' environment variable\n", "%nuclio: setting 'TRAIN_SIZE' environment variable\n", @@ -127,7 +163,6 @@ "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n", - "%nuclio: cannot find \"=\" in line\n", "%nuclio: cannot find \"=\" in line\n" ] } @@ -135,15 +170,10 @@ "source": [ "%%nuclio env\n", "\n", - "# DB Config\n", - "V3IO_FRAMESD=${V3IO_FRAMESD}\n", - "V3IO_USERNAME=${V3IO_USERNAME}\n", - "V3IO_ACCESS_KEY=${V3IO_ACCESS_KEY}\n", - "\n", "# Features\n", - "# FEATURES_TABLE=/v3io/bigdata/netops_features_parquet\n", - "FEATURES_TABLE=netops_features\n", - "FROM_TSDB=1\n", + "FEATURES_TABLE=/v3io/bigdata/netops_features_parquet\n", + "# FEATURES_TABLE=netops_features\n", + "FROM_TSDB=0\n", "\n", "# Training\n", "TRAIN_ON_LAST=1d\n", @@ -173,7 +203,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 89, "metadata": {}, "outputs": [], "source": [ @@ -207,7 +237,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -220,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -235,7 +265,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -256,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ @@ -277,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ @@ -338,7 +368,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -370,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 41, "metadata": {}, "outputs": [], "source": [ @@ -380,9 +410,17 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 42, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/v3io/bigdata/netops_features_parquet/20191222T133150-20191222T143000.parquet\n" + ] + } + ], "source": [ "# nuclio: ignore\n", "# init_context(context)\n", @@ -400,19 +438,197 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 92, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[nuclio.deploy] 2019-06-20 14:22:57,768 (info) Building processor image\n", - "[nuclio.deploy] 2019-06-20 14:24:42,911 (info) Pushing image\n", - "[nuclio.deploy] 2019-06-20 14:25:19,396 (info) Build complete\n", - "[nuclio.deploy] 2019-06-20 14:25:23,437 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-06-20 14:25:23,442 done creating training, function address: 18.185.111.133:31622\n", - "%nuclio: function deployed\n" + "[nuclio.deploy] 2019-12-24 12:49:44,624 (info) Building processor image\n", + "[nuclio.deploy] 2019-12-24 12:52:11,836 (info) Build complete\n", + "[nuclio.deploy] 2019-12-24 12:53:14,647 (warn) Create function failed, setting function status\n", + "[nuclio.deploy] 2019-12-24 12:53:14,648 \n", + "Error - NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "\n", + "Call stack:\n", + "NuclioFunction in error state (\n", + "Error - context deadline exceeded\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + "\n", + "Call stack:\n", + "Failed to wait for function resources to be available\n", + " .../platform/kube/controller/nucliofunction.go:122\n", + ")\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-6f5d97cbd4-s4825\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577190270377245561 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h maxBatchSize:0 maxBatchWaitMs:0 numContainerWorkers:0 pollingIntervalMs:0 port:0 intervalMs:0 protocolVersion:0 readBatchSize:0]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjIzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:true NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pandas pip install xgboost pip install dask[\\\"complete\\\"] pip install dask-ml[\\\"complete\\\"] pip install v3io_frames] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[repositories:[]] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577190394 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[{Level:debug Sink:}] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:13,636 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7c5cbb6cfb-d52x6\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577191783606688923 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin/,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjQ5CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install v3io_frames pip install 'fsspec>=0.3.3' pip install pandas==0.25.3 pip install dask-kubernetes pip install dask-ml[\\\"complete\\\"]==1.0.0 pip install dask-xgboost==0.1.7] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577191931 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[timeFieldName:time varGroupName:more encoding:json timeFieldEncoding:iso8601]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:58,242 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + " .../nuclio/nuclio/pkg/platform/kube/deployer.go:169\n", + "Failed to wait for function readiness.\n", + "\n", + "Pod logs:\n", + "\n", + "* training-6f5d97cbd4-s4825\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577190270377245561 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h maxBatchSize:0 maxBatchWaitMs:0 numContainerWorkers:0 pollingIntervalMs:0 port:0 intervalMs:0 protocolVersion:0 readBatchSize:0]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjIzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:true NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pandas pip install xgboost pip install dask[\\\"complete\\\"] pip install dask-ml[\\\"complete\\\"] pip install v3io_frames] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[repositories:[]] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577190394 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[{Level:debug Sink:}] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:13,636 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n", + "* training-7c5cbb6cfb-d52x6\n", + "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577191783606688923 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin/,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjQ5CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install v3io_frames pip install 'fsspec>=0.3.3' pip install pandas==0.25.3 pip install dask-kubernetes pip install dask-ml[\\\"complete\\\"]==1.0.0 pip install dask-xgboost==0.1.7] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577191931 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[timeFieldName:time varGroupName:more encoding:json timeFieldEncoding:iso8601]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", + "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:58,242 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", + "\", 'traceback': 'Traceback (most recent call last):\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", + " args.trigger_name)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", + " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", + " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", + " module = __import__(module_name)\n", + " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", + " import xgboost as xgb\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", + " from .core import DMatrix, Booster\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", + " _LIB = _load_lib()\n", + " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", + " \\'Error message(s): {}\\\n", + "\\'.format(os_error_list))\n", + "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", + "Likely causes:\n", + " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", + " * You are running 32-bit Python on a 64-bit OS\n", + "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", + "\n", + "'}\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "%nuclio: error: cannot deploy \n" ] } ], @@ -448,5 +664,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 } From c22c917f07bd82b14970f27ec579f9cf7aa58028 Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 09:42:34 +0000 Subject: [PATCH 3/9] serving example now according to new nuclio-serving format --- .../nuclio-serving-tf-images.ipynb | 673 ++++++++++++------ 1 file changed, 468 insertions(+), 205 deletions(-) diff --git a/image_classification/nuclio-serving-tf-images.ipynb b/image_classification/nuclio-serving-tf-images.ipynb index 61efa6cd..dc89121c 100644 --- a/image_classification/nuclio-serving-tf-images.ipynb +++ b/image_classification/nuclio-serving-tf-images.ipynb @@ -5,17 +5,38 @@ "metadata": {}, "source": [ "# Image Classification Model - Serving Function\n", - "The functio accept a URL or binary image and provide prediction (0->1) using a pre=defined tensorflow model" + "\n", + "This notebook demonstrates how to deploy a Tensorflow model using MLRun & Nuclio.\n", + "\n", + "**In this notebook you will:**\n", + "* Write a Tensorflow-Model class to load and predict on the incoming data\n", + "* Deploy the model as a serverless function\n", + "* Invoke the serving endpoint with data as:\n", + " * URLs to images hosted on S3\n", + " * Direct image send\n", + " \n", + "**Steps:** \n", + "* [Define Nuclio function](#Define-Nuclio-function) \n", + " * [Install dependencies and set config](#Install-dependencies-and-set-config) \n", + " * [Function Code](#Function-Code) \n", + "* [Test the function locally](#Test-the-function-locally) \n", + "* [Deploy the serving function to the cluster](#Deploy-the-serving-function-to-the-cluster) \n", + "* [Test the deployed function on the cluster](#Test-the-deployed-function-on-the-cluster)" ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "# nuclio: ignore\n", - "!pip install tensorflow==1.13.2 --upgrade" + "## Define Nuclio Function" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To use the magic commands for deploying this jupyter notebook as a nuclio function we must first import nuclio \n", + "Since we do not want to import nuclio in the actual function, the comment annotation `nuclio: ignore` is used. This marks the cell for nuclio, telling it to ignore the cell's values when building the function." ] }, { @@ -37,17 +58,6 @@ "If it is not installed on your system please uninstall and install using the line: `pip install tensorflow==1.13.2 keras`" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "%%nuclio cmd \n", - "pip install numpy==1.16.4\n", - "pip install keras requests pillow" - ] - }, { "cell_type": "code", "execution_count": 2, @@ -69,27 +79,64 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "## Set function environment variables" + "Since we are using packages which are not surely installed on our baseimage, or want to verify that a specific version of the package will be installed we use the `%nuclio cmd` annotation. \n", + ">`%nuclio cmd` works both locally and during deployment by default, but can be set with `-c` flag to only run the commands while deploying or `-l` to set the variable for the local environment only." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, + "outputs": [], + "source": [ + "%%nuclio cmd -c\n", + "pip install numpy==1.16.4\n", + "pip install keras requests pillow\n", + "pip install mlrun" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Set function environment variables" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nuclio functions can receive parameters by using environment variables during initialization or through the processed event during runtime. \n", + "In this part we define the environment variables - fixed parameters for the function which will be available during initialization using the `%nuclio env` annotation. \n", + "\n", + ">`%nuclio env` works both locally and during deployment by default, but can be set with `-c` flag to only run the commands while deploying or `-l` to set the variable for the local environment only. \n", + "`-c` and `-l` can be used on the same env. variable, the local version will be used locally and the cloud on deployment.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "%nuclio: setting 'IMAGE_WIDTH' environment variable\n", - "%nuclio: setting 'IMAGE_HEIGHT' environment variable\n" + "%nuclio: setting 'IMAGE_HEIGHT' environment variable\n", + "%nuclio: setting 'MODEL_CLASS' environment variable\n", + "%nuclio: setting 'SERVING_MODEL_cat_vs_dogs_v1' environment variable\n", + "%nuclio: setting 'classes_map' environment variable\n" ] } ], "source": [ "%%nuclio env \n", "IMAGE_WIDTH=128\n", - "IMAGE_HEIGHT=128" + "IMAGE_HEIGHT=128\n", + "MODEL_CLASS=TFModel\n", + "SERVING_MODEL_cat_vs_dogs_v1=/User/demos/image-classification/model/cats_dogs.hd5\n", + "classes_map=/User/demos/image-classification/model/prediction_classes_map.json" ] }, { @@ -101,7 +148,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -133,13 +180,27 @@ "### Model Serving Class" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We define the `TFModel` class which we will use to define data handling and prediction of our model. \n", + "\n", + "The class should consist of:\n", + "* `__init__(name, model_dir)` - Setup the internal parameters\n", + "* `load(self)` - How to load the model and broadcast it's ready for prediction\n", + "* `preprocess(self, body)` - How to handle the incoming event, forming the request to an `{'instances': []}` dictionary as requested by the protocol\n", + "* `predict(self, data)` - Receives and `{'instances': []}` and returns the model's prediction as a list\n", + "* `postprocess(self, data)` - Does any additional processing needed on the predictions." + ] + }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ - "class TFModel(object):\n", + "class TFModel:\n", " def __init__(self, name: str, model_dir: str):\n", " self.name = name\n", " self.model_filepath = model_dir\n", @@ -150,63 +211,74 @@ " self.IMAGE_HEIGHT = int(environ['IMAGE_HEIGHT'])\n", " \n", " try:\n", - " print(environ['classes_map'])\n", " with open(environ['classes_map'], 'r') as f:\n", " self.classes = json.load(f)\n", " except:\n", " self.classes = None\n", " \n", - " print(f'Classes: {self.classes}')\n", - "\n", " def load(self):\n", " self.model = load_model(self.model_filepath)\n", "\n", " self.ready = True\n", + " \n", + " def preprocess(self, body):\n", + " try:\n", + " output = {'instances': []}\n", + " instances = body.get('instances', [])\n", + " for byte_image in instances:\n", + " img = Image.open(byte_image)\n", + " img = img.resize((self.IMAGE_WIDTH, self.IMAGE_HEIGHT))\n", "\n", - " def _download_file(self, url, target_path):\n", - " with requests.get(url, stream=True) as response:\n", - " response.raise_for_status()\n", - " with open(target_path, 'wb') as f:\n", - " for chunk in response.iter_content(chunk_size=8192):\n", - " if chunk:\n", - " f.write(chunk)\n", - "\n", - " def predict(self, context, data):\n", - " #try:\n", - " print(self.classes)\n", - " img = Image.open(BytesIO(data))\n", - " img = img.resize((self.IMAGE_WIDTH, self.IMAGE_HEIGHT))\n", - "\n", - " # Load image\n", - " x = image.img_to_array(img)\n", - " x = np.expand_dims(x, axis=0)\n", - " images = np.vstack([x])\n", + " # Load image\n", + " x = image.img_to_array(img)\n", + " x = np.expand_dims(x, axis=0)\n", + " output['instances'].append(x)\n", + " output['instances'] = [np.vstack(output['instances'])]\n", + " return output\n", + " except:\n", + " raise Exception(f'received: {body}')\n", + " \n", + "\n", + " def predict(self, data):\n", + " images = data.get('instances', [])\n", "\n", " # Predict\n", " predicted_probability = self.model.predict(images)\n", "\n", " # return prediction\n", + " return predicted_probability\n", + " \n", + " def postprocess(self, predicted_probability):\n", " if self.classes:\n", " predicted_classes = np.around(predicted_probability, 1).tolist()[0]\n", " predicted_probabilities = predicted_probability.tolist()[0]\n", - " print(predicted_classes)\n", - " print(predicted_probabilities)\n", " return {\n", " 'prediction': [self.classes[str(int(cls))] for cls in predicted_classes], \n", " f'{self.classes[\"1\"]}-probability': predicted_probabilities\n", " }\n", " else:\n", - " return predicted_probability.tolist()[0]\n", - "\n", - " # except Exception as e:\n", - " # raise Exception(\"Failed to predict {}\".format(e))" + " return predicted_probability.tolist()[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Routes" + "### Routing" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To handle routing we will create the `HTTPHandler` class. \n", + "This class will:\n", + "* Load the models through their appropriate classes using `get_model(self, name)`\n", + "* Validate incoming requests's via `validate(self, request)`\n", + "* Handle different incoming data types (URLs / Direct image) via `parse_event(self, event)`\n", + "\n", + "We will build on that class and add a specific Prediction pipeline function `post(self, context, name, event)` in the `PredictHandler` \n", + "The `post` function will be what's called in runtime to supply our prediction" ] }, { @@ -215,54 +287,98 @@ "metadata": {}, "outputs": [], "source": [ - "def predict(context, model_name, event):\n", - " global models\n", - " global protocol\n", + "import os\n", + "from io import BytesIO\n", + "from typing import Dict\n", + "from urllib.request import urlopen\n", "\n", - " # Load the requested model\n", - " model = models[model_name]\n", + "class HTTPHandler:\n", + " def __init__(self, models: Dict):\n", + " self.models = models # pylint:disable=attribute-defined-outside-init\n", + " self.context = None\n", + "\n", + " def with_context(self, context):\n", + " self.context = context\n", + " return self\n", + "\n", + " def get_model(self, name: str):\n", + " if name not in self.models:\n", + " return self.context.Response(\n", + " body=f'Model with name {name} does not exist, please try to list the models',\n", + " content_type='text/plain',\n", + " status_code=404)\n", + "\n", + " model = self.models[name]\n", + " if not model.ready:\n", + " model.load()\n", + " setattr(model, 'context', self.context)\n", + " return model\n", + "\n", + " def parse_event(self, event):\n", + " parsed_event = {'instances': []}\n", + " try:\n", + " body = json.loads(event.body)\n", + " self.context.logger.info(f'event.body: {event.body}')\n", + " if 'data_url' in body:\n", + " # Get data from URL\n", + " url = body['data_url']\n", + " self.context.logger.debug_with('downloading data', url=url)\n", + " data = urlopen(url).read()\n", + " sample = BytesIO(data)\n", + " parsed_event['instances'].append(sample)\n", + "\n", + " except Exception as e:\n", + " if event.content_type.startswith('image/'):\n", + " sample = BytesIO(event.body)\n", + " parsed_event['instances'].append(sample)\n", + " parsed_event['content_type'] = event.content_type\n", + " else:\n", + " raise Exception(\"Unrecognized request format: %s\" % e)\n", + " \n", + " return parsed_event\n", + "\n", + " def validate(self, request):\n", + " if \"instances\" not in request:\n", + " raise Exception(\"Expected key \\\"instances\\\" in request body\")\n", + "\n", + " if not isinstance(request[\"instances\"], list):\n", + " raise Exception(\"Expected \\\"instances\\\" to be a list\")\n", + "\n", + " return request\n", "\n", - " # Verify model is loaded (Async)\n", - " if not model.ready:\n", - " model.load()\n", - " \n", - " # extract image data from event\n", - " try:\n", - " data = event.body\n", - " ctype = event.content_type\n", - " if not ctype or ctype.startswith('text/plain'):\n", - " # Get image from URL\n", - " url = data.decode('utf-8')\n", - " context.logger.debug_with('downloading image', url=url)\n", - " data = urlopen(url).read()\n", - " \n", - " except Exception as e:\n", - " raise Exception(\"Failed to get data: {}\".format(e)) \n", - " \n", - " # Predict\n", - " results = model.predict(context, data)\n", - " context.logger.info(results)\n", "\n", - " # Wrap & return response\n", - " return context.Response(body=json.dumps(results),\n", - " headers={},\n", - " content_type='text/plain',\n", - " status_code=200)\n", + "class PredictHandler(HTTPHandler):\n", + " def post(self, context, name: str, event):\n", + " model = self.get_model(name)\n", + " context.logger.info('event type: {}'.format(type(event.body)))\n", + " body = self.parse_event(event)\n", + " request = model.preprocess(body)\n", + " request = self.validate(request)\n", + " response = model.predict(request)\n", + " response = model.postprocess(response)\n", "\n", - "# Router\n", - "paths = {\n", - " 'predict': predict,\n", - " 'explain': '',\n", - " 'outlier_detector': '',\n", - " 'metrics': '',\n", - "}" + " return context.Response(body=json.dumps(response),\n", + " content_type='application/json',\n", + " status_code=200)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Main" + "### Function init & runtime handler" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`init_context(context, data)` is an automatic hook by Nuclio, running upon the build process ending - before the function is declared as deployed. \n", + "We will use this function to:\n", + "* Instantiate our models by using the environment variables `SERVING_MODEL_` and `model_class`\n", + "* Setup the `PredictHandler` as our handler for the `//predict` route\n", + "\n", + "`handler(context, event)` is used to deploy our functions" ] }, { @@ -271,62 +387,63 @@ "metadata": {}, "outputs": [], "source": [ - "# Definitions\n", - "model_prefix = 'SERVING_MODEL_'\n", - "models = {}\n", - "\n", "def init_context(context):\n", - " global models\n", - " global model_prefix\n", + " model_prefix = 'SERVING_MODEL_'\n", "\n", " # Initialize models from environment variables\n", " # Using the {model_prefix}_{model_name} = {model_path} syntax\n", - " model_paths = {k[len(model_prefix):]: v for k, v in environ.items() if\n", + " model_paths = {k[len(model_prefix):]: v for k, v in os.environ.items() if\n", " k.startswith(model_prefix)}\n", - "\n", - " models = {name: TFModel(name=name, model_dir=path) for name, path in\n", + " model_class = os.environ.get('MODEL_CLASS', 'MLModel')\n", + " fhandler = globals()[os.environ['MODEL_CLASS']]\n", + " models = {name: fhandler(name=name, model_dir=path) for name, path in\n", " model_paths.items()}\n", - " context.logger.info(f'Loaded {list(models.keys())}')" + "\n", + " # Verify that models are loaded\n", + " assert len(\n", + " models) > 0, \"No models were loaded!\\n Please load a model by using the environment variable SERVING_MODEL_{model_name} = model_path\"\n", + " context.logger.info(f'Loaded {list(models.keys())}')\n", + "\n", + " # Initialize route handlers\n", + " predictor = PredictHandler(models).with_context(context)\n", + " router = {\n", + " 'predict': predictor.post,\n", + " }\n", + "\n", + " ## Define handle\n", + " setattr(context, 'models', models)\n", + " setattr(context, 'router', router)\n", + "\n", + "\n", + "err_string = 'Got path: {} \\n Path must be / \\nactions: {} \\nmodels: {}'\n", + "\n", + "\n", + "def handler(context, event):\n", + " # check if valid route & model\n", + " try:\n", + " model_name, route = event.path.strip('/').split('/')\n", + " route = context.router[route]\n", + " except:\n", + " return context.Response(\n", + " body=err_string.format(event.path, '|'.join(context.router.keys()), '|'.join(context.models.keys())),\n", + " content_type='text/plain',\n", + " status_code=404)\n", + "\n", + " return route(context, model_name, event)" ] }, { - "cell_type": "code", - "execution_count": 9, + "cell_type": "markdown", "metadata": {}, - "outputs": [], "source": [ - "err_string = 'Got path: {}\\nPath must be // \\nactions: {} \\nmodels: {}'\n", - "\n", - "def handler(context, event):\n", - " global models\n", - " global paths\n", - "\n", - " # check if valid route & model\n", - " sp_path = event.path.strip('/').split('/')\n", - " if len(sp_path) < 2 or sp_path[0] not in paths or sp_path[1] not in models:\n", - " return context.Response(body=err_string.format(event.path, '|'.join(paths), '|'.join(models.keys())),\n", - " content_type='text/plain',\n", - " status_code=400)\n", - " \n", - " function_path = sp_path[0] \n", - " model_name = sp_path[1]\n", - "\n", - " context.logger.info(\n", - " f'Serving uri: {event.path} for route {function_path} '\n", - " f'with {model_name}, content type: {event.content_type}')\n", + "To let our nuclio builder know that our function code ends at this point we will use the comment annotation `nuclio: end-code`. \n", "\n", - " route = paths.get(function_path)\n", - " if route:\n", - " return route(context, model_name, event)\n", - "\n", - " return context.Response(body='function {} not implemented'.format(function_path),\n", - " content_type='text/plain',\n", - " status_code=400)" + "Any new cell from now on will be treated as if a `nuclio: ignore` comment was set, and will not be added to the funcion." ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -353,44 +470,45 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/User/mlrun/examples/images/categories_map.json\n", - "Classes: {'0': 'cat', '1': 'dog'}\n", - "Python> 2019-11-10 19:25:44,372 [info] Loaded ['cat_dog_v1']\n" - ] - } - ], + "outputs": [], "source": [ - "base_dir = os.getcwd()\n", - "environ['SERVING_MODEL_cat_dog_v1'] = base_dir + 'models/cats_n_dogs.h5'\n", - "environ['classes_map'] = base_dir + 'images/categories_map.json'\n", - "\n", - "init_context(context)" + "from PIL import Image\n", + "from io import BytesIO\n", + "import matplotlib.pyplot as plt\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Define test parameters" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Python> 2019-11-10 19:25:55,405 [info] Serving uri: /predict/cat_dog_v1 for route predict with cat_dog_v1, content type: image/jpeg\n", - "{'0': 'cat', '1': 'dog'}\n", - "[0.0]\n", - "[0.0]\n", - "Python> 2019-11-10 19:25:55,437 [info] {'prediction': ['cat'], 'dog-probability': [0.0]}\n", - "{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}\n" + "Test image:\n" ] }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, { "data": { "image/png": "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\n", @@ -405,21 +523,110 @@ } ], "source": [ - "from PIL import Image\n", - "from io import BytesIO\n", - "import matplotlib.pyplot as plt\n", + "# Model env variables\n", + "base_dir = '/User/demos/image-classification/'\n", + "cat_dog_v1_model_filepath = os.path.join(base_dir, 'model', 'cats_dogs.hd5')\n", + "classes_map_filepath = os.path.join(base_dir, 'model', 'prediction_classes_map.json')\n", "\n", + "environ['SERVING_MODEL_cat_dog_v1'] = cat_dog_v1_model_filepath\n", + "environ['classes_map'] = classes_map_filepath\n", + "\n", + "# Testing event\n", "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", "response = requests.get(cat_image_url)\n", - "img = Image.open(BytesIO(response.content))\n", - "plt.imshow(img)\n", + "cat_image = response.content\n", + "img = Image.open(BytesIO(cat_image))\n", + "\n", + "print('Test image:')\n", + "plt.imshow(img)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test endpoint by sending an image URL" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sending event: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n", + "Python> 2019-12-27 09:30:37,188 [info] Loaded ['cat_vs_dogs_v1', 'cat_dog_v1']\n", + "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:4070: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.\n", + "\n", + "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", + "Instructions for updating:\n", + "Use tf.where in 2.0, which has the same broadcast rule as np.where\n", + "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:422: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n", + "\n", + "Python> 2019-12-27 09:30:39,463 [info] event type: \n", + "Python> 2019-12-27 09:30:39,464 [info] event.body: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n", + "Response(headers=None, body='{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}', status_code=200, content_type='application/json')\n" + ] + } + ], + "source": [ + "# URL event\n", + "event_body = json.dumps({\"data_url\": cat_image_url})\n", + "print(f'Sending event: {event_body}')\n", + "\n", + "# Set model to query\n", + "model_name = 'cat_vs_dogs_v1'\n", + "\n", + "# Launch function and instatiate with event\n", + "init_context(context)\n", + "event = nuclio.Event(body=event_body,\n", + " content_type='application/json',#'image/jpeg',\n", + " path=f'{model_name}/predict')\n", + "output = handler(context, event)\n", + "\n", + "print(output)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test endpoint by sending a Direct Image" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Python> 2019-12-27 09:30:39,830 [info] Loaded ['cat_vs_dogs_v1', 'cat_dog_v1']\n", + "Python> 2019-12-27 09:30:42,337 [info] event type: \n", + "Response(headers=None, body='{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}', status_code=200, content_type='application/json')\n" + ] + } + ], + "source": [ + "# Direct image event\n", + "event_body = cat_image\n", + "\n", + "# Set model to query\n", + "model_name = 'cat_vs_dogs_v1'\n", "\n", - "model_name = 'cat_dog_v1'\n", - "event = nuclio.Event(body=response.content,\n", + "# Launch function and instatiate with event\n", + "init_context(context)\n", + "event = nuclio.Event(body=event_body,\n", " content_type='image/jpeg',\n", - " path=f'/predict/{model_name}')\n", + " path=f'{model_name}/predict')\n", "output = handler(context, event)\n", - "print(str(output.body))" + "\n", + "print(output)" ] }, { @@ -433,50 +640,68 @@ "cell_type": "code", "execution_count": 14, "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/User/.pythonlibs/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", + " % (item.__module__, item.__name__)\n" + ] + } + ], + "source": [ + "from mlrun import code_to_function, mount_v3io" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 14, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# convert the notebook code to deployable function, configure it\n", - "from mlrun import code_to_function\n", - "fn = code_to_function('tf-image-server-from-notebook', runtime='nuclio')\n", + "fn = code_to_function('tf-image-server-from-notebook', \n", + " runtime='nuclio')\n", "\n", "# set the API/trigger, attach the home dir to the function\n", - "fn.with_http(workers=2).add_volume('User','~/')\n", + "fn.with_http(workers=2).apply(mount_v3io())\n", "\n", "# set the model file path SERVING_MODEL_ = \n", - "fn.set_env('SERVING_MODEL_cat_dog_v1', base_dir + 'models/cats_n_dogs.h5')\n", - "fn.set_env('classes_map', base_dir + 'images/categories_map.json')" + "fn.set_env(f'SERVING_MODEL_{model_name}', cat_dog_v1_model_filepath)\n", + "fn.set_env('classes_map', classes_map_filepath)" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-10 19:26:07,302 deploy started\n", - "[nuclio.deploy] 2019-11-10 19:26:08,375 (info) Building processor image\n", - "[nuclio.deploy] 2019-11-10 19:26:13,416 (info) Build complete\n", - "[nuclio.deploy] 2019-11-10 19:26:19,521 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-11-10 19:26:19,527 done updating tf-image-server-from-notebook, function address: 13.58.34.174:31680\n" + "[mlrun] 2019-12-27 09:30:51,647 deploy started\n", + "[nuclio] 2019-12-27 09:30:52,722 (info) Building processor image\n", + "[nuclio] 2019-12-27 09:30:57,763 (info) Build complete\n", + "[nuclio] 2019-12-27 09:31:05,834 (info) Function deploy complete\n", + "[nuclio] 2019-12-27 09:31:05,840 done updating tf-image-server-from-notebook, function address: 3.18.11.15:32393\n" ] } ], "source": [ - "# deploy the function to the cluster\n", + "# deploy the functnew_model_server the cluster\n", "addr = fn.deploy(project='nuclio-serving')" ] }, @@ -484,64 +709,107 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Test the real function (with URL)" + "## Test the deployed function on the cluster" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test the deployed function (with URL)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{\"prediction\": [\"dog\"], \"dog-probability\": [1.0]}\n" + "Sending event: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n" ] }, { "data": { - "image/png": "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\n", "text/plain": [ - "
" + "{'_content': b'{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}',\n", + " '_content_consumed': True,\n", + " '_next': None,\n", + " 'status_code': 200,\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 09:31:07 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32393/cat_vs_dogs_v1/predict',\n", + " 'encoding': None,\n", + " 'history': [],\n", + " 'reason': 'OK',\n", + " 'cookies': ,\n", + " 'elapsed': datetime.timedelta(0, 2, 114797),\n", + " 'request': ,\n", + " 'connection': }" ] }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "dog_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/dog.102.jpg'\n", - "response = requests.get(dog_image_url)\n", - "img = Image.open(BytesIO(response.content))\n", - "plt.imshow(img)\n", + "# URL event\n", + "event_body = json.dumps({\"data_url\": cat_image_url})\n", + "print(f'Sending event: {event_body}')\n", + "\n", + "# Set model to query\n", + "model_name = 'cat_vs_dogs_v1'\n", "\n", "headers = {'Content-type': 'text/plain'}\n", - "response = requests.post(url=addr + f'/predict/{model_name}', data=dog_image_url, headers=headers)\n", - "print(response.content.decode('utf-8'))" + "response = requests.post(url=addr + f'/{model_name}/predict', data=event_body, headers=headers)\n", + "response.__dict__" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Test the real function (with Jpeg Image)" + "### Test the deployed function (with Jpeg Image)" ] }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{\"prediction\": [\"cat\"], \"dog-probability\": [1.1800089838134144e-33]}\n" + "Sending image from https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\n" ] }, + { + "data": { + "text/plain": [ + "{'_content': b'{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}',\n", + " '_content_consumed': True,\n", + " '_next': None,\n", + " 'status_code': 200,\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 09:31:09 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32393/cat_vs_dogs_v1/predict/',\n", + " 'encoding': None,\n", + " 'history': [],\n", + " 'reason': 'OK',\n", + " 'cookies': ,\n", + " 'elapsed': datetime.timedelta(0, 2, 49026),\n", + " 'request': ,\n", + " 'connection': }" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + }, { "data": { "image/png": "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\n", @@ -556,22 +824,17 @@ } ], "source": [ - "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", - "response = requests.get(cat_image_url)\n", - "img = Image.open(BytesIO(response.content))\n", + "# URL event\n", + "event_body = cat_image\n", + "print(f'Sending image from {cat_image_url}')\n", "plt.imshow(img)\n", + "# Set model to query\n", + "model_name = 'cat_vs_dogs_v1'\n", "\n", "headers = {'Content-type': 'image/jpeg'}\n", - "response = requests.post(url=addr + f'/predict/{model_name}', data=response.content, headers=headers)\n", - "print(response.content.decode('utf-8'))" + "response = requests.post(url=addr + f'/{model_name}/predict/', data=event_body, headers=headers)\n", + "response.__dict__" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From 57f2fc0fb81a6ec7787cb5618e55c5b6e079cbcb Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 11:35:39 +0000 Subject: [PATCH 4/9] image-classification pipeliens works with new version of model server --- .../mlrun_mpijob_classify.ipynb | 560 ++++++++---------- image_classification/mlrun_mpijob_pipe.ipynb | 154 +++-- 2 files changed, 361 insertions(+), 353 deletions(-) diff --git a/image_classification/mlrun_mpijob_classify.ipynb b/image_classification/mlrun_mpijob_classify.ipynb index 39e0a1a4..cc511aac 100644 --- a/image_classification/mlrun_mpijob_classify.ipynb +++ b/image_classification/mlrun_mpijob_classify.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# End to end image classification workflow\n", + "# End to end image classification workflow with distributed training\n", "The following example demonstrates an end to end data science workflow for building an an image classifier
\n", "The model is trained on an images dataset of cats and dogs. Then the model is deployed as a function in a serving layer
\n", "Users can send http request with an image of cats/dogs image and get a respond back that identify whether it is a cat or a dog\n", @@ -38,72 +38,16 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Requirement already satisfied: kfp in /User/.pythonlibs/lib/python3.6/site-packages (0.1.35)\n", - "Requirement already satisfied: urllib3<1.25,>=1.15 in /conda/lib/python3.6/site-packages (from kfp) (1.24.2)\n", - "Requirement already satisfied: Deprecated in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (1.2.7)\n", - "Requirement already satisfied: python-dateutil in /conda/lib/python3.6/site-packages (from kfp) (2.8.0)\n", - "Requirement already satisfied: google-auth>=1.6.1 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (1.7.1)\n", - "Requirement already satisfied: cryptography>=2.4.2 in /conda/lib/python3.6/site-packages (from kfp) (2.8)\n", - "Requirement already satisfied: kfp-server-api<=0.1.25,>=0.1.18 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (0.1.18.3)\n", - "Requirement already satisfied: google-cloud-storage>=1.13.0 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (1.23.0)\n", - "Requirement already satisfied: argo-models==2.2.1a in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (2.2.1a0)\n", - "Requirement already satisfied: tabulate==0.8.3 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (0.8.3)\n", - "Requirement already satisfied: click==7.0 in /conda/lib/python3.6/site-packages (from kfp) (7.0)\n", - "Requirement already satisfied: PyYAML in /conda/lib/python3.6/site-packages (from kfp) (5.1.2)\n", - "Requirement already satisfied: kubernetes<=9.0.0,>=8.0.0 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (9.0.0)\n", - "Requirement already satisfied: jsonschema>=3.0.1 in /conda/lib/python3.6/site-packages (from kfp) (3.1.1)\n", - "Requirement already satisfied: requests-toolbelt>=0.8.0 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (0.9.1)\n", - "Requirement already satisfied: cloudpickle==1.1.1 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (1.1.1)\n", - "Requirement already satisfied: PyJWT>=1.6.4 in /User/.pythonlibs/lib/python3.6/site-packages (from kfp) (1.7.1)\n", - "Requirement already satisfied: certifi in /conda/lib/python3.6/site-packages (from kfp) (2019.9.11)\n", - "Requirement already satisfied: six>=1.10 in /conda/lib/python3.6/site-packages (from kfp) (1.12.0)\n", - "Requirement already satisfied: wrapt<2,>=1.10 in /User/.pythonlibs/lib/python3.6/site-packages (from Deprecated->kfp) (1.11.2)\n", - "Requirement already satisfied: pyasn1-modules>=0.2.1 in /User/.pythonlibs/lib/python3.6/site-packages (from google-auth>=1.6.1->kfp) (0.2.7)\n", - "Requirement already satisfied: rsa<4.1,>=3.1.4 in /User/.pythonlibs/lib/python3.6/site-packages (from google-auth>=1.6.1->kfp) (4.0)\n", - "Requirement already satisfied: setuptools>=40.3.0 in /conda/lib/python3.6/site-packages (from google-auth>=1.6.1->kfp) (41.4.0)\n", - "Requirement already satisfied: cachetools<3.2,>=2.0.0 in /User/.pythonlibs/lib/python3.6/site-packages (from google-auth>=1.6.1->kfp) (3.1.1)\n", - "Requirement already satisfied: cffi!=1.11.3,>=1.8 in /conda/lib/python3.6/site-packages (from cryptography>=2.4.2->kfp) (1.13.0)\n", - "Requirement already satisfied: google-resumable-media<0.6dev,>=0.5.0 in /User/.pythonlibs/lib/python3.6/site-packages (from google-cloud-storage>=1.13.0->kfp) (0.5.0)\n", - "Requirement already satisfied: google-cloud-core<2.0dev,>=1.0.3 in /User/.pythonlibs/lib/python3.6/site-packages (from google-cloud-storage>=1.13.0->kfp) (1.0.3)\n", - "Requirement already satisfied: requests in /conda/lib/python3.6/site-packages (from kubernetes<=9.0.0,>=8.0.0->kfp) (2.22.0)\n", - "Requirement already satisfied: requests-oauthlib in /User/.pythonlibs/lib/python3.6/site-packages (from kubernetes<=9.0.0,>=8.0.0->kfp) (1.3.0)\n", - "Requirement already satisfied: websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 in /User/.pythonlibs/lib/python3.6/site-packages (from kubernetes<=9.0.0,>=8.0.0->kfp) (0.56.0)\n", - "Requirement already satisfied: pyrsistent>=0.14.0 in /conda/lib/python3.6/site-packages (from jsonschema>=3.0.1->kfp) (0.15.4)\n", - "Requirement already satisfied: importlib-metadata in /conda/lib/python3.6/site-packages (from jsonschema>=3.0.1->kfp) (0.23)\n", - "Requirement already satisfied: attrs>=17.4.0 in /conda/lib/python3.6/site-packages (from jsonschema>=3.0.1->kfp) (19.3.0)\n", - "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /User/.pythonlibs/lib/python3.6/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.6.1->kfp) (0.4.7)\n", - "Requirement already satisfied: pycparser in /conda/lib/python3.6/site-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.4.2->kfp) (2.19)\n", - "Requirement already satisfied: google-api-core<2.0.0dev,>=1.14.0 in /User/.pythonlibs/lib/python3.6/site-packages (from google-cloud-core<2.0dev,>=1.0.3->google-cloud-storage>=1.13.0->kfp) (1.14.3)\n", - "Requirement already satisfied: idna<2.9,>=2.5 in /conda/lib/python3.6/site-packages (from requests->kubernetes<=9.0.0,>=8.0.0->kfp) (2.8)\n", - "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /conda/lib/python3.6/site-packages (from requests->kubernetes<=9.0.0,>=8.0.0->kfp) (3.0.4)\n", - "Requirement already satisfied: oauthlib>=3.0.0 in /User/.pythonlibs/lib/python3.6/site-packages (from requests-oauthlib->kubernetes<=9.0.0,>=8.0.0->kfp) (3.1.0)\n", - "Requirement already satisfied: zipp>=0.5 in /conda/lib/python3.6/site-packages (from importlib-metadata->jsonschema>=3.0.1->kfp) (0.6.0)\n", - "Requirement already satisfied: pytz in /conda/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.14.0->google-cloud-core<2.0dev,>=1.0.3->google-cloud-storage>=1.13.0->kfp) (2019.3)\n", - "Requirement already satisfied: protobuf>=3.4.0 in /conda/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.14.0->google-cloud-core<2.0dev,>=1.0.3->google-cloud-storage>=1.13.0->kfp) (3.10.0)\n", - "Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /conda/lib/python3.6/site-packages (from google-api-core<2.0.0dev,>=1.14.0->google-cloud-core<2.0dev,>=1.0.3->google-cloud-storage>=1.13.0->kfp) (1.6.0)\n", - "Requirement already satisfied: more-itertools in /conda/lib/python3.6/site-packages (from zipp>=0.5->importlib-metadata->jsonschema>=3.0.1->kfp) (7.2.0)\n" - ] - } - ], + "execution_count": 2, + "metadata": {}, + "outputs": [], "source": [ - "!pip install kfp" + "#!pip install kfp" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -137,9 +81,18 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/User/.pythonlibs/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", + " % (item.__module__, item.__name__)\n" + ] + } + ], "source": [ "import os\n", "import zipfile\n", @@ -204,7 +157,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -234,24 +187,22 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from mlrun import new_function, code_to_function, get_run_db, mount_v3io, NewTask, mlconf, new_model_server\n", - "# for remote DB path uncomment \n", - "#mlconf.dbpath = 'http://mlrun-db:8080'\n", - "mlconf.dbpath = '/User/mlrun-db'" + "mlconf.dbpath = 'http://mlrun-api:8080'" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ - "#base_dir = '/User/mlrun/examples'\n", - "base_dir = os.getcwd()\n", + "base_dir = '/User/mlrun/examples'\n", + "#base_dir = os.getcwd()\n", "images_path = os.path.join(base_dir, 'images')" ] }, @@ -266,18 +217,21 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-19 10:50:37,515 starting run download uid=4522641511ae4b41a100b2d9f3e10dba -> /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:50:37,676 downloading http://iguazio-sample-data.s3.amazonaws.com/catsndogs.zip to local tmp\n", - "[mlrun] 2019-11-19 10:50:42,860 Verified directories\n", - "[mlrun] 2019-11-19 10:50:42,860 Extracting zip\n", - "[mlrun] 2019-11-19 10:50:52,919 extracted archive to /User/mlrun/demos/image_classification/images\n", + "[mlrun] 2019-12-27 09:43:39,556 downloading http://iguazio-sample-data.s3.amazonaws.com/catsndogs.zip to local tmp\n", + "[mlrun] 2019-12-27 09:43:41,126 Verified directories\n", + "[mlrun] 2019-12-27 09:43:41,126 Extracting zip\n", + "[mlrun] 2019-12-27 09:43:58,509 extracted archive to /User/mlrun/examples/images\n", + "\n", + "[mlrun] 2019-12-27 09:43:41,126 Verified directories\n", + "[mlrun] 2019-12-27 09:43:41,126 Extracting zip\n", + "[mlrun] 2019-12-27 09:43:58,509 extracted archive to /User/mlrun/examples/images\n", "\n" ] }, @@ -450,26 +404,26 @@ " \n", " \n", " \n", - "
...e10dba
\n", + "
...f0a458
\n", " 0\n", - " Nov 19 10:50:37\n", + " Dec 27 09:43:39\n", " completed\n", " download\n", - "
repo=https://github.com/mlrun/demos.git
commit=5602ba69f5ec96e423febcc64fbcdceee854be8f
kind=handler
owner=adi
host=jupyter-edms7gwmf3-wmzhd-fd85c4467-g9rzb
\n", + "
host=jupyter-ts5x7vvgam-fri1h-658b7b568f-zl7xv
\n", "
archive_url
\n", - "
target_dir=/User/mlrun/demos/image_classification/images
\n", + "
target_dir=/User/mlrun/examples/images
\n", " \n", - "
content
\n", + "
content
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -484,9 +438,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid 4522641511ae4b41a100b2d9f3e10dba \n", - "[mlrun] 2019-11-19 10:50:52,987 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run 5bf3f665c69b4630a38e1a50c1f0a458 , !mlrun logs 5bf3f665c69b4630a38e1a50c1f0a458 \n", + "[mlrun] 2019-12-27 09:43:58,600 run executed, status=completed\n" ] } ], @@ -507,15 +461,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-19 10:50:57,566 starting run label uid=561b7be8de014ebe8ad0b12790959b2e -> /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:50:57,689 {0: 'cat', 1: 'dog'}\n", + "[mlrun] 2019-12-27 09:43:58,678 {0: 'cat', 1: 'dog'}\n", + "\n", + "[mlrun] 2019-12-27 09:43:58,678 {0: 'cat', 1: 'dog'}\n", "\n" ] }, @@ -688,26 +643,26 @@ " \n", " \n", " \n", - "
...959b2e
\n", + "
...61fa9b
\n", " 0\n", - " Nov 19 10:50:57\n", + " Dec 27 09:43:58\n", " completed\n", " label\n", - "
repo=https://github.com/mlrun/demos.git
commit=5602ba69f5ec96e423febcc64fbcdceee854be8f
kind=handler
owner=adi
host=jupyter-edms7gwmf3-wmzhd-fd85c4467-g9rzb
\n", + "
host=jupyter-ts5x7vvgam-fri1h-658b7b568f-zl7xv
\n", " \n", - "
source_dir=/User/mlrun/demos/image_classification/images/cats_n_dogs
\n", + "
source_dir=/User/mlrun/examples/images/cats_n_dogs
\n", " \n", - "
categories_map
file_categories
\n", + "
categories_map
file_categories
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -722,9 +677,9 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid 561b7be8de014ebe8ad0b12790959b2e \n", - "[mlrun] 2019-11-19 10:50:57,754 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run 78bab1da31be44558cf8f1234a61fa9b , !mlrun logs 78bab1da31be44558cf8f1234a61fa9b \n", + "[mlrun] 2019-12-27 09:43:58,798 run executed, status=completed\n" ] } ], @@ -744,98 +699,90 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-19 10:51:00,346 starting run train uid=0d3e15429d0a49408ac5872905396969 -> /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:51:00,421 using in-cluster config.\n", - "[mlrun] 2019-11-19 10:51:00,450 MpiJob train-b319229b created\n", - "[mlrun] 2019-11-19 10:51:07,492 MpiJob train-b319229b state=Active\n", - "...\n", - "+ POD_NAME=train-b319229b-worker-2\n", + "[mlrun] 2019-12-27 09:44:01,756 starting run train uid=87aa82e0443240c8b388b6a455a6490c -> http://mlrun-api:8080\n", + "+ POD_NAME=train-c3e1d875-worker-1\n", "+ shift\n", - "+ /opt/kube/kubectl exec train-b319229b-worker-2 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"1298792448\" -mca ess_base_vpid 3 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-b[6:319229]b-launcher-l5p9s,train-b[6:319229]b-worker-0,train-b[6:319229]b-worker-1,train-b[6:319229]b-worker-2,train-b[6:319229]b-worker-3@0(5)\" -mca orte_hnp_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", - "+ POD_NAME=train-b319229b-worker-0\n", + "+ /opt/kube/kubectl exec train-c3e1d875-worker-1 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"3871408128\" -mca ess_base_vpid 2 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-c[1:3]e1d875-launcher-6m2sb,train-c[1:3]e1d875-worker-0,train-c[1:3]e1d875-worker-1,train-c[1:3]e1d875-worker-2,train-c[1:3]e1d875-worker-3@0(5)\" -mca orte_hnp_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", + "+ POD_NAME=train-c3e1d875-worker-3\n", "+ shift\n", - "+ /opt/kube/kubectl exec train-b319229b-worker-0 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"1298792448\" -mca ess_base_vpid 1 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-b[6:319229]b-launcher-l5p9s,train-b[6:319229]b-worker-0,train-b[6:319229]b-worker-1,train-b[6:319229]b-worker-2,train-b[6:319229]b-worker-3@0(5)\" -mca orte_hnp_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", - "+ POD_NAME=train-b319229b-worker-1\n", + "+ /opt/kube/kubectl exec train-c3e1d875-worker-3 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"3871408128\" -mca ess_base_vpid 4 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-c[1:3]e1d875-launcher-6m2sb,train-c[1:3]e1d875-worker-0,train-c[1:3]e1d875-worker-1,train-c[1:3]e1d875-worker-2,train-c[1:3]e1d875-worker-3@0(5)\" -mca orte_hnp_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", + "+ POD_NAME=train-c3e1d875-worker-2\n", "+ shift\n", - "+ /opt/kube/kubectl exec train-b319229b-worker-1 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"1298792448\" -mca ess_base_vpid 2 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-b[6:319229]b-launcher-l5p9s,train-b[6:319229]b-worker-0,train-b[6:319229]b-worker-1,train-b[6:319229]b-worker-2,train-b[6:319229]b-worker-3@0(5)\" -mca orte_hnp_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", - "+ POD_NAME=train-b319229b-worker-3\n", + "+ /opt/kube/kubectl exec train-c3e1d875-worker-2 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"3871408128\" -mca ess_base_vpid 3 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-c[1:3]e1d875-launcher-6m2sb,train-c[1:3]e1d875-worker-0,train-c[1:3]e1d875-worker-1,train-c[1:3]e1d875-worker-2,train-c[1:3]e1d875-worker-3@0(5)\" -mca orte_hnp_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", + "+ POD_NAME=train-c3e1d875-worker-0\n", "+ shift\n", - "+ /opt/kube/kubectl exec train-b319229b-worker-3 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"1298792448\" -mca ess_base_vpid 4 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-b[6:319229]b-launcher-l5p9s,train-b[6:319229]b-worker-0,train-b[6:319229]b-worker-1,train-b[6:319229]b-worker-2,train-b[6:319229]b-worker-3@0(5)\" -mca orte_hnp_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"1298792448.0;tcp://10.233.76.40:52563\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", - "[mlrun] 2019-11-19 10:51:17,314 logging run results to: /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:51:17,322 Getting env variables\n", - "[mlrun] 2019-11-19 10:51:17,322 Validating paths:\n", - "Data_path:\t/User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "Model_path:\t/User/mlrun/demos/image_classification/models/cats_n_dogs.h5\n", + "+ /opt/kube/kubectl exec train-c3e1d875-worker-0 -- /bin/sh -c PATH=/usr/local/bin:$PATH ; export PATH ; LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH ; DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH ; export DYLD_LIBRARY_PATH ; /usr/local/bin/orted -mca ess \"env\" -mca ess_base_jobid \"3871408128\" -mca ess_base_vpid 1 -mca ess_base_num_procs \"5\" -mca orte_node_regex \"train-c[1:3]e1d875-launcher-6m2sb,train-c[1:3]e1d875-worker-0,train-c[1:3]e1d875-worker-1,train-c[1:3]e1d875-worker-2,train-c[1:3]e1d875-worker-3@0(5)\" -mca orte_hnp_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm \"rsh\" --tree-spawn -mca orte_parent_uri \"3871408128.0;tcp://10.233.81.176:53662\" -mca plm_rsh_agent \"/etc/mpi/kubexec.sh\" -mca orte_default_hostfile \"/etc/mpi/hostfile\" -mca pmix \"^s1,s2,cray,isolated\"\n", + "[mlrun] 2019-12-27 09:44:57,233 Getting env variables\n", + "[mlrun] 2019-12-27 09:44:57,233 Validating paths:\n", + "Data_path:\t/User/mlrun/examples/images/cats_n_dogs\n", + "Model_path:\t/User/mlrun/examples/models/cats_n_dogs.h5\n", "\n", - "[mlrun] 2019-11-19 10:51:17,329 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", - "[mlrun] 2019-11-19 10:51:17,336 Got 2000 files in /User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "[mlrun] 2019-11-19 10:51:17,336 Training data has 4000 samples\n", - "[mlrun] 2019-11-19 10:51:17,340 dog 1000\n", + "[mlrun] 2019-12-27 09:44:57,244 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", + "[mlrun] 2019-12-27 09:44:57,337 Got 2000 files in /User/mlrun/examples/images/cats_n_dogs\n", + "[mlrun] 2019-12-27 09:44:57,337 Training data has 4000 samples\n", + "2019-12-27 09:44:57.341425: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA\n", + "[mlrun] 2019-12-27 09:44:57,341 dog 1000\n", "cat 1000\n", "Name: category, dtype: int64\n", - "2019-11-19 10:51:17.341066: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", - "[mlrun] 2019-11-19 10:51:17,342 logging run results to: /User/mlrun-db\n", - "2019-11-19 10:51:17.348757: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2195095000 Hz\n", - "2019-11-19 10:51:17.349385: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x54a4410 executing computations on platform Host. Devices:\n", - "2019-11-19 10:51:17.349414: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", - "[mlrun] 2019-11-19 10:51:17,349 Getting env variables\n", - "[mlrun] 2019-11-19 10:51:17,349 Validating paths:\n", - "Data_path:\t/User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "Model_path:\t/User/mlrun/demos/image_classification/models/cats_n_dogs.h5\n", + "2019-12-27 09:44:57.347562: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2500000000 Hz\n", + "2019-12-27 09:44:57.349207: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x6637e40 executing computations on platform Host. Devices:\n", + "2019-12-27 09:44:57.349240: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", + "[mlrun] 2019-12-27 09:44:57,349 Is GPU available?\tFalse\n", + "[mlrun] 2019-12-27 09:44:57,350 Getting env variables\n", + "[mlrun] 2019-12-27 09:44:57,350 Validating paths:\n", + "Data_path:\t/User/mlrun/examples/images/cats_n_dogs\n", + "Model_path:\t/User/mlrun/examples/models/cats_n_dogs.h5\n", "\n", - "[mlrun] 2019-11-19 10:51:17,350 logging run results to: /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:51:17,349 Is GPU available?\tFalse\n", - "[mlrun] 2019-11-19 10:51:17,355 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", - "[mlrun] 2019-11-19 10:51:17,357 Getting env variables\n", - "[mlrun] 2019-11-19 10:51:17,357 Validating paths:\n", - "Data_path:\t/User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "Model_path:\t/User/mlrun/demos/image_classification/models/cats_n_dogs.h5\n", + "[mlrun] 2019-12-27 09:44:57,357 Getting env variables\n", + "[mlrun] 2019-12-27 09:44:57,357 Validating paths:\n", + "Data_path:\t/User/mlrun/examples/images/cats_n_dogs\n", + "Model_path:\t/User/mlrun/examples/models/cats_n_dogs.h5\n", "\n", - "[mlrun] 2019-11-19 10:51:17,362 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", - "2019-11-19 10:51:17.367429: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", - "[mlrun] 2019-11-19 10:51:17,363 Got 2000 files in /User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "[mlrun] 2019-11-19 10:51:17,363 Training data has 4000 samples\n", - "[mlrun] 2019-11-19 10:51:17,367 dog 1000\n", - "cat 1000\n", + "[mlrun] 2019-12-27 09:44:57,360 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", + "[mlrun] 2019-12-27 09:44:57,367 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", + "[mlrun] 2019-12-27 09:44:57,367 Got 2000 files in /User/mlrun/examples/images/cats_n_dogs\n", + "[mlrun] 2019-12-27 09:44:57,368 Training data has 4000 samples\n", + "[mlrun] 2019-12-27 09:44:57,370 Getting env variables\n", + "[mlrun] 2019-12-27 09:44:57,370 Validating paths:\n", + "Data_path:\t/User/mlrun/examples/images/cats_n_dogs\n", + "Model_path:\t/User/mlrun/examples/models/cats_n_dogs.h5\n", + "\n", + "2019-12-27 09:44:57.371290: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA\n", + "[mlrun] 2019-12-27 09:44:57,371 cat 1000\n", + "dog 1000\n", "Name: category, dtype: int64\n", - "2019-11-19 10:51:17.374654: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2194985000 Hz\n", - "2019-11-19 10:51:17.374744: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", - "[mlrun] 2019-11-19 10:51:17,370 Got 2000 files in /User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "[mlrun] 2019-11-19 10:51:17,370 Training data has 4000 samples\n", - "[mlrun] 2019-11-19 10:51:17,374 dog 1000\n", - "cat 1000\n", + "[mlrun] 2019-12-27 09:44:57,374 Got 2000 files in /User/mlrun/examples/images/cats_n_dogs\n", + "[mlrun] 2019-12-27 09:44:57,374 Training data has 4000 samples\n", + "2019-12-27 09:44:57.377341: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2500000000 Hz\n", + "2019-12-27 09:44:57.377876: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA\n", + "[mlrun] 2019-12-27 09:44:57,377 cat 1000\n", + "dog 1000\n", "Name: category, dtype: int64\n", - "2019-11-19 10:51:17.375806: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5f1c6f0 executing computations on platform Host. Devices:\n", - "2019-11-19 10:51:17.375835: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", - "[mlrun] 2019-11-19 10:51:17,376 Is GPU available?\tFalse\n", - "2019-11-19 10:51:17.381987: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2194985000 Hz\n", - "2019-11-19 10:51:17.382978: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x54e37c0 executing computations on platform Host. Devices:\n", - "2019-11-19 10:51:17.383021: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", - "[mlrun] 2019-11-19 10:51:17,383 Is GPU available?\tFalse\n", - "[mlrun] 2019-11-19 10:51:17,467 logging run results to: /User/mlrun-db\n", - "[mlrun] 2019-11-19 10:51:17,474 Getting env variables\n", - "[mlrun] 2019-11-19 10:51:17,474 Validating paths:\n", - "Data_path:\t/User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "Model_path:\t/User/mlrun/demos/image_classification/models/cats_n_dogs.h5\n", - "\n", - "[mlrun] 2019-11-19 10:51:17,480 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", - "2019-11-19 10:51:17.492316: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA\n", - "[mlrun] 2019-11-19 10:51:17,488 Got 2000 files in /User/mlrun/demos/image_classification/images/cats_n_dogs\n", - "[mlrun] 2019-11-19 10:51:17,488 Training data has 4000 samples\n", - "[mlrun] 2019-11-19 10:51:17,492 dog 1000\n", - "cat 1000\n", + "2019-12-27 09:44:57.378956: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x54b32a0 executing computations on platform Host. Devices:\n", + "2019-12-27 09:44:57.378992: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", + "[mlrun] 2019-12-27 09:44:57,379 Is GPU available?\tFalse\n", + "[mlrun] 2019-12-27 09:44:57,380 Categories map: b'{\"0\": \"cat\", \"1\": \"dog\"}'\n", + "2019-12-27 09:44:57.383812: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2500000000 Hz\n", + "2019-12-27 09:44:57.385384: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x4f23960 executing computations on platform Host. Devices:\n", + "2019-12-27 09:44:57.385412: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", + "[mlrun] 2019-12-27 09:44:57,385 Is GPU available?\tFalse\n", + "[mlrun] 2019-12-27 09:44:57,387 Got 2000 files in /User/mlrun/examples/images/cats_n_dogs\n", + "[mlrun] 2019-12-27 09:44:57,387 Training data has 4000 samples\n", + "2019-12-27 09:44:57.390763: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 AVX512F FMA\n", + "[mlrun] 2019-12-27 09:44:57,390 cat 1000\n", + "dog 1000\n", "Name: category, dtype: int64\n", - "2019-11-19 10:51:17.499290: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2195060000 Hz\n", - "2019-11-19 10:51:17.499824: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x57f9250 executing computations on platform Host. Devices:\n", - "2019-11-19 10:51:17.499852: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", - "[mlrun] 2019-11-19 10:51:17,500 Is GPU available?\tFalse\n", + "2019-12-27 09:44:57.396692: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 2500000000 Hz\n", + "2019-12-27 09:44:57.398247: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5b38dc0 executing computations on platform Host. Devices:\n", + "2019-12-27 09:44:57.398274: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor device (0): , \n", + "[mlrun] 2019-12-27 09:44:57,398 Is GPU available?\tFalse\n", "Using TensorFlow backend.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", @@ -856,10 +803,10 @@ "Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5\n", "Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5\n", "Downloading data from https://github.com/fchollet/deep-learning-models/releases/download/v0.1/vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5\n", - "58892288/58889256 [==============================] - 4s 0us/step\n", - "58892288/58889256 [==============================] - 4s 0us/step\n", - "58892288/58889256 [==============================] - 4s 0us/step\n", - "58892288/58889256 [==============================] - 4s 0us/step\n", + "58892288/58889256 [==============================] - 1s 0us/step\n", + "58892288/58889256 [==============================] - 1s 0us/step\n", + "58892288/58889256 [==============================] - 1s 0us/step\n", + "58892288/58889256 [==============================] - 1s 0us/step\n", "Model: \"model_1\"\n", "_________________________________________________________________\n", "Layer (type) Output Shape Param # \n", @@ -1069,44 +1016,75 @@ "Non-trainable params: 14,714,688\n", "_________________________________________________________________\n", "Found 1600 validated image filenames belonging to 2 classes.\n", - "[mlrun] 2019-11-19 10:51:25,077 classes: {'cat': 0, 'dog': 1}\n", + "[mlrun] 2019-12-27 09:45:02,751 classes: {'cat': 0, 'dog': 1}\n", "Found 1600 validated image filenames belonging to 2 classes.\n", - "[mlrun] 2019-11-19 10:51:25,177 classes: {'cat': 0, 'dog': 1}\n", + "[mlrun] 2019-12-27 09:45:02,922 classes: {'cat': 0, 'dog': 1}\n", "Found 1600 validated image filenames belonging to 2 classes.\n", - "[mlrun] 2019-11-19 10:51:25,240 classes: {'cat': 0, 'dog': 1}\n", + "[mlrun] 2019-12-27 09:45:03,234 classes: {'cat': 0, 'dog': 1}\n", "Found 400 validated image filenames belonging to 2 classes.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n", - "Found 1600 validated image filenames belonging to 2 classes.\n", - "[mlrun] 2019-11-19 10:51:25,494 classes: {'cat': 0, 'dog': 1}\n", "Found 400 validated image filenames belonging to 2 classes.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n", + "Found 1600 validated image filenames belonging to 2 classes.\n", + "[mlrun] 2019-12-27 09:45:03,840 classes: {'cat': 0, 'dog': 1}\n", + "Epoch 1/3\n", "Found 400 validated image filenames belonging to 2 classes.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n", - "Epoch 1/1\n", + "Epoch 1/3\n", + "Epoch 1/3\n", "Found 400 validated image filenames belonging to 2 classes.\n", "WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/math_ops.py:3066: to_int32 (from tensorflow.python.ops.math_ops) is deprecated and will be removed in a future version.\n", "Instructions for updating:\n", "Use tf.cast instead.\n", - "Epoch 1/1\n", - "Epoch 1/1\n", - "Epoch 1/1\n", - "2019-11-19 10:51:26.774562: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", - "2019-11-19 10:51:26.875708: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", - "2019-11-19 10:51:27.802421: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", - "2019-11-19 10:51:28.016938: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", - "2019-11-19 10:51:33.412655: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", - "25/25 [==============================] - 163s 7s/step - loss: 0.8641 - accuracy: 0.6475 - val_loss: 0.4500 - val_accuracy: 0.7708 1:35 - loss: 1.3409 - accuracy: 0.59\n", - "25/25 [==============================] - 165s 7s/step - loss: 0.8992 - accuracy: 0.6169 - val_loss: 0.5290 - val_accuracy: 0.7708\n", - "25/25 [==============================] - 177s 7s/step - loss: 0.8455 - accuracy: 0.6500 - val_loss: 0.2996 - val_accuracy: 0.7734\n", - "25/25 [==============================] - 178s 7s/step - loss: 0.8589 - accuracy: 0.6275 - val_loss: 0.3791 - val_accuracy: 0.7708\n", - "[mlrun] 2019-11-19 10:54:25,373 history: {'val_loss': [0.4144385], 'val_accuracy': [0.7714843600988388], 'loss': [0.8669404327869416], 'accuracy': [0.6354687], 'lr': [1.6]}\n", - "[mlrun] 2019-11-19 10:54:30,396 MpiJob train-b319229b finished with state succeeded\n" + "2019-12-27 09:45:04.869836: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:04.897859: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:04.944400: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:05.589716: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:05.692293: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:07.146937: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "Epoch 1/3\n", + "2019-12-27 09:45:10.059951: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:10.139138: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:10.313882: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:10.684665: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:10.728891: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:10.988206: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:11.195335: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:11.468162: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:11.960547: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:13.267480: W tensorflow/core/framework/allocator.cc:124] Allocation of 134217728 exceeds 10% of system memory.\n", + "2019-12-27 09:45:16.720289: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:16.720744: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:16.721700: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "2019-12-27 09:45:16.721765: W tensorflow/core/framework/allocator.cc:124] Allocation of 268435456 exceeds 10% of system memory.\n", + "25/25 [==============================] - 202s 8s/step - loss: 0.9939 - accuracy: 0.6106 - val_loss: 0.4027 - val_accuracy: 0.8203 2:26 - loss: 2.1942 - accuracy: 0.4740 6/25 [======>.......................] - ETA: 2:15 - loss: 1.9118 - accuracy: 0.52\n", + "25/25 [==============================] - 203s 8s/step - loss: 0.9304 - accuracy: 0.6306 - val_loss: 0.4379 - val_accuracy: 0.8177\n", + "25/25 [==============================] - 204s 8s/step - loss: 0.9456 - accuracy: 0.6250 - val_loss: 0.4081 - val_accuracy: 0.8177\n", + "25/25 [==============================] - 201s 8s/step - loss: 0.9205 - accuracy: 0.6319 - val_loss: 0.4724 - val_accuracy: 0.8203\n", + "Epoch 2/3\n", + "Epoch 2/3\n", + "Epoch 2/3\n", + "Epoch 2/3\n", + "25/25 [==============================] - 189s 8s/step - loss: 0.5507 - accuracy: 0.7425 - val_loss: 0.5091 - val_accuracy: 0.7173 1:28 - loss: 0.5776 - accuracy: 0.74\n", + "25/25 [==============================] - 191s 8s/step - loss: 0.5142 - accuracy: 0.7563 - val_loss: 0.5106 - val_accuracy: 0.6905\n", + "25/25 [==============================] - 190s 8s/step - loss: 0.5265 - accuracy: 0.7419 - val_loss: 0.5937 - val_accuracy: 0.7202\n", + "25/25 [==============================] - 192s 8s/step - loss: 0.5320 - accuracy: 0.7519 - val_loss: 0.6495 - val_accuracy: 0.7262\n", + "Epoch 3/3\n", + "Epoch 3/3\n", + "Epoch 3/3\n", + "Epoch 3/3\n", + "25/25 [==============================] - 190s 8s/step - loss: 0.4595 - accuracy: 0.7788 - val_loss: 0.3723 - val_accuracy: 0.845237s - loss: 0.4636 - accuracy: 0.7789\n", + "25/25 [==============================] - 191s 8s/step - loss: 0.4771 - accuracy: 0.7588 - val_loss: 0.3464 - val_accuracy: 0.8482\n", + "25/25 [==============================] - 190s 8s/step - loss: 0.4735 - accuracy: 0.7681 - val_loss: 0.3362 - val_accuracy: 0.8482\n", + "25/25 [==============================] - 191s 8s/step - loss: 0.4592 - accuracy: 0.7731 - val_loss: 0.3534 - val_accuracy: 0.8244\n", + "[mlrun] 2019-12-27 09:54:53,986 history: {'val_loss': [0.43028584, 0.5657175, 0.35210463], 'val_accuracy': [0.8190104067325592, 0.7135416567325592, 0.8415178507566452], 'loss': [0.9476033908128738, 0.5308449739217759, 0.4673321011662483], 'accuracy': [0.62453127, 0.748125, 0.76968753], 'lr': [1.6, 2.2, 2.8]}\n", + "final state: succeeded\n" ] }, { @@ -1278,26 +1256,26 @@ " \n", " \n", " \n", - "
...396969
\n", + "
...a6490c
\n", " 0\n", - " Nov 19 10:51:17\n", + " Dec 27 09:44:02\n", " completed\n", " train\n", - "
repo=https://github.com/mlrun/demos.git
commit=5602ba69f5ec96e423febcc64fbcdceee854be8f
kind=mpijob
owner=adi
mlrun/job=train-b319229b
host=train-b319229b-worker-0
\n", - "
data_path
categories_map
file_categories
\n", - "
checkpoints_dir=/User/mlrun/demos/image_classification/checkpoints
model_path=/User/mlrun/demos/image_classification/models/cats_n_dogs.h5
epochs=1
batch_size=64
image_width=128
image_height=128
image_channels=3
\n", - "
loss=0.8669404327869416
accuracy=0.6354687213897705
\n", - "
model
summary.html
\n", + "
kind=mpijob
owner=admin
\n", + "
categories_map
data_path
file_categories
\n", + "
batch_size=64
checkpoints_dir=/User/mlrun/examples/checkpoints
epochs=3
image_channels=3
image_height=128
image_width=128
model_path=/User/mlrun/examples/models/cats_n_dogs.h5
\n", + " \n", + " \n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -1312,21 +1290,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "type result.show() to see detailed results/progress or use CLI:\n", - "!mlrun get run --uid 0d3e15429d0a49408ac5872905396969 \n", - "[mlrun] 2019-11-19 10:54:30,482 run executed, status=completed\n" + "to track results use .show() or .logs() or in CLI: \n", + "!mlrun get run 87aa82e0443240c8b388b6a455a6490c , !mlrun logs 87aa82e0443240c8b388b6a455a6490c \n", + "[mlrun] 2019-12-27 09:54:56,234 run executed, status=completed\n" ] } ], "source": [ - "#code_dir = '/User/mlrun/demos/image_classification'\n", "code_dir = os.getcwd()\n", "HOROVOD_FILE = os.path.join(code_dir, 'horovod-training.py')\n", "\n", "params = {\n", " 'checkpoints_dir' : os.path.join(base_dir, 'checkpoints'),\n", " 'model_path' : os.path.join(base_dir, 'models/cats_n_dogs.h5'),\n", - " 'epochs' : 1,\n", + " 'epochs' : 3,\n", " 'batch_size' : 64,\n", " 'image_width': 128,\n", " 'image_height': 128,\n", @@ -1339,41 +1316,26 @@ " 'file_categories': labeler_function.outputs['file_categories']\n", "}\n", "\n", - "image = 'mlrun/mpijob:dev'\n", + "image = 'mlrun/mpijob:latest'\n", "trainer = new_function(name='horovod-trainer',\n", - " command='mpijob://{}'.format(HOROVOD_FILE), \n", - " image=image,\n", - " interactive=True)\n", + " kind='mpijob',\n", + " command=HOROVOD_FILE, \n", + " image=image)\n", "trainer.apply(mount_v3io())\n", "trainer.spec.image_pull_policy = 'Always'\n", "trainer.spec.replicas = 4\n", "# trainer.gpus(1)\n", - "mprun = trainer.run(name='train', params=params, out_path='/User/mlrun', inputs=inputs)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Delete job\n", - "In order to delete the job take the job name (see above in the log) and search for a similar string such as \"MpiJob train-6d05fac9\"" + "mprun = trainer.run(name='train', params=params, out_path='/User/mlrun', inputs=inputs, watch=True)" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[mlrun] 2019-11-19 10:55:47,033 del status: Success\n" - ] - } - ], + "outputs": [], "source": [ - "trainer.delete_job('train-b319229b')" + "# save our function object to the DB\n", + "trainer.save()" ] }, { @@ -1386,7 +1348,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -1395,18 +1357,18 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-19 10:56:00,513 deploy started\n", - "[nuclio.deploy] 2019-11-19 10:56:01,616 (info) Building processor image\n", - "[nuclio.deploy] 2019-11-19 10:56:08,699 (info) Build complete\n", - "[nuclio.deploy] 2019-11-19 10:56:26,960 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-11-19 10:56:26,967 done updating tf-image-serving, function address: 192.168.224.70:31021\n" + "[mlrun] 2019-12-27 11:26:13,705 deploy started\n", + "[nuclio] 2019-12-27 11:26:14,779 (info) Building processor image\n", + "[nuclio] 2019-12-27 11:26:19,825 (info) Build complete\n", + "[nuclio] 2019-12-27 11:26:27,891 (info) Function deploy complete\n", + "[nuclio] 2019-12-27 11:26:27,895 done updating tf-image-serving, function address: 3.18.11.15:32243\n" ] } ], @@ -1418,11 +1380,11 @@ " runtime='nuclio')\n", "\n", "# set the API/trigger, attach the home dir to the function\n", - "inference_function.with_http(workers=2).add_volume('User','~/')\n", + "inference_function.with_http(workers=2).apply(mount_v3io())\n", "\n", "# set the model file path SERVING_MODEL_ = \n", "inference_function.set_env(f'SERVING_MODEL_{model_name}', params['model_path'])\n", - "inference_function.set_env('classes_map', inputs['categories_map'])\n", + "inference_function.set_env('classes_map', labeler_function.outputs['categories_map'])\n", "addr = inference_function.deploy(project='nuclio-serving')" ] }, @@ -1430,12 +1392,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Test The Serving Function (with Image URL)" + "## Test the serving function" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -1445,18 +1407,35 @@ "import matplotlib.pyplot as plt" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Define test params" + ] + }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{\"prediction\": [\"cat\"], \"dog-probability\": [2.298433001361282e-19]}\n" + "Test image:\n" ] }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + }, { "data": { "image/png": "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\n", @@ -1471,56 +1450,39 @@ } ], "source": [ + "# Testing event\n", "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", "response = requests.get(cat_image_url)\n", - "img = Image.open(BytesIO(response.content))\n", - "plt.imshow(img)\n", + "cat_image = response.content\n", + "img = Image.open(BytesIO(cat_image))\n", "\n", - "headers = {'Content-type': 'text/plain'}\n", - "response = requests.post(url=addr + f'/predict/{model_name}', data=cat_image_url, headers=headers)\n", - "print(response.content.decode('utf-8'))" + "print('Test image:')\n", + "plt.imshow(img)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Test The Serving Function (with Jpeg Image)" + "### Test The Serving Function (with Image URL)" ] }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "{\"prediction\": [\"dog\"], \"dog-probability\": [1.0]}\n" + "{\"prediction\": [\"cat\"], \"dog-probability\": [5.120136376049147e-33]}\n" ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ - "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/dog.105.jpg'\n", - "response = requests.get(cat_image_url)\n", - "img = Image.open(BytesIO(response.content))\n", - "plt.imshow(img)\n", - "\n", - "headers = {'Content-type': 'image/jpeg'}\n", - "response = requests.post(url=addr + f'/predict/{model_name}', data=response.content, headers=headers)\n", + "headers = {'Content-type': 'text/plain'}\n", + "response = requests.post(url=addr + f'/{model_name}/predict', data=json.dumps({'data_url': cat_image_url}), headers=headers)\n", "print(response.content.decode('utf-8'))" ] }, @@ -1528,45 +1490,27 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Alternative: Deploy Function From Pre-built (container) Image" + "### Test The Serving Function (with Jpeg Image)" ] }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-11-19 10:56:53,872 deploy started\n", - "[nuclio.deploy] 2019-11-19 10:57:16,161 (info) Function deploy complete\n", - "[nuclio.deploy] 2019-11-19 10:57:16,167 done updating tf-image-server, function address: 192.168.224.70:31541\n" + "{\"prediction\": [\"cat\"], \"dog-probability\": [5.120136376049147e-33]}\n" ] } ], "source": [ - "# Declare model server\n", - "srvfn = new_model_server('tf-image-server', \n", - " models={model_name: params['model_path']}, \n", - " model_class='TFModel',\n", - " image='zilbermanor/nuclio-serving-tf-image-server:latest')\n", - "srvfn.with_v3io('User','~/') # Add v3io mount\n", - "srvfn.spec.env['IMAGE_WIDTH'] = 128\n", - "srvfn.spec.env['IMAGE_HEIGHT'] = 128\n", - "srvfn.spec.env['classes_map'] = os.path.join(os.getcwd(), 'categories_map.json')\n", - "\n", - "# Deploy\n", - "addr = srvfn.deploy(project='nuclio-serving')" + "headers = {'Content-type': 'image/jpeg'}\n", + "response = requests.post(url=addr + f'/{model_name}/predict', data=cat_image, headers=headers)\n", + "print(response.content.decode('utf-8'))" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1585,7 +1529,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.5" + "version": "3.6.8" } }, "nbformat": 4, diff --git a/image_classification/mlrun_mpijob_pipe.ipynb b/image_classification/mlrun_mpijob_pipe.ipynb index 381300ce..d9dc02c4 100644 --- a/image_classification/mlrun_mpijob_pipe.ipynb +++ b/image_classification/mlrun_mpijob_pipe.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Using MLRUN with MpiJobs (Horovod)" + "# Define and run a distributed training pipeline" ] }, { @@ -19,14 +19,23 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 2, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/User/.pythonlibs/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", + " % (item.__module__, item.__name__)\n" + ] + } + ], "source": [ - "from mlrun import new_function, code_to_function, get_run_db, mount_v3io, mlconf, new_model_server, v3io_cred\n", + "from mlrun import new_function, code_to_function, get_run_db, mount_v3io, mlconf, new_model_server, v3io_cred, import_function\n", "import os\n", - "# for local DB path use '/User/mlrun' instead \n", - "mlconf.dbpath = 'http://mlrun-db:8080'" + " \n", + "mlconf.dbpath = 'http://mlrun-api:8080'" ] }, { @@ -49,48 +58,72 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# data import and labeling \n", "utilsfn = code_to_function(name='file_utils', filename='./utils.py',\n", - " image='mlrun/mlrun:latest')" + " image='mlrun/mlrun:latest')\n", + "#utilsfn.deploy()" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "{'kind': 'mpijob',\n", + " 'metadata': {'name': 'horovod-trainer',\n", + " 'tag': 'latest',\n", + " 'hash': '9232685b13eda1a7ab3e8d09a3228c949e5c2c05',\n", + " 'project': 'default',\n", + " 'updated': 'Fri, 27 Dec 2019 09:54:56 GMT'},\n", + " 'spec': {'command': '/User/mlrun-demos/demos/image_classification/horovod-training.py',\n", + " 'args': [],\n", + " 'image': 'mlrun/mpijob:latest',\n", + " 'volumes': [{'flexVolume': {'driver': 'v3io/fuse',\n", + " 'options': {'accessKey': '275eeda5-5d83-427e-adda-ddb469370fb5',\n", + " 'container': 'users',\n", + " 'subPath': '/admin'}},\n", + " 'name': 'v3io'}],\n", + " 'volume_mounts': [{'mountPath': '/User', 'name': 'v3io'}],\n", + " 'env': [{'name': 'V3IO_API', 'value': 'v3io-webapi.default-tenant.svc:8081'},\n", + " {'name': 'V3IO_USERNAME', 'value': 'admin'},\n", + " {'name': 'V3IO_ACCESS_KEY',\n", + " 'value': '275eeda5-5d83-427e-adda-ddb469370fb5'}],\n", + " 'description': '',\n", + " 'replicas': 4,\n", + " 'image_pull_policy': 'Always',\n", + " 'build': {'commands': []}}}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# distributed training function, using 4 containers and optionally GPUs\n", - "# update the code dir to the location of the code file (full path starting with /User)\n", - "code_dir = '/User/mlrun'\n", - "HOROVOD_FILE = os.path.join(code_dir, 'horovod-training.py')\n", - "\n", - "image = 'mlrun/mpijob:latest'\n", - "trainer_fn = new_function(name='horovod-trainer',\n", - " command='mpijob://{}'.format(HOROVOD_FILE), \n", - " image=image,\n", - " interactive=True)\n", - "trainer_fn.apply(mount_v3io())\n", - "trainer_fn.spec.replicas = 4\n", - "#trainer.gpus(1)" + "# read the training function object from MLRun DB\n", + "trainer_fn = import_function('db://horovod-trainer')\n", + "trainer_fn.to_dict()" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 10, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -100,7 +133,7 @@ "inference_function = code_to_function(name='tf-image-serving-pipe', \n", " filename='./nuclio-serving-tf-images.ipynb',\n", " runtime='nuclio')\n", - "inference_function.with_http(workers=2).add_volume('User','~/')" + "inference_function.with_http(workers=2).apply(mount_v3io())" ] }, { @@ -112,7 +145,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -122,7 +155,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -131,7 +164,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 9, "metadata": {}, "outputs": [], "source": [ @@ -170,23 +203,23 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# for debug generate the pipeline dsl\n", - "#kfp.compiler.Compiler().compile(hvd_pipeline, 'hvd_pipeline.yaml')" + "kfp.compiler.Compiler().compile(hvd_pipeline, 'hvd_pipeline.yaml')" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ - "Experiment link here" + "Experiment link here" ], "text/plain": [ "" @@ -198,7 +231,7 @@ { "data": { "text/html": [ - "Run link here" + "Run link here" ], "text/plain": [ "" @@ -216,7 +249,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ @@ -226,7 +259,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 15, "metadata": {}, "outputs": [ { @@ -398,26 +431,50 @@ " \n", " \n", " \n", - "
...287c01
\n", + "
...4dc101
\n", " 0\n", - " Nov 11 14:09:24\n", + " Dec 27 11:28:41\n", " running\n", + " train\n", + "
host=train-f5c53e73-worker-2
kind=mpijob
mlrun/job=train-f5c53e73
owner=admin
workflow=4692bf15-8ca5-4db0-abff-41822481fe70
\n", + "
categories_map
data_path
file_categories
\n", + "
batch_size=64
checkpoints_dir=/User/mlrun/examples/checkpoints
epochs=8
image_channels=3
image_height=128
image_width=128
model_path=/User/mlrun/examples/models/cats_n_dogs.hd5
\n", + " \n", + " \n", + " \n", + " \n", + "
...7cc3c8
\n", + " 0\n", + " Dec 27 11:28:02\n", + " completed\n", + " label\n", + "
host=image-classification-training-pipeline-wrc4c-968241013
kind=
owner=admin
workflow=4692bf15-8ca5-4db0-abff-41822481fe70
\n", + " \n", + "
source_dir=/User/mlrun/examples/images/cats_n_dogs
\n", + " \n", + "
categories_map
file_categories
\n", + " \n", + " \n", + "
...046e26
\n", + " 0\n", + " Dec 27 11:27:38\n", + " completed\n", " download\n", - "
host=image-classification-training-pipeline-98jwn-3957617112
kind=local
owner=root
v3io_user=admin
workflow=d2102423-9df9-4dd8-96c1-2e49d84eb862
\n", + "
host=image-classification-training-pipeline-wrc4c-887206401
kind=
owner=admin
workflow=4692bf15-8ca5-4db0-abff-41822481fe70
\n", "
archive_url
\n", "
target_dir=/User/mlrun/examples/images
\n", " \n", - " \n", + "
content
\n", " \n", " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], @@ -433,6 +490,13 @@ "# query the DB with filter on workflow ID (only show this workflow) \n", "db.list_runs('', labels=f'workflow={run_result.run_id}').show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From fa4020d50e627ee69b91f8fc5d48202ddab19fc4 Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 12:27:21 +0000 Subject: [PATCH 5/9] Added documentation in image-classification notebooks --- .../mlrun_mpijob_classify.ipynb | 45 ++++++++++- image_classification/mlrun_mpijob_pipe.ipynb | 74 +++++++++++++++---- 2 files changed, 102 insertions(+), 17 deletions(-) diff --git a/image_classification/mlrun_mpijob_classify.ipynb b/image_classification/mlrun_mpijob_classify.ipynb index cc511aac..13c9b922 100644 --- a/image_classification/mlrun_mpijob_classify.ipynb +++ b/image_classification/mlrun_mpijob_classify.ipynb @@ -212,7 +212,10 @@ "source": [ "### Step 1: Download and extract image archive\n", "The dataset is taken from the Iguazio-sample bucket in S3
\n", - "Note that this step is captured in the MLRun database.
" + ">Note that this step is captured in the MLRun database.
\n", + "\n", + "We define a `NewTask` with the `open_archive` function handler and the needed parameters. \n", + "We then use a Local Runtime (the default for new functions) to run the task." ] }, { @@ -456,7 +459,10 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Step 2: Tag Images with Categories (cat & dog)" + "### Step 2: Tag Images with Categories (cat & dog)\n", + "\n", + "We define a `NewTask` with the `categories_map_builder` function handler and the needed parameters. \n", + "We then use a Local Runtime (the default for new functions) to run the task." ] }, { @@ -694,7 +700,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Step 3: Distributed Training with TensorFlow, Keras and Horovod" + "### Step 3: Distributed Training with TensorFlow, Keras and Horovod\n", + "\n", + "Here we use the same structure as before to deploy our [cats vs. dogs tensorflow model training file](horovod-training.py) to run on the defined horovod cluster in a distributed manner. \n", + "\n", + "We define the input parameters for the training function. \n", + "We set the function's `kind='mpijob'` to let MLRun know to apply the job to the MPI CRD and create the requested horovod cluster. \n", + "We set the number of workers for the horovod cluster to use by setting `trainer.spec.replicas = 4` (default is 1 replica). \n", + "We set the number of GPUs each worker will receive by setting `trainer.gpus(1)` (default is 0 GPUs)." ] }, { @@ -1328,6 +1341,17 @@ "mprun = trainer.run(name='train', params=params, out_path='/User/mlrun', inputs=inputs, watch=True)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Save the training function\n", + "We can use the MLRun DB to store functions for later use. \n", + "\n", + "When calling `trainer.save()`, the files, the function code, deployment parameters and requested inputs and params are saved.\n", + "We can then call them from any location connected to the current DB by using `import_function('db://)`, as in this case `import_function('db://horovod-trainer')`." + ] + }, { "cell_type": "code", "execution_count": 11, @@ -1343,7 +1367,13 @@ "metadata": {}, "source": [ "### Step 4: Deploy Model Serving Function\n", - "The following code will use a Nuclio serving function a Notebook format and will deploy it with proper arguments " + "\n", + "In the following cells we use MLRun to deploy a Nuclio function from the [nuclio-serving-tf-images](nuclio-serving-tf-images.ipynb) notebook and deploy it with the arguments from our current runs. \n", + "\n", + "We use `code_to_function` with the `runtime='nuclio'` setting to parse the notebook to a Nuclio Function. \n", + "We are then able to use `set_env` to set the needed variables and add triggers `with_http(workers=2)` and mounts `apply(mount_v3io())` if needed. \n", + "\n", + "After we finish setting up the function parameters, we deploy it to the appropriate project using `deploy()`." ] }, { @@ -1395,6 +1425,13 @@ "## Test the serving function" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After the function has been deployed we can test it as a regular REST Endpoint using `requests`." + ] + }, { "cell_type": "code", "execution_count": 37, diff --git a/image_classification/mlrun_mpijob_pipe.ipynb b/image_classification/mlrun_mpijob_pipe.ipynb index d9dc02c4..486991c5 100644 --- a/image_classification/mlrun_mpijob_pipe.ipynb +++ b/image_classification/mlrun_mpijob_pipe.ipynb @@ -4,7 +4,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Define and run a distributed training pipeline" + "# Define and run a distributed training pipeline\n", + "\n", + "In this notebook we will use **MLRun** to run all the functions we've written in the [mlrun-mpijob-classify](mlrun_mpijob_classify.ipynb) and [nuclio-serving-tf-images](nuclio-serving-tf-images.ipynb) in a **Kubeflow Pipeline**.\n", + "\n", + "**Kubeflow Pipelines** will supply the orchastration to run the pipeline, while **MLRun** will supply an easy interface to define the pipeline and lunch the serving function at the end.\n", + "\n", + "We will show how to:\n", + "* Run remote functions from notebooks using `code_to_function`\n", + "* Run saved functions from our DB using `import_function`\n", + "* How to define and lunch a Kubeflow Pipeline\n", + "* How to access the DB from the code and list the pipeline's entries" ] }, { @@ -56,6 +66,13 @@ "## Import and define ML functions for our pipeline (utils, training, serving)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using `code_to_function` we parse the given python file and build a function from it" + ] + }, { "cell_type": "code", "execution_count": 4, @@ -68,6 +85,14 @@ "#utilsfn.deploy()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using `import_function` we import the horovod training function from our DB. \n", + "As we can see, all the function deployment parameters were saved, like Replicas, GPU Configuration, Mounts, Runtime and the code source." + ] + }, { "cell_type": "code", "execution_count": 5, @@ -112,6 +137,14 @@ "trainer_fn.to_dict()" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Using code_to_function we parse the given Jupyter Notebook and build a function from it.\n", + "> All the annotations given in the notebook will be parsed and saved to the function normally" + ] + }, { "cell_type": "code", "execution_count": 6, @@ -143,6 +176,21 @@ "## Create and run the pipeline" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this part we define the Kubeflow Pipeline to run our process. \n", + "MLRun helps us doing that by requiring us to only add `.as_step()` in order to turn our functions to a pipeline step for kubeflow. All the parameters and inputs can be then set regularly and will be deployed as defined in the pipeline. \n", + "\n", + "The pipeline order is defined by the following:\n", + "* We can specify `.after()`\n", + "* We can specify that a function has a parameter or input, taken from a previous function. \n", + " Ex: `models={'cat_vs_dog_v1': train.outputs['model']}` in the inference function definition, taking the model file from the training function.\n", + " \n", + "Notice that you need to `log_artifact` in your function and write it's name in the function's `outputs` parameter to expose it to the pipeline for later use." + ] + }, { "cell_type": "code", "execution_count": 7, @@ -259,7 +307,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -433,14 +481,14 @@ " \n", "
...4dc101
\n", " 0\n", - " Dec 27 11:28:41\n", - " running\n", + " Dec 27 11:28:40\n", + " completed\n", " train\n", - "
host=train-f5c53e73-worker-2
kind=mpijob
mlrun/job=train-f5c53e73
owner=admin
workflow=4692bf15-8ca5-4db0-abff-41822481fe70
\n", - "
categories_map
data_path
file_categories
\n", + "
host=train-f5c53e73-worker-0
kind=mpijob
mlrun/job=train-f5c53e73
owner=admin
workflow=4692bf15-8ca5-4db0-abff-41822481fe70
\n", + "
categories_map
data_path
file_categories
\n", "
batch_size=64
checkpoints_dir=/User/mlrun/examples/checkpoints
epochs=8
image_channels=3
image_height=128
image_width=128
model_path=/User/mlrun/examples/models/cats_n_dogs.hd5
\n", - " \n", - " \n", + "
accuracy=0.8470312356948853
loss=0.3525520624220371
\n", + "
model
summary.html
\n", " \n", " \n", "
...7cc3c8
\n", @@ -452,7 +500,7 @@ " \n", "
source_dir=/User/mlrun/examples/images/cats_n_dogs
\n", " \n", - "
categories_map
file_categories
\n", + "
categories_map
file_categories
\n", " \n", " \n", "
...046e26
\n", @@ -469,12 +517,12 @@ " \n", "\n", "\n", - "
\n", + "
\n", "
\n", - " Title\n", - " ×\n", + " Title\n", + " ×\n", "
\n", - " \n", + " \n", "
\n", "
\n" ], From 06060211ef5ffa2ddaccf6fe005d490a8183268f Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 12:29:52 +0000 Subject: [PATCH 6/9] Netops training fixes --- netops/nuclio-training.ipynb | 195 +---------------------------------- 1 file changed, 2 insertions(+), 193 deletions(-) diff --git a/netops/nuclio-training.ipynb b/netops/nuclio-training.ipynb index fe033715..7ce57a24 100644 --- a/netops/nuclio-training.ipynb +++ b/netops/nuclio-training.ipynb @@ -438,200 +438,9 @@ }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[nuclio.deploy] 2019-12-24 12:49:44,624 (info) Building processor image\n", - "[nuclio.deploy] 2019-12-24 12:52:11,836 (info) Build complete\n", - "[nuclio.deploy] 2019-12-24 12:53:14,647 (warn) Create function failed, setting function status\n", - "[nuclio.deploy] 2019-12-24 12:53:14,648 \n", - "Error - NuclioFunction in error state (\n", - "Error - context deadline exceeded\n", - " .../platform/kube/controller/nucliofunction.go:122\n", - "\n", - "Call stack:\n", - "Failed to wait for function resources to be available\n", - " .../platform/kube/controller/nucliofunction.go:122\n", - ")\n", - " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", - "\n", - "Call stack:\n", - "NuclioFunction in error state (\n", - "Error - context deadline exceeded\n", - " .../platform/kube/controller/nucliofunction.go:122\n", - "\n", - "Call stack:\n", - "Failed to wait for function resources to be available\n", - " .../platform/kube/controller/nucliofunction.go:122\n", - ")\n", - " .../nuclio/nuclio/pkg/platform/kube/deployer.go:197\n", - "Failed to wait for function readiness.\n", - "\n", - "Pod logs:\n", - "\n", - "* training-6f5d97cbd4-s4825\n", - "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577190270377245561 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h maxBatchSize:0 maxBatchWaitMs:0 numContainerWorkers:0 pollingIntervalMs:0 port:0 intervalMs:0 protocolVersion:0 readBatchSize:0]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjIzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:true NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pandas pip install xgboost pip install dask[\\\"complete\\\"] pip install dask-ml[\\\"complete\\\"] pip install v3io_frames] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[repositories:[]] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577190394 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[{Level:debug Sink:}] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:13,636 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", - "\", 'traceback': 'Traceback (most recent call last):\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", - " args.trigger_name)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", - " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", - " module = __import__(module_name)\n", - " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", - " import xgboost as xgb\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", - " from .core import DMatrix, Booster\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", - " _LIB = _load_lib()\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", - " \\'Error message(s): {}\\\n", - "\\'.format(os_error_list))\n", - "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", - "\n", - "'}\n", - "* training-7c5cbb6cfb-d52x6\n", - "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577191783606688923 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin/,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjQ5CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install v3io_frames pip install 'fsspec>=0.3.3' pip install pandas==0.25.3 pip install dask-kubernetes pip install dask-ml[\\\"complete\\\"]==1.0.0 pip install dask-xgboost==0.1.7] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577191931 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[timeFieldName:time varGroupName:more encoding:json timeFieldEncoding:iso8601]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:58,242 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", - "\", 'traceback': 'Traceback (most recent call last):\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", - " args.trigger_name)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", - " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", - " module = __import__(module_name)\n", - " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", - " import xgboost as xgb\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", - " from .core import DMatrix, Booster\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", - " _LIB = _load_lib()\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", - " \\'Error message(s): {}\\\n", - "\\'.format(os_error_list))\n", - "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", - "\n", - "'}\n", - " .../nuclio/nuclio/pkg/platform/kube/deployer.go:169\n", - "Failed to wait for function readiness.\n", - "\n", - "Pod logs:\n", - "\n", - "* training-6f5d97cbd4-s4825\n", - "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577190270377245561 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h maxBatchSize:0 maxBatchWaitMs:0 numContainerWorkers:0 pollingIntervalMs:0 port:0 intervalMs:0 protocolVersion:0 readBatchSize:0]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjIzCgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:true NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install pandas pip install xgboost pip install dask[\\\"complete\\\"] pip install dask-ml[\\\"complete\\\"] pip install v3io_frames] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[repositories:[]] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577190394 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[{Level:debug Sink:}] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[encoding:json timeFieldEncoding:iso8601 timeFieldName:time varGroupName:more]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.279Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:12.280Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10jv7d9ek000f5nheg.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:13,636 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", - "\", 'traceback': 'Traceback (most recent call last):\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", - " args.trigger_name)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", - " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", - " module = __import__(module_name)\n", - " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", - " import xgboost as xgb\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", - " from .core import DMatrix, Booster\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", - " _LIB = _load_lib()\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", - " \\'Error message(s): {}\\\n", - "\\'.format(os_error_list))\n", - "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", - "\n", - "'}\n", - "* training-7c5cbb6cfb-d52x6\n", - "{\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor\",\"message\":\"Read configuration\",\"more\":\"config=&{Config:{Meta:{Name:training Namespace:default-tenant Labels:map[] Annotations:map[nuclio.io/generated_by:function generated at 24-12-2019 by admin from /User/mlrun-demos/demos/netops/nuclio-training.ipynb]} Spec:{Description: Disabled:false Publish:false Handler:nuclio-training:handler Runtime:python:3.6 Env:[{Name:V3IO_FRAMESD Value:framesd.default-tenant.svc:8080 ValueFrom:nil} {Name:V3IO_USERNAME Value:admin ValueFrom:nil} {Name:V3IO_ACCESS_KEY Value:275eeda5-5d83-427e-adda-ddb469370fb5 ValueFrom:nil} {Name:V3IO_API Value:v3io-webapi.default-tenant.svc:8081 ValueFrom:nil} {Name:FEATURES_TABLE Value:/v3io/bigdata/netops_features_parquet ValueFrom:nil} {Name:FROM_TSDB Value:0 ValueFrom:nil} {Name:TRAIN_ON_LAST Value:1d ValueFrom:nil} {Name:TRAIN_SIZE Value:0.7 ValueFrom:nil} {Name:NUMBER_OF_SHARDS Value:4 ValueFrom:nil} {Name:MODEL_FILENAME Value:netops.v3.model ValueFrom:nil} {Name:SAVE_TO Value:/v3io/bigdata/netops/models ValueFrom:nil}] Resources:{Limits:map[] Requests:map[]} Image:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80/nuclio/processor-training:latest ImageHash:1577191783606688923 Replicas: MinReplicas: MaxReplicas: TargetCPU:0 DataBindings:map[] Triggers:map[retrain:{Class: Kind:cron Disabled:false MaxWorkers:0 URL: Paths:[] Username: Password: Secret: Partitions:[] Annotations:map[] WorkerAvailabilityTimeoutMilliseconds:0 WorkerAllocatorName: TotalTasks:0 MaxTaskAllocation:0 Attributes:map[interval:1h]}] Volumes:[{Volume:{Name:fs VolumeSource:{HostPath:nil EmptyDir:nil GCEPersistentDisk:nil AWSElasticBlockStore:nil GitRepo:nil Secret:nil NFS:nil ISCSI:nil Glusterfs:nil PersistentVolumeClaim:nil RBD:nil FlexVolume:&FlexVolumeSource{Driver:v3io/fuse,FSType:,SecretRef:nil,ReadOnly:false,Options:map[string]string{accessKey: 275eeda5-5d83-427e-adda-ddb469370fb5,container: users,subPath: /admin/,},} Cinder:nil CephFS:nil Flocker:nil DownwardAPI:nil FC:nil AzureFile:nil ConfigMap:nil VsphereVolume:nil Quobyte:nil AzureDisk:nil PhotonPersistentDisk:nil Projected:nil PortworxVolume:nil ScaleIO:nil StorageOS:nil}} VolumeMount:{Name:fs ReadOnly:false MountPath:/User SubPath: MountPropagation:}}] Version:-1 Alias:latest Build:{Path: FunctionSourceCode:IyBHZW5lcmF0ZWQgYnkgbnVjbGlvLmV4cG9ydC5OdWNsaW9FeHBvcnRlciBvbiAyMDE5LTEyLTI0IDEyOjQ5CgppbXBvcnQgb3MKaW1wb3J0IHRpbWUKaW1wb3J0IHlhbWwKaW1wb3J0IHBhbmRhcyBhcyBwZAppbXBvcnQgZGF0ZXRpbWUKaW1wb3J0IGl0ZXJ0b29scwppbXBvcnQgcGlja2xlCgppbXBvcnQgdjNpb19mcmFtZXMgYXMgdjNmCgppbXBvcnQgZGFzay5kYXRhZnJhbWUgYXMgZGQKZnJvbSBkYXNrLmRpc3RyaWJ1dGVkIGltcG9ydCBDbGllbnQKCmltcG9ydCBkYXNrX21sLm1vZGVsX3NlbGVjdGlvbiBhcyBkY3YKaW1wb3J0IHhnYm9vc3QgYXMgeGdiCgpkZWYgZm9ybWF0X2RmX2Zyb21fdHNkYihjb250ZXh0LCBkZik6CiAgICBkZi5pbmRleC5uYW1lcyA9IFsndGltZXN0YW1wJywgJ2NvbXBhbnknLCAnZGF0YV9jZW50ZXInLCAnZGV2aWNlJ10KICAgIGRmID0gZGYucmVzZXRfaW5kZXgoKQogICAgZGYgPSBkZC5mcm9tX3BhbmRhcyhkZiwgbnBhcnRpdGlvbnM9Y29udGV4dC5zaGFyZHMpCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfZGF0YV90c2RiKGNvbnRleHQpOgogICAgZGYgPSBjb250ZXh0LnYzZi5yZWFkKGJhY2tlbmQ9J3RzZGInLCBxdWVyeT1mJ3NlbGVjdCAqIGZyb20ge2NvbnRleHQuZmVhdHVyZXNfdGFibGV9JywKICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydD1mJ25vdy17Y29udGV4dC50cmFpbl9vbl9sYXN0fScsIGVuZD0nbm93JywgbXVsdGlfaW5kZXg9VHJ1ZSkKICAgIGRmID0gZGYucmVzZXRfaW5kZXgoZHJvcD1UcnVlKQogICAgZGYgPSBkZltzb3J0ZWQoZGYuY29sdW1ucyldCiAgICBkZiA9IGRkLmZyb21fcGFuZGFzKGRmLCBucGFydGl0aW9ucz1jb250ZXh0LnNoYXJkcykKICAgIHJldHVybiBkZgoKZGVmIGdldF9kYXRhX3BhcnF1ZXQoY29udGV4dCk6CiAgICBtcGF0aCA9IFtvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihjb250ZXh0LmZlYXR1cmVzX3RhYmxlKV0KICAgIAogICAgbGF0ZXN0ID0gbWF4KG1wYXRoLCBrZXk9b3MucGF0aC5nZXRtdGltZSkKICAgIHByaW50KGxhdGVzdCkKICAgIGNvbnRleHQubG9nZ2VyLmRlYnVnKGYnUmVhZGluZyBkYXRhIGZyb206IHtsYXRlc3R9JykKICAgIAogICAgZGYgPSBkZC5yZWFkX3BhcnF1ZXQobGF0ZXN0KQogICAgCiAgICByZXR1cm4gZGYKCmRlZiBnZXRfdHJhaW5fdGVzdF9zZXRzX2Zyb21fZGF0YShjb250ZXh0LCBkZjogcGQuRGF0YUZyYW1lKToKICAgIGRyb3BfY29sdW1ucyA9IFtjb2wgZm9yIGNvbCBpbiBkZi5jb2x1bW5zIGlmICdpc19lcnJvcicgaW4gY29sXQogICAgWCA9IGRmLmRyb3AoZHJvcF9jb2x1bW5zLCBheGlzPTEpCiAgICB5ID0gZGYubG9jWzosICdpc19lcnJvciddCiAgICBYX3RyYWluLCBYX3Rlc3QsIHlfdHJhaW4sIHlfdGVzdCA9IGRjdi50cmFpbl90ZXN0X3NwbGl0KFgsIHksIHRyYWluX3NpemU9Y29udGV4dC50cmFpbl9zaXplLCB0ZXN0X3NpemU9MS1jb250ZXh0LnRyYWluX3NpemUpCiAgICByZXR1cm4gWF90cmFpbiwgWF90ZXN0LCB5X3RyYWluLCB5X3Rlc3QKCmRlZiBpbml0X2NvbnRleHQoY29udGV4dCk6CiAgICAKICAgIHNldGF0dHIoY29udGV4dCwgJ2ZlYXR1cmVzX3RhYmxlJywgb3MuZ2V0ZW52KCdGRUFUVVJFU19UQUJMRScsICduZXRvcHNfZmVhdHVyZXMnKSkKICAgIAogICAgaXNfZnJvbV90c2RiID0gKGludChvcy5nZXRlbnYoJ0ZST01fVFNEQicsIDEpKSA9PSAxKQogICAgCiAgICBpZiBpc19mcm9tX3RzZGI6CiAgICAgICAgdjNpb19jbGllbnQgPSB2M2YuQ2xpZW50KGFkZHJlc3M9J2ZyYW1lc2Q6ODA4MScsIGNvbnRhaW5lcj0nYmlnZGF0YScpCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAndjNmJywgdjNpb19jbGllbnQpCiAgICAgICAgCiAgICAgICAgY29udGV4dC52M2YuY3JlYXRlKCd0c2RiJywgY29udGV4dC5mZWF0dXJlc190YWJsZSwgYXR0cnM9eydyYXRlJzogJzEvcyd9LCBpZl9leGlzdHM9MSkKICAgICAgICAKICAgICAgICBzZXRhdHRyKGNvbnRleHQsICdyZWFkJywgZ2V0X2RhdGFfdHNkYikKICAgICAgICAKICAgIGVsc2U6CiAgICAgICAgZmlsZXBhdGggPSBvcy5wYXRoLmpvaW4oY29udGV4dC5mZWF0dXJlc190YWJsZSkKICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZXBhdGgpOgogICAgICAgICAgICBvcy5tYWtlZGlycyhmaWxlcGF0aCkKICAgICAgICAgICAgCiAgICAgICAgc2V0YXR0cihjb250ZXh0LCAncmVhZCcsIGdldF9kYXRhX3BhcnF1ZXQpCiAgICAKICAgIHRyYWluX29uX2xhc3QgPSBvcy5nZXRlbnYoJ1RSQUlOX09OX0xBU1QnLCAnN2QnKQogICAgc2V0YXR0cihjb250ZXh0LCAndHJhaW5fb25fbGFzdCcsIHRyYWluX29uX2xhc3QpCiAgICAKICAgIHRyYWluX3NldF9zaXplID0gZmxvYXQob3MuZ2V0ZW52KCdUUkFJTl9TSVpFJywgMC43KSkKICAgIHNldGF0dHIoY29udGV4dCwgJ3RyYWluX3NpemUnLCB0cmFpbl9zZXRfc2l6ZSkKICAgIAogICAgc2V0YXR0cihjb250ZXh0LCAnc2hhcmRzJywgaW50KG9zLmdldGVudignTlVNQkVSX09GX1NIQVJEUycsIDQpKSkKICAgIAogICAgbW9kZWxfZmlsZXBhdGggPSBvcy5nZXRlbnYoJ1NBVkVfVE8nLCAnL3YzaW8vYmlnZGF0YS9uZXRvcHMvbW9kZWxzJykKICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhtb2RlbF9maWxlcGF0aCk6CiAgICAgICAgb3MubWFrZWRpcnMobW9kZWxfZmlsZXBhdGgpCiAgICBzZXRhdHRyKGNvbnRleHQsICdtb2RlbF9maWxlcGF0aCcsIG9zLnBhdGguam9pbihtb2RlbF9maWxlcGF0aCwgb3MuZ2V0ZW52KCdNT0RFTF9GSUxFTkFNRScsICduZXRvcHMubW9kZWwnKSkpCgpkZWYgaGFuZGxlcihjb250ZXh0LCBldmVudCk6CiAgICAKICAgIGRmID0gY29udGV4dC5yZWFkKGNvbnRleHQpIAoKICAgIFhfdHJhaW4sIFhfdGVzdCwgeV90cmFpbiwgeV90ZXN0ID0gZ2V0X3RyYWluX3Rlc3Rfc2V0c19mcm9tX2RhdGEoY29udGV4dCwgZGYpCiAgICAKICAgIG1vZGVsID0geGdiLlhHQkNsYXNzaWZpZXIoKQogICAgbW9kZWwuZml0KFhfdHJhaW4sIHlfdHJhaW4pCiAgICAKICAgIHNjb3JlID0gbW9kZWwuc2NvcmUoWF90ZXN0LCB5X3Rlc3QpCiAgICAKICAgIHBpY2tsZS5kdW1wKG1vZGVsLCBvcGVuKGNvbnRleHQubW9kZWxfZmlsZXBhdGggKyAnLnBpY2tsZScsICd3YicpKQoK FunctionConfigPath: TempDir: Registry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 Image: NoBaseImagesPull:true NoCache:false NoCleanup:false BaseImage:python:3.6-jessie Commands:[pip install v3io_frames pip install 'fsspec>=0.3.3' pip install pandas==0.25.3 pip install dask-kubernetes pip install dask-ml[\\\"complete\\\"]==1.0.0 pip install dask-xgboost==0.1.7] Directives:map[] ScriptPaths:[] AddedObjectPaths:map[] Dependencies:[] OnbuildImage: Offline:true RuntimeAttributes:map[] CodeEntryType:sourceCode CodeEntryAttributes:map[] Timestamp:1577191931 Mode:} RunRegistry:docker-registry.default-tenant.app.spjxothqybjz.iguazio-cd2.com:80 RuntimeAttributes:map[] LoggerSinks:[] DealerURI: Platform:{Attributes:map[]} ReadinessTimeoutSeconds:0 Avatar: ServiceType:NodePort ImagePullPolicy: ServiceAccount: EventTimeout:}} PlatformConfig:} || platformConfig=&{Kind:kube WebAdmin:{Enabled: ListenAddress:} HealthCheck:{Enabled: ListenAddress:} Logger:{Sinks:map[myStdoutLoggerSink:{Kind:stdout URL: Attributes:map[timeFieldName:time varGroupName:more encoding:json timeFieldEncoding:iso8601]}] System:[{Level:debug Sink:myStdoutLoggerSink}] Functions:[{Level:debug Sink:myStdoutLoggerSink}]} Metrics:{Sinks:map[myPrometheusPull:{Enabled: Kind:prometheusPull URL: Attributes:map[]}] System:[myPrometheusPull] Functions:[myPrometheusPull]} ScaleToZero:{MetricName:nuclio_processor_handled_events_total WindowSize:10m PollerInterval:10s ScalerInterval:1m} AutoScale:{MetricName: TargetValue:20} FunctionAugmentedConfigs:[]}\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron\",\"message\":\"Creating worker pool\",\"more\":\"num=1\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.962Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Creating listener socket\",\"more\":\"path=/tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python wrapper script path\",\"more\":\"path=/opt/nuclio/_nuclio_wrapper.py\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python handler\",\"more\":\"handler=nuclio-training:handler\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Using Python executable\",\"more\":\"path=/usr/local/bin/python3\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Setting PYTHONPATH\",\"more\":\"value=PYTHONPATH=/opt/nuclio\"\n", - "\"level\":\"debug\",\"time\":\"2019-12-24T12:52:56.963Z\",\"name\":\"processor.cron.w0.python.logger\",\"message\":\"Running wrapper\",\"more\":\"command=/usr/local/bin/python3 -u /opt/nuclio/_nuclio_wrapper.py --handler nuclio-training:handler --socket-path /tmp/nuclio-rpc-bo10ka0haa3g009mtk10.sock --platform-kind kube --namespace default-tenant --worker-id 0 --trigger-name \"}/usr/local/lib/python3.6/site-packages/sklearn/utils/deprecation.py:144: FutureWarning: The sklearn.metrics.scorer module is deprecated in version 0.22 and will be removed in version 0.24. The corresponding classes / functions should instead be imported from sklearn.metrics. Anything that cannot be imported from sklearn.metrics is now part of the private API. warnings.warn(message, FutureWarning)Python> 2019-12-24 12:52:58,242 [warning] Caught unhandled exception while initializing: {'err': \"XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): ['dlopen: cannot load any more object with static TLS', 'dlopen: cannot load any more object with static TLS']\n", - "\", 'traceback': 'Traceback (most recent call last):\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 314, in run_wrapper\n", - " args.trigger_name)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 51, in __init__\n", - " self._entrypoint = self._load_entrypoint_from_handler(handler)\n", - " File \"/opt/nuclio/_nuclio_wrapper.py\", line 227, in _load_entrypoint_from_handler\n", - " module = __import__(module_name)\n", - " File \"/opt/nuclio/nuclio-training.py\", line 17, in \n", - " import xgboost as xgb\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/__init__.py\", line 11, in \n", - " from .core import DMatrix, Booster\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 161, in \n", - " _LIB = _load_lib()\n", - " File \"/usr/local/lib/python3.6/site-packages/xgboost/core.py\", line 152, in _load_lib\n", - " \\'Error message(s): {}\\\n", - "\\'.format(os_error_list))\n", - "xgboost.core.XGBoostError: XGBoost Library (libxgboost.so) could not be loaded.\n", - "Likely causes:\n", - " * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libgomp.so for UNIX-like OSes)\n", - " * You are running 32-bit Python on a 64-bit OS\n", - "Error message(s): [\\'dlopen: cannot load any more object with static TLS\\', \\'dlopen: cannot load any more object with static TLS\\']\n", - "\n", - "'}\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "%nuclio: error: cannot deploy \n" - ] - } - ], + "outputs": [], "source": [ "%nuclio deploy -p netops -n training -c" ] From 8f3e243301f35828c46b612a321c3c823fab28ba Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 15:34:38 +0000 Subject: [PATCH 7/9] image-classification now works with new_model_server only --- .../mlrun_mpijob_classify.ipynb | 17 +- image_classification/mlrun_mpijob_pipe.ipynb | 20 +- .../nuclio-serving-tf-images.ipynb | 432 ++++-------------- 3 files changed, 97 insertions(+), 372 deletions(-) diff --git a/image_classification/mlrun_mpijob_classify.ipynb b/image_classification/mlrun_mpijob_classify.ipynb index 13c9b922..cf0fe881 100644 --- a/image_classification/mlrun_mpijob_classify.ipynb +++ b/image_classification/mlrun_mpijob_classify.ipynb @@ -1403,19 +1403,14 @@ } ], "source": [ - "# convert the notebook code to deployable function, configure it\n", - "from mlrun import code_to_function\n", - "inference_function = code_to_function(name='tf-image-serving', \n", + "# convert the notebook code to a model server and configure it\n", + "inference_function = new_model_server('tf-images-server', \n", " filename='./nuclio-serving-tf-images.ipynb',\n", - " runtime='nuclio')\n", - "\n", - "# set the API/trigger, attach the home dir to the function\n", - "inference_function.with_http(workers=2).apply(mount_v3io())\n", - "\n", - "# set the model file path SERVING_MODEL_ = \n", - "inference_function.set_env(f'SERVING_MODEL_{model_name}', params['model_path'])\n", + " model_class='TFModel',\n", + " models={model_name: params['model_path']})\n", "inference_function.set_env('classes_map', labeler_function.outputs['categories_map'])\n", - "addr = inference_function.deploy(project='nuclio-serving')" + "inference_function.with_http(workers=2).apply(mount_v3io())\n", + "addr = fn.deploy(project='nuclio-serving')" ] }, { diff --git a/image_classification/mlrun_mpijob_pipe.ipynb b/image_classification/mlrun_mpijob_pipe.ipynb index 486991c5..1b4946e6 100644 --- a/image_classification/mlrun_mpijob_pipe.ipynb +++ b/image_classification/mlrun_mpijob_pipe.ipynb @@ -141,8 +141,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Using code_to_function we parse the given Jupyter Notebook and build a function from it.\n", - "> All the annotations given in the notebook will be parsed and saved to the function normally" + "Using `filename=` in the `new_model_server` we parse the given Jupyter Notebook and build our model server from it.\n", + "\n", + "> All the annotations given in the notebook will be parsed and saved to the function normally\n", + "\n", + "The model server will deploy the model given under `models={:}` as `model_class=` . \n", + "Just like any other MLRun function we can set our environment variables, workers and add mounts.\n", + "\n", + "The model server will provide us with a `//predict` endpoint where we can query the model." ] }, { @@ -163,10 +169,12 @@ ], "source": [ "# inference function\n", - "inference_function = code_to_function(name='tf-image-serving-pipe', \n", - " filename='./nuclio-serving-tf-images.ipynb',\n", - " runtime='nuclio')\n", - "inference_function.with_http(workers=2).apply(mount_v3io())" + "fn = new_model_server('tf-images-server', \n", + " filename='./nuclio-serving-tf-images.ipynb',\n", + " model_class='TFModel')\n", + "fn.set_env('classes_map', classes_map_filepath)\n", + "fn.with_http(workers=2)\n", + "fn.apply(mount_v3io())" ] }, { diff --git a/image_classification/nuclio-serving-tf-images.ipynb b/image_classification/nuclio-serving-tf-images.ipynb index dc89121c..e20e6954 100644 --- a/image_classification/nuclio-serving-tf-images.ipynb +++ b/image_classification/nuclio-serving-tf-images.ipynb @@ -18,9 +18,9 @@ "**Steps:** \n", "* [Define Nuclio function](#Define-Nuclio-function) \n", " * [Install dependencies and set config](#Install-dependencies-and-set-config) \n", - " * [Function Code](#Function-Code) \n", - "* [Test the function locally](#Test-the-function-locally) \n", + " * [Model serving class](#Model-Serving-Class) \n", "* [Deploy the serving function to the cluster](#Deploy-the-serving-function-to-the-cluster) \n", + "* [Define test parameters](#Define-test-parameters)\n", "* [Test the deployed function on the cluster](#Test-the-deployed-function-on-the-cluster)" ] }, @@ -90,9 +90,14 @@ "outputs": [], "source": [ "%%nuclio cmd -c\n", + "apt-get update && \\\n", + " apt-get upgrade -y && \\\n", + " apt-get install -y git\n", + "\n", "pip install numpy==1.16.4\n", "pip install keras requests pillow\n", - "pip install mlrun" + "pip install git+https://github.com/mlrun/mlrun@development\n", + "pip install kfserving" ] }, { @@ -170,7 +175,8 @@ "from os import environ, path\n", "from PIL import Image\n", "from io import BytesIO\n", - "from urllib.request import urlopen" + "from urllib.request import urlopen\n", + "import kfserving" ] }, { @@ -200,7 +206,7 @@ "metadata": {}, "outputs": [], "source": [ - "class TFModel:\n", + "class TFModel(kfserving.KFModel):\n", " def __init__(self, name: str, model_dir: str):\n", " self.name = name\n", " self.model_filepath = model_dir\n", @@ -260,178 +266,6 @@ " return predicted_probability.tolist()[0]" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Routing" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To handle routing we will create the `HTTPHandler` class. \n", - "This class will:\n", - "* Load the models through their appropriate classes using `get_model(self, name)`\n", - "* Validate incoming requests's via `validate(self, request)`\n", - "* Handle different incoming data types (URLs / Direct image) via `parse_event(self, event)`\n", - "\n", - "We will build on that class and add a specific Prediction pipeline function `post(self, context, name, event)` in the `PredictHandler` \n", - "The `post` function will be what's called in runtime to supply our prediction" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "from io import BytesIO\n", - "from typing import Dict\n", - "from urllib.request import urlopen\n", - "\n", - "class HTTPHandler:\n", - " def __init__(self, models: Dict):\n", - " self.models = models # pylint:disable=attribute-defined-outside-init\n", - " self.context = None\n", - "\n", - " def with_context(self, context):\n", - " self.context = context\n", - " return self\n", - "\n", - " def get_model(self, name: str):\n", - " if name not in self.models:\n", - " return self.context.Response(\n", - " body=f'Model with name {name} does not exist, please try to list the models',\n", - " content_type='text/plain',\n", - " status_code=404)\n", - "\n", - " model = self.models[name]\n", - " if not model.ready:\n", - " model.load()\n", - " setattr(model, 'context', self.context)\n", - " return model\n", - "\n", - " def parse_event(self, event):\n", - " parsed_event = {'instances': []}\n", - " try:\n", - " body = json.loads(event.body)\n", - " self.context.logger.info(f'event.body: {event.body}')\n", - " if 'data_url' in body:\n", - " # Get data from URL\n", - " url = body['data_url']\n", - " self.context.logger.debug_with('downloading data', url=url)\n", - " data = urlopen(url).read()\n", - " sample = BytesIO(data)\n", - " parsed_event['instances'].append(sample)\n", - "\n", - " except Exception as e:\n", - " if event.content_type.startswith('image/'):\n", - " sample = BytesIO(event.body)\n", - " parsed_event['instances'].append(sample)\n", - " parsed_event['content_type'] = event.content_type\n", - " else:\n", - " raise Exception(\"Unrecognized request format: %s\" % e)\n", - " \n", - " return parsed_event\n", - "\n", - " def validate(self, request):\n", - " if \"instances\" not in request:\n", - " raise Exception(\"Expected key \\\"instances\\\" in request body\")\n", - "\n", - " if not isinstance(request[\"instances\"], list):\n", - " raise Exception(\"Expected \\\"instances\\\" to be a list\")\n", - "\n", - " return request\n", - "\n", - "\n", - "class PredictHandler(HTTPHandler):\n", - " def post(self, context, name: str, event):\n", - " model = self.get_model(name)\n", - " context.logger.info('event type: {}'.format(type(event.body)))\n", - " body = self.parse_event(event)\n", - " request = model.preprocess(body)\n", - " request = self.validate(request)\n", - " response = model.predict(request)\n", - " response = model.postprocess(response)\n", - "\n", - " return context.Response(body=json.dumps(response),\n", - " content_type='application/json',\n", - " status_code=200)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Function init & runtime handler" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "`init_context(context, data)` is an automatic hook by Nuclio, running upon the build process ending - before the function is declared as deployed. \n", - "We will use this function to:\n", - "* Instantiate our models by using the environment variables `SERVING_MODEL_` and `model_class`\n", - "* Setup the `PredictHandler` as our handler for the `//predict` route\n", - "\n", - "`handler(context, event)` is used to deploy our functions" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "def init_context(context):\n", - " model_prefix = 'SERVING_MODEL_'\n", - "\n", - " # Initialize models from environment variables\n", - " # Using the {model_prefix}_{model_name} = {model_path} syntax\n", - " model_paths = {k[len(model_prefix):]: v for k, v in os.environ.items() if\n", - " k.startswith(model_prefix)}\n", - " model_class = os.environ.get('MODEL_CLASS', 'MLModel')\n", - " fhandler = globals()[os.environ['MODEL_CLASS']]\n", - " models = {name: fhandler(name=name, model_dir=path) for name, path in\n", - " model_paths.items()}\n", - "\n", - " # Verify that models are loaded\n", - " assert len(\n", - " models) > 0, \"No models were loaded!\\n Please load a model by using the environment variable SERVING_MODEL_{model_name} = model_path\"\n", - " context.logger.info(f'Loaded {list(models.keys())}')\n", - "\n", - " # Initialize route handlers\n", - " predictor = PredictHandler(models).with_context(context)\n", - " router = {\n", - " 'predict': predictor.post,\n", - " }\n", - "\n", - " ## Define handle\n", - " setattr(context, 'models', models)\n", - " setattr(context, 'router', router)\n", - "\n", - "\n", - "err_string = 'Got path: {} \\n Path must be / \\nactions: {} \\nmodels: {}'\n", - "\n", - "\n", - "def handler(context, event):\n", - " # check if valid route & model\n", - " try:\n", - " model_name, route = event.path.strip('/').split('/')\n", - " route = context.router[route]\n", - " except:\n", - " return context.Response(\n", - " body=err_string.format(event.path, '|'.join(context.router.keys()), '|'.join(context.models.keys())),\n", - " content_type='text/plain',\n", - " status_code=404)\n", - "\n", - " return route(context, model_name, event)" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -443,7 +277,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -470,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -484,225 +318,113 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Define test parameters" + "## Deploy the serving function to the cluster" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 9, "metadata": {}, "outputs": [ { - "name": "stdout", + "name": "stderr", "output_type": "stream", "text": [ - "Test image:\n" + "/User/.pythonlibs/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", + " % (item.__module__, item.__name__)\n" ] - }, - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ - "# Model env variables\n", - "base_dir = '/User/demos/image-classification/'\n", - "cat_dog_v1_model_filepath = os.path.join(base_dir, 'model', 'cats_dogs.hd5')\n", - "classes_map_filepath = os.path.join(base_dir, 'model', 'prediction_classes_map.json')\n", - "\n", - "environ['SERVING_MODEL_cat_dog_v1'] = cat_dog_v1_model_filepath\n", - "environ['classes_map'] = classes_map_filepath\n", - "\n", - "# Testing event\n", - "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", - "response = requests.get(cat_image_url)\n", - "cat_image = response.content\n", - "img = Image.open(BytesIO(cat_image))\n", - "\n", - "print('Test image:')\n", - "plt.imshow(img)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Test endpoint by sending an image URL" + "from mlrun import new_model_server, mount_v3io" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Sending event: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n", - "Python> 2019-12-27 09:30:37,188 [info] Loaded ['cat_vs_dogs_v1', 'cat_dog_v1']\n", - "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:4070: The name tf.nn.max_pool is deprecated. Please use tf.nn.max_pool2d instead.\n", - "\n", - "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/tensorflow/python/ops/nn_impl.py:180: add_dispatch_support..wrapper (from tensorflow.python.ops.array_ops) is deprecated and will be removed in a future version.\n", - "Instructions for updating:\n", - "Use tf.where in 2.0, which has the same broadcast rule as np.where\n", - "WARNING:tensorflow:From /User/.pythonlibs/lib/python3.6/site-packages/keras/backend/tensorflow_backend.py:422: The name tf.global_variables is deprecated. Please use tf.compat.v1.global_variables instead.\n", - "\n", - "Python> 2019-12-27 09:30:39,463 [info] event type: \n", - "Python> 2019-12-27 09:30:39,464 [info] event.body: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n", - "Response(headers=None, body='{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}', status_code=200, content_type='application/json')\n" + "[mlrun] 2019-12-27 15:30:53,937 deploy started\n", + "[nuclio] 2019-12-27 15:30:55,092 (info) Building processor image\n", + "[nuclio] 2019-12-27 15:31:00,135 (info) Build complete\n", + "[nuclio] 2019-12-27 15:31:08,200 (info) Function deploy complete\n", + "[nuclio] 2019-12-27 15:31:08,205 done updating tf-images-server, function address: 3.18.11.15:32575\n" ] } ], "source": [ - "# URL event\n", - "event_body = json.dumps({\"data_url\": cat_image_url})\n", - "print(f'Sending event: {event_body}')\n", - "\n", - "# Set model to query\n", - "model_name = 'cat_vs_dogs_v1'\n", + "# Model env variables\n", + "base_dir = '/User/demos/image-classification/'\n", + "cat_dog_v1_model_filepath = os.path.join(base_dir, 'model', 'cats_dogs.hd5')\n", + "classes_map_filepath = os.path.join(base_dir, 'model', 'prediction_classes_map.json')\n", + "model_name = 'cats_vs_dogs_v1'\n", "\n", - "# Launch function and instatiate with event\n", - "init_context(context)\n", - "event = nuclio.Event(body=event_body,\n", - " content_type='application/json',#'image/jpeg',\n", - " path=f'{model_name}/predict')\n", - "output = handler(context, event)\n", + "# Setup the model server function\n", + "fn = new_model_server('tf-images-server', \n", + " model_class='TFModel',\n", + " models={model_name: '/User/mlrun/examples/models/cats_n_dogs.hd5'})\n", + "fn.set_env('classes_map', classes_map_filepath)\n", + "fn.apply(mount_v3io())\n", "\n", - "print(output)" + "# Deploy the model server\n", + "addr = fn.deploy(project='nuclio-serving')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Test endpoint by sending a Direct Image" + "### Define test parameters" ] }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Python> 2019-12-27 09:30:39,830 [info] Loaded ['cat_vs_dogs_v1', 'cat_dog_v1']\n", - "Python> 2019-12-27 09:30:42,337 [info] event type: \n", - "Response(headers=None, body='{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}', status_code=200, content_type='application/json')\n" - ] - } - ], - "source": [ - "# Direct image event\n", - "event_body = cat_image\n", - "\n", - "# Set model to query\n", - "model_name = 'cat_vs_dogs_v1'\n", - "\n", - "# Launch function and instatiate with event\n", - "init_context(context)\n", - "event = nuclio.Event(body=event_body,\n", - " content_type='image/jpeg',\n", - " path=f'{model_name}/predict')\n", - "output = handler(context, event)\n", - "\n", - "print(output)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Deploy the serving function to the cluster" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/User/.pythonlibs/lib/python3.6/site-packages/sqlalchemy/ext/declarative/clsregistry.py:129: SAWarning: This declarative base already contains a class with the same class name and module name as mlrun.db.sqldb.Label, and will be replaced in the string-lookup table.\n", - " % (item.__module__, item.__name__)\n" + "Test image:\n" ] - } - ], - "source": [ - "from mlrun import code_to_function, mount_v3io" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ + }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 15, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" - } - ], - "source": [ - "# convert the notebook code to deployable function, configure it\n", - "fn = code_to_function('tf-image-server-from-notebook', \n", - " runtime='nuclio')\n", - "\n", - "# set the API/trigger, attach the home dir to the function\n", - "fn.with_http(workers=2).apply(mount_v3io())\n", - "\n", - "# set the model file path SERVING_MODEL_ = \n", - "fn.set_env(f'SERVING_MODEL_{model_name}', cat_dog_v1_model_filepath)\n", - "fn.set_env('classes_map', classes_map_filepath)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ + }, { - "name": "stdout", - "output_type": "stream", - "text": [ - "[mlrun] 2019-12-27 09:30:51,647 deploy started\n", - "[nuclio] 2019-12-27 09:30:52,722 (info) Building processor image\n", - "[nuclio] 2019-12-27 09:30:57,763 (info) Build complete\n", - "[nuclio] 2019-12-27 09:31:05,834 (info) Function deploy complete\n", - "[nuclio] 2019-12-27 09:31:05,840 done updating tf-image-server-from-notebook, function address: 3.18.11.15:32393\n" - ] + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" } ], "source": [ - "# deploy the functnew_model_server the cluster\n", - "addr = fn.deploy(project='nuclio-serving')" + "# Testing event\n", + "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", + "response = requests.get(cat_image_url)\n", + "cat_image = response.content\n", + "img = Image.open(BytesIO(cat_image))\n", + "\n", + "print('Test image:')\n", + "plt.imshow(img)" ] }, { @@ -721,7 +443,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -738,19 +460,19 @@ " '_content_consumed': True,\n", " '_next': None,\n", " 'status_code': 200,\n", - " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 09:31:07 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", - " 'raw': ,\n", - " 'url': 'http://3.18.11.15:32393/cat_vs_dogs_v1/predict',\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 15:31:11 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32575/cat_vs_dogs_v1/predict',\n", " 'encoding': None,\n", " 'history': [],\n", " 'reason': 'OK',\n", " 'cookies': ,\n", - " 'elapsed': datetime.timedelta(0, 2, 114797),\n", + " 'elapsed': datetime.timedelta(0, 2, 653137),\n", " 'request': ,\n", - " 'connection': }" + " 'connection': }" ] }, - "execution_count": 17, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -777,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -794,19 +516,19 @@ " '_content_consumed': True,\n", " '_next': None,\n", " 'status_code': 200,\n", - " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 09:31:09 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", - " 'raw': ,\n", - " 'url': 'http://3.18.11.15:32393/cat_vs_dogs_v1/predict/',\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 15:31:13 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32575/cat_vs_dogs_v1/predict/',\n", " 'encoding': None,\n", " 'history': [],\n", " 'reason': 'OK',\n", " 'cookies': ,\n", - " 'elapsed': datetime.timedelta(0, 2, 49026),\n", + " 'elapsed': datetime.timedelta(0, 2, 381281),\n", " 'request': ,\n", - " 'connection': }" + " 'connection': }" ] }, - "execution_count": 18, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, From d64c1105e6d7aeaed2568e256111df69fafeaf5e Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Fri, 27 Dec 2019 15:36:45 +0000 Subject: [PATCH 8/9] image-classification updated doc --- image_classification/mlrun_mpijob_classify.ipynb | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/image_classification/mlrun_mpijob_classify.ipynb b/image_classification/mlrun_mpijob_classify.ipynb index cf0fe881..e650b63e 100644 --- a/image_classification/mlrun_mpijob_classify.ipynb +++ b/image_classification/mlrun_mpijob_classify.ipynb @@ -1368,10 +1368,16 @@ "source": [ "### Step 4: Deploy Model Serving Function\n", "\n", - "In the following cells we use MLRun to deploy a Nuclio function from the [nuclio-serving-tf-images](nuclio-serving-tf-images.ipynb) notebook and deploy it with the arguments from our current runs. \n", + "In the following cells we use MLRun to deploy a Model Serving Class from the [nuclio-serving-tf-images](nuclio-serving-tf-images.ipynb) notebook and deploy it with the arguments from our current runs. \n", "\n", - "We use `code_to_function` with the `runtime='nuclio'` setting to parse the notebook to a Nuclio Function. \n", - "We are then able to use `set_env` to set the needed variables and add triggers `with_http(workers=2)` and mounts `apply(mount_v3io())` if needed. \n", + "Using `filename=` in the `new_model_server` we parse the given Jupyter Notebook and build our model server from it.\n", + "\n", + "> All the annotations given in the notebook will be parsed and saved to the function normally\n", + "\n", + "The model server will deploy the model given under `models={:}` as `model_class=` . \n", + "Just like any other MLRun function we can set our environment variables, workers and add mounts.\n", + "\n", + "The model server will provide us with a `//predict` endpoint where we can query the model.\n", "\n", "After we finish setting up the function parameters, we deploy it to the appropriate project using `deploy()`." ] From 000e67e2cd2be445e843cb8d49b2a919e949f8d2 Mon Sep 17 00:00:00 2001 From: Or Zilberman Date: Sun, 29 Dec 2019 15:33:17 +0000 Subject: [PATCH 9/9] Using set_envs in nuclio-serving under image-classification --- .../nuclio-serving-tf-images.ipynb | 263 ++++++++++-------- 1 file changed, 142 insertions(+), 121 deletions(-) diff --git a/image_classification/nuclio-serving-tf-images.ipynb b/image_classification/nuclio-serving-tf-images.ipynb index e20e6954..33506c72 100644 --- a/image_classification/nuclio-serving-tf-images.ipynb +++ b/image_classification/nuclio-serving-tf-images.ipynb @@ -100,50 +100,6 @@ "pip install kfserving" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Set function environment variables" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Nuclio functions can receive parameters by using environment variables during initialization or through the processed event during runtime. \n", - "In this part we define the environment variables - fixed parameters for the function which will be available during initialization using the `%nuclio env` annotation. \n", - "\n", - ">`%nuclio env` works both locally and during deployment by default, but can be set with `-c` flag to only run the commands while deploying or `-l` to set the variable for the local environment only. \n", - "`-c` and `-l` can be used on the same env. variable, the local version will be used locally and the cloud on deployment.\n" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "%nuclio: setting 'IMAGE_WIDTH' environment variable\n", - "%nuclio: setting 'IMAGE_HEIGHT' environment variable\n", - "%nuclio: setting 'MODEL_CLASS' environment variable\n", - "%nuclio: setting 'SERVING_MODEL_cat_vs_dogs_v1' environment variable\n", - "%nuclio: setting 'classes_map' environment variable\n" - ] - } - ], - "source": [ - "%%nuclio env \n", - "IMAGE_WIDTH=128\n", - "IMAGE_HEIGHT=128\n", - "MODEL_CLASS=TFModel\n", - "SERVING_MODEL_cat_vs_dogs_v1=/User/demos/image-classification/model/cats_dogs.hd5\n", - "classes_map=/User/demos/image-classification/model/prediction_classes_map.json" - ] - }, { "cell_type": "markdown", "metadata": {}, @@ -153,7 +109,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -202,7 +158,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [], "source": [ @@ -213,8 +169,8 @@ " self.model = None\n", " self.ready = None\n", "\n", - " self.IMAGE_WIDTH = int(environ['IMAGE_WIDTH'])\n", - " self.IMAGE_HEIGHT = int(environ['IMAGE_HEIGHT'])\n", + " self.IMAGE_WIDTH = int(environ.get('IMAGE_WIDTH', '128'))\n", + " self.IMAGE_HEIGHT = int(environ.get('IMAGE_HEIGHT', '128'))\n", " \n", " try:\n", " with open(environ['classes_map'], 'r') as f:\n", @@ -239,6 +195,8 @@ " x = image.img_to_array(img)\n", " x = np.expand_dims(x, axis=0)\n", " output['instances'].append(x)\n", + " \n", + " # Format instances list\n", " output['instances'] = [np.vstack(output['instances'])]\n", " return output\n", " except:\n", @@ -277,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [], "source": [ @@ -304,7 +262,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -314,6 +272,59 @@ "import os" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Define test parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Test image:\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAD8CAYAAAB+fLH0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9WYxkaXbf97t73LixL7lnbT3d093TPTOcnhlO05YhmqJNCbZomKQtE7D9YFiSQYsgIALis58EGLBfbAMiaMMyLC6CbUqyQWlI26QEGeB4ZsRhs9fauiorKzMjM/bl7osf7j1fRlJsUpTYVj/UBQpVlRkRN+63nPM///M/59OKouDF9eJ6cb245NL/ZX+BF9eL68X12bpeGIUX14vrxXXjemEUXlwvrhfXjeuFUXhxvbheXDeuF0bhxfXienHduF4YhRfXi+vFdeP61IyCpmk/omnaR5qmPdQ07ec+rfu8uF5cL64/2Uv7NHQKmqYZwH3gh4FT4NvAf1AUxft/4jd7cb24Xlx/otenhRS+DjwsiuJxURQx8MvAj35K93pxvbheXH+Cl/kpfe4h8Gzr/6fA93/Si726Wwx6XQDyPAcNKCj/BgzdwDB0siwjSVMoQNM1irxAN3SKvKAocvI8pwQ+BZqmYZomRVGQpCmGbqDrGpqmla8DdE3DMCzSNEHTNErUpKHp5Ws0NAzDoCjKzy//LtB0vfwOGmi6Xt23oMhzDMNA0zTSNKUoCvTq/xqUf1ffK00Tsqx8Vl3X0TWdLEsxDANdNyiKHICigCzLAMiq71SrOeR5+bxUQ1XkBVAgwE/Ty3sahkGW5RTVmOTVZxUF6IYORVE+q1Y+R3l/GacMTdMpioI0S9F1HUPXybLr1yVJQp4X6n6apmFZVnnPolATKeNejvP1HJX3zbbGvxpXtHJsqvtn1fOlaVbe29BJ4hTPqxOGYTkv1Xst2yLLMrI0LT+XAtO0yfOcLMvQdZ0sz6s1oaPrWrX2CgxDJ00z8jwjzwuyPEPXNPK8qL6PhmGa2JZFXhSkSUIBGLquvn+5hjUoiutn1fVyWVc/K7+nTV6tafn+um6gaeV3ybIMy7bQq7EpiqJaV+W8lmNerdcsr8aarfHV0ar1VRSQ5xkywIvlio0faH/Qfvy0jMIfdLMbcYqmaX8R+IsA3XaTn/3P/iPyPCeOY2q1GrZtk6YpYRiyWq0wDIOdnR00TSPLMvI8x3Ecnj9/TqfTwfM8PvzwQyzLot/vlwNqWQCsVisAXNelXq8TRRFFUVS/N5nNZnieR5IkauDFoGRZRhzHtNttbNsmCAKKoiCOY3zfV9/D8zwsyyIIAmq1Gpqmoes6tm3j+z6GYdBoNNRrIFXfKwgCsizD8zzW67WMT/WsGp1OB9u2abVaZFnGfD4HwHEcsiwjTVMWiwWmadJsNrFtG8uy0LTSqF1eXpLnOe12mzzPSZIEz/PodDrM53N0Xef8/Fx93zQtjdP+/hDbtplMJpimyWazUWPVbreJ45jxeMzdu3fxfZ9ut6vGO4oiGo0Guq6r58tznVarhe/7nJ2dYds2tVqNLMtwHEcZYNfSMQyDnAJDt0iShCjNSLOMIAjB0InChG6ri23bLBczXNeh3WwQhj5JHGJZBroGvr+mKAqWQWn8dnd31bp4/vw5AJ1OB9M08X2f9XpNnufcu3ePOI5ZLBbouk4URcxmM3RdZzgsx6UoCvV8UG6+xWJBFEX0+31WqxWmaRLHMbZtV5uzwPM8tc41TSMMQzabjfoMWeNpmqo5y/OcVqtFkiRkWcZkMsF1XWq1GhcXFxwfH2OaJvP5HNM01e/SNCVNU/I8J01TptMppmnyK//Hb3zi5v20jMIpcLz1/yPgbPsFRVH8PPDzALePDop6va42e1EU1Go1Go0GeZ5zcXFBEAQsFgscp/SSsnlkkFqtFsPhkCzL1GbO8xzLsnBdlziO0fXraEk8eRyHQLnBxFvJe7IsY7PZqL+LoiAMQ+XxWq0WpmmSZaWnW6/XZFmmjE+e54RhqDZZnuesVit838c0wfd9bNvGdV216GQj27aNYRikKcznc/b391kul2RZRhRF1Go1er0eQRBwfn6uvnscx+o18ly6rmNZFoZhYJpm5d1LY1av1zFNE13X1Xe1LItOp4NlWei6rl5Tq9VIkkQZnjAMsSwL0zTRNE3dW4x46YV1hZ7iOCeKIpIkwTRN9Zl5nqsNk2UZmV5U7zXLcbAd0vUaNJ1aDaIkI4rWaJrGdDqlIKNhNKh51ZgHG5pND0PXCIIA2zbQwkgZA5mjZrNJFEXKaMO1Ma7X6xiGQRzHNJtN0jQljmP1R4yBrBPDMNRzyjjneU6v1+Py8pI4jtW6cBxHzXer1aJWq2EYhnJKYoCLoiBJEqBEH5vNhjzPOTg4wDAM1us1URTRbDYJw5BarYZlWcoAFEWxhXQLhZLg93no33d9Wkbh28DLmqbdBZ4DfwH4yU96cVHkagGJVb66umK1WpFlGb7vqwccj8foeulxdF2n1+vh+z6np6f0ej3yPGc+n1MUBZvNBsuy1MLbntQkSdB1nXa7r9CBeM1Op6M2mMB9QS9RFGEYBo7jlANomuXCLAo6nY5a3OXGN+l2u7iui+u6pGnKw4cPKxhbqO8gm2o4HNLpdG5s8DwvN/RkMlGbMgxDfN8vYXCWYds2zWZTfVf5fjKWzWYTXddZLpdoWgniJpMJYRgqI2Hbtlq4sig3mwWe5zEcDplMJqzXa7X5gyAgSRLq9TqTyQzbtkmSjCzLaLe7TCYTxuOp2iClQS2RheM4HB0dKW+o67r6W9M0krQMq4oiIUxSNHRGl+Xzo5ukaU6r0yXJC1zXKw27rrFcrEjSGKdWp9VqlQacAtN26PU8dF1ns9mQJAm1Wk0Zu8lkosa/1WoRBIEy+rZts9lssG2b4XBIHMdYlqVQWhRFpGmqPs9xHIUCxICKowuCgCAIME0Ty7JoNBoAakMXRYHjOLRaLRaLxY31mGUZQRBgWRaPHj3i9ddfxzRN3nvvPYVQfN9nd3dXIezFYoFt2+WYVs5T1/XSKWT5J27eT8UoFEWRapr2nwPfBAzgfyiK4r1Per14UNkIYnGvIXTp9afTKbu7uzSbTQXD8zxXD351dUVRFDSbTQzDUAu80+lweXmpFqh4AsuyWC59tcCbzSbdbld5kO2Ju7i4UO8TzmAwGJAkCe12W3nj9XpNv9/H930WiwWLxQLLsmg2m8qwrFYrHKfG8fExWZYxm81oNpvs7+9zeXlJURTcvn2bMAyZTpf4vs+tW7dYLpfKc61WK1arFUmSEAQBvV5P3ce2bbUR1+u1Wohpmqowx3Vdlsslu7u7hGHIxcUFrVaLer2uFpC85smTJ3ieh+/7HB0dKa8jCx/AsixarRZxHLNcLqnX6yoMkxDEdT0GgwHtdptWq8VsNgNQENc0y+VYaCaFppOkCXFUorAgSrBrdaaTGUmS0Ol0efjsEa+99hp+FFOsNZIoqBBCgR9GJElKkcNivsRyS1TX6/WIoojxeKyQ0GAwIMsy1us1L7/8MlEUKSQlG3y5LOdBwkLHcbh79y7z+ZzVakUYhtTrdTzPU156Z2eH9XpNkiRYloXneQDKe3uepxxNHMd4nqf2QhRF7O/vEwQBvu8TRZFCxPfu3SMIAqbTqUJkgmZHoxH7+/vU63VWq5V6v23b7OzssFgsboz1H3R9WkiBoih+Dfi1f5bXGoZZwTwbx3HUZr64uMD3fXZ2dlT8ZlkWURQxmUzI85yjoyPG47GCejKBtVpNWfE8z9nf3688b65iuTiOFeIQsipJEhUXynfSNA3XdSmKgsFgoGLP2WxGrVbDcRx1X7HKjUaDJEkwDENBZtkwEn5so5A8zxmNRoqou7y8rLiCjTKWpmmqeLTdbrPZbBQMlo0lSEbgruM46h6Xl5dkWaa8V7fbVePgOI56j4Q6woPIIhaYrGma8mK9Xo+iMCgKjdHoSoVscRypTdXt9slzaLfbLJdLNpsNcRwr79lsNtnb2+P+/fvl76KMl156icvLMce37pAkCZrhMJlO8bwGs9mM8XTCrdt3ePjoMc2GR1Fk3D4+5OzsFNsysc0SJsdpory6cC3L5ZI0TVUIWq/X0SvC+OnTp1iWVXIVy2X5GdXYbxu6JEnodrs0Gg2ePHmiDLHwVeKUBPXVajWm0ymu6yoUl2UZSZLg+74KqdI0BVChgKBOcX5JkrDZbJQhcRwHx3FIkoTd3V2m0ynz+RzLstjZ2SGKIi4vL9E0jcvLSxXuFX9IAPGpGYU/zpVlqVqc8/lcTZ54doE9ruveiHsbjQa1Wk3FrYPBQJEy4imh5B0mk4myqkEQqPfoeqEWjCx+8RRxHHN1dQWgNtBsNqPT6SjmXzaxbdvs7u5SFAXn5+eYpkm/36fT6bBarSpGPlMWutMpjYYsAokzHcchDEO16dIUtSAkBJEQQIyYkEriAcUIAIogtSxL3W+z2WCaJnt7ezx9+hRN09TYZVmmsh2bzeYGqto2ILJYNU3DtusKWQi0TtNUGVIZ+9FopMjSxWKhjJcYvbt377LZbDg7GxNGCe3OgJUfkCYZ56ML1msfy7a5vJrhtZo8f36O41hs/IAkTYnTnE1Qzt3a18tY3XIoCg0/8Fkul1xcXNDv9xkMBgpZNhoNTNNkuVwq4yeEo8yXoDwZnyzLOD8/V+tNNrGMV1EUXF5eslwuFQ/mOA6+7yuEkqbXZHNRFMznc3Z3dxVfIKShOMKiKHBdV4U0YRiqdStzXK/XgdKQCffU7/cVdyLO6P/38OGf5xJ4JASU4ziK4ZVNXK/XFZwHlOHwPI9Go3Ej1haEYJomYRjeSBVKXFnC6KaaKCEH5T1ivW3b5uLigjzP6ff7rNdr5bG3WX6BlfP5XHmD9XqtUAhwI6NRbihbLTzZlOKlS4OYKub6OmWoq3vKBpaNKIhKPJHcU8g8uZemaco4CCkmWQB5j2layjgKAlgsFsrQCDrRKA2VW6urZ1oVa6IwJs8KhQriJFKpySiKlMcVr9dut6txMzFNmzQNIa9SfOhlGlk3qxDQIAh85osFO8O+Mjqe50GeEoax8tJJNafiYCQbIuSizI2gInlWuEYJsp5kDYkxl9+FYUi321VjblkWYXhNYkvo4vs+V1dXNBoNRRDKvEpot01WOo6jslbT6ZT1ek2321VOURyErKflcqnmZ7PZKOcnSGcb7X3S9ZkwCrJQsyyj2+2qB9zeAGIthSkXyC4PHkURq9UK13UVxBKGXogxQRvCC5Sf4/H8+XNl/QVWOo7Dyy+/zHq9Jk1TFQ6UcLjLaDRSsF8mTMKEba+xXC7V4hBEEccxk8lEcQBFUShiC8C2bWzbBiCOFwr+isEKggDDMBgOhxiGwXw+VwhCOIVtjydZAiHEJPYfjUbcuXNHGS9JtxqGUZFWfRqNBmmakiQJy+VSGeXBYMBisWC1WinPKPer1+u89dZbfO9731Meq9lssre/y3w+V88qaVJ5BgnHvGaLdrfH7MkTWh0PP4zwg4jVakOcQRAnLFZXzCbn9Pt9Hjx6SLfd4eBgH69eo+45xEFAlMTUbEfpJcTpyMaWMFXCTOEb0jSl1WqhaRrj8Vg5pjRNaTabKs04nU4VAhwOh8oLSxZGeIQ4jlUGql6vK+QlhLcYciEykyQhSRLW6zWu67K3t6dCHN/3GY/HuK5Lr9dT4SlQhXLXYXYQBDdSn+12W82TaRqfvB8/rY3+x7myCn7Jho+iiOVySa/XA1CEzHw+vxbyVJtEvJB4Rhl8QQtRFCkDIAy3xGpRFOF5ber1uvL6wgC7rqsIKMliOI6jNr9kN+I4ptFoqOyD7/s4jqOIUwlNBOqLtxYOIk1TFecLmy+stqZpN7xXu91G0zSVOViv19i2rVCA53lomqYWtni77fGSlJdlWXS7XWXExBMKLyJpX/k9XEPSMAzxPA/P80rPrlkqKxLHMcPh8Ma8TadTxa5LWCebaT6fK9Ze0JVpX/NBq9WK6XRKEAREUUKuBSUvk6HuOZ2WoZa3qGOYGlkeYRsGFDpFJYQTzkmgthgIMb5CaMs8y5wJwbqd1hPjnySJMgIyPjJXEmZ5nsdsNiNNU0ajkeIRZH7kvrI+hcOStK6kumXuJH0t611QgCBgTdNUilMyDYDKsAnP84eVN3wmjIIs6M1mowiaZrNJv99X8HJbvJPnuWJVN5sN3W4Xx3EU4bYzGNBuNvnoo49wK/2Bv9koS29ommJ059Mpuq4TxzGd1iFRENGo13Fdm4uzk3LgtYzID0uP0BsA4JsbBcvDTYBj2ZiaQb/b5OnTp4qAjKvFLRthMBgQhqVll80gC1ZQiry2KApcpxS3uK6LoZUGptOqq7g0jkMso8Bx6yrXLeGGCKLk3+Kd47Dc7INeuyRUNwvqNRNTLw1BGEW0Wi0MLLK4YLKclZvJqKHbJovpisvzsTJYhlMqJtM0pd2pUxCz8efUXIONP2dvv08cx6xmU4oiQ9fBrOU0vBpRnOPUNXaGuyzXIWmaE24MPvrwPpNZmb589PgBeVGAlnNxdUmrVaZY/axgfTXBsQwupwv8KKQ1bvDqK6/QajaxTZNWqwF5gdvzmE9n1cbVGHT6zCdjNoFPr9vBNA1WqwlpYiieQSlYK56g3W6zWq1KRGCZkGckRU6ua0yXC2W47bpLHobkuka33SYIAmazmUJ8lmXh+z6dTgcoDVYQBKzXayV0cl1XCeGWyyWr1Yr9/X3a7TZJkjAej5nP5wppSmpVQocoimhX+2e9XpehWlFwdXFRGqXPOqega5qKp5rNJk+ePFExsugUgiBQMHU7zhWyajqdqnzybDZjsVjw+c9/njiOefPNN/n2t7+tYljxAALv79y5ozbTwcGBivN83wdKL9tqSk65TIN6lVCm/FlIHEdAQc31VEZD4GMYhsxmM6Vcazab+FVuWkhC27Y5OztT7LSo5wRqLhYLBSG3oeh27Co/k3hXQq7tZ3Ech8VsqbI7/X6fo6Mjzs/PVWpT0zRGoxFhcM20i9GVfL3k8OM4xnIMhfTE+7uui2EYSrHY6XTI6xlBsMGuWQx3ShQYRBGu16iMYin2WvsJjlvDWlt885vf5O692+RFQZyE7A6GzGZTwjCk0RkQRVGJqoqcJFiznM2xDAPLfJl202M+L9O494YdtY7+1L/6A7z//vs3hEci2Lq6XCoUIZ5WREau6yo+RM+v+a/tbINknGTzXl5eMpvNFLIUJCBpZTGswnPJuC2XSzzPUw6i2Wwyn8+ZTCYMh0PFETSbTRW2SdpbkMfjx49vcBMSfpdCq08ue/pMGIUsz6nX64r4kkkZDocURcFisVBZBxk0UW41m02VkvF9nzRNmc1mCsZNp1Pee+89Go2GuocQRRKKSDwtXlXkvhKLlcpE/0bGQWLTkgA0Kw9gqPSThDICNyVskM+XxSBIQbIVi8VCvUdgrngsIcYk5SrhQZ7nRJVmQ6C+QFsxIBJWAIqTEOJM7iEpSF3Xubq6Uqy5hEu1Wk2lM8MwVNyOZhTqsyQsE6Mtz21ZFlmuESUxhZaTpQUZlRa/0IjjtILWKUEQ0+v1sG2Tu3fvUhQZaZIQbHza7TbtdvuGilCvahvIU7QClfasOzVag5ZSxmqaQRiGPHzwmMViwd5woEIiUXlK2CZzJWHAarVSXEGSJGQUSvwUxzH1ep1arcZ4PCbPc2Vwto2+jNk2Ifn7w10xGtsOT0JaGV8JO7fHXOZH0pYSekrYIfMs6/czTzQmScKjR48wDIOPPvqInZ0d4jjmvffeU5tfILEgComLhLAbDAZ0u93KaxQqVfnmm2/y7rvvKlGTEI++Xy6we/fuKeXk0dGRMkwSc0m4Mtzp3tjcEhOmaYq+yUlTjSSJyDJTSUllciX9V6r/JsxmM+xaTTHbwvz3ej01cTs7O6RpyrLiUYRfkYW2TTDFcYxhuWpxF0WhdPcSY9ZqNUUkQrlxjo6OALi8vFSoRIip/f19HNtjuVwqIZeIxYSrEePqNtwbBrvV6hAEEYvFogqjNFarDV7NrRZ/jh+VYh80Ez9MAZ3pbMl8vuT5symr1YqPP37E7du3Kci4urqi0+ngWg7tRgO9ANN2yaosSF6khH65Ua4uL3k3zxl0O7z99tvs7e2BXs4/wHe/+11ee+01dN3EMAo2W9kIIXnFIKzXa0UACudxcXFB3fPoNMtwdjaeYBsmQZqRhBUZXoBjWkRpRrtd8laSGdtsNsznc27duqV0ESJ3FrQhqUWZY8Mw6Ha7KnW6bcQkHSlZM5HDHx4d4ft+mV0zDOLqGWVNf9L1mTAKVBBJlFeS9hJSZDQa0Ww22dnZueHhhM3PskxBaE3T2NvdZb1es9lsCIKAdrvNycmJEpwIzBY2VrIYMphCjL300ksEQVBZ/wxd18iylDwvB3e1WipG3/PqVSza5vz8XHkAKbQSjmHbO4thqVUGAlBFL6JuCyq9u6RcBabKs0pGxXJKQkx0+ZKKkj+CSFzXJfRLUY4gFMnwSFwrqs7AT1Sc7DjODa2/oKA4jqk368qriYcTr5qmKb7vU6vV8FdrsjwhB3w/wLTsEr0FGZZls1lHzKZLxa7L+N1/8CFpnLAzOMYwDKbTKXWnRq5rmIaJrhVEUZUmzAuVoRkDFxeXWJbDzvGAOCqh/cHBkUrJCgEscfm2LFu4BTGsYji63W5VnBUoLyyaAEGbYqCpEJimaYpTkLBKEIDMvfxsOzW8ncKVdVtumUKhMdu2lbMUByMIQ/7IPAjB+5knGsXjiqy22+2qYo8wDDk8PFQKs9FoRL/fV6TKdkGPpNukFuHq6uqG0Ec+Q8jL8/NztQjCMMRxHCX02Gw23L9/n+FwWMWVCzabDcPhUKkDBYZL1WBZDLTG930ODw/xfZ9nz56piez1ego6GpbFyckJm82GwWCgiEMR9Qi51Ww21XOen5+r6kaB6MKW1xtlpZ+w1o1GA9u2efLkCf1+v+QxKuXc3t4euq4rskpgpvAGkt5N4kIZgyiK2N3dVQt4MpmoLE0QRIpJD4JIIamyLiGuaiICHMeq4GzGau2z8UPQTbxGlzTNmc1XPHz0lDyH19/4Ah9//Ij5fE7NdrBdD8swSKMYs9DwnBr93R1ms1lZodls0nRd/CgkiUvjFIUxv/O773D/4SN+4if/XWXcRlppSKfjy1L8o1tKeLXZlHqZq6srhQo9z1NVpGJka7UaVlWVuFMhCdMwyLMMQ9fZVKlsMQZSZ+I4jor/DcPg3r17SnHoOA6LxYL1ek2n01GZKNd1FcIQWbyEw4vFQvFh8plSf7OYT0uVaoX0jg73yzWv65jGZzwlSVWMsk0girZ+Gw1I3C3lt5ZlKbUgoCSoVoUmBO6L5kHiXbi2ykICCZchWgdJz0l6NMviG2kpsebiFSQVKWToZDJRqVJZCGdnZyr+lFoL0QBILlzSWrKBt2XKAn8ldBLUFIYhfjhWJJeoNgX2y7MLF6OTKqJqG56K0lDKnpuNrjJWUmMhMa8YHYGvgk6ExxAoLBmV0oBapHkIWvk63TK5Gs8xTA+v0eLk5JQozND0gvF4rDQBrVaLLE6wDJONvyyzB70+/sanyHKaXgPTLpGmlhfUbJugcihQhqcff/wxtmnRaNTRdeOGWCiJYsV7uK6u1qFkbIS9FwJXnIqMjRCHIjDbjvPlj/AM2xWlvu8r1Wccx4psFOThOI4KC4IgUIpLUTFKWllety30K0luF8/zGI/HimT1PE850U+6PhNGQddK8mU8HlOrlYVC24MknvPi4oIwDLm8vFTst0yATEiWZdSqRSqLdbPZsLu7C5TSXfFwWZZxeHjI1dWV2mBSjCIxG6AmplTxFUSRj6aZiu0tc/oB5+eXKhyRnLLU2gsBJFWV9pa2XTZRXhGuMmlZlrGs1JGapvHqq6+SZZmqNNyW40ZhpBafiKxk8Uj2Q6pLiyxSYyoCGNHTixgriiIM3b/WylcEl3zmcDhUEHftB5ydnSkj3Gg06LRLWfh0M2UxXzIYDPCaHqt1mbpbrktS2Kl53Lp9j9/93nt84c2v8HvvvMfXv/F93P/gQ/YPD1hMZwwGfTqNJhfPT2m3Wniui6Hp9DsNYs9ViFIrwHPruJ7H6GpCkmSs/YBs6fPd7/4Ot4+PqNfrHB7skaYZbq2E+qEfsF4nuG5BFCXqOaT+xfM8VawmG/bZk6eYWmksDTTSan5lvdqGiZYXNDtthsNhVQTnqLGVuF7GXQyskMX1ep1nz54pPkrCRJH6h2GZIpe0tiBV4YXCMCRPIy4vFvR6PfrddlnUB9Ts2mc/+5DnmRJ4CCwSEk5SKWma8sorr1Cv1xmPx3zpS19iuVzy4YcfKvWiwPSg0jvIgEk5tUC/8p4lkrh37x6tVkvVGoggRwRLi8WiNDqaTRzlpEmpGbh393aZBl1HShTi2B6mVdYbiLRZ6iGExJLy4yCKaLfbCu2IUEieQd7fbreVjPbq6krFi/Iz8ViCWhqNBlEU8fz5c6XGlDhSkIFlFIp1Pzg4UHUTtm2r7/T06VPVH0JCLCmpbjQaLBbl5i6zBDb37t1T5bpSMCaoSQrKDNui2e7iOBZXk1Ky64cRf//XvsmHDx7z1vf9AEFQ5uDPL0ccH+zTud2i4daIwpBXX32V6dUYLc853j9gNL3AMQ28epswcCkKDXSdpEJxjUaLVfUMk8kEx7LZ39/FqzfZ+CtM06o4nbqqC7AsS6Uni6JELJeXl6p0fTt9KfyNOJjtoitJRa+qorUgCDg9PVXchPAJ22O+LUdvt9vs7u4qJaVwUlLiLTL8zWaj0s3iGCWtnUQblXETY+W6rkrHf9L1mTAKoKlUjsRr291s0jRV5b8iGxXYLNBblIe2bSu5pyj+RKcvHk/gn1RbSnGJWPDVaqU4Dglj4ihXAynfR7z6dDpV0JIwVaRemqZ0Oh2FOlzXZbValT0W4ph+v69QQUlcrlS4IHGhhCG7u7uKSNwuzJHwwKhievFGImUWQZhs6jRNaVR6h+0KPUE9Uv6raRrPTs7VM0t2QkIt8WxhGGI5Ndrttop9t0uAwzBUYYB4NwlnAHZ29vjVv/M/cnh4mzfeeIOnT5+pcYPrui/oJsgAACAASURBVIHh/gEaOXmSklXQu1azKYoqNHTKkAZdJ4giul2dPIe8KMiygk00URkM0zTRtfIZ6nUXXZPGKjUsy1FEsOu6dDodFouF4roEjQqHIq+V8EOQn0B4KW6S/0s4eV1NGqu0ofA60q1Lq0R2wl0J7yFrWDiL7RSjlHLruk69ZipDsl14Jgjvk67PhFGwLIv9/X1WqxXL5ZIHDx5QFAXHx8dqAbmui+/7jEYjdF3nu9/9rtKFCwwTAY14XTEoBwcHiiCTiRL2XHLH4v1EWahpGnt7e0r/3ql08U6tjl0zuZqOlJah2fFUyFF3muiaiefVq8WiEwQxlmXi+yvQEuJkQxQG5Fmd2XJDEmc06g7Dfkm4RVFElhY4NQcdFHw9Pz9Xxk44DCEkL8fnpQpPK0m2w+M9RqMRnV5TZS/Ozs4wq4W5nbPeJk5FxxEEAb3hQNUlaJrGfLUsC8eaDfr9sghJagPee/9djo6O6A96TKdTVUmZjzKOj49L9OBr3DreRytyJhdXdBwP/2rCXm/A973xZe4//hijVseoWbz2xpdYXo159aV7vPWlL/K//53/FUvXSeMNug6tQQeNFpPJhFarxXK55Hh3WPIypoFflKlgq9ckjmN+7+M1RVwwHs2ZLUI63T6mAWESslhM8FybPF5wdPeL2LbN48ePqdVM4thkvS7Y3e2jaRlRVHZp6vf7yquvVitFYm4Lmfr9Pp2woxzX7qCsj3jw4AH9fl/VkozHY3INhSa3y62Fj5J05rZsX9d1JWqS+hbJQBiGwSZIiFMwLJfeoCTg0xyipCCOk0/cj58Jo6BpZSpuW/Jbr9e5uLig0WhwfHysuATpaCQiHYHTQso1Gg1a1UBLfr/sS7AA+Kd6NmxLS6XHoIihzs7OlMUWAY/cU1JB0mhEoRmvRDP1ust6vVZNU6TJaRSHKqwRMtDfhNVzJ4RhabwcuzSCUdUuTgq/tuGneGZRv5mmqQqWJKQQL5Omaak9cBz0vFCoSDyPNOAQg+q6LtP5WvEyYkylVFgQnaRcO52OGgNBZ8KKb8PlxWKBTkWWaRrvvfcBr7zySslt1Dscxhm7u02+853v0G80+drX3uK//xs/z8HuAAMqXUfpiaOwbDgjxHCeVE1dGhah76twRpR8QRQqhBiGIXkWE0cbimoNBdV7xJvLeEsPDc/zrsVhYXYDggvnIu8RgnW7fdt6va50HC1VwyBefx34ivzVNE3VLEh4ImSj7/tKsCeVkrpe9gOR30vWQhCM8BDiQCTM+KTrM2EUTNNS3IFlWQpW/9iP/RjT6ZTvfOc7pGmqQgeJ/SSmEhZ2tVqVhmO9plYrIa0Us4hx2IZ2uq5zfHysqgylwEm4jE6no4qQvGZTtcOS+4pysoShdY6Ojgg3IWdnZximQLasarHVLDdQelPoMxgMmIxniuHWtNK49bplarRYZaqYRr7X4eGhUnkKyWTWHC4uLlSnp1arxa1bt7h//z7r9ZrJZMJbb72FaZo8+ui+gr0CbWVziYGdzWb0h/vKOwGKjW+1WlW7tjLsGo/HAJyfn6u+EkEQqJDs+fPn5HnOzI/YGfTJkpRZ1XBkupgzXcekuYld7/Dx0xPefWfN3bt3efurX+W/+2/+Wz7/8kskoQ+UCtYoLb2l53kcHR1xcXHBcDhkOZuXJG+WEzWbKoWXZRnddg1jbVAUGc9OnjC+ctnbH0KRMez30cnJs4STkxPFsUwmE+r1Ot1uV2WihMsh0xU/Jc5MKiBFoi8btSy8K9OaEjoIud3r9UryVy/DIOkqVhQF0+kUTSsb99ZqNXzfZzqdAmV/T6kFEg4iiiL1HaQxrmSjtkOdMlz9l9B56Y9zFcV1gZPEVcPhkI8//ljVJhiGoarMRFUnTG2SJKp5qcSBsrjFS8rrJCaUrjuSphRDIxJXyfmKhRWlmLRek4Ug3IZ8F9cuFWlZTjXpfVW4lec5QVgu1O0yVokvSy4jVykrSZvJs4gXF9h6eHio0I7j1HCsCnpmOXEYgV2QJSmWYRLlIc+fnapxE55FkJBAXxHwyGYXtlwktKZpVkVdoTK2lmUpsZikeWUhiscTGbiu65iOQ6fXJ40TLkZXtHu7vP3220wWG27ducP/849/nTe+8Bo/+7M/y3/4F36C+XRGEmxAy9ndHdJr9SpjbajvJwKePM+p11ySygtLyzrTqdFuNtCratvVasXe7oCaW1WIpmXtxSZcqmpDCQV0XVfckBhCx3TVRpOsgDgnQPFDwqHIZhVnICSuiJJEkCbaCNGMSJGbrBEhO6Vnh2QaJPPheZ5qPyAkr4jORJEq4ccnXZ8JoyCl02IhwzBULa5kYrZTL4CKoyRnvrOzo9I7WdU30TTL9u0iNZZQQyCZ5Oa73a4q7pEOQEVR8PDhQwXRXM9TElQhGaXjr5B1SZLQa/fKttujs4q5vqDb7bJYzMsQp1Z6cckknJ6e0mp2VIMXQCkFt3tICKciEDMMQ05OTrBtu+RDKqlyt9tV3MB0OlWh1507d1itVvR6PTaVrFuKaaQtXRRFqtvP3t4ehWapjS0EmtxXmp0KIrNtm1u3bqkU8HK5ZG9vTzWkWS6XaJaFYZRNWHTgo5MHFJrOm29+iQ8++ICT0xFJlvLn/9yfZTlf8Nf+6s/w7OPH+Os1+zs7zBfT0jD3usyXCzy3wdOnTxWRuTfcKbkkNNK4rJ9wXZfpdMp4tSLLM3qdDmeXl6xWK27fOsR1y/e0Gk2yJMWPSuMt4qH5fM7Z2Zmaa+AGcSdGVhCXOAqRy0saV7I2gsaEyATKdvD+dU2OaGO2pfSi1wmCgLt376oKSqUWrUKf5XKpMnm7u7tEUaT6MkroVGohPnk/fiaMgq7rPH36VFXTSRpvu9uRV21KafcudfDn5+c0K6jYbDZLqGXbPHr0iIODA2U0ZKDECgvJ6HmeamMmiEEMieM47O3tUavVWFRts6Qtm6QdV6uVgtNpmjKZTJRqsIx1U15//XUeP35EkiScPj9hOp2qhed5HoEvfRUzoqiMw2fTJyRJws7uQC1AsfoPHjxQ36PZbKpFm2UZaRxTr7I39VqNy4sLAIosY9Drqc5R0tREhE4CNSXFZZomB0d3VKZB5N/bjWDr9boixiSWlhj+4OBAGfQwDMvQqmq2cn5+wehqwqOnJxwc3yGKU17/wsu02z2+9847+Ks5Tx7dJ/R9+s02EfD89KREY3WHk5MT4jSi6bU4PDxUhsnUSmK57tbZ29tjs9koJn6+XNJoNtgslqznC9Is5f79h2w2G/Z3Ki7JreMVKMckDmBbQt9qlQVWjukyn88VcpQ1KGMpehEJCeLKSHmex9XVFfv7+6zXa77xjW8wGo2w3RrdbpfHjx+r14rjEIchXNvDhw/V31ITs1qtSoK50t1Ihk3SkaPRSK2hsvFO9In78TNhFLJKnyDx32g0otfrMZlM1IaQ+EwgrEBygXnSXSkMQ6aVGk3IMOmdkKapQhxSEiyfIZA9CAJeeeUVNamS3gyr1JHwCpPJRP1OauzjOCaISwsuPEWSRKzXaw4ODkrF4LKUqK5WK8WdjPOpSllCyXfYVk2VzYpiU4yWTLYUfW2nx7ar5yzLUm3vJfx6+PCh6iok6TBZ/OKNpLRcCCn5ufTElFblEsNK2CGEq9SwNBoN1SpvZ2eH6XSsDOI7v/cep6fP+cbbf4qsEP1Izg984+ucntzHNk2Gh/vEQchiOWPYH7C7O2S1WWO7Ncz0uuZFILVj2VV+Plbj0Gg0SijuufhhzO27d/HjCK0KC/QCkjhlPl+i5RmdfudavGVcl0Nvc017e3skYaZCI0ApY6VWQSpsf39losyFELiq+rTTVjUykp4WYns7fJBshHA6g8FAaSO2UZ0Y622id7vpiqZ/5nUKsLe3p5hyOblHPFAclyf1SP58G/JKr8U8z1Ufg6BCDVKBJiy7TIQ0MtkuCpH229uFJPP5nA8//LAUOX3ucziOw9XVFZZllem+6sCUOI5V56SdftlB9/nZs0r5168IoonK4W8rG8tQxqty4AW1WiU71stJ1o3rpqHSbEPkzkKG2bZNnmbEUcTz+eJGzLi7u8vz58+Joqg8PGbj31DWAaoIrVarqcKrdrutMjYSKu3s7Kj+DZqmcXZ2phrZStmw8C1FUSgp+nw+Lw26mdNs1JlOZ+X7BkO+9d3vcefWHeIs5R/9w9/i4OCAV++W9Sbnp8/YzJe0Gh6mXqLCg6NDWt0Oj58+YW+4c0OCHW5K8s2yLPwKpQyHwzJn71hcjSecja9oNRpM53OSJOY0TWi1X8XSNCynpjinIAhKwreqXJXMwnQ6LUVKRll5KmHDtmxZivDKvhueWsuiO9guVHvnnXfQNI2D4yPVh0LIxm3+Sz5bPs80yzNFjo6OlAZFWsRti9gkKydGQ1oQ/GGnwXwmjEJaFXlAWTIsQheRbsrgCKyyLEv1vN9ukCpwVYQkw+EQz/OYTqfKewmbLlZXioikNx7AaDS6riisKhNlYUun5v39fYVkhLSTIiNAHUYidRpywEhBpmSqUuiUxGllZLo3ZNuysYTMErZ5Gxoul0sODw/VYhHtu2yURqPB4eEhy+WS+bzkNZbLpeJTRDSzXRIttRzTaXlkmu/7qoJUoKyo6oIgUMZYdPvSOUiMDlRquzRBN6s0cp6zni8Z7hzghwHPnz/Htm2+/MUvsZk9YToZ8/z5M7rNFvWq1+aqImslnbo9n77vQ3XGZb1WxuqCIAFMHXaGAx6fPAO79PazxZzFojyxq1N1cxLeRJCBZKQAdeCO53nYRk3xUNttAgWhyPyJJkTmTfQzsjlnsxmmaTJ//31FJEr2SFCcIIXtGgf5TEG6QnhL6fs2hyaoRbgMEUt90vUvZBQ0TXsCrIAMSIui+KqmaT3gV4A7wBPg3yuKYvZHfA7rKo24Xq8VXBYvL/nhTqej0kwi3pFuQLJR8jxnMBhwenpKnpdNVvb29hTUF9JFcuniESRXL0fPiWUWWHxxcUG9Xuf4+Fid+ZDnuWqrNZ/P8X2fQbc87KSgHPynT59W5cetauKiGyFQkiRYpqMsfZ5XDVLcsjbh8vKSfr+vJjRJEnZ2yupA2eCmaaIVULMdtALSuDx3ol5zWS2WzCZlGst1arSbLZb+WpGSEqIIiSaHmkhjXCkfTpIyXSeQXI64KzmCc6XEy/Oc27dvYxhGKZaq8uthGGLkIXE2IU0T3njjDX7jN/8RR26dn/6pn+ZXfvkXuXXrFqenJ6zGT5hOp/Q6bXrNDr6/ZjabcPfuS9y7dw/brREmseKRhOPotkoSerVakSaJGq88zynSjDgrjdncD+l2OpyPLpjP54xGI9rNFrpmYBgo5axpmiwWCzqdjqofETQVrCOVMmy322ptXl5eqpSkoFjRb2zLmKFEx/P5vOz4NL0+AUz2hPABgjCLorgha47jWFX9yr6QsFGMiGTJRBOxs7NTGZ5PNyX5g0VRjLf+/3PA/1UUxV/XNO3nqv//tT/sA9yaqxRicjiIeK6iKFSXYzkGSzIHm82GxWKhat63F7dIg7ebjW7LfmVjivUX5l8mUNqAt1otpZEQ7ytxn6SrttvG5e3Sky2WMxXjaZrGkydPyknZHahFLCKqNCmt/Pn5Ba7rYRgGuzv7ZQvwyFcNVwQdie5euBa4ViZKmmob0o9GI0UkCokorcLEsG53bBISV8ZRQqP1eq3CF8mXb2s+AFX3IOlBSbHJJqk3WpyNnrG/v49hGHz+85/n3XffLcfVNNG06y5FaRQzHZXVkkdHR4xGIxabNUbNJopT9oYDJQmG667g8r0kvQqwe7DL+eiCi8mMVsvm5ORElabHUVpVqIYMdzo3PLKsCyGnhfD2V6EKuaQtXrvdZjweqw0dRZE6I0S8PqD4LjEYIioSZCHk73ZaXUhmKBvkbJfbi/ZAEKsgge1eHZJClvv+YdenET78KPCnq3//TeC3+COMQhLHpNWG1TQNvTryqt/vYxkGi0okNB1fqrp0KCFhqyOQOmY+jaqJuW7JJRay3W4zm83UQEqKabmcK6t6TZJZOI6F69bYbFakaUy93qBWFTTpQByGvPTSS5yfn5ekYhzjuS6YFpso5tnZJe12WzWktWqlCGoTaDQaXbQ8pu6WCEhztcp4XQurlqs5frCm1Wrg++uKAygN1TvvfE/lvI+PD9E0mK/nZWYhLFHAydkJnlcamJ2DHbV47LoNeaEWrvSPePb0yXXNRBjgr1eYVlkHgaahGwZoGkfHxyUxVvE5q9UKrQi5rPo99rsewWZBlgTkSYyfxBwf3y4Lkto2//dv/mMePnpGZ3CbN15+g3gV4N22yOOQZ6fPeP1Hfoj7foNXvvi1sgQ+zXDdGkkQcnZySnZ5yeHePq1Gk3SVk9kFLbtFOAu43FxS5DmDQQ+SHNOAYFMSohd5hOHY9Ns1njx9SsvK2SQZ/XaL+49PsJoD3GaLQW4TBhme18QwNPxgzWq9wK15dLtDao7L89Mx3U6Nvf2BQktyiHGv31LQ3ms4JHGmkIcUwwkXJUShpA9FBSmoV8JbQVtyzmWz7mHppaGYXpWno7lyrEBNU5kKcRrCqQnCLBHpp9dkpQB+XdO0AvgbRXmS9G5RFOcARVGca5q28we9Uds6in7QKw8k3S72kZRfv9/n/fffJ8syXn75JR48eHBDPit8gzDEpWdrq8Ne5bMkTBCvJ9kBx7kmIMWii5JNBE7SZ0DXde7evavSf5vNhpdffpnd3V2+/e1vl0ankj5/+ctfVuHK0VHZ6WdbFEQlXNku4jo8PFSxqTRRybJEISBJfQqxJWXgkv8G2N/fV5tVEMmtW7ewLIvxeEwcx/S7JS9z9+5dzs/PieOY27dvlw05qswNlJWkImDa399XRVAy3uLxkixR9QfdbpeDg31Go5HiibrdPuPxmEbT5lvf/i6G6dDdKXAcm3fffYcsjWi3m3Rbn+Mf/uZv4ftlEdXh4SEfP/yYw8NDXn/9ddB0gqoGoDBNak2P2bqEz4NBjy+8/gV0o9woy8UM27Spd1pYSYJTM8myBK/e5ODgiPPRBZfzS2y3QavR5Pz0GT/wr/0gcRyx2awIwnV5LmXFW+VZWXOyWfv4fohGqNS1aZoqsdLu7i66rqu04MJfKlXt7xcuiVZEZPWe59Hr9VgsFpycnNzImAFKAp0nqeJutrUmIsSTVLHb8JSzE85su9jq0zIK/0pRFGfVxv8NTdM+/Gd9Y7F1FP3L924X0nxC4iHZhBITClkixItc7XZbkULyoJIakvSaZVmK6BMiT4Qipqmr94maUSz7NgPcbJb56Nu3b2PbNh988IFi6q+urojjuNRFGJbqcZClKXXXwd+s1OJybJNup8XkanSjnFU8jpCVopJ0nOuzKATdSNpJUoGO46gDbeXZBEqKmEYWocDY7eP35N+SwpVYNEwLsjQm8NfEUUC71VDhUhwFWKZBv9+DPOLy8kpBUyF9BcaKwX76dESWlSdFvfrqq7z3/v1Kfh6TZymPHz1A0zPuHB0ShCGubbG7W2Yinp+eMZ5NSdOc3Z1Sfh2mCZugDB1ydOabFXmS4jU80iLFQKt0FRGGCUVxXXWpaRq3Do+w3AZXi4/Y29nl+ekJjVtDlSXQtIK6V2M4HBKFCatVQJFDu90hjhbKMErsv7Ozo05zEhJX1pSMgTgU+b8oIbeJWhHXSZGTyK6FoJY1CvxTMmZJR9q2zarKWkjVrehyVEXvJ1z/QkahKIqz6u9LTdN+Ffg6MNI0bb9CCfvA5R/1Obp2feKTZVlKtCH17FLE8fz5c5VdEKHSwcGBEh5J/L9YLJhMJhwcHGAYBrPZTPUSkME8ODjAsiwePryv8vWyiOU8P9mAJXSP1YY1TZM333yT8Xisil4Gg0FJltYtlVW4vLxUKSHZmDKp9+7dU6o34UeyLGN3d5ednR3F9sdxqH4nJd3ynURrsJ0W63a7zOdzVWDWbrcVXyBt1ybj8mzH6XTK0dGR0jIAahxM06TbLHUJ9+/f5+TkhFdeeUURpHI+ZK1WwzYdfD9QxOV8Xh7ko1FKzOU077TIGe7sM1+u+d7v/i5Pnpzw9a9/g/l8yvhqxPHeDmkaM766wLZtTp8+YbUOeenlVwiTlIPD26w2EW98+Ss8PXlGGq1p9vu4To24SBnNZrS8Oo6usX/7NkWWo00uscKQYD7F0HRcr4G1WjLo9fneu+9juXU8x+bZyROarQ61wqder9HuNJReIEkSdM2kKAyKHDodXZ0onqapIhqLolCNWMQwt1otRfQJOpVamW1eTBSNklURDkuyHdu9QQw0JSoT/qHf7yu0INycfA+pkZGam3LtfApGQdM0D9CLolhV//43gP8C+HvAfwz89ervv/tHfVZe5Ao6iZIRrpVlwn4vl5troUpF0smpTOJxS+GOUcXbx5imydXVlTo+TWSm0lRFshfbBI1MonhQCUME0p6envLbv/3bfPWrX1VGqt/vq4rI+XxOlkTEoa9Ku2WCJIxxHEf1FxSjJ0VbsrjyKj4Wmbc8g4RGIoWVCd+u0ReUJNASUAhDwjJhu0XKvVwuVVenXq9HEgX46yWNemmsQ7/sLaiTk6cxeQpx6LMMNxwdHSllaL8/UFJwIcCiKGLjB4RxSqPZ5oMPPsC2ayyXc+7ducXp00fkeZe3v/EN/s9/UB5W3u/36Q/K0On8/JIvffkrdId7xFHCrTt3IQ8UAtILcBwL07bp9npoOkRZiu24mJaDleeQZ+iGhmPZFFUzn7rXZDI/Y2cwwA/TqkQZBlbZOXk2L2sdak6dbndIUZ1teXh4qMIGgeaCAgAVGkZhpuC/hKibzUYRlsvlstzA5s0WcULOCrITQjOOYyK/bM3WbDbVGA+HQ0VEqiKsVlNVbEJZaSsh8acVPuwCv1p9uAn8YlEU/0DTtG8Df1vTtP8EOAF+4o/6IIFPUmxycHCgGoBIk8pSwDOg1WqV9QJVt6R3331XLewkSap0WckKT6dTpbKL4xjP81THIMlKmKauMhAS90uaRziITqfDaFSeUPzkyRMVwpyfn6s2cpKiOzg4IM9zLi4uVHWjdL+Bsmbji1/8ImEYlpV9y6Xq4SDtt4qiUC3rsyxRaSUJM6T4S/oHCmwUDkMau2qapmTaUVSm0A4ODmg3W0rqvD0Hot+QYi0JweSAGFFuCms/n8+ZTqc0GmXzGElNighnfDWpOhDFPHv2jA8ePSOMUv79f+fH+Jv/0/8MhsbV1Yj55JIvvPYaNdPgm3//1/nq17/G1dUVtuPy5a98nbOzc5x6m9Um4NbdFlpbZ2/vgCKPFDm3Wa357j/5NpPLK77/+7+GW6vantul+tRIC9IsxdVtGo0Wur/mzvExT09Pee3zr/D4yVPSLGcyCUjTmJpbks2aft2Oz/d90iTD90MMvUSOOzs7KlySkFdOsV6tVhi6oxSH0jhmNBop57S3t1emgZuNG3oD6Qgurd9lDQsi3s5OADx79kyFJZKhK/Tro/DEqYhC9g+RKfzzG4WiKB4DX/oDfj4BfuiP81lxFKvU0WAw4P3331dQSWoTXNflK1/5CicnJ6qsdLst1mQyUT31sqzg9u3bqtxYRETCEQjEyrIMx7FU4YywvlJcIjn6UoJdjqLEZ67rqjTj9sb+4L13aTabeG4Nre6q9vE6BXfv3mU+n3N5cc7h8S21qefzudq0kmsWCHhxccadO3cIw1ClWAeDgYo9RdM+nU5vwFUhnZ49e6ag5d27d0tthu6r0EIUmtKdWTT8EnLVajV2BqVOYqVrxGFAr9PmcH+Peq3s4NPv96nXPZUanExmN1KbksLUNIe80Pjdd95l6S/LysM0JM8yprMxk/MRtw6PGE1X/Fs/+uP8rb/1i6zWAXfuvsQP/pkf5v/91nd48vHj8rj6Z6esq6yMTilS6nUH7A13aDYa5YGvecbHH3/M1eWYllPDNnSKQk6NzqEoyJOUj957l5rXwI9C/CAiSSKarTp57lD3ypoEDQNdtwn8EMtysExDGdter6c0DHBd0JZlGflWibWEDsLLiDMLw5AovZY4l8TpQJ31KYIyCRefjp/yxhtv0Gg0+Na3vsWtW7duIGAJBYWXqtfrSsh2za998n78TCgaRRwkp+mIXl5kz1JsIwzta6+9xoMHD8pKvirdKPLSKIpYr31FAkpDFiFpNlXPPBl802yoFlXSMXcwGCiJqCCC6XSuWrlLPll6LsrBMlEUEemaar4iG1t0EaKbf/ToEaPRSMWrokBbLBbqVGwVP1bhiYQ0krKSkEJ4EpFCi/5CUMV27YLA3SSKFRsui3P7DEJphiL8guTORR0qHIcoFss6AVP1njDNiuA1rztD5XlOoemYps14NlfoJooihu02p09PeOn4NlmS4rW7/PL/8r/xfV/7On/u3/7z9Ho9fumXfgldMxmdn/HDP/zDvPvuu+zv7m01f0mp2TaWZRCHEadPT4BSvn779m1GT0+J8wzLLGshyHJM3aDdajKelyd7x0lGUmVXSp4pJU5KPcLhwTHrdYihmziOi65F6oi+fr+vxluIxe1wDrhB9AIKEQqkNx1bOSEhlWVsRd7c7Xap1+t8NJmqn0sWStYboBS0tltTnIPoVwSVf+ZLp23HVgrC0WjEvXv3ePbsmaqTl1TdBx98wJ07d7h16xZnZ2eqQlFCB8/zyLJMwXLpUeA4juqvJ9pyCRV0HRXXQRlrfe5zn1NnN4rYSTaudJTWdZ29vT0lJpKr3+uqNml5nmOZBpPJhGbD48H9jzg+PqbbadNod1XcKWnJfr8PlEZSGrgMh0N1SpHEnI8fP1axq4RZYuQEHYm6MIoi3n//fcVDdLtdyAulyhQeRlq9SXqz0WgwnYyJo5AsvRZt9brls2qGTt2tKeVikqS8/PLLCtGsViuytFClu8+fPye3hthuXXXtDsMAx9JxahYHB3sVaWlxdjXn6NZLAqZ9SwAAIABJREFU3Hv5C/yX/9V/zZ/9N3+E4XBIr93Bc2yKLOWtL72B4bbZbNZkcdlj0jJLhn2TLxgHpair1WjSqDcpgpjFrDx56mBngL2zy7Oz5xwdHXE2GrOaz6g3W6RaQlFIj4wU2ymPqndsl6IwlFEYDAbKoEt9gsyBOLeiKNCro+oAJYgSib1sTl3X0UxDCfYsy1IH0gphKMg1jmNee+01Hj16pPgvUduapnnjjM+g2j+S8pTU+qcqc/6TuqSgCMoUy0cffaS+uBShnJ+f88Ybr6uDXrrdLqenp4o4i6KIW7duVQPTUY1gpahH2PJtZVhZ2FOoDSTeUuJzOWJuZ2eH0ehKSZHT9Lohq1QqXlxclFCyfajq56VWoF6vK15EJlCq8CRlKE1di6JQhOJwOFQiFymg2iYsRaUpLdjE88rCAhTLvb+/z/3791kul8rDCokqaUNJiwZBcMPYSIpOiEtBSUJolv0dSoQxHo/ZbEp9RJrkFZIpjUrTs1kFZR/OnBwNaa+W89orr3Dy8DHHn/s89+68ws/8zE/zV37qr/CX/9O/xN/9e7/KrcMDhr0+//oP/WnCTdlDoOb1yhSjWyMLQ1Ve3djdpV67lhqLOKhm24wunqmGvqZpli3h6w5REtNut1nH/o36ABF0GYZBu91XLeDke2/rAASdSgrZsiw0LLUBt7MF8l6FKkAhQ0EJV1dXN3Qh2/0apKZGFKYSDkt4q2kam7Bc5zKngqbLGpxPvj4TRkHXNNrNsq/i4eEht44OGY/HJdlkGsynE7QiV+x+eVpvi3q9wXLhkyQLjo9v8+D+UzzP43vfe0e1zRbJryjJpJR6vV4rq9psNqvmFAuCIODhw8fcunWLi4tLDMNiNLoqm4RoGm+99RarqrfC9jFtd+/e5dGjR5xfjvE8T/X6ny3XTKZzVn4ZynitTrV4fOK4oFazcV2nakN3qyIsC1qtBpZlqhz4crlUxKnUgUhYVXrrC3S9QNdNNE3HcVza7VrVN2HB5eU/qU6XajOZlfDTrjksViWLfe9zLykptYQnha7R6nb58pe/zPPnz7l//yFWnNLwWnQafaga6fbbPSxNZzmes9PqslgtuDg/Y+/wiFXoczWb0tjfI5yv0dOUnU6HydUFb7/9Ns9PT+g0+9z/6GP6/T3c9i6Tp0/4q3/pL/OTP/7jzEfn3Nnb58/84A/RaDT4hV/4BX7qp36K2WzGgw9/h9FopHL+hmFwfHzMpCo2c73SWLquy2QygXhDbuq0Bn1qjk2z1abX63H3+CU+DB+Shhl2YfP/UfemQZJl53nec2/e3Pc9s/alu3rfZh8sMxgMYRAUF4CiqSBNAwqJhiMoR5gUzZB+MLhYP8QIh2yRtE2FJIoGuIBhahAAKZLYCAwGM4NpzNLd02vtW1bu+77cvNc/Tp4zPTQIMCxLMcqIierKqa7qyrz3nPN93/s+b6c3IndcIRgO4PKHCXpDWE4Y2wMcLihXD+j3gop8XS1XGA2GTEcTXIaBNpnSqTWU8QvEjelxiimWbY7QbROXw2Bqjgj63LQGI1VOgJggyHKh3RYjXqmvKJVKaqKwtLSkHLTyJCH7CKYtvD+yv+FwOEilUqIsnJ00v9vjPbEoyJGdXJnlCyOP4LITPh6P1J/fmfuKScK6a51QKEShUFB1cDQaxev1KhpRMBhUu53UnMufI3sIiUSCQqFAJBKhWCwqebR0NcqLT/49aQ+WfQq5a8j6Tk4N5BsjVWnyNCF3BzlqlF8nTVqySSR3F8lI8Hg8FAoF9TEcjqipijySyh0LUCeah5WfshchEWJyZCln5aFQiGq1yp07dxQ4pVKp0Gq1cLu9SksytcxZIywIukYqlSaaSNDqCsXlpNWhWCzy6Pn38c2XvkEoFCCRSHB4eMhkPFSl3/r6Op/85Cd57fXX6PV6XL9+XTESX3jhBbLZLD/5kz+p+BiFQoFarcby8jKWZZHL5ZSUXYq4pF9DNpelvHs46L/rd1XsBEvM9buTvjqeD4dDAk7hIXDwTq7kYDBQkxa3242hO97lldA0je5wIPQl1pSpPUMNplOiCatpDPpDpUuQWZ6yNPR6vepEI0VlAN1WWwmb5PsmexTya+RrIP/9gGIsaJqG9l7vKciFwO12s7+/r5iA0gsha9zRWByHptMpumYQj8cwzakIejE0AkEPg/2OUj/COzf8eDxWXAF5w8j/pOtPglNisRh7e3tqvCYdc8PhkLt376qsS9kAlMw/2aCU4yKn06mapnJ0KG/yyWSkbnR5UTUaDfWz5AUsa8D5+XmSySSlUonRaKT6GcFgkFarpTrVgLLzOhwO0uk06+vrGIah0qWTyaT6d0rZtPyZEmsvOt5DIhFxE3Q6HXK5HG63WyHn5THb4TCI+cXC1+m0BBtjNGQ0maLhoFptEgrHefXVV/nYxz7GN7/5DeZWFimXyywsLJBMJPE43ZRKJfb29vjN3/xNPvCBD5DNZvn0pz/NZz/7WR555BHW1ta4fv06mUyGt956i0wqwcWLl1UZ9uyzzzGdTnnw4IESw43HUkswxJraxGIJokEfmg29VJ9KpUan02N1ZY3s/ALtXptiscD20S6Gw0WpVMLtcbFgzBFJJ9FtS2QzGgb+WckbDoUUIq/TauN4aJPwh98RL8mE9NXVVZVE1mw28fl8ZBaWlSs3Ho8rvYsE5cq+j6Zp2DOEoCwTAFWiSBn9eDxmfmlRIeRl83l3d1csEt+jp+D4tV/7tf9U9/rf+vFb//J/+7VnnnwEl8tFIpFQARyRSIRgMChELPE4pXKeWq3KaDQU+PRKCa/HS6/Xne3gOpcvX6JUKiv0mtwx9vb2gHci3qW4RrrvKpWK6p7L5mKxWKRSqVCr1VhfX2d3d5dHHnmEZrPJwsKCcs3J0FcZhCsnBvV6nd3dXSqVijqZyP5FNBpRx3QQpUiz2SSdTuP1ehUuTY5LJUBDjkDb7bZi8gkB10BNAyQDIpFI0G63lWBFKtvAVlZeuVM+3D2Xx9BAwK8clCLaXkhuB/0h4/FE1amxaIxWW4jBXB4XO7u7aLrBSaFMrdHGRKdYrKCZ0O60qNWqtJp1KpUKiXgMw+HE0B3Uag3u3L5Lt9fl7NmzSsj23HPP4Xa72d7eVqK00WjERz/2USKxKD6/H4/PS7ffw7SmBMMhhqMRU8vC6/cRCAWxLZt6vcbNN99As8G2oFqtEQiEsNFEzoCmc+bcGUxzynE+jz/gw+l2MZ417EbDPsP+EI/bSyQWJRgIEovFcEtWotvDcDTCoTuYmCadbpfRxMTpcuPxeNEdBl6fH90hSjxdd+APBAmFI2Tm5pT+QE7jZB9HcjCkPiQ5Q85Lb4vH4yGbzSoBmtz4mDXTpZtTTkacTifXb7zNz//jX/z173Y/vidOCvJmkeM1Wb9L4YZ0oQWDQdFncLnw+4MMh0MuX7480yiMFQtA7rKSgSiR1+FwWIluJJX44emB3NFNU2Qk5HI5lpaW3iUSuXz5MicnJ2o6EYvFyOfz+P1+0uk00WiUk5MTBbeQ6DU5EZA7mNyppTpT3mDy9YhEIupzCU7x+/2KOSi1F/K4KssaSQCWJRigXkN5sbjd7+QWSm+J1BjI104ePyVRSJQ3YoGKRuL4fAE1PWlYdQXJdblcaLrB8fExhWqTydTGFQgzHJvkcjmWjUUis55COp3GMER3f2l+kXpdGKpsXTSSP/rRj5LJZPj2t7/N5uYmfr9f9Td+8Ed+hNe+9S0l95aNz0ajwfLyMoOBmBAtLS0Jh2Krjc8XwOvxq5OnUAhOMM0pCwtLlCs1lpdW1Xth2xrVaoXQzPMx6I/QvW6BQPO4qTcbjM2JkFmPx3THXSUQcmgC/uKfLaQC8x9SJ2DZtJblsJSWy4X5YRirEIgF1N+X43WpuJWLgywPZNPx+PhYjZFln0GWlvK6+W6P98hJ4X/9tY8885R6UeSbK19MqdaKxqM0Gk3G4wkaDnw+P81mi16vz2AwYm5unnqthdvtIpvNMhyKDAaZa9hut1X8vPRJHBwc4PF4qNVqajSZSqWUAEjeILlcTo0o5ThSoNUFou3MmTPcvHmTcrmsfA9yVi2bgnL02O12OTnJqfovmUwSDodVEK6cBMjvPR6PlRZjfn5eBYDouq76EG63EM7IbAzbthUcdG5uTs2lxQLQUyOxxcVFJZAxTVNNPKQgq1KpKuLTuXPnxZ9Ni4sXLxEIBCiXy6SyaarV0szyLWS/3d6AertHoVjFF4rS6Q7xGk7M6YRQKMhoKPokPq+HpcVlTo5zuFwehsMRP/ixH2Q0GnHq1Cn+5E/+hIWFBd7//vfj8/l4+eWXxekxEmFuYRGfP8Dc/ALzp07hchhYNqyfOoXP7ycWjxNMp9A8bhymxcbGaTrNFulEEnNiAhqhYIRgMEKxXMK2odvvUiyWmNhToYD0+6jX6/hmY0aX00m/16c77GFrYE4mDGZ4OjQBCXZ7ZrGBUxPN6aY/GBIMhylXqzRaLWLxBGg6lWoNc2rhdLvZ29ujXq+rk8LDzUNJtpKLeLPRUCe9drutTgEPTyJcLhe2Jnoby8vL7yo1dF3n5etv8gu/+D+9d08KsraXN4NhGOomkSaibrfLZOrG7wvicnqYTi1sG1wuQWuajKf0ugM0zaEkqXJXVQafaFQpFiU5+s6dO5w7d45ut6uEO0tLS8o2LFV5ciwlm32TyYRkMkmhUGD6EE5O/j955AOUSEjKXaU+QHodZA0oQS1yl5caDYmeLxaLilAld4N2uw2Arj9M6h0qaezDDEtZe8sYeenwrNVqAGrOLX0VDof+rrJCshkl3k42BzVD0Id0xHG1VK4SDIYZ5sqARqvZYTLrlsvfUwJgZVZCIZenUKhw4fwlajXBs3zzzTd5/vnn2dvbYzQasbm5ybPPPsvCwgK3bt0ilckqV6A1GzmfOnVKKF1jMcbDIbWc6CPNZTPcuXVLWMsHPUXjcru8DIYTpmhMLai36ty+fZuJPqVar+ENeXE6BWAlEAiAJXZmyyGa4pNZf8rpEP0l/aFd3+v1Mpk1i3O5nDoVtttt1SuQjVSpS5HXmNy4ZBNbXmPNZhPdRgnk5P0iF31Zpsp+18NCNrmhyTHz3/R4T5wU/o/f/s1f+9GPfhjbtoVIZYatvn//vrKk1ut1XG4vGk503clgMELTnJgTi/F4ynRqU6006XX7uD2ibkokEu+ISGbwknQ6TSQSodPp0Ol0WF9fV6VFrVZTxGj5AkoLq2ysyZtbqh2LxSKLi4scHBwoSXav16NarTKZTFRpIpV3csGr12tKESebiVLFOJqh0CeTCbVaTV2Q8uQkfRbJZFLdXL2eMFbJi00qJGVHWmYROhwOrl27qgAsUiMiL1C5qNXrdUajoWpCiqmG6GQnEyk6na4SiMWSUQaDoepqe9xe/KEQN27dJZcvEklm2D845tFLl6jWKgwGfYYD4XMxHDoH+4dEQmHOnj3PhQsXcXlcJJNJUqkUh4eH9Pt9rl+/TiwWY3FxEU0TixAOF+1OFxsNl9uD2+PF6w+geV3YE4vhaIzDcOL2eHFMbSbmmKX5BdrNJn6vH7fLw9HRMUfHOSzA7fbwrZe/xdLSMmPLxGHo5ItFUikxXtawGQ1GeL0+TEwMx4xzCaSSSXx+Hw6HgTmdYllTNF3D6fYRCofJZLO43G48Xi+RaBRN14nHE0wmJv3BgPFDDl4pYX8YOSinRaFQCH3WK5hMJgqpLz07ctLg8XhwedxKOzEcDtUG5/P5+MYr1/kff+EX3rsnBSnOkMKNer2uZrNylfP5fGg4cLkcaJoDy2oxGo2ZjMXNZGMzGHQxTYtFV0odw2TNKV84+bwcW8rewcOlS6lUUl19eXqROYwPh9devXpVhdKm02mF3g4EAiqyToatSnFWo9EgFAoRj8eVmlFKrzVNI5VKqWh62xYhu3IxAtQCJ0VbIBkB72Dq5K7QmB0z5e8t/04iERPmHtNUElk5tpPyZ+H3MHG7PWo6IqXn4rV0KjVjo1tn0OvjmoFOHbqTQr5Ic/b6OXSD0QxOK157U43L/H4/45GY1GxtbbEwv4Q+1pWCVOYgfPzjH+fg4OBdsmHDKSTxD58Kg8Eg/X6f+fn5d8aPwyGVXI54PM4f/dEf8eiVS4pIlEgk0B1utnb2OD7ZVjdfvV7H6/Mpc5nApYGNrZrXmkPHoTtUv0DSsmu1Gq1GYyaX7iukvrSoy2Zfq9VSPpbRUGxGEs4CqD6PFLs9POaW5ePDpaQ8Fcv+ksfvU6NO+XrLa/89732QjTNpHy6Xywqt/TCAst0RxqfhcMh4JLzhtWZDKNG64gUcDEbkcjnVaZdzXnm0lm+gXD2/+c1vMj8/r/wL8k0DmJ+fV6anfD6vduZms8nKygq3b99mNBqRSCQAlGPS5/ORTqdptVqK2ZdKpXC73ZycnJDP50kkYsrwJS23kiUhzSuj0Yj9/X1AmI7+elkjLbvhcJhMZk7p6H0+H8vLyywuLtLpdFRAjbyAisUi9XpdzdvltEday6UMt9831bxdvkfBYBCHLgRdUhJt26KGdczq2vMXr2LhwOl0kUikKJfLZLNZyuXyzOk3QLNNdUM/+cTT3HjjLX7xF/8JhXyJWFJY6D/zmc/woQ99iEKhwCuvvMLS0hJ/+qd/SjAY5JFHHuH1G6+ysbHB5cuX1cIAvMswJj0fyWRSvVbC/i03gDLDoQjsKVdrzM0t8Pbbb2MZtrrJup0+c3NrtJp1fG7hMRkMB0q1OB6JCIJGo4HXLco2yVC0ddEvkBoQOWHL5XIkk0ll8OvP7NRSMXr+/HlFkq5UKliWpezummUrPwugfm952pMp4ZIWLRdLSTOTPae/6fGeWBQ0TWdj4zy1Wo2trT1aLVFTLy2tzTT5YqfLziUIhd3E43E2d7aEky+iM7J6TJ1T0qlFdM3B9uZd1a2X5pJ4PE4sIjrz/W4f09QI+OJEfDo+l1t0eIPCV3Dl6iUCoRC9fodoWJQfXiOMzxUgHA4S9As+YTKTxJxO8cfE8a7b6xEJBYVlVvORTacY9nuEw2GuXr4koCZzWR48eCDgLENRJsgFoN/vk4jF6bY77O3skkqliEWiKpil0xKNUKfDIODzq4shnzth0BMqTXmkl00peRP4vR4sc0IiJoRKrpRTdf4nozEBnx+/14fP66PX6TI/P4/bK0Jrp1MTTQOPx0mvJxSQDsNkPOmIxdcbYtDtYY6nnF47h8fh4e7b99GwCQW9pBfnSM9l+cqffhkbyBdKrKysUK7WWD99lm9885v8xE/8BJphUWsVSSxH2bz/gNMX1jkuHnHu/DkODnLYGjjdHtyeAK12n2c/+H56vR5vvPZtgsEgmcycKIdcXqyJ4Gg2a4JZ0R8IcEsyGafVEZqRdDyBZdkU8wVKuX3iPoOdcpneqIbbGabRbWLpBp6Qn6N8Aa9Lw+dxMBq3ifqihNwhBVlp1jviJGVNiMcTVCoV/H4HXveY5YX0bKQoiMyjfouA14DpkHjEPzt5hTjJ5wnPYC2j8ZhUOo1lWayurfG1r32NZz/0IVHaVQqqx2NOh/gDbrJzSYDZQiMakHJCpuv6uxaOh5uO3+3xN8ua/jM+9Jk8NZvNKrWa1JJLx6A8ng8GA7V7yiOTbETKkWRvOEIznNi6QzSQ0CiUK1TqDTTDiTcQZGLZtLo9BhOL3sik1mrT7vVYXluj1RF5CocHx6p08fk8uA0HwaCfZDKuxntej4eA14dTdzCaHUkBVTLIHoOk9DxsipEnkod7FXKRkM0i+eYJT0FP+elBXAAyZk827yRxSY5w5VFXlhEP48AkOl5OXaRfXx4/M5kssVicTqeLy+VmOBwxGo3pdLqY5hTLsplOLaX3l7kRd+7cETdIf6hCfubmF1WJtLq6isPh4Pz58woRVqlUuH37Npqm8e1XXuX69escHx/z0z/90zSbTZy6gzt37vDoo4/y1NNPkEwk2L5/j2a1QjoZJx6JEvB6iEeimOaE0bDPaCwIzePxUAXpSCx8NpsF3gH5jEYC+qtZNi5DMAdGgyHjwRBrOqHdbKLZzMbmTiWhl/oS+fvL5+RYUYrKpENR9nceJjvLvo/slUh/xOHhoRK0ra6uUi6XFdE8Ho+r9zoSiahmoxxLSviObF5KhJu06r/nTwrYNru727PjqJtIZGEWXlLHMHQqlZKi3rrdbrLZLNWGaMDpgyHBYJT+cMJJ7oR2q4M/FMXl9VKbqfocre7MMXnCmzdvK+iE0+lkZx9cbieJaIT5aFpo9pMJNN3N2JySCgoBVSKaIJVKiaNX3yQS9DMxp3S7PQZdkbbsdbtpN9tcuHCB7e1t1UWPRCIcHQm6ssxxkCITGSgjjuG2cFQGgzz66KOMx2O2t7cV/l4KpcrlsmqISrBHp9MhlUopOrOmCZ6lNH9JkZRgNBRV81IeJWXdK4/htVqNZluIXtbW1pQxR5Zd8mILBoPYmhPTtJhM2jjdAr/e6Q146qmnePnbr3Hpscf4jd/4DZaSc0rVl0wmCYVCKqj25s2bPP/cc9Trdd737AfZ2dnjAx/4AH/4+7/Pk08+ycu7r/D888+z8+A+w4UFGvUWS8mocGDWawRCIeoFD2NzwvziMh6fX8BaGdEdNKlXhK/m2rVruAwng1nO5GAwwDUbIQ7GY0aDMfFIFEt3clw9wASSkRDJ+XmqlSKWy0nP28WaGu8Sfs3NxEcy01EyE+QESKg9OyqLUhrOQDQFo/EkumYTDgXwet6xUVuWRa/bJhoJcef2LXHT20LRKL+XnGhJj4ymaaKEcojGtRwvy6Rqqa79mx7viUVBjiOFBVf4D2TDTdbOsj7KZFJCszDjAVa2tvF6RSe3URdNJVvTMS0bl8erLvT+cARooDuo1htMKyJPYGJDv9PGH/ASjsXRHS7yJWG8SsSTeDw+NM1BpVyk3Xkn/luQi2Oz0eCs8WSJcVS5XFY3j/g3Z9SbIbkQspNs2/a7cHJyl5bGJ/mzpFtUKtkkoUcaxCRsNhqNKtafnGrIDIvRaKQUjg6HQ8me5XjS7/crOrBpmuSLBWKxGOnZMVZi3WQCtlxABmNYmKVUjUemGs/6AiK1Shq3ut0ui4tC3ry8vEylUhLH4MGA5557Tkmtv/rVr7KxscHnP/95Lp2/yP7+Po8//jjdVptMKonTYTAZD3Fr4Hca+NyCkTi/tITu8YgAnLbYELw+NxErxKAtdmCnQ4h8xrOFTXboez2hO/C4XFSrdYrVE8LBEMPxCCwbHY1Bt4cR8Cm3o9zhH4aiyhNePB7H7XZTLOYVI2QymSh5vOwHSTCLXChrtZra9eXoMpFIiJJ0NtJ0OjQ1WZLvlQSy9no95ufnhZq1O1SN1+FwSCqVUgv693q8JxaF4XDA8fEhp0+fZjIZUamU1E1vmmOeeuoJYfqJRiiXBb8xGBFjt8uXL/PgwY5SFY6NCflqE7PdU8wAaZ3N5/MUi0UikQiJRIJGp8/pC1e4d/c2nUafncMTKsUCg14Tv9fNtUsXWFk2CAR0rEmPfLEAwGQ8JT2XFeISS3gzXIZoanZazZmLUzj01tbWAIHLWlhYUPoCyRmYTCZKXNJut9na2sLj8XDp0iVMUzAKyuWymnpIYIbkIMTjcdXM7Pf7ahzZ6XQ4OTkhnU6LC962icfjBINBNfItFApqLCrBo4BSao4mJpPJlJ2dPd73vveRz+dVv6LbFYIx0Jmby+APBDncP6LfLzK1NZxuN1/60leIJJKsrp/ia994kUa3QSaVJBgMcuPGDXRN0KiS8QUlhLp16xYf/PCHhIhKd+B0GFw+dwFrOqVcLNFrizyQs2srtE9ydLpdguEQls/N0f4uU9siFIuTzSRw+n2U8nm63Sb7u3ssLi7iPXde/M6znVvTNFqdNs12S5SvvTHnz5ylWn0Z3TRZnZ+nXq/Snw5ZX1mdZXzYTLWh0lhIFa20ostydzKZUMybarGt1wXPQdrWY7GYam6//NKLPP300xg6xKNh8vm8GD/XKsQiISxzzNmNUyr+UMqgk8mkmhpFo1E6nQ77+/vkcjlSmQU1Fvd6vTQaDcUe/V6P90ZPYTZaqdVqavWVs/5Go8Hx8TH1ev1dEXHlchmZl7e6uqrqueFwSKvdptVuMzFNnC4X5UqFGzdvcpLP4/P7qdXrtDsdVlZX+fZ3XmfjzDkuXbrMm2/dxOnxEk+keenl1yiUqty9t8mtt+/icHpZWlkjlZljbnER05yytLgyc0m6yefzKtBWEpWr1SrNZpNKpaIkyxICK2tbad+WUw0JWjk6OuLBgwfU63USiYSCrcg6UuokyuWyOrqGQiH29/cpFosKmjIYDEgmk6yurqpa0+v1Uq/XiUajxGIx5ubmWFpaIhwOqylFs9kkm80qPPnm5qYSVcn+SL/fJxaLkUinKZVKMxKWKFu2t7cZT8REJZ/PY1lw6tQput0u0WiUaDTKlStXcLmE+vSVV17BsixOnTpFvzfg5W+9gq47uHr1Clvbm4wGAzrNJsGAn/XlZarlEoahk82kSCdTGJqOz+0hEYuTTKVwul1Men28M19AKBBAmy16Ur4tNSPtdptoPE57Np2q1RrEI1EW5+bxul3YlonX5abZaNHvDegPBiLHYjbNefi0Jl+jhyGp5XJZjcRTqRSxWIxMJkO/3+fg4IDhcKjk2FLrMhqN1Fg1n8+rsag078XjcVUGyx6F7CmlUuI0XalU3oXylxJ2MR5/j5cPlmXR7XUIG2Echk6311FHIofDg2VPcRi6gkj4/X4Gs+bRxJyi68J6WizUqdca1KpVdbzVNI3gQ29ePp8nlUrx3Ic+BEAo4OHLX/pzUR97PZSKRTbW11g/dYZvvfo6xkxEUms8w8bGhlIhYll85/UbjMYDqvUGk9GYCxcu4HCKmyaVShEOh9nZ2SEcFit/tSokw6dOnSIcDrO/v692eF3XCYfDisrb6XTMT9JQAAAgAElEQVRUmo+u64r0807mpKVuYLngdDodSqWS0h7Io60cs4odvqsQdpIo3Ov1uHnzpjKQeTwe4vE4xVINt8tLIu6k2Wjj9/vJHefFotc4xqE7aTU7nJTvkEql2D84ot5oUSyX6Q1EX8Pj9TMam3zwQ8/y0p//JafWVtXv1Ov1aDabnDm9jsvl4uDggNOnT+N0uSicnPAPP/X3efXllzm7cYbd7U1Ora3z9ls3aFfLhINBnG4vDsum0qyTzmZIbWwwqlXBshl1Rd7BsD8Q2pBAkEgojGVOldHIAmxNw+314nAaXH/lZZrtjlJa+vweBoMuqXicRreNLxRCNxy0egNCYT+1Wk0Rw5xOJ2+//bYqL+UoXDpnI5GIKtPkBjg3N8fW1hY7Ozvo2NhTU210kVCQk+MjdE1jNJilWfe6BAIBhSGUqlK/X/xb5DUhnba5fJlKpaJOgKlUilarNeszvccbjTbvZBhKsKQk4tq2rSSg+XwesN7JGjSFuKbTERSiWq1G/qRAq9VV38/hcGCORyTSadFcmYoO+b3bbxONRjm1mEGf9CkWi9iWiW5bHB4e0+/3ef/T7+P+/U3qrRF/9uVX0L/8KtceucSptVWuXLqI2+8nk0pTzB+zsChYA4tp4TPI5XKMx2OV2CShL1KlWK1WVXLU0dER6XSaK1euUK/XVT7m0tKSmn7IutflcpHP5wmFQjQaDSVK0XVd7QzyyDiZTFhcXKRQKHB0dKRAtw8ePFCIOynsikaj7O3tKQr2eDym3RnNRExTvF4/R0c5lT1x+vRphcvzRNzkcnm2tnYo5E5YO3WGyGRKpdXh1Vdf5Xd+93f5+z/7s8QMJycnJ4oP0ahX1cj02rVr7O3scO/ePZ778Ef4gR/4Ab74xS+iTacY6ER9PnRrSrteIeh24ovFuLW1yeOPP040mqQ3noCm447EqReLuN1eBr0hw+4Yj+ETCLp2R6R8z66BQqGA0+mk2W6xv7/Pzv4e5tSm22mRTcbRNJvRWPRjYrEIIxt6ozGpuSTmpK8Edw8bmcbjsdKqpFIppTLVdZ3d3d13cTAbjQYbGxvCdzJjhUhrvSwJ5Nc9zNpIJBJKFCf7RTK7U+pxZLNTfpSiJenElFOy7/Z4TywKhsPBcNinMktNksGu8heSN4ZQ9b0Tzy2Px4AiEo/HY3TNRsMCe4rhMAgFw3Q7LdVg8/s8DPpdDIdGcSePaU7xeVz4vH4CgRCDwYjz5y7y0rdewel0EYsnGIwm2JrG3bs7nOTLWNhcOH+aTq/LeGpiaxqaZquxkTRVyRwF+bNlN3pubk6VPNJHL3f0hxWPUnAlTwjSQZlIJJTxSu5MpmkSjUaVpbrb7bK0tKQaf4Ay2cjGWLVaZTAYUCqV1PhM6uglqUrmSxwdHSkgiDRpHR8fY7nctLsC8a4ZooHp8wdFOE0iSbsrVJ5Hu9tcOX8Rr9dLNpvlJHckUPAzSbjcwUulEk888QQ/+F99lL2tLV751ss8+xOfEAKmhUWcuoNUMsGPXr5Ms9nG4w/gnE7ZvHGTWCxGMpkG3QCPB/J5Wq0Wp0+fFv2WaAzDnLDi9eKZLRCtTptOv8fZyVn2DnPiGrQtugPpQ7HwRkLoFljYIkfCpSlJ+sPN2mg0qk4Jov5PK+Buu90mm82q06EUEw0GAyKhoDrdSqxeIBBQpY5kIoxGIyazMfBkMlENbfm1gOoZSEK5vK4kMv6/CHCrwyGOzoFAQOUlyNFOIBBQtXcgaNBo1JTJwzRNTp86xeHhCXatKZpVpQqDmYRXx8tU1xj0ROfc5xE0I3M8QrP92FOTZ55+guOTAoeHh9iWSa/bxh+IsLm5yT/42f+emzffptfrUag0MEdDOoMR9dYxxWKe+xdPEY9GuHzpDOVqiYX5LL1OVzUTJXI7Go0q66u8QHK5HIuLi7jdbgEamanbJHVJ1vVSvisbSpPJhCtXrmDbNtevX1dZmQsLC4r/WCgU1CJkGAbz8/Pq4pE6gaOjI5VRISXU8kLt9/vcuHGDcCSlQCyDwQC/369cpfF4XL1HuVye1157DZfhZmpa6JqTfEEkXXsCbhVXv7YksiszmYw6yXU6HVqtFoeHh7gMg6eeeorHn3iSF154gblsGsOy+dEf/iHe+M7rjAZDYXvXNazphN3jY3ETBvzYU4uN7AKa10u/XMMXCGC1utTKYuR7cnxMeWYuarZbtDptTgoF8sUCr7/1JolEQpxEdR2H06DVatDrNhkN2jg9bnq5HNmVVVweD+VqhUmvoRZmucjGYjHi8TjJZJJ4PM5gMKBcLqmbXO7ivZ4wZBUKBbLZLOl0mkLuiN5Mh5NIJOh22oxmjEW3y0mtWuHpp5/G7Xbz1q3bpNNp5Y14mBotQ2Pcbje1RkellC0uLpJMJhX38XtNIL5vo1HTtH+naVpZ07Q7Dz0X0zTtq5qmbc8+RmfPa5qm/ZamaTuapr2tadojf5tFQdcdvP/pD9JudtExsExwaE5SiQyWCUsLK+ztHDAcjDEcHgyXj3ZrgMcbYjSa4nA6CQS8NNoFBpM6Y8vE0mE0ndAd9ukN+soR2Ot00AGnw4HH5WI8HDEZ9HEbTiaDHvVamcLJHoYx4Q8++3/SbByztBhlORvh4rlV1pbm8Hs82JaDQr7D9e88YP+wR6vj5dadKt5ghN7IpDucMBpbnD1/gUqlhtPpptftEvD7SSYSaLqLqaVjazq7+wd8/cVvsLu/S2/YIT2XZPdgk73DLTTNQaPRot8XPIPhcMz29i71ehOXyyM4le0ut+/eo9Fqs7O3T384IpXJohtOmu0OtUYTp9uDren4AkEO8xWiqXkKlTomDsbmFK8/wOHhoRj/TsbUqhXq3TKbe/eotirE0nGcXi/lepN2z2RzJ8dk6qFUGdJotplaGol0mv38MX1zTHPQpVwt0em0WF9aIBONMDYtsksL1DsNvEEHtXYRzRhhaibNTou5pTVu3dnm1Re/QjoewGXYrJ8/zY0Hd+liUR4O6No624UK9aHN6noG6OPUJgR8TjRtCp02HiaMKidY3RIR5wB9UMIRDuEIhxg5dIxAAM3tod0fMJnaJBNpPG4fve6AevmYqTnA6QvRGE4ZuyOYRgivP4I2HjEf8qE1TnDqohR1YBPwuUglInhcEA66MfQJ9rSP36sr74p0xUqQrlyEJXHM5fVjuL0EwlEGYxOHy4OtG4RjCVrdPstrp/AFwzg9PsLhMK1WC8Mw1JRD2vxlTEAmk8HrduB1O5jLJDg62KFWKWCZQyzze5OX/jYnhf8L+N+Bzz703D8F/sq27d/QNO2fzj7/J8DHgNOz/54Efmf28Xs+3G43R0dHBINBgsEge3t7OJ1OyuUy586d4/j4WGCt94+V6s8wDJwOQ8VnHRwcKIONLCkmkwk6GpZjiqELTHt0FgM+7A+YjMZMzQGgEwqFiEQiDCcmhsPJcDxiOrWVnNTjdbG4NM/NmxVabbFLnL9wFsuy+PO/+DPOnj3L4uIi33jxkGtXrhIIiIToaqXO3MI8TsNBMBah027R6XTwB7wMhr0ZlUkc/3/kR36Yra0t7t65T7Ek5tuHh4csLy9zeHhIu92mXC4znYqQE8mfPDg4AF1AaWQOpq7rLCwsqCnIyckJ165do1wus762ojQGmUyG+/fvUy6XSaTSGC43hmUTjMS4e39LjIJDcSZTjeFggi8QIhSJcn9zG1tzzvDmPSKRCNlsFtvSODk5YTieKCWlIkxZmjop1WYlTbXeEI02hyH6CF/4Mza3t9A0jctXrnF0dMRwOOSll17ip//eT3P7jRtEZtzMzq260B7gxKE7CXnFzXL9tdfweQx6nTYfeu6DzC0uELBdSuE3nYzIpBLcvzul1aiRTQsX5NXLF2l0BNNgMJ5Qa4pG76DXw556adZLPPn4o9TrVXzRJIGA2JHjsSRnz20odeN0OqVarRKLxQiFoip4Vr4Wksshd/SbN29ycnKC0+lkbW1NCcPk9ZxIJLBtm7t376opVTAoyrNyuawiCw4ODpTOREYgLCws0O122djYYGtri0QiIaYP/zGGKNu2X9I0beWvPf1jwIdmf/4M8OJsUfgx4LO2KG5e0zQtos3CZr/Pz6BWq7GysqLkt9ISCqibPBgUtKV+v6+aKlvb25w/fx7DMCgVinT7PSxLGEUeRlKFQ2GYhZtg2cpcsrwyRygUYTqbvfeGA6qVGgFsTp3a4N79+9y6dYuVlTWazTof+cjzXL16ma9+9avcvPkWHo+HjY1TbG9vcuPGmzz7vsd49bXrfPD97xNKsmGPCxcugC1uEgFvmTIYDonF5tE0W8FYisUS+byAxkbCImAkFhYqxcPDQ+bn5+nNlHiTiYh/lwxIj8/7rgCRdrutmlwyQ0DyGhwOB8N+H49LyF4zmQx3797F6QnQaIsSYopBs9XBnGr0B0Mq1QaDgcg/SGfnGE9sKtW6ilIfj8eUS9UZIl803ZyGW5U8k4nIe5zaFqY1pd3uMhybxKJRpqatVJ7FYpGQF1ZWViiUS4xmo8Nf+qVf4nN/8Ic8+9QHWVlexjAMktEgGg567Q7D4ZiG3qRWq80AIza98ZBWu0t/OMB0+Mlm0gD0e10G/R4Bvw9sC2tq4jQcJOIxkqkIx/kCuUIRt9s9Q9q1cDps4pmk6vHIa7PXE/Jwt8dJKpVSidPS0SjDV+RUQYqW+v0+8XhcsRRkboNsDkqHayqVUorVUCjEyiwtzLIsBQeyLEuV2FJ1KonikhAtYUHJZFLIzf8TjCTT8ka3Rbp0avb8PHD80NflZs/9vxYFTdM+DXwaIBmPcvHiRdWEu3v3rlocJM76jTfeIJnKCPXYqE8mlWAwGnH54gViiTgej4vDo6e4c+cOR4ciH8GYNYBCwSCGruH2+nA7xYLRaNSZjEYUijmhKtMEaWlqw8LCAvOLS4xGI5544imy2Szj8ZCVlRU+97nPcXJywjPPfEA1Qb/2ta/NVHsu3rxxh1DAR63aIpmM89ijV2g0WtTqBS6ev8Cdu7dIpRIsLi6oBp5QCmocHBzh9wdF88wdYDyaEAmLpl6321UCpkgkQjKZVN4Qh8OBwylYfcfHxyq9OxaL8eSTT/Lqq68Sj8fZ29sjk8nQazdxYLGwsMxffOkrPPb4kzQ6PfoTm3K1xuLyKl/88tcxx8NZA61PpdrBtjTi8ST37m+zuLBMp9MhGksS0fy8+cYN0qksn/rUp/jMZ34fTXMQT8QZmWJyIbgPQpvR7Qbp9vrYtk7+pMzp0xt8+MM/wO/8q39Fvd7kfY9foVpv0u33GIxnmYmf/zzr6+vcevsG5mSE2R+yvrqAy+XizJnz+N1BavUm7XaH7qDPX37lL7l27Qq397bodrusZJeJBsVMX6ZztesVQj43GlN0Q6N0ckQ0HSfg9TCdjFmcn2NsCrhJIhmjXKlQrdpgmXiC0YeSuyaUihUVZCRNaYPBkO3tbTW2NAxDidok6UrmMCwsLCg4rs/nU7xQufmFQuLkeevWLYB30cOlGM3lctFsNpVydmVlhUKhoCZT0WiUUqkktDLWf77pw3dbfr5r8WLb9r8G/jXA2dNr9urVq3znq18VlN5Mhrm5OcWpazSEPboza8R0Oh2uXLvKdDohk03NEqTB5dDxOA1cbvFrOTQNXbNxYDMc9LAtE3MoZtDhUIipz4NpQbfTFQjuqQW6jtPpxtZ0vB4/sUQcv9/P/Qe32dvfIZGMEY2FefmVl6hWq5w9e5bnf+A5CoUC586dY3/rmPsP7rK9e0CtVid3csTK0iLnz57mm996mXQ6gWlalEolptMp6+vrjEbv4Od0zaDd6tNuNRSivlAoKJvx6uoqtVqNYrHIysqKQo2nwoIPWS6XSSaT6ij7pS99Se3CJycnIicCi5OTE6KJFIbTzQtf+AJv3bqD1x9Ed3nYPirS6A5xztx6S0tzMwaAsJ37vAHypRLz8/MMxiNajQrPPfccb711E81wks3O0+v3yWTm6PR7uF0eNHQGgx7D8ZjRZMpkMsXpdKE5TH7khz/BH//xH2NaU8LhIPe2tgiHw+TyJzz55BP0+30q1So3btzg4vop3nz9Oh/7yEeJBYXlu1lvMRiO+fqL32T/+JB/8On/jtYXP8+t+/e5s3ufQCjEretv8MyzH8DXc+FxG7zxxhvcvPEGS0tLLC4tsbOzQ7GQIxj2k82kqDaazC8tc/311xmORSZnMi5Om16PayZZ7qlJQ683IBIRXg6v10urJazp6+un2dnZURZomRwtmQ9ra2tYlsXx8TGRSIRMJqOER1LOL0s96Y/xeATjQobblstlMpmMamZLZmOpVCIWi3FycqJEUXL68b3SYP6/LgolWRZompYFyrPnc8DiQ1+3AOS/3zcbDgb8xec+h23bLC0tkclk1JF6OBzS6XQ4c+aMwGe53dTqdeypRSwSpVGtEYnHuHfvngqD1ey6ogxJvLYxw1z5Q6L+6raFlrzZ7YkxjWEIp5rDyc///D+m1+/z4MEDqvUGX/7yVzk82iafz7O6ukqlUlFUplwux+HhobiIczkS0SxXr17ltddexbJM3O4UlgVv3LjJ6bVVmk0hp41Fo1QqFXZ2dmm3u1y6dInjo5NZLZpQcFcpOFpaWqJcLqsYvJWVFfL5vDqSOhwODg8P1ShXHhuj0SjXr1/n2rVrCvpSLhYIBoO88u3r3Lp7n1K5iq05aHe6+MMuzKlNKp2lV68Tj8dnM/IZiNYfUt1rOT+fn1/kwYMHnD9/nsPcCbFYDKfLQyqVonjnLpFIRMzfx35l5PL5fEyGE1wu2Dh3VnXoI5EIzUYFuw1rp9a5v/mAbrvDyoLA0kWjUc6snyKZinNylKPeaNDs9Gl3ehRKRbB1tra2eOaZZ/D43Hzlr77EUx94P+NihRe//jXW19f5vd/7vZlD1WI6nVCrVdA0e+aATbJ7sI/X6ybo9ykKeCgYYdAf4vW58fmD2DgYjQez0kCg/G3bptcVfYPTp0/PvA9FZV9+ON1cBtNKxqIcN8uR5ubmplh0Z1AbyeQol8uUy2XloZGlx3AoJjOJRELxQjRNo9FoqGnY+vq6+lx3/P8/kvxT4FPAb8w+fvGh5/8HTdP+GNFgbH2/fgKAzydyBPL5vOoZ9Ho9CoUCw+GQjY0NcYyyLNxuFx63i+Ggj8Np0O126HY7BIMBUskEw9UV7tzdxzJNHJoTHR2n4SQ005/7Z+5IScmNRmNcvnyZdDbD/XubHOaO+ef//J/T6w85d+4cDza36Xa7nDl7ltOnzgh7a0jImGu1Ggvz87z66qusroqR0P27D3j88cdxedziTR32+fo3vsW1q5e5e3+HVqvFE489gtsVZC67IkaWkTQ3b9whlRJ4e4dhq0h4SeGV/obBYEAoFBJkIK9XAV7kwiQJvpVKhbm5Oe7fv8/CwgL7+/vs7u4yGo3IlwSopt3r0WgLX8R4CsOJiUkLyxaAklRcYPDm0nNYmkU6kaRarRKJRKjX6wz7OovzGba3t8TJIxoXI7fuAM2hc+PGTVqdDq+99h2CwTAjs0M+XyAajaNpTsq1Ek8/8RS/+iv/DK/PT3fQJ1/KEwyGaXZ7dPYPmVoTXA4HlgaXLl1gYWEOw9B5/bXX2Lm/Q7VRJxSOk5mbp9cfMpyY/N5nfp/1M+vUmnXuPdik0WpzKpGi0+vzgWeeZWxOCUdjivE4NqcsLC3jcLooFo7xuAw69Q5vvfWWuB6lJX8wZDATGQUDYTQcaDhmLtMwXq+HXq8jeje9IYbDhcvtpFAoEAqFFHz35OSEs2fPqrDe27dvs7CwwGAw4M0331TGqkZDnBYjERH0I8Gujz32GFtbW9TrdRYXF/F4PO9SzI7HY7UQjcdjFhcXVT6JTBf/j+IpaJr2OeDbwBlN03Kapv3D2WLwEU3TtoGPzD4H+AtgD9gB/g3wc9/v+wPYtqWaMdJH3u12abVa7xLb9Pt9eu3OLOKtQafVZjRbIZ26SHYOBALYM42AdJXJY5kUePT7fXqdLg5NZ35+nnA4zNbmDsViEdDxeQOKnDM/P8/ly5fZ3t5ld3efU6c2WFhYIhZLMD+/yMHBERcuXJoBY12cv3iOYjFPMOhnZ2+X4WCEZjjY3TvAaXiplBvs7OaoVlocH+Up5Mv4/QFlkllbXyGdTmJZJi7XO+BNmVMhYZ1S6NJoNMjlcso9KdVqkgItdwlpk67Vauwfn5ArlukOxqAbuDw+pSY1DAOnoeNxOwkHQ4yHI8bDEV63h16nTTadwuNyEg4GWF1eQrMtPB4fhiE8/hqOmRzdORuVady7d09AaPqCLiSmOT58Xj/Pf+Sj1JtNqhWBiXe73VjYjM0JY3OCwzAIx6IkEgmWlpbI5XKUyyVa7QZje4rm0BlPzRngVMh7z5+/SCGf59TaGmdObxCPxsidnPDmW2/xb/7tvyUcibC3v0+v36dQLDIcjXC6XNTqdfq9HpY5xTB0hoOeCtY1DIPp7LW00Ol0ekpoNx6Zs9OaAeiqdyATnqSBSTpWZW8IUM1FqWCUqLaHFYqSuiVFRxL/Byi1rMxBlQnq0jov+w7yfngYA/83Pf4204ef+hv+1/Pf5Wtt4B9931Xgrz0kdkyaheTFubi4qAAllmWhM6VYas/wWsKaevPtW6L7GvLj97qJhgWkpN/vg2VjTy2siXjTBjOPgcsQKT3JZJKRZaDrBgsLC3i9fibWlGQizcraKrpuEE8kqNVqbJw5xeHhIcfHJzMox4SPf/zH1Q24v7/PBz/4QTa33+IrX/kaxdKA0XDC4vwCum4QDoR568Ydstl53r61zVe/9HUee+wR3G4nhUKJM2dOE40GaDbr1Os10pk4LjcYmkclUiWTSWVokYlXe3t7hEIhFpfFRSM5iHKi4/P5uHnzJp1OhxdffFE4+twxRsPh7PjuQrfE6NXnduF2OXDpNrptsnF6HZfTQafTYXVlifF4SLVSmoWuBtjavEs6nSYUTuD3+2nUW7OFfUggZJBOZWl1O7z88qsz0K642bOZeSqVGqn0PA8ebIGtoxsOTgo5dGzWz5xnMJoAFktLiwSDftrdDjdu3CAdDtFpNHDrGp/+uX9ENBql1e5y7959kv0xlm2zvbfLE088wQ//8N/hP/yHP+XKtatc/9a3+OQnP8kLL7xAu93mp/7bT/Grv/qrPPLII6yns5TrTSKJFMdbt5lfWmZrc5NqUzAU3V4vY9PENC10l7hlpGV+OrUVq+Cdml8QoEUvRHhRFhYWFB/hypUrqrRwu91cu3aN4+NjJR7TtHdyUJxOJ6VSSW0I165dE7g4y1KNw0qlonwWkg5dLpcVnFdCiw3DoNlsisXmvW6IAhTWStbMkq8okdg+nw+Hjmqi+DweprOmi1z95PjH63XPtORTJpMR/UGXsBnA7/dijicEg34ikRDdbhuHRxyF05kMiYSDTr9Hv98nl8vz0ksvEYlGqdXqZLMZ9vb2iEQiLC8v8/Ef+3G+8IUvqBFTt9vF6/GzsXGKVCrFgwdbTIYmt269TdAfwhxZLMyvcPfuPa5cuozX5aTV7GFOx+gOQdxJpaM4XU66vRamOabdaRLwuBS3r9frKfutDH2RUI3NzU21m0iK0PHxsYrik/Vqr9djrE9xGC7cHh9OQ8BAHNZUpQ15PB6sqUmv3eHcxhk2N+9jmxM0y+bU2gq6rnPjxg0WFxfp93vKo7+/v084HMY0xZze7fJizoKBZV2s6/rMugwbGxt89rN/QDjgxWbKuXPnmE4ndPo90DUWFhYJhEMUTnIsZdP0xgJZ59Tg6mOP0Wg2WVtfJxiJU2u06e0fwlSMQD/87PP8i//lX/B3/+tPcOvGTVqtFr/8y7/MxYsX+fSnP81v//Zvq8Ceo6MjhcQbj8eKcBWLxeiOhIR9PHMaOp0G5tQm7A8o9P506mEyns5KOs+7KNwy/GU4HHJ4eEgsFlMaBTlql9Qmy7KUIe7hyVQikSCbzXJ0dCSus1nzeW5uTrFM5YlgNJqVN8GgCP+Nx5Xhbn5+Xp00NP09vii43e7ZzVcjEo0q6e/Ozo6AhkyndLpdUqkM85EEvV6PZGZRdGzDSU6fPo2u6xwcHGBoHhbm17ieu47XHyIYidPpjVkLZui02ixl50nF4/SaNQaDHj2vuMFqrSL7+4f80A/9MNs7+6QzUZaXF7l16xarq6u879oFtGFb9D1CHr7zza+iDdu879FH6XZFzNnv/M5v0Rh0FPxkMBiwtrbG1atXCQaDvPjii0SSHnaO7/LY40/x4MEDRpMBr77xBt9+6w3m0hk+8fEfZTQasbwQYGVlhVQmILIpLpylXC4zvygyDx57/Enefvtt0hknb775Jul4ikq+jtcvtAmd9pA337qD7nZy/8ED/MEAnd6QUChK1BEUwJNEGtu2KRdLZDMLVCoVHEOYz2RE46o3Ib0QoNxsk1lawh/ycmfrPsFgiOHUIleqCoHVrRt4fT5s3YE90XE6DVxTF7tHB3zgg8+ys3cAbjd6z4897hL2x5gMTH7mv/l7/NVf/SVzC1lyuSNOCiXOnz9P7sZNnn76abY27+OeTJmPJvDZDnrDCdn1BXweF7Vmg3Y1jzU8zb/73d+jPxqxtbvH8x/5CP6gwa/8z79CIBDgdz/zh9QbDU6vLYLLRalW5/9+4d8LDoLLSTIaZmdzi77fj2HoHBZKFKotzpzZmAUNh6g3WzhsJ4Ou4x3fQixKr98Fc0w4EaLcKDPVIjg9MQzLolLNEYvFOHPmigq6tSwxdZKBuEtLS8r0d/HiRaU3kAyQjY0NHjx4oHJEZMBxr9djbW3tXZg9j8ej/DZ7e3uYpok9mTJ0exn0evTtLqlYAoetgWmha+9x74M5s0TXajUWFxdxOp3s7e2JlbrbZX19fUbAzStyTS6XQ9d10um0mjTIiPlnnvkAR0dHjCZC03/tkSt0mi1Vp7VaLWKhEMFgkJ4h2AZTxoqOD6sAACAASURBVHz42Q9RPMnjc7qpVar81r/8TT7/+c8LoYhTI7uwyOVrj7Czs0N/NObilavEkilMG779ndcJhCM4g4L2JBs6o9GIF198UX0ejQqF2+3btzEMg0uXrvD2zRsKifbCCy8IqGm5KObSdwfUajVKlTqFglj5Y4kMb916m8ODIxHm0mhjTjSGE3Fq6XQ6lMpl9vf3sTSIJeIsLCzQ7or0pmZLuCLlbpTJZNja2uLHf/zHuX/nLvF4fEacTrC5ucmlS5cYDgdMrZGCtYSCEZpN0dsxZ27LWr1OKp0VwNBAgGw2qxpkkjAkX5NPfOITfOc731E06/F4zFNPPcUbb7zBx3/sx3jjjTeEN6LXxTB0XDoMxyNu3XqbRDRKJBzk4oWr/PsvfJE7Dx5guJyMrSkvv/oK2/tHhONxOsM+gVCE9Y3THOxv8ciVq+ho7O/v49Qd/ODf+SHyuRNCkTB3b99hZWUFl9MzY3L6OHV6g+6gj9vrY2t7m/5sciKTvWS5K65JB9hTXC4DdzyKxyOYFa+//rqaCHi9XnVjj0Yjhaz3+XxkMhkRR+dyCfHYTBUpaeaSlCXHyoCaTMi8z9FopDJBgsEghu4QorxZItj+4YFigdrfYyb5noCsaIjkoNOnT7/LzbW1tcXGxoZyRcpfSGq8h8OhqqXa7TaGYTA3NzfLPrDVG9ZqtYjH46rmCgaDnDlzhgsXLjCXyWCZJrY55f69e5QKRQ4PDnjkylX+2a//On/3p36K82fPks7McenyVYqlCqFwlKklqMR/9fUX8Xj9tNpdMlkR6ZbNZnn66ad58skn6Xa7rK6u8jM/8zP83M/9HOl0mt3dXQXFEFLYkAqFcbpcVKtVXnvtO7x6/TWK5QroDobjCW6Pj/5gRKFYYnNrl1qjycQEry9Ardul3u5QaTQ5LhQZmVN8wRD+QIj1tdMMB2OYanicXoXTz2QyqvmYyWSIx+McHR0Ri8WIRCKKATgYDBSApdvtquPo/8PcmwZJct/nmU9WVVZV1n1XV/V9d093YwZzAJgZAhgQBCiSokCQIlf3ilyJor0rWbIlOeSVvAxJQcV6l6uw5dUBWTZF0RQFS6IhkiABEAQHBDADzH10T0/fd9d931lVuR/+lQnAQVBa7YYD9QWY6YmensrKf/6O931e/bqoqkpDbVGpVg0BWrlcFgMwtwdzTyrudDp7MfY2fuZnfoann34an8/HpcuXmJycZHFxkSeffJLLly+L8J+eBkCAdToodictVcWqKFhtAu+/uLxMuVFjP3FIvlRkdXMLWRGsxmw+T6NVZ2Nrk7HRCV6/fIlKrcra2hrFStlox1qtFi6PG6fTSSAQYHh4GLdb4NJHR8eFSpE3w1nNVhFlqKdteb1e4vE4IG5U3enYbrc5PDwkk8kYwCA9Qbyvrw/gzaF5uUyhUGB9fZ1kMmnYp10uF4FAwAg1ajQahntWx+PpbZC+jrZYLPh8PpGH0rPW6zh/HSjb/QHW6XdJQtQffPY3/vn/Yqix6vW6YQ++evUqExMTbG5uks3mDOilnutQrVaNXe/m5iY+n4+21kW2yuwd7NPVuoRDYdbX1ikUcvjcbnweD1azwJ91220+9pEnqZYqpFNpJkbGsVvtjI2OUsqX+S9f+QqrK6uMz0zz0vnznHvve7l5e5H7HjjN2MQER+YXKJTKjE1MkCsU8Ps8xGJxtrd3SCaS9PcPkEgkWVxc4trVa6gtFbWlMjI2SaPZYunOEuPjE7g9bg4PE1jMFirVGl6vh2vXrrO8tk4ynWVze58r125Qb6rcXdnE4fSws3dAOltAtinkG3XqzRaFcoX9ZJJmq01XMqHYHUiY6OuLY5NtaF2w9OAr5WJJfKg9Xk4cP47ZbGZ0eIQrV64IvqHLi9vtottt02jUDVFYq6VSrdTI5fI9MpMgXrXUNrLNhkW2ksvnMZstDA2PsLW9g9PhYKA/9haIaYnFxUXW1td49NFHWVpa5Fd/9Vd57rnn0CQTtYogSLt7EXf7+3soDgculxvF6cBmV1jd2WZ1axNPIEA6X8Tp9dLqtDlMpwhFo7h9Xkq1CharBdlkYmt7hyNH5nG6nNhsdvZ2d5FtMjtb23Q6Xe7cXeaBs2c4du9xGs0me4cHVOt1Uuks6UyGZlOl2eNfunr8yVqtBlqHWCyGSRKbtFq1Ymy8nE6XIUDS4wrL5bJhknK73TgcYvvT6XRYWVkxoK+FQoFqtWpAi3Xpsl4pWCwW45DQU73eGrNY71XOSi8H0+VyGXOKZ188zz/7le+fOv2uqBSQBDUoEAhw4sQJgzNosViMYFidFKTruPUTUF/z6JNbh8NBpVI2AK+6Hz0Y9OP1eolGo704OdF7WyQTa8t3KRdLvOf0GdwOJ3Q1um0BPvU4XbTqDf72q8/wP/7sp7hw8Q2OHjuObLUjW+2kMzlsdgdmi5X3PPiwMUA6ceIEExMTXLp0yfBq6EDWfD5PJpPpYc26PPvss+zvC16iZBEp2LV6XfTpWDCZbdQbLba299g/SFIoVsjmCqTSeaw2hUq1TrlSo1xvIMlWFKcbyWzBZlNwuTy0mm3sNgeybEOWbcTjcYPV2N/fj9Vq5bXXXmNmZsaAjtZqtbf1t/o10GPwdLGN2+1GtlmpNepoEkbcnv6++3rVglNxGEE3kUiE5557zqhWlpeXOXbsGE8//bQxKJNlG1JPRl4slBkeGqVUKtNFQsNCrdniMJ0hVyqTyRfomiQk2Uqz3cHt89LoqHR7n6tmq8XtpTtMzc5w5+4ymUyGXCGPN+AHTEgWM9VGnbm5eUqlMmtra2xvb6OqHbLZrPAhNFq0NeGdsdrsxoDb6XQa1CidSaHTlgqFgtEe6C5JwEjx0mEroVCIYDBIJBKhv7/fGAhPTk7i9/vfhmjXv4+OVwOMp7+OH/D7/fT19SHbrMg2ETRbKBUpVcooTgdur4d2551Xku+KQ8HaExMlEgkuX75sEIn0fiqZTPLGG28YJVA4HDZ2svpk9/DwELvdztbWFhOTI/gDHhrNCu12g63tdSM38c6dO6ysrPSMRVVskpnNtXXajSYH27s0e2Xu4q3bxONxjh07xun3nOVTn/oUly9fJhKJEI1G+bEf+zFCoRAf+tCHDHJQMBjk6NF7UdUOiUSKfL7IwsJRHA4XNpuC1WrHbncQDkfJFopMzszS1rpIJgs7u/s4XG72dvfJ5PK0Wm1CoQiK202xWiWRyWGxK7S6EolMnoNUFllxgcWG0xugVK4Siw8QCIQYGBqm3YV4/yCTk9NIkplmvUWzoSJbbIbzU5/HZLNZ7rnnHl5++WVUVWVmZoaBAeErGBsbw+VyMTExYYBjK5WKQdpOJBJ0ul2SqRTRaJRStWLkO3hdbs6ePYvW6ZLLvJmJeeLECSRJMuYJDz/8MD/3cz9nOCjL5TJmq0wuV2A/kcSmONhPpmh1JZptjf1UhkK1iWS14wmGqakdhienqLdaDI+NYbZaCUfD7B/u4w/6abYamGUL+weH1BpN7qyusbyyxt2VNRrtDvlyBbvi5J7jJ1DbXSrVOoVyhUq1zvrGFvWmKmC5dgdWm93gIlitVjweD4VCwVB56i7JZDIp3KKNBslk0sjm0B2S+qag3W4byVH6gaqvKmu1GgMDAxweHhrZHPq1GxkZIRwOE41GmZyc7EUiFIxcER18rOdx6nGG29vbbGxsYOulS32/17ti0NhSVQ4PD3nfhz9MZnfXsMvq4Rj1ep2hoSG2t7cZHR0lHo8b6U9//ud/ztjYGIFAgHw+Ly5WPkunozIw0E86naFcqpDOJFFsDvp7se+6WMjWC+gwSaLH0mPUnG4XNruLTm8gs76+zsLCAsfuO45abRowDJ28s7q6yuuvv04+e2gAW/ULqNN+9ciuQCBA39AI58+f59y5c2w514zIOJtiN7BtktrC4/GRyWRot9uMjIwZ2oNGo8HMzBFsNhuHhwlmZ2bY29sjFovRF4myurSMq9cj9/f3Y7KYjXmGV/Eb76Heiy4vL3PixAnKvSj5U6dOUW+baDYFTj6dTtPuNEilUmi9UBRJEuEy2Wwai81KvlQ0Yux1ebTH6cJutVLprcJkWebMmTN84xtfM/IJpqen+dznPkcoFOrh43thtV3BkizXqihOF6GQg0q5iEm2Eo700c4mCYaE/j+bySNZzBTKoiVaX19HkiTjvZscnqRer7OzvUk4FKRcKOIPBvAF/BQLOUbGxzDJFmZmZlAUha3dPQ4TCQKBEKVKhVxBPGnNZpm+mBOrbDYkyzoZS3eiCiWizyAr6UNAnZmpU6R13qiOc3O5XG/jLS4vLxuuRkVRBEm6d5hYLBa2t7eNFa9ugtO9Eel0mlqjAaUSFqsVi9XK3sEBXSAQDP5/s07/93hZzGa8Xi8XvvMdgsEgg4ODxlQVYHNzs6ce0wwBhn5q/uiP/ii3bt3i2LFjbG1toSgKFbWKz+9lbn6ar/3dBl6v8JA77CLSO5fLYzeJC9Gwgi8oIsmbmoaGiXK9jiSb+eGf+ikONoRH3R0OQKtFvidZLRezWC1wsLfF4f4209PT9EUCzEyNGU+DtbU1pqamKJVKfPvb32Z4eJjr16/TaLRYunOXvlg/V65exaEoVBtNWo0Wit1OvlhC0zo4OgqZYpl4PC6YCLt7PV17i1azyfrqGmazWZSl9QaDoTBhn8h9WJidQTZJXLtyGbPZLA6LeJQ7d5d69mbNYD0GAgHaqsrx48fJptKsra0JRBrCIdnpdLh8+TJj40O9ktnFXvXAGB42u22cbhfVeg3ZYiNfFKnO9WqN0eER2i2VaDBEo1NndnaWJz7yAT772X8tsgo6Kq+99hqbm5ukUim8Xi+zs3P4e96QYi6PCtgdLhLpDOFAEIfDQbpQQXF5Wbp7l/HxUeYmJsnnRWamRod6vYbW6RLvjxEMBrnw2hsi6i8QRO3JmovVGodXr3P/qRP0x/txe3xIiDSutfV1TBYZk7WJ2uv/TRYZtbdetHgU0Zo0m9hkUYWWu23sdisCCUsvaMdk6Ap0MtPBwYGR0qRTyovFotFW6IeZfoDotmt9ZhAKhbh06RIgSEu61dpmszE5OWmY65xOp/Ez6oY4XQb9rsex6b1RvV43AjeTySRDQ0PIskw8HueNN95AkkwGxmtnZ4elpSWcTifT09O8+uqrWK1WSqUSuWoar9fP6dP3YzbJfO/li6TTKVwOF4pZRjaZ3zKVFW1IpwtOvx+Hy8NHH3scUw9EEYyG6XQ6JNbXuHjxIgBLS0tEIhEymYwRfxbyefnQ+x9neW2dRCJBMBhkdnaWxcVFUqmUoT8fGhoiGAzyvStX6XQ6LCwc5WtfewaP243VaqFeNyNbRKpUp9NhMNZHMnHYE3C56DQbRPxBOp0OQ3HheCuVSoR8HmrNBjYgn8ngslqxAKGgn3qzgcNpp6O1aXdVEokEk5OTmBFeiuRhgqnJSc6fP8/k2Dgmk4nDw0MKVZWFhTmuXb9MNBpld3cXr9dDo9HslboCctNsizJ4YGCIQr5EX1+celWs74ZGxYpycHAQr9vDxz/+cX7nt/93Q3r7W//6t/jUpz7FmTNnuHXrVi/A1sLW5rZRiiuKQrPVIRYfwG4XAa4Ws8z21iYT41MoDhvJgyQTE2MCRrJ0g8G+OIVCgYmRYV5//XWGR8dEpdaoIyGRSCUJBvy02iq+YIBIX5RkOkU+k8XldtMX72dlZQV373BK5fI4XS7sdgfegB9Tp24EvApPSg3sogXweVyGIGph4ZhQXRaLbGxskM1mmZmZoVgsGjRr3QRVrVYN09309DQAW1tbJBIJJEliamqqNzOrGFzIjY0N6vU6/f39tNttEomEoYCV7TbCjggOl/BSeHwCQhMIBQ2Z9fd7vStmCpqmCXoQGINAPdnG5/MZ5bge0Q4YZOJAIEAsFjNKbl1GOjExZhB1dU6dPqnVraiFQgHF5WR0bIyRsVEikQj+YID19XVye3uUc3kq9RovfvclTCbw+TxUq2X8fi+ZTIpIJMTExBjb25tcuvQ6Pp+HVDLDmdPvYXZmjqHBET765I/y3kfex8jwGNFIDJtVQbbYCAZCZPI5SqUS9933gOGgEweUAIKK1V6JcrnUk6mKAZ7Dae/tuxuGE3JjbR27WSYWitCo1jD3vCRTU1PYbDYajYaRnK3H0DebTex2u7F+1FWToVBIEIo6HdbW1oTiMxrF1dsE6KsufZKtdjsoLjEE1tsHnRysNsBpV1CsorSen5/nxRdfNNK/f/d3f1cEBt+9a+QoZHJZIwNDTz6Se9Fupp613WpXjOi0XCpHLBYjHA4L92NXM7ZT9WoNxWan1vPO6INgp9NJsdAL4+1AvdVkYWHBWNFOTExw7NgxUqkUSm/qHwiEsCp2sTru8R51F+5bV4SqqhqZoKqqIssyoVDICNxJJpOAAMnoSeI6el+vhPVUaX3wqw8c9VV2Pp9nbm7O0MTAmz4K3ewUCoWMvFLd86Ov6Vutd/mh0Gm3sVkk/B4nfeEAG6vLeJx2pK5Ks1YmebCL3+M0es7NzU2Gh4eN/u/GjRtMTEwY0VyF9SK59QJyy8Ls2BThSID4cJSx2VGaUpdyW6XQ6lLvWpFrJvyOINVinWA4imQ2oXaaBIZifPeFb/C3X/oCe8u3efbLXyG1uomlrtLvCzE/Oc/Q4ASjo0f48Z/+NL/wP/8q0cEpPv6JJ4lEA8wemWRmdoK7K4t0tRb3P3CC6Zlx5uanaXcaxP0e/uknfxZaDdw2mV/5pV/EjIRVsWNzOGkBtXab3Y19WtU2c1PzBD0hhmKDjA+N8fEnP8pgLI6mtnDarMycuof11C57+TSSw4bD48VidWDBznBsnFZJ4+zxh+kPDHPm4bMcpJJ0ZRstLBw/8zD5hkpDstBWbGxlkzj6/ExPTxvCo52dHZrNJrlcznBu6mhxh9WFWZNBs2A2y3S7GqlMGqfbheyAvsEYLr+b3Z1D7DYXhXyFbtfEr/3ab1Ap19G6JoKBCH5fCI/bT6taxmqGSNBH8mAXi9Qlm9pnY2OZTOYAn8/OrVuXcLhMaDRJ5RIUyiWWVza5tbhCvWUmV2owPj3HxSs36FpklB4qPZFI0Na62BQ7JqsZk1XmW9/5Nn/ztWfI1ypMTEwQCYfJpNK0Gk2cioNoMMLsxAxOmxO11iboCTEcHyISCOJWHJi7JqROl06jjQUJta4S8PrpC0colUoGXt/j8RCPxwmHw0bg7ZUrV4TWo1XH43YQCvoEJ/Rgl3wuTaNeYX5uBokOil2mkM/QaUv0RQe4s7RKrG+Q9z36QzQbHTzuAD5vCIvZjtvlxyrZcFpdtKoqtWKdwb4h7p0/js1kN7JCvt/rXdM+6AEm6XTa2Nm6XELiqyiK4BTuJY2+S2cG6Cz8dDoNCGrSUGgQVVXZONjBHwoyNTXB9165QDw+wEj/GJFQlJA/hMPm5KFHzvHC+ZeIjwxxcHDA5Ow00ckJvv5XT5PLZGn3shss9TbZfA5fIEij1cRuFWWs2+02VnDNpngavfDCC2QyGSKRCFtbW0Z4h6IojIyM9HT2KpevXCEYDPLaa6+RzmaYnZ3l0tUrdDodYv1xwzc/OTnJrVu3OH36NNVqlZWVFUOANDAwgM/n4/qd62JXbjIJ1aMvSK0q9tXLy8u4HG6+8Y1vGFZb3bxTKBYMnT9g5HY2m02iYeEgtdktlMtFtrbT2O02Y2qu8wJNVpuB4Bc6fCEiq1aroInqb3Nzk+npaeN6njgpeJEAZrP0to2S7pjVhUGaptHf38/29ja1Wo3bt29z5MgRHE4Lw0OjFApC8zA5MWP4X0KhEHfu3Hkz79Hc4x9KoiTXeYVFtWgoCRcXFzE1VEOhiUlUbhZZZWnlOi21YwwTd/f3OH7sXubm5nj55e+SzaVFSG29jtUiU6vVsFjMhKIi3bpYFH9PIBBgb2/P2Fro16PefVOcp1vT9UAhncSkV8c2m2Ig2d663dC1DZqmGQe3rrrUE7GsVquoIMzvfOu/K8RLf/SH//6zHzj3HjY3t3AoTkySmWKhhNYVpOdGo0k2m8NiFWsaXc1YKBQMoISec1gqlWhWmhw9fi8m2czu3g5Wm5WWqiLLFhq1Fq2mSkft4vX6aNZLeIJ+AtEwJ888QKvV5Ld/61/jUBRMXY0Pf/BDqM0W5VqTwbExvIEAIxNTxAYGmJ6dxmq1UK1VabUaPP30VzjY3+XGjRsMDw8bk/zBwUEWFxdZWlpieXm5F4W3R7FUor+/X6Dse8DNkbFRFEVhfWNdQDs9gi40Pj5uyGLHxsaoVqtEIhFjIt0F9vcPGBkZoVyqEvAFaTQaeN1eTpw4QbVS5tSp+7hy5QpDo/2EAiEiwSixaB9SF4IBP/Vqlf3dHVwOB9VymbGRKcxmE1evXsZkkgyyUCAQpNVUaTaFb7+ptnuo8zfnQ2KA5uFHPvwR/uIvvojVasNqs/OFL3yBsbExfuEzn+Zzn/scwWCAcFjs6Vtqk/2DffoikbcF7OrtTjAYZH5+3ijLO73DKxYTaLuhIYEfAwgEhZHN43Hh8/oJRyLs7OxQyBdwOh34vSKyHg0qlQqNRpOhoWFq9RqZXIH17U2y+Tz5Uhm106bT1fjJn/5pvvX8twhEQizMTuFyu1hZXaPVrOP3eelqXdA0FIcCmnhoub1ew9z31rZMzyk5ffq0eKglU2QyWSQkZNmK1WqjkC9gkkysr2/QqDeQZStul5v1jW1DR/LWdiOfzxOJRIw1p77d0TH0eoBzJBLhr7/2LL/0y7/8fcVL74pKQdM03D4v8UGhT1AcDkyyhZ39Pfr6+rDYrFQbdZxWq1Eh6CenPmXV34RgMIhdUshk0qiqSDCKRCKsr6+jaTAUH0NRxNOuUMrT7ISIRSIEQ2GajSZul4eQP0ghm2eof4B0IoVJk+gbEuiziZlZzGYJb8BPPpfD7nTwvdeeE4Rmh4iGP3nypBHH9v73v9/gTDocQsBTKpWo1Rp0ul0uXrxIKBQyJLcmWVwSi0UM8UanB2i1WmxsbxEKhag1G7S1LleuXyNXLDA0NERb63JwcMDQ0BAH+wkxoFO7nDhxgksXL5FMpohEIly69DpHjy4wPDDI9773KhIyo6NjdDoa1VIZqasRDYUpFvOEQgFWVlbodoV7NZ/PoqEaq7FQKEw2K3T2XcmExWzGKst02sIINjQwSLVSotvuYJZMlMolFKebYMiPyQxPPfUU0O2p+pzUGzUjWVkXpO3v7xuAUrfbbWj733jjDT7xiU+Qz6e5ffs2fX0DxPoEpWh4aBTJpJFOp7BarQwP92M2m0mmRGK3bBahOqbeASZJprcZ2FZXBVQnmUyiIaFpEm6bFYdk4pmvP8PZBx+k0Wxy5cpVBgZEnoZDsbG1sYLT6cDpEBVkSzVh7wUJ22w2o6rqdrt4vV6y2SzBYJBms8nAwADbmxsG5FZXIZpMJkMXoudDvlXarAfadrtdQ/XY6XQMY1Q6nTboXIqi0N8vhqeKotDutN/xfnxXHAr6BmF1dZXBwUHjHzI0NISmafT19YkPSkN9W1afLpl1u92cOnWKnZ0dnE4nQ7Fhsc/3OFHsVuoHFR48e5pkIs3tW3fJ5fL43EHKtSqNZonHnvywoYG/ePEiI8PDVMsV3nP/aXa3t5E6XdzhCIODg3Q7beGFT6dYXVmmWMxz/wMnqZXFAHRocJQvf/nLxCJRPvwLn+FrX/sah4eHXHjlVYaHh6kUSwwNDWG22uj2gkmXlpYIR8WTzBsQXMZWW3gKkslkz7Irk0gksNvFoCsejxsy2aWlJfz+IEtLy9x79DjXrt3g1/7Fr/Lss88SDUWZmBinXCpxZG5WBMEGQnz8iSe58NolGqVKT7kn2q+h4X4KqRSS2sFkN5FOZxkaGqJQyOF0ulDVFvl8gQfun2R62sLt27eRLOKp1e1igF1yuSzz8wtoCLJxJBLBapMZjPdjsVg43NvFaVeolAo0akIIJXU79IVDZDMZ/H6/sa7TU7B1O/iTTz7Jt771LT784Q8RiWSMNd2tm0uGMa5aKxGLR9nc3DaEWH3ROBJQrZYpZHPIspmO1sblclOv1/m7Z74GNrGqbrYErblWb3KYTTM8LD5TxWqFRqNBULGTTGcYGuinWi3jcHnw+jxYLWZMZpm+vvjbDrhUKoXL5TJ0K2azmVwuRzabxeVykU6JwNpyudqDrLiNGc74uEC7pVIpul2hiAyFQuTzeRYWFgiHw+zv7xstm67wtVqthqlQH8LHYjEODw+xyu8sXnpXtA9/8G9//7OPP3wGxeGgv3+AfKHA1NQ0xVKJbC6Hojgolcp4PKI6cLvdximoT1dDoZDR26ezGQ6Th5w6JcQ44aAfl8NNR+2QSmfxBwLIVivvffx9LJy4l3yxhMlkZmdrm/3dffoifaiNlmhhOhrTUzMMHz2CqrZZWlykpaqkUgkikTA+n5drly/j8XhYXLxFvdbk3Llz/N0zz7B4+zZ3l5fZ2triJ3/iJ7h58yYSoqctlMqGWUuSJGq9wJr+wQGhj6+Ip+bCkTmk3vop2tdHsVQy3HZ6rqTabqOqGqFgBNkiBEXNXpLxzvYWnW6beKyPSqVMs9nA5/Pw10//NW21Q9AfZO7IHB63m6XFJaamJohGwty8eR2H20+9XsNkglqtyt7eTi/Ny0elXKVcruB2u+mP9XG4v4/H5aZcLIKm4XG7mJs9QjwWY2tzA6ts4QMf+ADFQoF/8plf4PLl19G6HdwuJ8PDA6yu3OX4vfdSLhVoNJrMzMwAGFFpbrebS5cuceTIEZaXl1EUBZvNyubmNi6nB7PZQqOuEg5H6HY1oIvfJ7B5icQhVpuDcrnChz74AdLpDLLZzIkTJ8nnstRqdQqFPDarjVq3QxcwyzKYzJjMZoLhEJgkOloXVW0gmTTUegvZIlOpVjnznrNYzGbKpRKyTcbn8dFSVbp0DYmy2+2mhyTpugAAIABJREFUWq3S7XaFXwJxcx89epSBgQGKBZEHortXdSCLfhPr/MVCoYDZYjVEfbpKUudvejzCyLW/v0+5XDYozs1mE6fTyfj4OE6nk68++xy/9M++f/vwrtg+IEkEwxEyuTzJdIZcocjm9g6ZXJ7xySmaapu9g0ODlJvNCpGKPvRJJpPcvn2b3d1dw7UXiUS4du0arVZDRJG7nQQCPoJBPysrKzzyvkd58cUXMPXSenQY64kTJ7BbrUxOTvLGG2/w4PseJRiPsbchnmzWHgm63W5zcHDA2NgYI+NjjI6O8sgjjzI8PMx3v/tdw849OTmJ0+nk+eefByAWi/Hwww+LhOoeGEMfBnm9XiHYKRYNFWSukMcsW+iikcll0SRhIa43G9QadRqtJk21ZaC/Dg+TnD37INls3gBr6E8Om02m1Wrw6quvGrOMVqvF4aHwXUxOTtJut4nFYkZe5EMPPUQqlcLj8RhJ1uKGtBGNRo0VrziQO711ZafXcuS5efMmmibK29OnTzM4OMj3XjnP0NAQfr+faDRqxLFfuXKJra0tIpEIV69eNVB8mUyGvb09PvKRj7C0tMTMzAznzp3j/PnvMTIywszMLLVqw3AeBgIBHIoLj0fYlI8fP2kATq9dvUEkEmFgYIitrS1y2R6JSDLTaAi9SrujGSg0HVNnRsNmMeOw2XEpwsugdtrkiyWuXr3K6uoqUzPTtNUOO/t7gmFZbxkrSX2dWKlUDDSaoiiGRN9mU7DbHVitdoLBMHa7A5fLg6I4CQbDKIoTMBEIhAy0njBcOSmVRCJ4Lpdja2sLk8nEcC8bIxaLGRRp3Wnpcrl+YEKUpP2AL/73eh1bOKJ98+kv8NprrzE3NyegoZEI6XSa9fV1jhw5gqIoJA4OGR8fJ51Os729zQMPPMDi4iI7OzsMDw9zeHhIp9PhQ0/8CMnDQ1793suEw2HQusTj/XQ1M8urW/yb/+PzxAaHOThM4vMFeP/7HiOfyWLFxOz0DPefPCXKVq+btY11IUd1e3n11VeZnJxEVZvce+I47Xab3YN9bDZx0S9cuEBie5eBgQG+9KUvMTk5iSRJBAIBtra2BAuy57voyjKjY2O0Wi0h6241OTg4wB8KAuLGN5vN+JxuwyJut9uNQFKdiKzLY8slkdFw/Ni9ZDIZGvUahUKOe+bnqdUqOOwKSCJzsNlq0WyqPPieR9jc3EJRnGxtbYhJP23q9SomE2gWF7dv3yQY8rG2toLarqOqLebnF9jc2EaWBSFLQj/YxFxnZ3uPmZkZWq12T38hDscf/vCPUK1W+fVf/3VUtdWD1Epcu3aFubk50uk0/f0xMvmSYYnXNw96EK7+lB0bG8PtdlMuVUmnMyh2JyBs9+l0mqmpMZbvLjE6OsLlK28wNDzG448/zn/6sz/j1KlT3LpxTYTnFvLIsiwYB40aak+DoXV6wzqtI2z7ahNFTzFvt3E6fGidLmaLhKLYGOiPA106ap16tUY4EkJRbFgtJmZnZ/H5fIaGQJ+R6FSlSqVCJBSlXC5zcHBgAFOcTicbGxuG9XlxcVFI8+0O7r33XoaGhtjf3yeREOwNs9lsVNL5fL6Hnq8aYJjh4WEDy/aZX/9Nbi0tf1+x87uiUtA0WF1ZZ3JiGrfLS7OhkkpmqNeaxPr6CQbCVMo1Fo4eNaas/f397O3tGVBNXZji9/u5ePEiX/rylxkZGcHpUDBpkM9kaTXq5PNZFhYWWF1fY3x8nPn5eVKHCfLZHE5FODKz2SyrG+uY/D5qjQZDY6P816e/wsLsFM1qCa/bTTadYXt7G4fNTjw2xOFBmjcuXTOi2+bn54lEIoyMjLC+vk6tJqLLh4eHmZ2dZWJiwrCJ68IUPRfQarUyMjJCIBAgGo0iy7KBm9OHVrrQqFgskkqleM97HsJiEYGtLpeLvr4+IwpvcnKSvf0dY8hUbdRJ57KkshmSmTSZXA63z8t+4hCzLNOVQDMJZsXCwgLLy8uMjIwQi8UYGxtje3ubcDhsRPSpqorUS+KSZdkofXWXq90uoK5PPfUUX/ziFw1/iY7vn5qaIplMMjk5zv3332+ARvQMhJ2dHSwWC6urqxQKBVRVFR6BjLih1ZYA9eorvOHhYa5cuYKEmd3dXYaHRnE6nfze7/0eH//4J1heXmbuyEKvOvMb0QAmk/gc6WG8jVpNPIUVB16XG6/bg8vhxG6TeylUYDKLRKhSqcTIyAiTk9PEB/p7a3MM/Fk+nzeurdPpNKoHWZbx+/34fUGGh0bx+4LYbQ7aaheX04PNqtBpa6CZcDk9eD1+I3TZZDIZIUFer/fNIOZe/oNe2XV7yWhvXVF2f4BL8l0xU/h3//b3P/uJJz9MXyyGy+2m1VYJRcJIJhOr62tcv3EDn99P3/gYG3fuEA6HjQ/T+vq6YQXW33CT1UxLbWK3yszPzdFpqdy6dZt6o0lXEqaZUKSPw3SCB06e4ebVG9TKVdFTlqscO3GCI2ce4NqFCwyMjvCN577FI8fvxWYxo3U6HOztYrFYqdWbTNyzwHdeeIl6o8nP/+I/QeplNei8xHa7jcvlwmaz0dfXRyAQ4ODgAKvDQVfTDEGNXVGEVdvrFRSqXFY8lTodgqEQqXQayWSi0WxiMptRO22q9RqdbheT2cyVS9eZmZkhcZjE6/Xg9/k4ODjEbNLY29vh4YcewmyWaDYbxAYHeeKJj3Dr9iLz8wssLi3xI0/8CCurq3TpABrLd+9w+vRDfOlLf8Ho6DDBYIBGU+zeBwYGqJSrlEplstksEh0atQZej5u22uolYCep1arIFivxWIzpqUn29g9IJhOG8MlkhnA4SKvVYmpqgt3dXdLpNIpD6BNu377N448/TrVaJZ/PG6CcU6dOcf78eUZGRrl9+za2XtDu5ctXONg/JJvN8EM/9EO4XE6GhgTePh4fxOFw4lDshEJBquUKnW6b8bFxJAnDityRzEiA1AXZasGjOHC5FCRNo1Iu0qxW0TpdOpoFm83aSwaz09U65HNZEocHVCpluprYmkxNjhvbJd08VS6XDby7Dmfd2d57G++gXBZYP6X3uahUKgwMDBAIBGg0GwZBTPgrNAYHB8nlcgaXMR6PG+2jJElMTk6KyqhUwmw281+/+Ty/+A4zhXfF9gENw5Ou76Cj0SiZTIbh4WEjRHUwJnpGWZapVqvs7e0ZVCVVVbFYLAQCAeqdJo899hgbvVJ9Z2eHe+65h5u3l+iabZw5c4bf/3d/SLVR58aNGyQSCXxuD/FoH1NTU6J1Wd/k2rVrKF43bp+XSDhILl/k1o0bPPmxj1Go1Ak7HNAUUFWXy8W3n30RuV0lGo3yl3/5l4a33ePxUC6XuXFD9LOKotB+SxyY2Wym3mwYNnG73Y7b6zHWkpFIBJvNxvDwMHt7e3Q6HWPzommCMHXkyDxXrlzh/Y89zvLyEjarwNNPTo4BIoFIV9Z97Md/nOe+9QLVatX4sF67dk2U5lKHZFLExT/33HM89NBDtDtNw925s7ONz+fvYcdHuHDhgjhsGi0j0EXPLCwWiz0I7h7lcpm1zS2sViuVSoVA0GfYpG02G/v7+wbC/OTJk9y8eRO/388rr7xivEd6y/Tiiy8yNzfH4uIiTqcTv9/P0aP3MjY2wdLiHcqVEslkkuXlJcKRAG6323DYCqm0mf39fTLZFLLZQqUiID3xeJygWVQLtXIJi1nCabfRabeoVSs0qxU6Jk3Me8xCoShmW1Zk2YRit+PzuQgH/b0tQM2YGemCLJ3epM8WALxeL9sbe8b7pStF9fxI3fnYbrfZ3983Phu6vFmWZSMsWK8gdQjt7u4uo6Oj5PN5I3+iXq//QEPU3ztTkCTpPwI/DKQ0TZvv/d5ngZ8H0r0/9q80TXu297XfAP4noAP8kqZpz/19Z8LCkWnt6//5KbFWunULVVUNpkI0GmVxcRFN0ygVygZsRd/J6oq1vb09Tp8+Tb1eJ5FK0u12uXnzJrOzs4ZWvVAoGDbWmzdvoqoqV29v8cRHfpRMJsfZsw/i83i5ceUylUKesNfN5MgQ95w6RbtY4vUrV2l027S6Xaqqyoc/+jG+853v8thj7+fOnTtcv34dv9vF1NQUmiRx7doNnG4XaBKr62v4fAG+893vCq97R3gGvH4f127eQDKZsNllknsH2KxWIn4/dpuNZKmK1yfQdHbZysBAnN2dLaGvd4iniCjXMRiQ5XLZ2FVHo1HOnj3L2toaPp+PjY0N0okiVqsVu93KsWPHxHTf4+Kll17C7Xbz7W8/z0MPPUT6MGHo9qvVMorLSSKREG1Op2V4SaqVvHHAhcJREokETrebzZ1tAn6xP9ckmJua5/btm5hMgNQxhnnNRpehgVHCoTiZdJ5EclX4GGRFwEBMFtROF18wwNVr1/D5fMQHYrSKOaKRGHc2NnE4vewcJnH7vLQaNc7ef4JKuQBqTfwdXXGztxpNdre3GRsb42BvH6tZeCUURaFeq2GxS4ZgSh+WFgoF433W3Zs+t+tNu3JHpb+/n1APftJRmwadeWg4Rj6fF1ua/n7Dsq7ng5rNAqFfKecNTmd/f79BS1JVlVKphM/nw+VyiTWtx4HFLA4CEOa14eFRJEmirYq2wO12c5hM9hKqBQ/j/PmXKJVzqKrK55/6MmubO993pvCPjaIH+H1N0/7Pt/6GJElHgB8D5oA48G1JkqY0TXtnIBxgMQsjR6lUIhqNGjgpnUnn8/mMQYrdbieTyTA+Pt5TojUYHx+n3W5z8+ZNLBYLuz3RUywWo9FokE6LPXM0GqXZbDI5Ocng4CBLS0ts7GQpFnLEYlHq9SqlQp5SqcTs7AyPPPwQL379GdaXlljf2CJXyBMbGSKVSPDRT/wPXHn9DZL7e/zB5z/P4OAghxvbNEJeIpEQ3S4E/V7yRZE0dObsewiFQiQSB+TzRbpdiXgkbMA5KrUy4cgwa7VVJEmiXK1RLJapdTWOHj1Kt6PxxsULyLLM4OAw+XwWkwbhsGiZ+vsHWV9fp1QSxGkQ/ezBwYFhrvrgBz/I8ePH+fIX/4pEIoE5EGBjfb33ZyXe/9jjvPjii8wfWWBjbZMjM1Pk8/meuEfqZXaa2NnZMiC4arNFp6Viki3k83k6HRFqQlfDLluJBENs7e7Q6XT4zvPfxu0R1GSNNqFwmEajwdjsOMlkmu3rV+jri+P2KphljXZHPE1rdfHUy6Y26dQzdGwtknslLGqXO7ev4faFqVWKhAMBMIPL4SWRTuBU7Lz48isE/T5kq5N4PE4sFuPcQw9x4YJ4L4cHh8QB4PawsbHB+PgoHo/HkM3rZPHt7e2e6EwM7Er5nPG01TmKjUZDbBYkzchv0MOARbBuxdj2TE9P4/V6BVC3VKJUzLK1tUWz2SSRSBhqRb366nQ6RnucSiVBk3pSZ/B4PMLT0W7jcQsMnNlsJpPJoGliuLy+vso9R+dZWlrCbP4BMIV/yKHwDlH07/R6AviKpmlNYFOSpDXgPkTC1Du+zGaTMZyq1WpGhqJ+iuq9lq5ilCTJcJrpKb16KaZjsmdmZrh69SqVSoUf/+mfZmttjc3NTex2O5VKhVdeeYV2u82tW7c4Mr/A9tYG/bEBrl69ylC8n9XVVcJeN7LFxvDoCFaXi8uXL1OuVjgyN0cul2NosJ9cJktfIMT29i6zU5OMTI+wviYMW0okhNVu58knn2B5ZRWrTeaRh8+xtbNNq1njG998lnypSKgvSqGU5+rVq9x7770oVhvrd1do1OqoZgHTOHfuHKVC3hgaeb1+ZJOIFtMdi3quQl9fnzGACofDgMCSraysiHJWA7/Hi8NmZ6hfxJUNDg5w8eJFTvZo1fVKlXyxjMVqB0lDcTppV9rE43Hu3r3Tq7yEWcqEk06nQ7UhYtmV3kBL143orV2zWsGt2OlqXRSXQjgUIpkS8XabO7todKjUykQCAqK6u7tLJpNBtppxKg7UTgPFasEideg2qmCSObZwhEvXb3Lv8ftI5IvEBwfpYmJ4eIhkKsGP/8RPoCgKq8urrK2t0VZbJA8FC6KvL0pff4zdrW0cLgfNVsPYbnQ6HQOKopOYdQFQt9s1HJ1vnRNonY6oXjvCgaivHIvFIh6Px0C69/f34/P5jOAe3VWptwi6W7bbc8sWi0WDsah/fiPhKMFgkMPDZM9nYTV+Fh3wYzabMJksZDIZkslDRseGe0Nhcdi80+sftJLsHQpf/2/ah58FSsBl4F9ompaXJOnfAxc1TftS78/9GfBNTdP++gd9/6NzM9rffuH/xmazGYYZPehCN+jcuXOH0WEx+Z6bm+Pw8BCXy9ULJOkJf/r7KRQKpLMZQ+sdjUaZPXEC6nXUVovV1VWKxSIgpKIm2cV/+LM/54EzZ9nZEd6BkNfPwtwca3eXmJ+colgscljIsra2xqOPvY+m2haWWquNxOEhAaePbCqNbLHQNz5IMBTiuedewOVysXjnLmbZQigUYe/ggPFxQS1WHDJmi4WT951CM1u4fWeJl1/5HuViBY/Hg9NqRzaZKTaEcKevL0Ly8BBJkuiLRKhUS3RaKpKk4XQ6WVpaYmhoiJWVFUPAEggEWFtbM9Zoc3NzjIyM4LMLk823vvUtRkZGGBgY4OqVa3i9XuHDl2VmZo6QyKXY2toiFAxgMkGzJcQy2VSSQNBHuSyCaLRum2oPTGqxWDHJFvpiQl3n9vjY29vDZrPRLtSwKWI45/K68Pp9tNHY2d3HYrMTCIY5ODggdbCLx+0mlUpgkrpEQgEkrYsJMPWQQWbJRKfbolprMDM/z87ePidPP8jW3j6K28fVm7c4feYMVqsNWZa5e+0Gg4ODbG0JaM7m5iYWk9kQ9ug3pU2WjPCdYDBINps1Dl19M1Wv17FZzAZ2brA/htfrxdxb/ZUKOUDMCkJhL1NTU4yPjxths6FQCFVVOXLkCCsrK2INaTP32JSysbFwuVwUi0WKxaIxO5EkiWP3LvDC89/uZVM6yWQyxONiCJlJ54yE6f3DPdLptDHHUttNI5Lu53/lN1m8u/qPbh++3+uPgN9BBFr/DvB54FP8v4iilyTp08CnAWLRMPm8KNuPHDliZEjqrIDhkRFjX1sulwmHw4brUI9ir9fr5PN5mk3hdygWi4yOjrK/v8+rL7xANBolnU4zMDBAt9tlZWWFcDhMKnHA+vqquEjzR/H5fJw8dYqLr11ArZXZ2t2h1WqxtLLMqfvvo1SpIMtiZeaw2sgkU9SrZYb645w8cYKsWuVP//RP0TRoNGr0x6LYHApLd+4yPj7OztYGicQBjVqF0ckJLl68yOjUBE888QSzc0d46k/+A7LFQlNVaXSadDTo6+vj7t27+L2CRLW/vy+08WhkMlmsViuKojA2NobNJhyLly9fZnd315DU6v2oqqo8evYcW1tbWK0CBKpLxc1mM/fd9wBXrlzB4/EQ7hfuRpPFbKQeX7hwAZssUSmVkIByuSCemr2VJCC0FFWxgq1WKkaKVcjuQjZbMMsiqq9ea+Jwi8GyZpLYP9hGUZxoHROdtiSyIenSbKhYzRqybMVikumqbWw2BcXhpK/PhlmC8dERtrfWaTRUCqUK586dY/nuXSKxGHfv3iXuFolg7XaLO3cWBWG5WqXZqqOhEYmG8Pv93F1aNFgPeiaj3h7oSsNarYbVbDLYDHrb0FFVI6FLh7UCJJNJwuGwcS1u376N1+sFhHtScBCkN41evSollUoZzsh6vW4crktLS9Tr9V41kTYOGZ/PR6oX0KPLnGOxGA6n2Dr09fUZjJEflBD1j6oU3ulrvSEjmqb9Xu9rzwGf1TTtB7YP0+Mj2p9+/rcZHBwUFFpZ5vz58zidTqampoxQUrqS4ZK8desWQ0NDhg8iEAhw/vx5sYIxmxgfH8fr9fLSSy8Z4her1cr09DQej8cQw9TrTb7+zee5fv02P/zER6lW69hlO6dOnOSN117FabPi83mJDQ0imYQQJZVNY5Nlrl++SqVY4qd+8ifZXVmFdoer68tileRysrO9R6utIstW9vYPKZfLqN0Ofl+Qza1V2kjUmw1agE1RePCh93L16jW++MUv8hv/8l9xsLvH3mGCM2fO8PLLL2NG9OsBvxe/34cZQV1yuhSaTRFBVigUjPdVb8VCoRD1ep1oNEqlUmFhepZTp05x5co1PG4fu7u7TExMUq3WuX7tJufOnaNeryM7FeYXjvCFL/xHGvUaw0NxRoeGWb5zi43NVaSuhsvloFKpiX24BM2GimQ2iSe0zYbPFyCZTlGv1wk6RPJ3uVylg7C9x/v7yRVzpDJprFYZr88NbSc+nxeny0atkicY8NFuNpAAMzYsZituh5eqmmRkZIS9fRFcs59MMb9wlO+88iqlhorD7ePG4iLHj58kvbVBJpN5281RrlREBdNuG65DqdM2cjj0G1cPsNF6K2SbzUa1VDQYl32RELVajWw6TbVaxWLCCJSZnBoxWI2BQABN03j88cf54z/+Y4LBIHNzc+LvsJqIx+Ps7grxG2AAbo4fPy4+O6oqfk6Pg3yu0DuwPL1rLqTwDsXFyZMnuX37Nmq31gPeYAjBAn5hB/jIz3yaqzdu/f9XKUiSFHtLxPyTwO3e//8d8GVJkv4vxKBxEnjj7/t+mqYRjUYxm81sbwsM19mzZ41TWF+7RWIDuBoN8YTv8fz01U4qleL48eP09fWxub1lVBl+vx+Hw8H09DSVSsV4IuqDn1AoQDQcIhwOUsznqTdVAgMBnnrqKd7/6Htp1KscPXqMlfU1ZFvPRNLtcvfuXRSHjQ8+/jH+05/8EV63m6mJSSbHx0ikklgsVpKyEM843S4cig2bTSaRSLGyvITNYcPVYxPYrVZMZjOXLl2iVKnw0Y9+lGe//jW++tVvsLu7y/PPP8+pU6fIZ9Lk83kUxcbOzi7O3hpN0IVLxr9NVYWbUYfK6rMGfRW1tr3OxOwkIxOj7Ozska+UWNnY5IknnqBcb3Dt1m2OHz9OIptkc3tX4L3MFpoNlU5HRVHsSF2NbreNbLFgNovS1yLLdGXo9IZbojRvGZBStdvBJIv/Wm0KGiaWlpYZGR1gamyMrtYCk4mxkQW6Whu304Zs7adcLGCWXKhqG60to9idBH19yI5wj1cRF9DaaJS7y0tEQiFaqSx22cL46BgmJMqFPHTaeL1uWq0GZrOEbDXT6aoUyiLAOO6LEw+G31aNwpscxHq9bnAkTJogjauqanAeQoGAANpqYrbQ6XQMi7vubnS5XEYocLfbRVVVscb1udjb2zMqXr1S8fv9mEziIbe3t2d8D6fDRSaTIRaLiXmGJhk/q05v7tAw1p8Au7u7tJpi9tZsNt/5/v4HrCT/EjgHhIAk8L/1fn0M0RpsAb+gHxKSJP2viFaiDfyypmnf/PsOhYmRQe3f/OavGLiver2OoigsLy/zyU9+kvX1dRHG2ZWMXbXeZ01MTLC4uGhAJDRNwx8MGGVWIpEQISejo2xsbHD06FGcTiexWIxCocD1a1eoN9oUS1W++J//C2MTkwwPDIvdsEXGYpZwO13Ew1ExwFyY4/LlS4xNjPLG6xeg0+WRs2dJJhL43G6uLy1icyi0muLpU2+2SKVS7B0khD/BbmN3d49ao0apUgGLpVcpOHjg7MPcWlykWChjtyr09cX5zKd/gfvvX+Azn/nnLN66wZkzZ7hnfo4//pM/ROpqTE1Ncu3aNXx+lzHQs/Ys5oCRYahTfyORCJKsMTN9hFarjSzbuHVzEQkL8/P3YDbLIvZecVKpiw2QiQ52q4XLr1+gUSsxMz1Bs1aiXq9SKZVxOL2onXaPXt2i1mhgs9npHxzg8CAJZqGi8wTcdNtdTCYLrYZKV+0yNNBPwOdiaDCO221jZ2eLpqaitpvcf/9JHn3fgyJdqViiXlP53vnLrK5sUa10GRgYYHCwH5fdhtOpsLsjBsmJTJZcpcrdlTXKTQE8DThEcJBZtlCuCW2G8JQIMI9ZFlGEg6GouMFDIePprmMBdft7sVjE1cOypdNpKqUCbrcbp6IIcZAkWlun04nLbWNwcBCfz8fp06ffJlC6efMmtVpNIPOsb6LdC4XC24xfJ0+eJBwOc+HCBaFU9TpZWrzD5OQkmiYO/FQqQyqV4tH3PiYgv/v72J2m3kBUtI97ewcU8iVMJhP/9F9+lqWV7z9TeFd4H2YmxrS//JPP02yKVGF9s+DxeMjlckiSJKK8HW5UVTUQ3kePHuVv/uZv+MQnPsHGxgalUon5+XlKFREso1tJt7a2GBsbY2VlxbAi6/vglaXbmKx28oUKf/XXz2Cy2OjvH2Rve4f3PvIIz/7dM4yNjXHP+Cx2uxVJtjAwNMDNpZuMjAyRThwyP3eE5MEhit1Ot7dG9Xi8HCQTKHYnuUKey5evkisWKORFqEq9WaPR7oBJoqy2aXc1PP4w991/ho2NDVRVo1wsIfXIRZ/85CdZvHWDdDrNxtoqd+/eFe5Pl4tCoYDDKQNvkpMajQaqqhIMBtne3jYw4sFgkGC/cNv19cWRLQrz8/dQLtVIp7MMD43y4IMP8dWvPsPx48d46cVv0203CQV8lAs58tkkVjNUKwUsJolsLoPF4hD5iiZxKJgsFpT/h7k3j7HsTM/7fme7+75X3drXruqu6m6S3RxuPRzbw5nRSNHi8SjeHUuIYdkeCAgEyXaQCIhtyQakRLKFOPIYiTRRZFmakUajmdGIbFLchks3m72wu/auveru+3buPUv++O49khJJCWIj4AUIEmywq1n31nfe73mf5/d4fciqgtvlRVIV6vU6TaNJMpnG7wnill0E/SHS0QjzM5Pkz0+Q7R5PP32NxReXwDTpVs6xZBNFU9EHFrbt4vS0xuFBjrffvs9s9jLTU1PkTw9JxcPsbT8SSPh2i/uPNlE9XrZ29hlYFpgdYrEYuXyeUrWCruvMzs/R7nXR+31CoRDReIzGeRld14nHBRw3k8nQaDRbfebVAAAgAElEQVQAEWYb8QpcikyhUBDAn06LcrmMjBCvvW5h9fZ6vWguHILUiHswMSFclnNzc3zuc5/j4cOHuF2y0+1ZKBRIJpPOxFetCjv3yJcTT0Qo5IssLi5ydHSCZVmk02Ok02nOTnPU63UqlQora7O0mh0KhQJjY+MYhkXuvIBp2vyTn/l5Nnf3/tRD4WNhc/6lf/OLP/3F7/+c4/oKBsVKKp1OO803uVyOZqPJxYsXuXPnDl6vl60tId51u11qtRqLi4sUi0UurFwgFouxubmJqqrU63VOTk5IpVL0ej1nIjk/P6eYzzE7v0Cr1eGt777LwDQ4OjphbnaWfC7H5bVLdDodarkSLrcLC+jpPWRVRpIgGotSq1RoNhp4PC62t3ecuGwoGCSZSuNyuzBNi8zYGNgSH3zwAZpLxR8MgQSBYAjV7UYfmIQjUU5Pz8lkxqhVa4SCguv367/+63zhL/8Qzz33HL/9ta+JFqlhtt/n8zEY9BzY7Si1ONIRKhWhho/uxbOLc0PmQRVNczM/v0Cj3qTZbHHp0hqPHz8ml8vjcmmcnZ6QTqWRJRvJtqhWSujdDpYlcPSmZdLrCUqSqqmAhM/vR5ZlenqPYCAEsiSgrkE3tmmDLbF64RJ+n494JMKje/doNur8zb/2w4yvr9Ipb8Oghzvmx+WRURQb3TAxzQG27MEfCNEfWGw8OKJcrpCKR3nn3XeQsWg3mvQHA6KJOOVSlezkNMV8nvFMkmgsyuO9PaSh3wUJ2p0OHq9X6AimQeE0h67rjnjdbredcpVKRXgTer0eiiwJoKymEQoGaLfbuIfofFnCyU+AuEKM+KGj+vpRF+fe3h5nZ2fUaxXHGTtCt6mqSqUitgkjyEo4HCYUDuL3+cnn81iWoJJvbGwOSUtJTk5OxDq036JQyKNpgj0yNzc/5DYEufnmO/z9f/APPr42Z1FBpnB0dMiNGzfY3Nyk220TDsPJiUBIra2tcX5+TrPdYnp2hieeeIIHDx44d2p7B+LJBLFE3Gngefz4MUdHR+RyOf7KX/krvP3220xMTLCyssL774segKPTU84KJWZnZ3n+mad45513CPk9FAonNFsdNLdCo91E1Q2CnTBzY3Hu3LlNMBJkff2S8AN0WiiqwsL6Go8+OiAVn2TpwhIHx0d84/d+n1gyQaPT5vD4CG/Az+KlZdqmB08kwuneHoupaVYmJykWi2zcvYvX6yUTDSIP0sheL9/6g99jZmaGf/Yv/zmmafLijU/y4z/+4/zSL/5r7t69S6VS4fqTlxkMBpSLJcbSGVRF4vCwR+74gHQsTLNeJxT00e222b23gc8fJOD1Ew/F2NncJlcocf3pZ3jju2+RnZxidnmeD997ky9+8YdJxFOkUhlef/U1en2J/qDD9s4GyeksbVnDq/RQvV5sy0JSIBaOYpgDJNPE7AnXXsSt0tTbeDUfab+fkOzC7Pe5srTA01eyZGdiNLpbYBTwhNzItsmg1kZzhZFkN2GfDJJFNNLGwkDxhqBaZm/7Pju5R0wFIxh9C8XvZbuc56xWFkUsnQqRpI+TfAXzrEg0mRnSigxqtQpe1YVqW+SOj2g0GrhdorUqOlyHd3WdeCqJiY2kKvRNA1O36Zw1mZqaolwuYiKRSMTpdrs0mjUqzSaaLA3BM5ozzUWjUcePM7rqjQ6LSDRJNBoFYDw7TblSF1dYb5BcvsjJqXDpxmKiwKarN5mcFlu5k7NTZudnWFxe4Pbt22gemYHRo3w8zEaEFCKhGDIST1y9PCSG/9nkpY/FpPDv/u2//env/fSLTsZ8tKcdrddUVRgw1tfXCYVCnJ+fOzDQCxcuOH2Toz3v/fv3aQxhJHNzcywtLZHL5Zibm+Pk5ESg3b1eDg8PqddrhELhYUmGaEwuV2ooiophmEOxTuGZYZx6Z3cbv99PqVJC13uAKBUdIeFM3SYYCvLyzZuc5/PsHTymVCnTNwwKpTKn5+dUKmV0Q/4TBh/RKynurPl8fthlOABFodFoMDk5SW3Y6/i5z36WL3/5y/ydv/23RTmpqnF8fCCeQENRr9cV/ZXVilhZSuBkJjS3h57eR9VcBIIhgqEQSDKJZIrDoyMCfj+X1tZoNSrsPX6MMTB5/HifUqEoCnos8dQuFvPYlolliESkEB1lNFVF1VQG/T6KIjtCpKRKBL1+QoEwyWiEcinPU0+vM/nECkrAi2x1MS0bW5FRNDeWYSFZMpJLAySwbPS+gWkrDEyFwpGIB3eqbdLJNH3TxpZl2pZBriQQdKptYw9M1q88xerqKvG48G40GnVsWwCDDVOIfe12G5fL4zQwybLs1M6PNIXRk94aTgm1moDKVIcBtlarKfQcWVDKZUVyVptut9tBv48szaM4840bN8hms464WK1WCQQCSJJEpVJxvraqqqTSomV9BL5dX193QCu2bXPt2jW2t7eZGDIzRgyMkRVdkiR+5Te+yj/4h1/6+E4KsiJElk984hO89tprfOELX3DwY+12m2w2SygU4sGDB2QyGV789Kd54+ZN1tfX2d7eplAoUCqVePLJJ5046ugNaDabgiEw3B3ncjlM02R9fZ10Os3hwWPCEdH1MOpBGNV0pdJjQ7NHgEBYqMXXn/kErVYLc1tEeqvVKpYt7pntVguNIEdn5+RKZe5/9IAf/Ms/xHu3b1Gv1plZWKLWqIs7bCTt2GRH+YJut0ulUuHixYvkcjlKpRJer5cbN25wdHjI6uoqRweH3Lx5k0a1xj//H/4ZLpeLH/uxH+Nn/sVPMz4+zrkueAszMzPD8hPh/R/VkEciEaThE2p8LMNkdgyvP0il1mB7a4OV5SV29h6TfLzHrXsfMjczx+beDi/9xZfw+XxsPdpgcmKCdqNKr1nDq7npI/bqPq9X5BqGsdxRSnSUQAx6w1iDAbOT4zz46LssLy8ytpqlUzym1qhju1UebWzw1NPrKK4Aqs9CUmWwDLBsUDQwwpiWyqDvJpw5x+XzcuvtO6huN9FImnAiQcA9Ts8QT+JqvUkmJsjOzWaTldXl4YNGplwuOhmQkVlJU71EIhGHsTBqwdra2nKIV+Pj47hVhfffe49gMMj4eAbDsqkWC2BLKKqKaRhYw5hyp9P5E4CaWq1GLBYjGo2yubmJx+Ph3r17joYwOztLa7gurdfr6LpOJBKh0Wj8iZbp0Ybtww8/5KmnnuLo6Ijr169TrVaZnZ1lLJ1xXJjBoNDjHj58KK423d6f+fP4sTgU2q02KysrbGxs8Pzzz3NwcEAoFHJ+kBOJBJZlEY1GSSaT9NttksmkU0oyCo/s7+/jHd4P/X4/rVaLTqfD5OQkR0dHTp681WpRq9WcN+ns7MxZHVWr1WEnZUeszWybdDrA9va200T18OFDnn32E0SjgqfodbuwLRu3qrGxsUevr9Pp98mMZ/n9V24SCATY2t6l1e7i8XlJpDPO/8v+/j6PHj0iEonQ7/eZnZ11at0+//nPU2k1iMViFAs5zk9PGAx0tjYeous645kxQkqIw6N9AgHxZxxLp1BVld3dXVZXV50DsdvtOuQdj6Y4OPJOp0On1ycU8LG1s0cylaHb7bK7u8tLn/ss1UqNv/3X/xZf/uV/T8DtJZ1OM56MoWKxt/UITQK3z+/Uo4OwmstDXcU07T+aFCwFvdOgWi0TjvhYv7IItFFdCt5gkN3DM97/YJOLV67jGXiQ7B4elwtkG7s/QFI0XF4fiqmhKeAK+Kg3G6ApdPQeWruN7dLIXlhi0NOpNku0KlUYmAwGopi4WCw6n5kR+HfEkRwlMUcHwshyXK8LVFoikXCe3o8ebRKJxrFtk05H2KPjsQS2KQjTnXYT+KPpbFT9NhgMnFDfCBYrScKuXq/XndKiUdhqJIqPUPejUttRYfLk5KTDa7x27Rq+dJrNzU1mZ2fp90SuZkTyKhQKznpS+rh3SWqaxltvvcULL7zgfDMSiQSAszEIBALE43Hu3LnD7PKy0xEw6kNMp9MO3nvkSBvVnj9+/JjP/OAP8uZ3voPb7WZ9fd2p8ZqemhCU5E6HzFicarXKpUuXqFRqvPrqq7zwwgucnZ2xef8Bt+98QL/fc0pApyeyVCoVsjMzbGxsEA6GKNfFjrlwUiKVSTOQZDwBPxcuXabZbLK1d8jdR9uMp0SaMJVKOVy+arXqMPyTySSPHj3i5ddfE1gwVaQ808kkf+Ov/XVarRb3P7xLvVrjy//LL6OoYkd9fn4+FMJwKsXa7TaWYeD3ixan5NDdmc/nxVipqAxsiexYmvOzE6LhEEsL86hBjVg8wW/+1m8RTyS4dvkqr998lU69QrtWYTyVod/rYCF8/tg2Ho8Lj+ai2WqgKSqGIVBxvW6XeqlFdjLJzvYG//LnfhJ/xEu3cUJDV1C0AJYW4Z1be6ytN1m5kGF+cQIoATqS1gfJxrZ6DAwD3egytTDH48MDcKl0zAEhVabdEwddwO+nmMsT8HhRLYhGo5TLZSanssOV3TGRSGhISBZZBY/Hg8/rc6zAqqo6HESvVzRS9ft9dnd3sWWJdq/L9MQkJydHjGUnsG2TerUGikw0JlyGjaqoEBzF4INDlP+oTl7XdZaXlzFNk3g8jiRJjjA56oAY5UcGg4EDsG02m6ytrVEqlZiZmaFcLou4+fGx0+ExWturqsr8/DztdptSqSSIVx/33od/+z//0k//xJf+Pqenp84I3263KRaLqKrKzMyME2GNxWK889ZblMtl2u02Y2OiQLRUKpHJZGg2hQDk8XhQFMVRjWvFolPdNcKYtVotIpEwlmVzenrK6sU1sbXY2qZWq6NpwjOxsbEpuIymQTqTIhIOoyoyg75OwO+n3W4Rj0Qp5PO0+wNa3Rb+QIB6XVSp64M+Xp+fgWkSDId56aXP8qlP3nDCLpZlMTs7y6VLlxxl+t69ewJ37/cSCgVp1GpMT00J0apa5aN79zg9PaVaKeP1eJBkMa436rUhFl2MnoO+PuxeVJwwT6NexzJNIpEwsiLU83v3H5BMpVBUbRhQCzIw+xwcHIJpk0wkqZbKxKIxxtMpHj38iEDAR3+gEx3ixQVNSCYRj9Pv64xlMsjyELvv8VCrNoklQoxlE9z4zLMg65iyheYLgOLlNN/G5YsSdF9iYmIey7DxBTSwDaCLJfWRJBtJsVBVm7NSiZnpGY62D7BNi3g0ycA0Oc6dUygWMQ0DxbaxDBNXOEIqlaLRqA8fPCrt4fam3Wk5qU+/P+j0dBweHjpJ3dHVdrQ1CIej1OsNznI5Aj4/nW4P73AD49JcuNxuDMvAGvQwTdMpb8lkMs6Db3x8HMBpUFcUhWq1it/vJxQKOetP0zRJp9OOv6ZYFJHo8/PzYfI250BZqtUqV68KJJ9lmmxsbBCPx7Esi3K5zMTEBGtra/wfX/tdfuwf/qOPr6agDM0V2WyWhaUl9nZ2hj0Ft5ifn8ftdrOyssJrr71GIBDgmWee4eWXX3aKOU9PTzk9PXXuXSJDHnRO33K5LNJ7Xi+VSsW5b49gLbl8kbGhR36Ew15YWKDRbDu7Y0XTCHi9gv4TixOPRZAsE8s0GQw9Aa1mk3giiSRJ7B8e0Wo3SCZi1IeR24GuUyiV+LVf+zVSsaiTmvP5fBweHnJ2diZy+cMxVZZl6ucnjKczlPIFoY8oKhG/4PuFgkG0WEyIZZbtJEgHgwHdrtjqjNajtinS66NR3jAM6vU6tiQOi3g0TL/XI+TxgCwzOzNFtVPj6OCI7PQY6VSK1/7gFZ66+oRwkdoWsgUuzx9ZgEW010ur1RK7dUU8aUc7e8O2sGUbWZOxDQMp6MNjKrQNFUlSSCYTzM5NM5OYJZuFvu7CNrtIkgqoyBggmUOHpClaxHt9R0caDAbUmw0axgBJlkGW6LZ7eF0iR2CaJmPjae7evYvH43L6M/2BGTwejzM5ja6WoykuFAqxt7fnjO26ruP1BXAPk4sut5tOs0G+UODaU0/R7/fYePjI6az4416gUc4kEomg67oD0LEsi+npabrdLs2mIFr98d6HbrfrXHsqlYqzqszlcpydnTExMUGvJ9bSlUpFPGwMk5mZGRRFoVar4XIJLF46ncYYfMx7H0CEfKampnjt5k2CwSBHR0fOuJbLCdjHxYsXabfb7O3tsba25ryRMzMzxONx5ufnnQrver3O1NQUGxsbTtnpnTt3HG7D3NycmDCKecbGxggEAuzsHjhI8WbzjHK57JzwkiJj2haxZILFhUUCXg+1khjBq8PsfSwSpdxrcHBwgNvjI+D3kMvn8AfDVIs53F4fvU6HTCLumGNGyvLk5KSjgWxubjpvejQURNe7zMxMERgKXue5U/Reh2QyiWWYBHxejs9PKZfLpBLi9x0l8hRJwFTNoatRlmUkW5hg9G6XttYG4PP/xQ/y/u07JBIJh2S1+2iTs4MjlibneOv1N5idnQVg//iI7PQU1VoRr0um1+2TTqeJRaOcnh7jdYkfKL3bc75mq9kkEPdhqbB/eozkDdKtV/EEfWiqC1nSyIwF0dwujna3ePMdg+tPrQynBEBygamAjADSKBKJaIybf/AyxmDAQO9zWDkkkkxgDfpoPg8BRaau9zBkcKkuBzozOzvL9PQk5bIAAFcqFecp7dJ8TsBsFDR69913SafT9Pt956Gyv78/JCkJ0tHANIgEQxweHVEpl8nnC4TDQSJRgZ4bmccqlQqqqnL//n0Bixn/o36IS5cukU6nyefzZLNZ0XY2PDhG9K5sNkuheIZlWbhcLoLBINevX+fk5IRWq4XL5WJ3d5dAIOAQrD0ej8MhsW172Af6ZyNOPhbgVk1TnZNzbm6OUCjE3Nyc03coyzJTc3Pk83mnCSeRSPDBBx+wtLRELBbD7/cjDSGup6en4g32+ZxvzNWrVwXqPRRy4CyDwYBEIsHq6qqTnR+tRXVdp9frOSk5VVVJp9MOG2+Uthz0dMbGxhzIaKvZQO91abcaNKoV6tUq9WpZZDA8bq6uX0aSxH1/1PmwsLBAMBgU4Z7hm9toNJxy16mpKSzTFIh7l9sBm47WSyN4qqZpDoMgFos5U8PICTfqGFSHeQXLsuj3OrRaLYrFIrVKyTHoHDzeJZNM8dQTT7C0sMjy4hKNas2BrtYadcYnsoxPTRKLxXC5XI6xZ9Q1ORLqRpZrb8jLwBw+xTUPpiVjWyI85VJUPC6FSNiLJZcolbax7TqDQRfMAdga4AbLDaaGbGlUSmWODw4Z9HRHuR+BdGrNBq1Om75h0Ol1CQ/Zl1tbWw5WvlwuO6tHXddJp9PDz6PGxMQE09PT7O/vO27EWCxGJpMRus/4GJOTk0KgTqeZmJiiUq/x8OEG9Xqd9fV1Mplxzs7OqFarTufDqP15NPKPrpDz8/MEhsyFqakpACfzM/pvDMNwBPF4PO4cXqMJIZlM0mq1iMfjQlcJBCgWi2xvbzsw4HK5LMJSf86k8LHQFH753/3yT//Uf/eP2d/cdLrwRqLYlStXUFWV7c1NLn/iE9y7fdtpnw4Gg9RqNbrdLqFQiI/u3v0TpJq33niDsbEx6vW6syk4Pz/n0qVLDtAlEgmzvbNLLBajVhNsv5nZORRFxe0Ro3CpVKZcq3J6fML8/BxYNvfufkjA58XoDzCMAZWS2FM3OzUazSaSLIudvcdDMBDEtCwGA4Pt7W3GxzPYyM6HLBaLOahuAT3NOWRi0xyws71NLBbDrWrYtk27KWy1rUbTgdAk0ylRi6aqhEIh2sN9udslFGzvcNXqcrmwTANVVbFskBUFyxYQllg8jq73WVhc5OzsjPzJGZIFnXaH8cw4169f55133mFmdgrDGtDptpEVCZ/Ly87OztBX4qXZaNBsNQkGAvh8fxTNrnTrnOVOuLS2xuXVFXx+P5VqDduWaLTadPs6LpfK6lKa1ISfWNiHZXRQPB6wFLBUMFWwNIyBxP/+H36N85NTxmIZJMOiXmuxd7CPFgpQbzVpd9qEgmLMd3kCTE9Pc3p6gsvlIpc7ZzAQT/5WW9zHxXUhzoULF3jjjTc4PT11KNqjg+P09FRU2PUtcoU8yUSCTqdLX++hKDIet5v+oE9xqPQnIgHnST3KnrhcLgKBAKlUiieffJJGo0EoFOJgf9+hYo/CgIuLi7hcLvb29hzaWCwewev1Oh6Eubk5oZvVas46Utd1vB4v8/PzhEIhTk5OnMNieXmZX/2PX+MffeljDG6tVyp89N3vYhgG3W6X/f19BxUu8FHi6V05P6PWqNPudtAHfQzLZGVlhaOjIz68d1eEfXo9FtOL7O7uks1mnaftyDCSSqU4OTkRvL5+H9nuI1sS3337Dfz+APFYiIFhcXntAkdHj3G7wO2SUAOiU+DdD94hEY0RC4SIBPycnp5iGybWwEDv9mjoAwJKiEqjTqvT43t/6AcIhsN0jD5dfcDOwWMePXrEWDTFQG+ROzvk4QNh2/b5fBTzJj6PgiIZVEolJpLTLE0sUszn6ZsDFEXC61FR5CC2ZOJTPBh2i26zQSCoYRpubBMi4TQKEjISmmqhqoBtoPe7yJpIiXpdHTo9Hc0l0241SKTStAc2kfQkar5BOiQ6CZ74xHPk8mccnZ/StweUqhU0tw+fN4gkQb1UJJudRNe7mKaBooJPESagVqtNIp6hXu0j9SVWli9iWiD5NSrdJrHxCBIWPlNDb/eRMWg3NYKaD5CRZRdGp4fqcoOmgq7TrFZ57ZWb1PZyRN3iA19vtkSjk19DxiQTS4jSYa/A3VumTrF0yurqBR4+3KDZ6JJJZ2nWLRaX58nn81y7+ml29m/xh6+/wsRkRkwSmkxPF56B/qBHMOTFsvv0m01k26ZcEJHr1nBaSyQSjGeTHB0d0Ww2KTQGzM/P4/F4GEulCQT9BHx+mq06wZCbe/dvEQ6H6XRFW3SrXSGZTNI9rxMIurh7Tzhvs9ksxyd74lq3K5iPAAG/h9OTQ6Ymx1lanOPWrVvkc4K30Wg06Pf7zM/PMxgMODg4YGlpiYcPH2Iaf/b14WNxKLhcbnK5nLN5uHRJYBvOz88FuiqT4cGtWxSLRV588UXeeustms0mwWDQaQ8yTVMorpaF3hUUJsBp43n8+DH9ft/Z+5pD4a1azIsatFabZCJDMp2iWhPuyHQmxa3b75NIRqn3dFRZol5r0u/20YNdzJ5Bu97A1IVBxO/1Mp6d4CyfEw3D9SavvvoqtUYDU5FIpscIR8Upf3BwwOzsrNOaPaL87uyI7MTa2hqapnGWP3M2KYIr0WFgWPSNAbZtIssmqqrQH4jdtoSBYdq43BoyNgGfB1W2kBUby7SwbBnLEvd8l8sFsoKqubFUzxCGKzwMmWSCZETQih98dI90Oo0sw7Vr12g2apTyBVbW1vjoowdomoLXG6bVtGk0BL+h0Whg9AUu3jQHmKaB7FUZSDbRZIrDkwKz81P0bR3JtpAwkT0uZBtckoSiSNhGB0m2UdxuwKZ6ekjQH6LX6/DBB7doNi36fYNmW5TTev0B3F43oVCYSCyB2yt8Kc1mE6OvUypVUFUPxkB0ICwszg3zBj7c7gk8Xrco0un1HPfgyFkoGrbcBAKBYd1fw9kk6LpOPl9genqaWq1OrVan2+0RDIZwaxYSLixTodnoYQwkZqcXkCSNcChJtVqmWmmSSKTY39/H5/PhdnsZDEx0vY2quohEYrjdAtJr2zbxWMIpBWo2BA5A7/WRJYWpyWnH03Pv3gMH9DKqqO90OqTT6WFO5U9/fSw0BaQ/gkCM1iqj2uxarcZHt287iuzIVNJqtbjywgvOODcas0bpSIHylh0Pwqh8JJlMsnrxIslkknQ6ze7OIacnedwuv1OjtnxhkVK5wGDQZWIyhWX3nDthJBIhkUhwaViScpbLYUsQDIfw+HwcnZ5weHjIg0cP6QyZha1Wi+eeeZZENMbGxgaqJDsiqqZpzlXBtm1mZma4fPkyS0tLvPjii1xcWyGZjgu/vyYzjM0jSyqS7MK0ZFrtHqlEEsWWyI6PsbgwQyTsITMWI5mK4PFJaC7weGUCQSG4jWy3I/emW1Mo5nOsXVrl1T/4fVyawsMHH5Edzwjc+7e+zZUrV9jfe4zH42FmZpoHD+6zv78vqtSLRbHzH/QEWarXQde7DkdA0zTOyucUajWqHZ2zos5p0cSUMlhyHN0OILl8mC4NiRbdTgFJNWg2inRqeaxeg0g0yP37d/nyl7/MrTsfYJoWjUaTVquDhYRpS1i2RCqZQVE0DvaPCEfjTE7PsjB/kanJedqtHvF4glQqzb17d+npbf7uj/xN2p0av/07/4Hzszy2JSFLKudneSLhGLKkEgpG6OsG7VYXVXFhGgqNeo9atUNfh/GxGUxDoa+DaSj4vBFsS8MceKhVBjRqJnpXxhy4ODupEA2PYVsuAv4knbZJsSBEzlg0RbczoFJuEAkn8HqCnJ8V2dnep9Pu43b5kSTJaa22bZtyueysm9vtNuFw2BGqW60WDx8+ZGVlxakQtCwLRVb+zB/Hj8WkYFtCUJmdnaXb7ToGixFEZX9/n2vXrhFLxLl16xbLy8vCgDJsLhoJNoYhsgujVCDgtPL4fD6HkzcyoxSLRcbGsoJnmEyxu7vNydkpzXaLTCZFKCxalkulIqbtcdZCqiowZn/xpU9jDQyqxZL4d24Py2NrvHfrfVrdDpKssnd4wNzCAqVSibPzPBPjWc5y58xkp50/WyaTIRwOi1XRMPb88OHDYcJT2LQ1t0qtUcU0TYEVN0Dv9JxOgKA/hGTLeDQhmHY6HfRuD/dYUnQHYtPTW/QNkWh0uVxItiWqz2SQFA3dGBAJBdjc2iEzXmBg6A7E9ZlnnuZ3vvbbIpQUCtHv97l+7RqRcJDWsHrN7VYJBAI0qpWhqCmETYEqs3B7XIRDUY4OT3n2+Ri722f4PHG8XplBX8KrqmiSCi4DyxBTRjgcBtVDq1gBZG7efJ3Dw2NWV9Zp1Qbow3YqVXEhSUVhGiwAACAASURBVAogCZZAIMzVq1fxDWEky7MrmIaEbZ0BDSzL4oknnuDe/Q/56td+g+2dR1y/fp2dnS1HhB4BWQOBgHOdVRRFdFFmZsjnBTS1OxT1ksk42GIKSyaTeDwe4hHRdBVPRIlHorjdGpoqMzY2BpZotopGw5iWTjIpsISZzBjj48Jk1el0SSREWMq2xSZJkVWnxt7lcjmaw+TkpEN38vv9+P1BcYX6Yzb/EVxlJP7+aa+PxaGguQTYY2Jign6/7xST9Pt9stks169fx7IsPvzwQ4LBoFNP/vjxYyKRCMVikZmZGe7evcvMzAyBYaz0ypUrjqBoGAaZ8XESiQRbW1s0m038fj+X15/g4cMHJIfW46ULy3x47zaf//z34PG7KZXP8fo0tnbLQ21D1JX9xm/8JqlEkngsxuVLa6QSSfL5PGPZcS711ykUi+K+7vWgud34PF68Hg87m1usX72CKqlcuHAB27Z5/30Bpxp1WIyuN+l0mlgy5vQDyDYCbJo/F74AVcM0bRq6ztaDNouLiyh4UGWVJy5fo5DLiRyCLKaCaCTlXLNcmoC59jptJEVFNyySsRDtepVLK4s0qiXmpufY3dpkeXkZv9eHafRp5aq8/vrr/MD3f58DBdk8OSKeiFIonIsJodsWh5fiwjLBssUmwmp2ubd3m5XVy7z826/w3/73/w2DPmgSVFs69UYJzWWhKTqy5KZ4VCQYiHDr/bf41V/5dRqNFkFfFFUNcbTfcLoxQ+E4vYEIeEWicSLxFLsHh0xOTGHZsH75Cu+9foeTkyMSyTitZodgyM/Tn7jG73/n93B7JKamx3n9jVeYmpxnairjuGXT6bSz0UqlUkPLuE7A46PfN/H5gnzf9/0AL730ElNTU9y9e5c7d+5w8+ZNLMuiFspxcipISy5VQVEkVleWeePNl5mayBKJhFheXsa2Ily4eAk8HrrDsuNkIu1EqwN+cRC3223QbAzDYmJCmPRM0+T09BS32zvMa4gJdGxM/NkNw3CKgNrtNqurqx//Q8G2hACYHhvj4YMHXL9+nXK5zMLCAltbWxQKBad6ze12c3x8TCqVYnx8HJ/PRyaT4Y033uDatWu0220mJiYwDIOdoQmqWCzyzDPPcHp87EBEs9ks+/v7tOyewx+4evUqRyfHfPrTn+bmzZv0zT7j4+M8fvzYWZcWCgVkG6ZmZ3DLKj1dZ3NnW0BLZYmBZbK0tMTM7Cyvv/kWvV6PRqvFzt4efUPYWyvFEpVKjUKhQC6XY3V1VRSCtFpOcGlkp5Vdwn6bjAnXZqNeRZUlZFnB6Is+hKA/QDycplau0aw18fu9BH3C/dZuCwOWhI3X48IcTgqSJIl1ocuFaYMiCXyYYRjIyDx59TIXV9eIxSIc7h/QdjVYW71I7vSUqcms6EGo1fH5PcQTUSqV8tBS3aLf64jEoeom4A9hWSZenxt3XcaveejUWnSbx/z4f/1PubS2zt/9kR/mjVf+ENsskUyEqLeE3fvg4IjjoxyDvkmnPSAQiOAPxBn0TRTVRO8LPmW5XMbrD5AYSxEKR1lYXqE3sIjH4+SLJY6P38PjEk9OUS8o87nv+Qz/8l/9CxYXFymVc0iSqLAbHz44vvWtbzm+mK2tLRYXF53E5IsvvojPFWZhYYHLly/z7rvv8hM/8RN4PB6xzWi1SKfTgsnQEZsvVZPwRkX/Y7VWIBT2Eon6UFWbQumYgDfDnfffZ2Fhgf39fSYmJohnsyxeuOAcNqP3LBKJOIVIhUKBTqfDE088weHhIQCpVIqtrS0UReHRo0eEQiGWlpY4ORFAlnv37iEr/wkNUf9/vC5dWLLf/OZvUiwWMQzRLZDP59nd3eXq1avD8RdCkbDTN7i1tcWzzz5LNpvl/v37Do/w6eefJ390jNvt5vz8fFjfJcb+YDDI1aee4vzkhEajweLiIo/ubYg78vwc+fw5iVScWqPO7dvvMz45wfn5GW+//Ta5gk6j0eDVV1/Fo7lwqRrTk5OCnNsSVXEXLlzgU5/6JOfn50xOT3F0dMLJ2Rm5QoGtnR0kSWFze4uVlRUazbZzyI3o1deuXWN8fJx6vc7W1pYQwYIeFElmY+MRvW6bVr3BzPQkoYCP+dlZvB7B+zd0kcKLREMA1BoiS58vlIhGksiaC4/bj9vtRVHqYuXVbWP0xfq23mxh2RJXrj9Lt9dncfkCXd0Y8v9sJsezHBzsI2Hh9/oYzwoikYJELn/C8fER9VqJfr+HKotDzTZtbFvC7wsTi8QYi0W592CT/sDGH0rj8/pxedyEw24kBqhyh2a9wt6pKLPJZifpD2x6XR1kF7at0Gr3MAaWoD7LwjeRnZxmfnGBWr2NbgwIR+I8cf1pHj3c5OHGJnNzc3zjP36d559/Hq/PxeHhHpZtsL2zQTgcpFA8I5sd5/DwkIX5i3i9XidA1+0KIO7nP/95fvRHfxRZlvnc5z6HSxZRZIBKpUKjIYhaIw1lfHx8OO2eDUViH+lklEDARzwWxh/wsnZxmWpVmJkurbxANpt1glfHx8dMT0/jC4W4e/s2V556il6rhScep3K0T6VScZySuq47dKhRPkhVVebmRDwgkUhwcHDAD3zhC5SHrVHf+9d/lI3tP5289LE4FC4uL9rvvfx1ut0uyUyG1155hU997/ey/eGHZLNZJ/xULJdEEOSJJ8gdH1Ov1zFN0zEaxWIxisUiQb9Qi0d39Z2dHSYnJymXy+TzeWZnZ53159zUJGdnOeLD0hSPz0swEefhh/dpdtrs7OwA8PVvvMrh4SHhcJjNR4/IZrNUyxV8Ph9TU1OCLCQrXH1inWAwSG/Q58rlJ2g0Gjzc2ODevXvMzswTCIf49re/jS8YcrogR52EI63DNE0H7NltiPScpijMz04yPZUlEvbTalTpNKqEI0EmshmWVtZF5XivTafTodnpYtkS5VKL3d0TkDW8niiqoqG6+lhGH8sc0G42MAd9fIEgfcMkOT6FLxBic2uH5z75F0knkhweHggnXLnI2toa3U6LwvmZswHqD7psb29SLJxhmAN8bsGI9Lp9SJKMhIbfG8AluQhHI5SrVU5yORKpFItL81SKBdwuF7FgyImP981hLaAkocgaXb2PommomhiRS6Uymldsl5KpDKurl3jhU3+Bubl5/sd//W/Q+wbn+QKX168QikbYf7jB2NgYd+/eYXw8w8NHD6hUi0NnoMr5+SkTExOMZaZRFIVQKMSVK1f44he/yDe/+U2++c1vOiag+fl5Bj2dszNRKhOPx8nlcpTLZcbHx9F1nWKxKDIOygDNpeLzeUglIkQiYcbHkgRDfi6uLHB8fMjM7BTxyAzFYtERgROJBOfn58zNzTE1NcXZ2ZlzFc6OiUrFcDhMrVZz7NnVatUBIBeLRUxLdzSrkZ9namqKXq/HX/qhv8GDja3/rL0P/1lfHo/bISznz87w+Xyc7YguhrOzM6cEY2xsjEajQe742MFrn5+fOzHUTqcjeAQrqxwcHDin/UggqlarjjEERBBlY+MRsVicN996nWc+8Rz37t2jPzCJRqOMj0/Q6/Ud2+hovE4mkyiKgi/gxzYtBwjTaDTY2dkhnkry1FNP8Z3vfIcLFy44Tj/TNPnw9gesrKyQK5acGPeIuByNRh3YysipqBgGbs3FwtwskbAXr8fFvTu3iIb8vPjisywtzPPUE+vYXhVJlunrOp1ul26/j4RCudzlrbfucHpeolJuo+ttgqoI5FgyaIqMZKuOgFkbMjEb9SpbjzYwF/pMT09TKZd57dVX0BQB+fB4PE6t+UjkHbkm//hfsixhWzbtdpumPSAxkSWoQOd4l3pXwVanaOkt9k+KxENxopEIkmzjUVRMFNGNKNt4PCp9c+CsiyMJPz6fgNU+99xzBEJhvvrVr5KdnGR8fIJqrUG92cLj9xEKhXjxxRusr69zenpIdmKM/YM9BoMwsgLn56cEg2FKpQpul4Cg/OzP/iypVIqXXnpJWIsLBWKxGPV6nTfffBO/x8u1a9eQZZmTE2GImp2ddTZkoqjFS6/dQpGV4VpSxTIVZMlNr2vQbvVJJsfwesL09A61eoW5uTkCgQAzMzNoLoVINES702T/YE9E4V2K0/41qlIcfb5G2Z/R5Dk7N+lMCbIsk0qlnAJb+0+vYwE+JodCpyOw1qOcQyQScehIAI1GQ+QEhj2PoxErFouRSqWo1Wo88clPcvu117hx44ZYpQ2pM6MRL53JkJ6aAsPg3p07pNNpHjx4QCzs4Tx3QigU5PBon93dXVTNTTAYZtA3mJ6aQ1M9FEpt1tfX2dzcZG5mhq9//esiU4BNpycOmaULy6RTcR49euT4Db7xjW+QTKd5/PgxHrePWq1Gp9OhPRg4dtWRA3NkNpEkaSgcuVnMTjA5OUmpmEPvgd518T/93L9C77UY9Op4PRqV4gnelEtsFYJuVLeJ1rOwJYn0+BTTszP4AlFefeUdvvMHr2AZForLhd7rOLSqo5MTxsbGKDeqFEqlYZHOCamUmKCikRAej4eT0yMk2yQQEBHj+/fuoWiS8/6ZlkFfQtyn2z08Hi+hYAxzYKHbNsVGjXgyQigTRDfbnNWOMD0mql+l2ungjcTwKDaqqmCYJrYt4LZ6r4ttmciq+P5YtAmHs4yNjbGzs0d6LMPFi5c4y52zdnmF/TfeRJFVNM3N2tplfvIf/X3hELUGPNr4yHG+ttttxjKTIFn84i/+Il/76u/wzjvv8PM///OOJfz+/fuOgzCXE1HogM/D2blgIfYHPRRVYm39Ip/97Gfpdrt85StfAaCca9Hv9zD6Fq2GiUuzaTUHIJmUik10vcNAl3F7FC5cWBpOvBG63TaJRIxEIsY3vvENrly5gqJI+HweOk3x2RHBt65TNf/mm2861XMj89Lu7i7LQ9TA7u6u43n5824IH4tDweP14vL5iaXS9I0BjVqVubk5Bn1BnHG7NdA07AFEQkJX0Ls9FElGkRXOTk7pdbpcXFnl6OiItdk5vv3tb/PiX/iU6CDwuIf+eYW9nQ36gy6Hx/vMzE2haAHOHz1CklQKxzkuXLosbKfRCIWi4DgkklGuXJzn6OiYQa/O737jq8wuLLG8uoplws0/fB1fwE/LlAjaMrbHz3v3H4pDzefjrFIhNTXF5uFj8QTQNKRel3BCIL7GJ8fZ2dmhVCogIUbidCpBNBwh4gqiSQrzC5P0jQpPf3KNrlLG9hr4fBqWYdPtD1B0HdMcEIhlaLTr1Bt9klEfg26BQMiF7Woz90yY//LSZ/jKz/4KhZJB2JcCU0WWIRUPINFDkwf09QGF0yIrC+PkDzfwzs9huG0qxROaNRe63mZyekY8cTSFTqOKioRuymAqdAYmtq1h2DI93UTVuqJ/oNfgLGfg9rrwqVFcVoBOUSIaiqP6fITSorqt35cxLAs0iWaljG2BrIVQNJmAV2xNLl+9wv7jIyw0Wl2LCVeIXLFBT5f45re+w9zCDO8cvcfzn3yK3/zNr3Dt+pO8++67+P1+6rUm09PTglvgC7G+vs6P/MiP8Ku/8qucHh/Tqrepliqi10HvMjUxTrfbpl6vkkoGUFUTmx4Hhyd4PB4B9Ql4uXvvPd7+7qtYlsXP/MzPcPHiRX73d17md7/+28O+SD++oIeT3DnZsQybO/u88PyzFAo5FucWkfHTarSJhNNsb2+TTqe488F9el2DWq1BtVrnwoULpLMh8Hq58/rrLC2JWsPNnYcYts7y6iV2dnbo9XqUilUmsuM0GzWWlpZoNqKOx+HPe30sNIW11Qv2d1/+PQKBAL12i+Mj0ffXqFdZXltj76OPRFpRFv6ATCbD+fm5cyc/PT3lxo0b5HI5cZdFolQq4Xa78fh99I0BkXhMQEd6PVqdNteuXePx48c8/cwnOTo6olAoODXjIzTXxIQoXV1YWCB/ckYgFOSd997n/fdv88G9+5TKNSxbIp5Kow/6uDQPsWhwyOproeu6GL0rFbxeL8lk0hk1D4+PCIVCwtraaBKJRKhXqviHTMpUKoVbcxGQ3ESjYertPH/zv/ohZJeNRAdZMvFrbsz+AKtvMZBVXF4vCytPkS/XsC2LsEclGpDRQh5sSaIhqViyyltff4Obr7xJrzogGgpTKpxj0QYsyrUOA0PC7QoRTwSwJMFpsC2Jw+MjDMOkbxh4fH6HLZCKBp2n1sgrMgqTjSrrAoEAXVOi2WigaRrJZJJ2U9iH/R4R6omEwwQCAUKRoOP9j8aT1Go1Nrd2WF1dRXW52dvb4yd+6icpnpcIBoN8eO+hSLyWa5RrVVweNwtLgs15eLLPz/3czxHR/EQiEWKxGIPBgOXlZT7zmc8wvzDL3/t7f49qtcpgMCAZiw/JW+I96Q96WJZBtVp2RFzbtikUCg4IZWRsGzE2R4U8k5OTvPfuh6xfWsPt1kilE/ylv/Apnn/hORRsdna3KOZzNJp1PJrYbIiMjmfovxGCcDgisIJer3t4RWgxNTX1JwpqR5iA09NTp/RItgVNKp/PO9qXZVkUCgX+1pf+MR9tbP9/0xQkSZpE1NBnAAv4Zdu2f0GSpBjwG8AMohDmi8OSWQn4BeB7gA7wd2zbvvP/8DUoFcu4NDfb27t0Oy2CwTDHR6ekU2PUagJTlZmYBHCYd6NRKBAIcHx87OyTn776JOOTUxweH+H3+ykeHeEPR4jFkwTDIW7dusX+4TGa20un2RIpu56O1+VGlWS2t7ZhYQFNVggHghh6n4ODA9YuC2JTPB4XLkC3wKuNjCoXVlfQux3efPNN1tbWnGvAyKFZKBQ4OztjcXGRTkeAVX0+n/NhGE9nMIYY8BHfcHn9Mq1Wg0ZPRvO4UVQL0+4jWRJ6v4/e7WMPLI4LbZCaRDMWXd2Dz6UwMGwGAwvNdCEpCqrswrJVZpcu4n//Ic1KEUuSkV1uZEwGhhhFZUmYyXLFgrMH73R1seFRBbdg0Gw6acv6EJo7+nAOBgPM4dXNBhHbVhQiwRCuYWPRKJ34x9ejvZ6IWqfG0/QNg2Q4jD8YQtFUZgYGB0eHJDNjfN8PfD/f/v0/IOwLcuNTL9JoNATP0iecrY8P9vn0pz/NV77yFX7zt36d9StX8NlupqenCYfDHB7us7S0xKXLK/yv//5/4+7dD8lkMiQSCZ577llnDT4xOc7RkQDi1utVp2THtoWNeHQAigi1eGB1Oh2nBj6VSnHp0iq1WgWXWwXJ4Dvf+Q5vvf06k9kx0ukk83OzhMJBshkBC4qNjXG0s0Mw6Gd8bpLTx49RFAmPRxw+Dx48YGJiinK57NCkTFPg5DRNY3FxkZdffplkMomh95wrdKVSIRwOMzU1haZpqH8Oeen/zfXBQLRK35EkKQh8IEnSy4jW6Zu2bf+sJEk/BfwU8JPA5xB1cYvA04gy2qf/vC+gKCqzCxd4cPcOsWiS0NTMEFN1kUajw5PPfpJmsUilWSUcDhOZmkIvFh2kWjwep9frkcvluHLlCqeFMnNzc5SqTVrdAbMLyzQ7bWYXL4jp4NkbNJtNzs/P2dx8RK1WQ1EUjo8PCQQC/NW/+sPs7e2Rz5+jKApnZydcu/4kt2/f5pmnr/N73/o2E2PjeH0But0e/W6HVCrB/bv3CAQEWXpkrz4/P3ecaCMT0snw/t5qtfD5fMSjMSzLcjBdgIgiI3H37h0uX10nZERoNJu4fAqm3aff7WD1dRRJRUPjOKdy995DUvOfZnx8EhOdQjGP2TXIejSUUAif5qVnGCxf+QSzH+wxMHY43tthLJmgUTtmYFhYtoFpWrRaFboDcfi63G4MwxIuTQRXAsnCHHIN6/WWo92M/g4S2GAbJi7TQvUIjmb6j3EwR7ZybfhrI+I0qoytSCQzY/QGfYLRGP52j4VYHF8whKS5CEUjBDx+vvnNbyJJmgMfKRaL/MIv/Sw3brzE4tISX/ihv0yn0+H2Wx/idvlQFI3l5RW+9KUv8U/+6U8xNTXJ7t42Y+NJ4okwb739Br1ej1argSSbdDpi4puamiKdSTpIM1Vx02q1REZCUSkWisOadyEYT03O4HZ5OT87IOD3MzMzRaNRp1orobkSHB0dMDaWQte71Gpl+t0O+fw53Q9ucf3ppzg6PiDRbQx/vSoszRjIiujgHInw5XLZST6OWCJO9kTvDQXzcapDEnipVBLoAP0/Adw6rIM7H/5zU5KkDSALfD+iPg7gV4A/HB4K3w/8qi3uJe9KkhT5v3RP/t9ehmGC4qLZbBP0BQmnMhSOj/H7xAQQDhQ5OzvD5Re8gM3NTeLxuPjmT03R7XZZX19ndXWV/f19PP4I5XodSdOQXS4kRcXt8vCtb/8+N27c4P79+/h8Pp588ike3HmfdCrB2NgYp6enRCMhPrj9vmiV9gofQUnvEvB5WZxfwDBtPvnC86yvt7h99x7FUoV7Dx7AIUQTcf5P5t47SNL7Pu/8vG+//XbOuXt6ws7OzszOZuwCi0hEERLFIFEMEinJFJ1UCuezJYvS+SxKtq/sOlmlk8+6s3S6stKJokmKIiEBIAACWGAXwOa8s5PzTOec33B//HpesSxSdtlXV+gq1G71zs42evr9vd/wPJ9neXkZXdd57bXXaLfbFndh/6DodDoWAEVVVRwOB+OjY+zu7g6t0iI8JBgMMpLOMJ5Ic3Bqkin7GK1uB8XtoT8Y0OkPcNqdOJ1uuo0OB2eP8/alW/hCEabmUjRKLbRemXDEjc0OeruJ5pJwONzsVrscPvEgP/B9n+CX/oefpVhtgGGgGfpwE2LS7bVRHHb6gwHVZgOn042m62haH1MC05AwZYGTt9lt9IaeFHHI2yx2gGEYyA47PUPDaLUwh8O7breL1y0EOPseDH24wbh15x6nTp1Ctqv02m0RJGwIzcPJU6fodnvkSyU8Hg/9fp+x0SyBQICJA1M8+PBRfvYf/iJHD8/RaDQo7O6xtLTEL/zCL/HE06f58A/8CN2u8MIcmBynUMjzsY99BE3TKJfLNOo1gsEgPp/HSnzelwnfuX3POtgNQx5i/UycThdjY37hmDVNGo0OdruLblcjEolQr1VIp9P4fF72drdJpRPkd/fY2t6gkN8hm81aP3uP18Xe3h6qqpDL5ZiaOohh6FRrZUvhGw4luHPnjkUDP3jwILu7u7jdblqtFrdv3+a5556jVi7h8/lYWFgQ4bLhsKWBMPT/jyArw4Tpk8B7QGL/Qh/+Gh9+WQbY/I6/tjV87j//Xn9fkqTLkiRdrjUavP3aayIcdnUVBgMhjBlmQO73SfvAlGQyiWEYrK2tceXKFZLJJAyBI1NzcwTDIbx+HwtLixiYuL0eisUip06cJJhKc/DAJEF/gPxeztp2lIYfslAoZPWdDoeDSCQiZgzpNIah0e21KRdLFAo5nHZVsP2RsCkSm2vrVh/t94v+U/SnIpNxd3fXChGt1wWleX+N5B4CYfbR7v1+H6fTKUi95TKNhuhxB70+qurA5XbT6XRpNtrYFBW7CkgDllfusrNbp9OtYtCh3amAU8bmd2AywDAHRIJeHnhglkKxzG4+hzlMNGo0GnS6Xbp9gapTFHHP2I8s21+d2mw2HG6Xlaws2xRsih3FrmJXHdhVBwNNx6bYkWQb/YGGbFMsD4Gu60SjUYsx0O/3rRwDsUsfJxQSsNNGvUWxUCafL+L3+/nqV7/GV77yFYrFIlevX6M36HNoZppAKMjpU0f5h5//R3hcbgI+Pz/4Ax9ic32DH//MZxkfH+W3f/N3KZVKpFIpQqGQIGQ5HBSLZfp9zWpnEokE9Xqd69evW87ExcVlarUWkmSn0egI2XFPo9vp06i3KJeqtJodfN4A0Ugcu+IAUx5ejFFeeukllpaWBEJtVyh0W80ObrcXw4BkMkmxWOTObYGiBxmfz8fW1jbdbpdEPGUFCNvtdtxuscnad9YC5POi3Xv++eepVqtMTExY6/rDhw9b2ZfiZ2v/ntf5f/X2QZIkL/BVRGhs/a/LxL/5pd/lub8xzTRN83eB3wU4eeyoOXdklm996yVGUmlqlRK6PiAQj7K2sECzKS6a7byg2MzNzZFMJrl586YQE83Pk2k0SB46RHNnB5vDTblc4rnnnsXr8XDz5g2mD06xt7fHrbffpl6v8+gTT9Cq1zl65DDtloj5nj5zhl61SioZx+P3s7W+zoXzbzE1NcVffuXLfOgHP8K//53/k2g8hmSaRKIi1doE1tc3qJSLqG4xfKpUKjidTrLZLO122wq/3acq+Xw+RkZGyOfzLC0uAaD1BHfR4XBYbD/FMChVytx59wY/GHoWj8+Jqes4VSem08TQTBwON5gVPvujTzE1HWZn6wqS0SQZ9uBw6mA0QO9jmA76Oiwu1ohHkhiDPuFAkEIuj6p00U1TbGpkg4Gm0RnKqPvaAEwZA2Fykm0SkmFgYKL1dVxOFdMw0IazhEG/L2LjZRnF4SAcChEMBMimstSq1b82demiZSoXiqiqSjwep9PpUMoX0PsDZFnh2MkTeNw+Op0e5UKJ40ePoSgqKysrHDhwYJijmCAYDPLRj36C559/Hr/Xy/z8HR596CwzByf4jd/4Df7wD/54yN4cZ2trA13XCQUjjI+PAVAqlSjkqwx6bUrFGslkkpnpI9TrDdqtPbyeEAF/VKyPB3lGR8doNBroum4FIh8/fsLSKuyzPZeW7zM+msDnDeByOzC0AR5PgOzICKpDoVouEQpF2NjYRlEcKIqDdqtPJOwkEg6h6X12d3e5ePEKc3OzaAPhc+h2uxZJaWRkxEKz7WMNo9Eo/U7bSvwul8si2m4Yi2Ca/53eB0mS7MMD4U9M0/za8OncflsgSVIKyA+f3wKy3/HXR4Cdv+37dzodQtEwhw/P0G23OXfuTcbGxrh15RKpVIrlZg2H0z4Eg3rY3d1le3sbj8dDNBolEAhQLBYJ5HJ402ly6+t4PS46nQ6bm0Wy6RT+WARZMvG6PVy4cIF74r7/VwAAIABJREFU169RqVQIx4NEIhHhXVBVHLEY82+9RSwWw+PxWAowh8PBq6+8zKc+9QmuXbuBYndQqtTpD3RMw8BuF7i2RqdrlcPhcJiJiQkkSbJYgNVq1bJ/r62tDfMABT9x/y7a7XYtAG3K6UHSDdr1Bg7Fjt2mgAyyJCMjmIV2m4qi6PiyYZxqn0DQQ6/RQbXrOOyApGNqGvlSi+5Ap7Crs7u2xc1Lt9C1Ph6PC0NvY/ZFv9rtabS7A/q6ANkAyJKEarej6waGBKYEyjAnAcNElhTsisMSLemyjmITiDaH6kKWBMTV4XBYqsVIKGwFm2iahjEcmPnsTor5Es888wzVYpWKWSGdFOTjGzdvW4dppVQgHA4ze2SSX/1n/4pf+7Vfo9fp8MILL/Avfv3XkV3wS//0H2O32xkbz7KyssJbb7/J0aNHabdEv722uoHH46Neb3LgwAGq5Tw+n2/4szCR5Q6tZncIpnXi8QR45pkTeLwqY2NjJBIJkQTt91OpVMhms5baEKBYzLG4sMD8/F3W1lbotJuUimVcqoNwOIjNZscmq4yPHRi+B9BoNNnbyw0TqKpkMiOsrW6QyxVwuVxiTR6NWgpYl0sQwlwuF08/+yx4PNy7eBFFwqo6Q6GQ9TkOBoPYVfW//VAYbhN+H7hnmuZvfscffQP4SeBfD3/9i+94/mclSfoSYsBY+9vmCSAYjTevXyYYDLK0cA/VbuPg1Djffu0VNrdW8bnd7O1tozjdlntQlH1FRkdHyefz9Ho9oUFfWyMYDrCxty2SkkbHiCbiYAzoteoUtjfJRIf20mSM0YMHuD8/L2jPqoN+v08qniCfz6NpGidOn2ZrbY1es83MzAwenx+Px0W3NyCZjHN/cYmdnS1kWSEcDhFziAjy/Yn6nTt3LL/7PkFK0zQ2hzJt15AQ3Ww2aVRrBPx+/H4/qVRKpFPXGiiSzEgiRbveJuB34w8E0NFxyE5skg2Xw4vfbxBLJJBdXuz+ANVCD7/Thqz16DZadLU+3Z6dRtvgxsW3ufTeVVbvb5KIBAkG3LR7shj8aToDw8S02ZAlG4ox5DxiIMsSIKMNBtgQYcCqy4mqg6bY6ck9S/VpSjLGQMOUZfrtDrntHdqNJvIwumw/Acw0Taanp+l0OqytrorPXFWwK20mKJLM1vYW66vr+P1BMokkRn+ArEv86E98hiefeoy3Xn+PM2fO8Prrr/Pg6dP8yhd+mc/+2GcEHLc/4MjsYd689AadTod0JoFpGkwenKDb0XC7/YyNiorj7bcv8NCZYyiKcLCePfsIUzPjoEGnAy+++C2uXbvGxsYG7U6Je3fvMxgMrE3YPtErGo1aUYa5/K5AzKsqY+MjYJg8+dRjTB+c5LHHH+Hu7du0Wi3m7y2TSifJZidYWlrC5fRRKlaHODgn4bBQ0Rq6jVarxdbWFpOTk+zu7gqAryEMYJcvXuT0ww8z++CDlJaXrC3Xfgzhfsz93yJo/K+qFB4Ffhy4JUnS9eFzvzI8DL4sSdLngQ3gE8M/+yvEOnIJsZL83H/pHxCZfXZGJ8YYnZ3i/F+9yI0b14hGo1SrFcrlsrCxZrIWE2E/dmtrawvTNJmZmaFarVKv11FUma2tTVxOJ71+l1qpyKDbw+N2Uy0WCYRC9DrCM2/oGuIdMqnXa8PU3w4+n5ft7W3u37ktPPU+D4GJCW6/fd4CvBqyjMflZmRkhGazLQCaIbc1VZckiXA4zMjIiHU49HoitWega4RCIQKBAKVCUQiWhmx/RVGsXT8IZ6PL6WR1eZlozD+0TaugShiGCaZMp1GkLBt4oklsChj9Dpqsokomva5Bs6uzuVWiUK6zvryE2e9jDvoYuoZTVWi1BuIuL4kyQNc1kMQ2wZSAoZ5lv6Kx2exgEzoF2ZCsweL+f/v/D4ClHgzIMsaQbKxpIkkpFApZeZp2u+hzEzFBL75z+x4HDx5kbu4I6+vrOF0eioUisXiSbDrDk08+xq/88j/nUz/yo+zs7PDTP/3TNOt1zp49SyadYHdrG7sq8eKLLzI6myGZTLJwfwUJm0D+KR4C/iBXrlwjFotx5vRD/NzP/V1GsimwA3341//yt3jzzbeIRGLYZIV8Pi/mQVEn29vb1Go1ZFkmm82ytbVlUZoGgwHNZhOvx0+71RKE8WqdVrPJn33pP3FgfJSbN28yms3w5JNPUi4UrdSn0ewYkmTDNHV03aCQL4EpUy5V8frcHJ6bQpZlYWn3eKwt3OqQ8Xj90iXK5TInjx1lcXGRdDrNgQMHmJ+fp9vtWq/vv/lQME3zbb77nADgme/y9SbwM/+l7/udDxkTqddm/e4t+v0+iUiIg4cOcefWLbqtFg8+fppr165RrlXxeV3IUoxAIMDly5d57LHHWFlZwdD7+H1uJHSmTj1ALBYXAhOvD7uqUqpW2cwJMGo4HufunTvE43F29krUm0JktLW1BRQplUo897GPUW/2UJ1eciubxJIhFq9dIRiP0traJZ5O0+lq6Gs7zEzNcuPWHWxuJ5Mjk+zm9mhV9/B6vWxtbtPpCCipLMvopoY2FPrs7GyxtraCx+XF4/EQicTY2drlk5/8JIOBTrfdodwQ8WOqK8i9O/PUqk1+5NMfJhD0sNtZJRD0ItvL+N1hMQ23NTEGHdwOKJZL+HwZ2l2VTtPgja+9QqVcQ+tV0Ro1wgEFf0BFlw08wTQ4gnh8AkrS3dvDwI4sSQyafVRVoVVt4fV68Tnc2GUbhm6g1Tt4UyGRPdFqEwqFGHTFLEJVBXDELZs40anv7jE9dxi7Q2V9Y4NOv4eLID1TQsOGxx3C63Dh9PpIZEZQVDuVapWtpfuUG2JIpmPSunqBV779KjfPL+A2/NgNhU996of4xz//P9Ltdjh0VPT7piShuD20ahr1kpNes4PPkSEcCjAykubo7Cxnzz5IKBMGE/7NP/sX/Ktf+18oV0qEQgFUVWFndxOvx6RSuUelWkZRZA7NTHD73gKKYieZ8VAp19DNJplslEFfp1IVwzxVdZJv7eJ1ezAljb3KBl6Xi26vS62hktt1YfSr/PbVC6THxsR76/Px0EMPEQgEeO+99wiHwzTaDbLjWSLtCA6Hg2a1iWzIdJtddjZ2iMfjzE7NYrfbmZ+fJ7edIxaLsby6zQNnHiWfz9Pq6Hj9UYLhJKVKC+P9LnOWJJnNzS1GRkaQZZmRkSxXLl1GVVXOnn2YjY0NkskUDrebUqnMoTNnWL1+nUceeZR79+aHO1gdt9tNuVzhzoV3RIthV2k3W2wU1/H7/STjCQxNp9tqMz11CJuioHkNer2exdFvtVpks1kuvPIKmUyGeDxOt9vFH/TQbrfZ2tjk5q07PPTwY1y/fhtN64s98dQk5Wodl9tBsZi32huv102v10GWZSv4ZZ+WtJ+qNBiI1OPl5WUwJC5evEg6PUIkFEZXbIBBr6+RTGeo1Iq8/vpbJBIRDh85QKPaI54I0+2YqHYbNkOi1emjGyaSYef1V98kEpnihW+8gqkL0rLbJRMMhbCrKnt7e3T7PcLRKHaHyszMDIVCgbt37+ILhCyWo8PhwD7kSIIwk+0r97SBgWp34nIbGAaYpoTT6UYe3ks0A1qtDoOegIe6vR4xFygVURU7oVCIbCpDca+A3+PF5nWRTKcIBoM0hjj+8+fPC+LRSIb/4/d+h4//8Cc5EJvkV3/1V/n83/8cU1OTLC8vMXVoEkqwt1sgkx2h2egSDEQ5NH2Qxx9/lKc/8CQOVaFSKfPv//ff5mtf+wq1ahlVVVhcXMRUXKgOhXxRdLw2BbLZDG6vi0gsiizLbGxu4HYJcKquSfR6OpgKpgmtVpt+X8Pt9qLanegDg8JeAY/XRSaeEO1jv4PT4UbXTDweLzabwurqKsePH0eSJF5++WWefvppHnzwQZF8NjkJus5X/viPOX36NIZpUK3XWNtYFzMfWSKZTmEYhkX1zhcLmMgWxWx/JalpmuXG/F6P98Wh0OmKwdM+CLM+TFQ6cOAATp+PZFKQdbHJLC0tWWuxnZ0dYUjp963sg/2Vjd/vF6isTgdlmLIsyl6bVa4CQwhnzZKu7lthH3n8cZAkNleFd3329HG6lQrr65uMjIxQq1SYmTnEK6+8hqbp5HJ50RvOL/DgQw/xh3/0H5mensZld1oqP03T0IcILrfbbYldOm3hDTAxOXXiAYrFIidOnCKTSvP6yy8QjUZRbODyuDGlCG++cR6f30U09mmSySh+d5hKpYo5UHD7/GAKV6Jm63Lzxh3u33sF01DRdReBQAhdG2CaEtgU/IEQjl6Pfl/D5fHSqDVpNTsE/CEGw8Hf/ipyf4Oynwa1P8mutWvWmsw0DHCoqDZF0H0M02q3up2emCc4VJwOB94hWLVaroDfsFqQeDxOKpUSB+XSEoVCgWQsTqlY4t/91v/Gay+8QiVfRAuP8k9+4R8Ri0UYDERuQ7lcxjQk3C4v2gBOnTrN4dk5PvaRH0JVFTa31vnTP/kTavUKd2/fotPp4HEJl24ymSRXqeF0qkOQro3MSHrINYSNje1hgHEISVY4evT4MLl8k83NLarVKoqiEg7FhxuCXUYOCD6GXZFptTq0Wy2S8Rh2uwNJstHva7RaHSv+7fDhw2iaxrVr1/B6vYTDYe7cucPJkyd55JFHxGdVE23X/tB9b2/Pcv5KkmRpYro9MUPYb0UNw6BQKAz9RI7veT2+Lw4Fj8/HJ/7u59man+fOnTvMzc1hSBAazXLn0iVGRkZwetw43C6Lt5iZnuatF1/E4XBYPVIwGBRBmu22ta7c97Y7HA4ymYzlj9hnQUYCYUqFHIoMAZ+HUyeOoes6L33zLzhz5gz1apl0Mk6vUmF3aOtW+houl5Nut8cDD5zkm9/8S8DA6/WQG/rYT5w4RrfbpVDMYVdt0GU4fLSh6wPa7bZVNfiGB9/m2qa1riwWi+gDjdhoBptNolwsMTd2CGerwVHlQQb9Hm+8cpF+t4Nit1nJQ8GwD0VRyJfyNBotNE1G1x1IyIyPZajXGwQiYYvjWKnXGFR1BoO+5QoMBgIiebkrmAZ22WapMnVdR0Z88PZTm2OJhKiyGk1yuRwyEgMM9GEMuiLbUFUJfyhIuVpBlmX84Qhjo6OCTN0VB+bM7CzhUIhSo8KVK5colUrDwJc1fuC5Z/n0pz/Nb/7Gv6XZbJL0+CiVd5AkE28ghmI36Q/arKys8dgTT/FnX/oa1VqbxYVV/sN/+F2+9Kd/DMDYSJZTD5wgFPaxubmO0y1Wpjabje3tLUIhH+FwGEVRaDabLNxfJBKJUC6XCQXj2O12KpUKsmJy6+Y8d22LtJoidyQRz3LyhDhEPvvZnxTVqlsh6PcDBndu36JcLNBpNcDUkQwdWVJRbCpTU1OkUimq1Sq9Xo+RkRE2Nzex2Wwi8CibZXthQWzEsjPsbm2haRoPnjlLLpezVI6YMslEGk3TCAaDVtbJvr5nn8a1f4h8t8f74lDotFoUVzcIh6IcmTtGtVolFIywvbCMx+3D5fTQ64rS0263E48lWbp2k35PYyQziq7rVv6foUMoGOTGjRu4nE5Mw+DQ1BSKotBqNokOw043NzeZPnSIwl7BuijX19dZWVnh1EMPceTIESLRKKurq6LEHnRZXxOJvsV6mSc/+AOce/VVErEITzzxGJ1OjzfeeIOHHznLnbt3yOX2SKczSDbZwoYbhoEp7WPnRe7jfj6gaZqcPHkSl8PN3Nwc5XKVarWKP+4D3UCqVOgONAzThmHasCkO2rU+ToeXfruLxyUEV3s7NUx0TNlEtXvwenzk8hWOHZ1lZXmLUChCMBIWsestJ5Iiysh6s2GFrAL4vF66g76V0LX/0HUdh121xEyKohDwi0xPm2ynVmuIu9AQ2sqQN9EfaCBLuN1udNNke3OLYDhEIp7Crbqt+Pd6o0EsIQJTqtUqy8vL2G02IqEw/9M//QKXLgq16cTYOMVOTUB4HDKJZIxqvcYnPvEJPvHJz/Lt197k9//vP2R3p4iu60wdyuJw2EnG45TLZfb29shmhb1+ZWVFgGxlG76AH6/fRyaTodfrsbKyJrIyUUimssiyTDAUwzQlRkZGrGSvs2fPEolEcfqG79VwClfNN5i/f5dKqUwkFOHo3BH8XicOu0osGhRmq1KZUNzP6uoqMzMzPPTQQ1y+fBlJkpidnWVzc5PS+fPWgTQ6MY4pQa1RJxQJ0xnKmYPBIHt7e+KGo4jK2DAMvF4vBw4cGFay81bk/fd6vC9cknPTU+bFV7/B5uYmmUyGjY0NK1pe0zROnDhBs9lkaWHRuvuvra3x/PPPI7lcbCws4PP5rDXf+sYqjz32GNeuXePUqVNkMhlr/bdPy5EkSUyNk2kkSaJardJoNCwU3He2I/1+38oQ2NjaIplMMzKaZWN9C0W1c/KB07z11lu88sordAYab5x7k0BA2FQDwTAbG5vUW01ssp1Wp40k2ZAkcVH5fD4CPpGE7ff4WV5cYWZmhnK5ytTkQfzpAIlojH63x8riEqrdjt/hpdfpUCtViIUj5Pb2SGSEIk62Qb1ew0DoHXyBIKFIHNOQUFUn09OzNPvCkFQoFKjX66RSKS5fvozNZiMQCKCqKvfu3WO3KD5gsXBEtD5D0nQiFicWFmlD4XCYvVoVr9dL0Cci+eLRmIi28/up1WpsrK4BUK4ViUQijI2N4XC4WF5YJByOkspkh9FswvMxMpri4sWLKDYbboeT7c0ttjc3sUkybqeLXrtDOBSiYgiceXZsVKzbag1sNgfVWoe93QoDTSIYENyBeExCVVVrjqMoCru5HJVKxWqLgsEg8WiYbrfPkSNHOHnyJNOHZglEvBh9kEX8BK++dI6bN26ztbVFq9Wycht1XUe2YVVUAOGAD03TKJUKlAo5IpEwbpeDbrdNJpUgkYhhVxWe/9Cz3L17V2xzZJlTp07h9XoJDKu2e/fuMXvkCO+eP49zSFMCLPXlK6+8wuzsLJqmcejQIYrFItmZae5eElqfe/fuWbmSkUiE7/uRH+PazdvvZ/KSk3qjhepwcfvOPY4dO4amaVRrAmaaL5SGwzk3u7s5gsEgrVaH9fXN4YW+R7e7RiaTwe32YuoDnHaVkVSaV156mZ/6qZ+iUa3htKu4HU6+9eJLHDsm9tH24eHQ7/dJJBN0um10Q2NxSZRqZ86codlssrW9RzabZcQw6Pb7JA5OWXbbr3/tq9jtdp547FHOvfcu8XiURqOFaUrkFgTUtdVqCTGPTcZmE+7C/fKuXm1Qq9W4snmFo3PHSKfTzM0dZSSd4cLNd3C73XRbXcbGJlhfXaPaaxCPxsCQyJdrFMp12pqGJInciIFm0Bv0GU+JfENJVjg0PU2z0WZ1bY3ZE3NsbGwQjsaIxhNDUlCI3nC20O32SSbTDNDI5XKWcs+hqpYzdX+uI2zQCUu7f3JqWhC0dvc4ND1Lo1ZHtTu5ePEiqZE0jVqder3OqeMH8brc3Lp1B6/XP3T6AbKE6gCvR4SfbG+s02o2yWRSDHp9bJKM3W6j2+/g9DpptVpsbGzgdDqpVOu0Wj3CkZSInW+I9Zugdo1Sr9cFlMRmw9AM2u0ukmQjEApz/PhJPve5z+F1u4ZDZxlJgnq9x+rKDl6PsIe73W6e/b4nePaDT6B1QXHDoAV2D6BBs9FH13UCQRemAXpnQLMlZmSL9+fpD3oUiyL4aHN9mXKlhNfrZX5+3or1CwQCpFIpzp07ZylfU6kUtXJZbCMaDYLhsFiBdjogy0TjcWx2O+FolKvXrwvi2NYWiUSCYrHIkSNHuHDhAtFoVFRlvf73vB7fF4dCfzAgFotZuuxer2d57gOBAPfv3+fAgQPW/CAcDvOhD32ImzdvYpom0WiU9fV1NjY2eOihhzC0LlevXmVvb4+nn36ad999F0mSSKfTpCcmKBaFLuDo0aPcGHonVEXh1vUb1nQ96POTz+fJ7+6RTqcJzIb5+te/zg//yMe5cuUK9Dr0Om3iyQRgUCqVaHVaTEyMsrWzRbk8j6IoRKIhtIHBwDAY9HV0E5HjaPSHuPAOjZow2eyj286fP08mk6VarhANxllb2sDn9RL2hfD4/LgcburtDsVqjUQywdzx45RrRYrFIpVWC380zub2NrulOrNzR6jV67QHGtnJA9h2dri7cJ/Dhw8jSRKLCwvYkBjompD6FgrYJFkItTwe4QPpClGSfWiVBiyfQCgUwh1NEI1GOXbkKJqm4bSrTH9ymnffeYf79xdptNoEg2E2tjZxqg5KpRK1apWN9XUcNgWv24Pb7SYYjaEbBqX8Drqm0Wm28Pt82GQZ2a4gmQYGgC7j8QUw7Lahb6KJrpucOnUaj8dHMJTgz7/2V3S7LSLhJI8++jg/9JEPEAgG6fc1nB4FSYH8njhQJJud8fFxAmEF2QAMmfV1sYERytKyJU/fy+1iGAaZxCiXL19GloXtvd1pCoy7aicUClAoFMjn85jt5rDVkshmMzicdjqdFpOTE3S6bUZHR8hmM5x56AwgEP7BYNCKSwRYX1/n0Sef5NUXX2Rubg5VdVKp1KhW67TbXbrdLo888hjVanVo7Y8NM1DF5kGWZW7duoXHIxgYKysr9Aff+1B4X7QPp0+fMv/T7/+Opc1OJpN4vV7u3btHIpGwvOuqZKNULHLz5k28XhHcCVicwHq9zsmTJzn37ZeZmJggk8lw7Zrwyq+trTE5OYkyDGC9cuUK3//9349ig8uXLmEYBvF4XISZ1OuWR/7evXt4PB5ye1W+/0Mf4qWX/0r43qMRytUqjz7+CNhs/Lvf+i1GR0e5v7HOtes3KRRKVMpVEqk0lUoNZDvtVpdOr49iU+kPmlYis8shWhNTMxnLjg8TjqOsr67x8GOPCtORLJNOpwkGg7TbbaFQ03pWXPrNG1cIhUKk0iOEw1G2d3MEgyFu3rrDsZMn8Pv9wxi0EtMzh1haWhKrKk0nv5djY3WNTrvN9uYWPp9PbEWMFpVKhWpJDDFDwSBOpxOXw8nE6NhwfTzC+JETHDl82BIl5fdyXL16lXajSa/TtXI8dKVD0OfH6GvMTR/Godh56823GT0wSTyZwOH1YUgQcwnWQqlaYWVlhXK1gup0UiqVCEdF+zE9O8OB7AyGofHmW+dYXl6k0WoiSTZmDh/lJ3/i75HOjJLPlYnHo0haD7fbgeyCv/rmOe4vLPD6ubfo9frYVSfNdktQnxpiAOx0qezu7ojsTreDbq+FzSbCZh9//FHee+uKEFQ5nXzpz/4fyuUSr776LS5dfm+4rRAbJr/NRrfbpVoVr8Pr9yHJBoGAj3a7STIjNm5LS0uMjo7yxBNPkBji+x5++GGRL1oQgNl9F2at0WR6etoSyYVCIXI5UUErikIoFGJ3d5dyfg8QLUa73SYSibC4uEgikeCjP/55rt649f5tH7R+n2w2ixIIsLcsQjTv379Ps9nk8NGjYLezMz+P1u4yNjZGs9nE6XQSCAS4cuUKkUiEWCzG7u4uOzs7jI6OIssyu7u7FqNgbGzMYiGmDx6k2WzSbrfxhwP4fD5KpRJOp5NGo0EkEiEQj7O+sMDBgwcZHR3l3t0V9nZ2mJubs/pQw9S4dfMmhWH0e7lSotFo4A94abVa6LoP0zTxer00Wl3r99rAoNPVrXUqYN0VvvCFL/Ctb32L+fkFPvrRj7K5tU0qkWJza4PtbUEcVhSFXCknErQ6bXTDIBQJYrPJLK4s480XkG0qTz/7LIrTxQ9+5MPcunWLe/fusbW1RSKVoFKtitdcK7O7u4vf78fldFLI5anVaqK18tqsIaOiKFb2htftsWC6Ho+Hvb080WicaknE2J97Q3hXRkaEBH0w0On3NVSnIjI2EECVntGxlIzBYJCOpg+9H5o1id83T/V6PcLRCCcfOEUoFCKWTPB7v/d/4XI5KVcFaGTm8GE8Hg9PPv0c07PjIIPLGaXTgRdeeIHNzU3yhRKbO7tUqnXcPh9uj4NWu4tNtuP3BTFVH6ap43G7GBsbx+dzE4mGWF1bQlUVBoMe7753gYA/xvT0NP1Bly984ZfI5Xap1+v8z//8l9nd3eW1117F5/OidPs0m3ULdNtq1vEHherR5/dgYtBqN3n44YepVCriNebzBINBrl+/bg1gT58+zfb2NoVCgbHxg3Q7fWHLrtdFvF0wSCqZEQFJgTD5XBGvy8nC8DN88+bNYSUj4uu/c3j8nz/eF5XCyWNz5rXL52jkBBPxvffes7IlDx48yObmJvfv3yeaEGhrVVUZG81y4cIFUvEYvV6PZEIMt1wOJ2++dY6HH36Yd955h9OnT3P9+nV8PtETJhIJC53lcDiYnhlndVVYnjeG24WZqWkqlQo+X4Dl5WXcThf1bptYLMbq6iper1fIUUfFgOvixYt4PB6Rfn3nDuFQlLv372OaJusbO9hkOwbgdnmpNVsiJDQQY2e44tzPATQMwwrCqdWEUy+ezIhdfrXK5OQkFy5cYHJykna7zeHDgkn5wAMP4Pb6ePfddzlz5gxXL1/C5/MxPTXJ/Pw90qkUKytLjKTFh8au2oTibXmZkydPWqasQCDA7du3uX79OpOTk4zPiAtzeWGZXqfP7KE5XKqLiZEDJONpAoEAMjZ2ew3cbje1eoV0MsXVq1fQen3GRke4desW3/rWS0yMj2N3KERCYXxuD5sbGxY56MiJ48wcnmVjbwdd17ENhOW83W7TbrcBkaMAQldSKonDNxgRlUs8nqTRbmHoMuFolN7AJBZN4vUFmJiYFA7MkSAejw+/x4upG2BIBIJ2zD688Bcvs7G2LpytniiKojA1dQCX20G5nEd12Jmbm2by0DjmUGfSbDa5du0ajUaDVrPL7Vt3KZUqbGxs4fX4aDbbzM3N8bM/8zl+8Rf+yTC5qY026PHAA8fptts4nXZssrCtj0+mLUFYPBpjZ2eP8ey4mNvYxGB0fFTc2FJjY5imyeZ+1c0aAAAgAElEQVTmNpGICMdZX1+nVqvz3Mc+xsK1Gxyanub1N15ldHSUUNDPjRvXyKQStFpN2q0GP/2FX+Xmnfn3b6Wg6zqtQsGyGO9juVRVpVgsMjIyAoDdKfzkly5dwuV0MDk5SToRZ3FRbCUajQaqTyUSiVipzna7nbm5OYEX29sTWLfh+rFarTJ96gjlchmbJIg1DocwRe2z81VVJZaIY28KuXEuJySkk5OTgiEYCjEzM0Or1SKfzwuM+NauFdWlGzLtfhdTkhj0dZweL36/n92tXULhAIqicPbsWfx+P+fOneOdd8/T6/U4ceIEJjq3b9/G4/Hw4IMPWrvnbreLx+NhYjgfkWXZmrvE42KQVK2VWVkRtKfl5UVLyebz+eh0W+RyOWsmsO+wGwwG1Go1/EM2hdfrxRiI9alhiGRsh8NBvdVELhboDfo4FCdrObE18nm9uFwugbBzChfo+vo6sViM8fFxEinBnUQ3yOdymKZJKpWy8Px+rw9ZsVHY3LMQ5vsMhv1sTVmWLWdlzB6zeJrT07OcOHWadDqDPxAAGSQJen3oduH6rYsUCjeplitMjI/j8wZIRkXO5oc//kFhf+mBDtgcMOhAu6Oj6z2uXb/Kl7/8ZY4dn0PTNL72518hEokwNzfH5IEpnnv2IX7oYx/H5VPJbVcxDIM//IM/YmFhiS9+8Yv8+q//Os1mk3ffvUC5VOD+/TsEfD4cDgWHQ/wMQqEQOzs7OBwOJsYO4PU2GQwG5HI5Zg5N43Z7WFtbE05KRQjDRkezVKt1NrdE+FE8HqO8ucnYWJZyqcBTH/oQ969d4YUXXuDhhx8CQ7OMee/7SuH4kVnzxS//RyqVCqVSiYmJCUuSGRgZoZPPiw2BLlMoFAS5yOUkFothakL40mk3BTI9kWRzdYWNjQ28Xq+ljLty5QozMzNWurPf72dlZYV6rUgymaRWa2AYBqVSWbAMNKHcm52Zw+FwUKgWmT5+nHo+L+62djvZbJZWq8X29rb1A9NkmZXlNdY2N9na2mIvV6LXHeD1CyiHwy3k0npfGJAikYj1PiwsLBCLxXA4HESjUeG2tIkoso985CNcv36daFRIbVOpFC6Xi4WFBR5//HGuXr9mId3mZg+j6xr1SpVYPML66gqxWIzbt0Q0eSaTYX5+3oJwOBwilLbX6/Hmm29afEF/xM766gbNZpux0Qn6/QEg4/eEiMeT2GwK9XqdsalJZFkWrcIwnPXE8aO88MILbKyv8sgjjxCLxRgMhKJR7w9YWlwE3UDHZPTABE63CxQRvVfZLVIfch/3FXr7wNv9bMdAIIDDpWK32wkFIzidbpqtDq1WmzMPPcoHn38e1QXFXId8Pk+puGuFBu3t7dFqtdjd2kZVnfT7gllgs9moNzvD6kNYkze3Nuh0WgSDfgaaQMI7nU567Q7JZHJoBe9ZKc+lUglDh5MnT3LkyBHOPHiSw8fnGLS6bG6uc/G9dwiFfLz3zjtUqyUCftGS2R1i1pXJpOl1uwQCAZYX7pPJZDg8Oyta0FqVGzduYFNdli6h1+vjdrvZ3cnx9NNPU6s1uHNHkMSn5w7T6/XI50RbfeTwDM1mg8X7C/ziv/w33Lhz7/1bKQCsrq7idrtJpVLcvHmTbDZrrfLC4TBLS0vMnX2czc1NTp06xcb6GisrK7TqNR5//HG2NgUPcWH+PmcfeZhCoUC1WsXtFsKYj3zkI+Tzwiu/srJCPp/nxBNP8O7LLwxVhjrJZJJsdpRyqUomk6FUqhCMhKnX6yJIo1y2cgU3NzcpFosUhhVOr9dDkiRcHg+RSIT1YW6f3W6n2xH8hH3AJkAgEKDVatHr9ahUKuIAmp0lFosRDot/c2Njg3hyhGq1wgsvfNNy5D300EMUi4Xh1Plhvv3t13j40Ue5fPkyjUadnZ1tzl94C8kwURSZVCLJ1vYGU5MHKZVKDAYDJicnh7mKKvV6HYfDQaVSGQaTpsSAN+oCQ2JlZY1IJMLOzi5IYHc5CEbCYn0WFi2AqqqUCwU6nQ6pZFwARTVBj3IodrwuJzV9QLUkmBKdYRtlmqbQQZgGhiKjqHbMoMC67ezsiPfU5WJmZsZ6r/aFNycmTnD8+HGe/MDT9LUBqt0FThmzC92BQb2kEQi4CIfHWLjTo1qtIhsmE6NjGIbBT3zms7jdblZXV7l69Sob20KDYrfbrcjBdEZkQt6+fZNQKEI8JtKW3KqX9fVNq3pTFGWYUC3s/esby+zsbnDr9jX+zk/+BN1ul50dsSJ86qnHee6ZZ/j6179Koy5kyKGIoHC53W5UxcapB05Sr4j09FdeeRnD0Hji8cc5OHUA1eUmk85y/vx5KpUaExMTqA6F3b1tlpdWh+BfeOONNxgdHeXQ1CTVatWaJ4yPj9N/v4uXjs5Omy995Q+E8q3ft5hz+0O/XC7H0WPHuHj5Bpom8g3HRrMoisLBiXHefPNN3C4Hx44dY21lFckm02g0OHToEAsLC5w8eRI5EKCTz7O0tEQqlbJ4iXduXCOVEnvtcrlCrdlgZ3uPUCiCZJMZyYwSHhvj5oU38fl8lMtl/H4/r776Kk8++SSKopBKpURuYy7HbqnE8tIqS6ur1Ot1Nrf2qJRrlCoVtIGBZiIESwFhqNk3p7jdbrrdLrOzs9ZKqtPpkE4LBmUymbSCZ8+cOWPNWU6cOIGiKHS6fY4dO8b6+irf/MY3OHnyOINuj4WFeWLRKD6fh0xK6PDdbr9l6+52u2QyGatPvnpVgLedTifF/KYQi2k6it1OtV5HdbqpN1sMdGGPHp+Y5OjBaQxdH4p5GnRabaJhoa4zDQ2fz8czzzxDPJ3i6qXLrK2u4lDs9DpdkukUE1MHWd/axOX1UG3UMbqa5avYV+jlcjk8Hg9TU1PioO12GXQHwlDW1/EFA3Q6XZaWl/noRz/OyVOn6ff7XLp6hUK+SDufp1qtslfIo9jtyHYZySaTTKd48OxZHE47pVKJra1NUqkUH/zg8zidTu7fv8/y0irXrl3DMMT68dChQ4yNjHH06FG8Xi/Ly4ucv/Am6+vr9Ps9XG4HLpdIDNvZLiBLYpCczWYoFnL8g3/weSqlEnfv3uIzP/ZpwtksX/2jLxEOh4nFojTqVSYmsmyur1Ao5hjNpmm3m+Rzu0QiEbJjk6ytrWEYJul0Gl03KRbKlMtlRkfHUVVhbLu/vCq8ErrG2UceYXVxkXw+h6Hp/OTP/wILK6vv3yzJ0yePmZcvn+Py668zNTXFzo4YOM3OzrK8vGx9QManDjPo9Th//jxPPv2UMP5UK8LlqAvzx4HxCeRwiEGpZEWlr6+vk06nLXNULBaj0WiwurqKx26n3W5z9oMfZPPuPSq1GrKssL27w9zhoyTTAui6trrI+Pg4Y+PjbG9tsbOzY7kd93MaookEuWKRjfUtvvr1r2Oz2bh85QY723uYkoQ2MNARqcHNdoNut2uVwvuchXA4jH34mux2OzZE2Eg4HKZUKqFpmpWGXCqVrJyBVCZNsVik1+uR29uh0+mQTacYHx+n3WoIRZtTgGhDoRhut5tYLDY8JNzDbYnOlStXyGQyuFwuVhfvgSzhdHuYnp6mXKuL4WggQLsrtimyYsNjOEin02ysrVCr1bBJQpk4PjpCv98nn9vlAx/4AO2Bxu7ODt1WG1M38PmETwO7Da/Px04hh01RcNqdVhXRbDYtJaLIPnBZK7eQbzg7OjiJ0+miVq9z6tRpXnntVTrtHuWaSOPSNA2lpYk1s2pDk8RGw+5S8QcD1FsNUdG4VDLp5PCQ9qKqKjvbe+RyOR544DQPnjnL2toad+/eJRqIiVSvRhXD0DAMjUg0zHPPPcXExARXrl6iUqmwtLTF9WtX0TSNeDyKNuhx5MgMi/fv8/TTH+Dw7DTr6+v88Mc/zcsvv8xTTz1JtVJibW2JSinPkaOHqZQLuFwOLl18l09/5jPM353H7/fTbLZxOBxUK7UhXt8cgoIhHA5z5eYtstksGHDu3Dk+9YlP8PbbbzOWHeWH/s7f4/b8d8+StH3xi1/8//kI+JuP3/y3/+sXZ0cSPProo6ytrQkDlNOJN5Gg22iQnZlB1nVy+eJfk22cTuq1Gv5IBIeiUK0KhHW9VicUDFAtlaxU52q1SigUAsSkd21tjYMHDzI2OUktl6dYLtEqVYhEo4wfmkVRZMKhKB6fl35/gKI6CPq9GIZBq9m0YuNTqRR+vx+HwyEGcx4P3lCIeDTG1nB9pBtQKVcZaBqmCSZCUm1T7BiGic2mEAqF8Xp99Hp9XC433W4PSZKFHdzltfIB9/bEAG6fBr2PdEun05hIQzZgA5/HR6VSpV6rUa1WeObpZ+n1umxubOJwOHE6XZaJzOv1WlmE+2SodDrN7u4u9WoFXRO5mv5AAFV1kEgmKZdL+P0BksP9dy1fJBwKDrmLmpjiqwqqYkfX+6iqyrEjR6nW65TLZSQgEY8Tj8ZwOB20Wi0KpRK+oBi8ypIYgu2HAO+7NJ1OJ3Nzc0xNTdHv90mmRpCGs5D+YECpVGJja4tao8G9+/dottt4fV78gQCKIaE6VPr6AE3XsKk2QmGhKG11m+iGRrvdtMJiK5UqHo+HI0fnwJS4desW+UKOWq3K8ePHcNkdFAp5RjJpJiZGadRr7O7ssL29yY3r19EGfc6cPs3jTzxNtysqvUajTrVS5siRw4yPjfHNb34Dh2qnXq+TzmQ5efIk7733LslEnEQiRiQcIhwJcf3aVXw+L5o2wOt2Mz5+gPXVNdqtDqlkiuWlZbTBAK/by6HpaUqFIoV8nlgqxcjICP1+j+xolnZTZE86HQ7+5Kt/zs/83M//2ne7Ht8XMwUJifHxcavfrlQqwi49DIgFEbftdrvZ2NggEonQaDSEvNWuUCqVyOfzHDp0CJfDSWs4S3AlEtDvMzc8GHq9ntDoB4PYg0HodDA0kwcfeJArV65w9ANPUVxcJDo+QbdeQzfB4XIK7cPICNubm2RmZ7n33ntiXRiPc/PmTc4+8wz0ety6do2ZY8f48pe/gmEYPPHEE9xfWCEUjHD95k3qtSadviDyODx+ZMWGZFOoN7tiah+K4XC5kGx9a+oe8kTodDoW0Wef6z8YDEilUjjUeRyql5XldZHO3TPY3VrD4/HgcthJxDN8+ctfI5/Pc/rUSSsEt9VqWZJaTdMsUdd+aR4KhTAHghWh9XV2t3ap1WocP36cZx99AtUlJMbPP/kUr730bV5//TXcQzqzU7HR7/ZotxqC1CTLNGs1kZxVqzPo9dF7AyqlspUJGksmuHXvLqpTTN+/k4qtqiqLi4sYhsE777xDMBjE6/Xy1oV3ADhy7JiYHXk8dLtdRiYnOH76FJValcXFRXRdJz4qWB3tTpNmu4HdbqNcLWFv1ZFlA5fTBTaVTqeHoqgUCoVhcLCdZqtKIOhie2eVUqnEXm6dmD/B8ePH2dzcZHdvi2q1TDIZp9lsUi5VKRUrzN9bIhSN4/W4OX36ND/2Y59me2uDd955i/zengDSDAaMjY3xp1/6Q1wuFx/+8Ic5d+7bnDx1gtFDU2AY1GstbLKKods49+Y7AvsXi+F0ulhYWMTt8g6RbPCX3/xLJiYmcThcbG1vEItHSI2Psr6wZIXBNGrNv/V6fF8cCkgSBw4coNlsEovFLLNOIpHg8uXLREslotEowazQBfT7fasH7/V6KIqC0+mk3W7TrDdIZEfY2djAFY2CJvT72aFLbGFhgUOHDoGmsT10Sq5vCCjmlW+9gs2uojhduIcp04o/iKNUwdA0MhMTlFZXmX3wQYqrq7j9fqLRKPT7DIZ9f71eZ2pqik6/z8rKiliTqqoV6rkP3dRMxSLwptNpwuEwk5OTOBwOfD6fCImJRIgGEni9opTdt7s2GoI+nc8L0dDp06eJJeLE4xEkCVaXN9jYWEPr9ckX9tjdFuxAv89naTb2cye63S4+n498Ps/o6CgHDhyg1+tx7do1Al6xN9c0DY/NRrfT4f78PJVCXkTSV6vQ6+H3urHbbMLj73JSLBZxOgTTwj5cIZbLZXomwiVpV4ciKLdI2m418Ph9QpjWbrG+vv7/MvfeUXaf9b3u89u99zJtT++jkUa9WJa7ZXDDNoZjCKbYYB8CmOQeICShZOViIJwAoYSSY1MOwWAH4gI2xl0SsiWrjaZpet8zu/defuePd88O68ZwcnLvXcuzlpdtyTOSR7Pf+b3f7+fzPPU5SyqVqq8dt3Tr+XyeQCDAvfd/lNXVVY4dOwZABVkM/txO+gYFquyOO28nl8vx8x88xsLiPNdeezWyXGFpeYFKKY9KpcBo1KPWKEVSdGWzfoULBoO8+GKAoaEB+vp7ePXVkzicVhxOK1okzpw+yS233MJvf/s8hVyOdDKJXq+nkBW7TZ/Px/KGnyOXH+ZXv/oVP/iBn21DA3zoQx9gbmaGiYmLVCslzp07h9vrwuVycP78GcxmE3Nzc2iUChoaGrj55lvFatpgpq21A0mu1J2Q5XKVVCpFR2sHm5ubFHNFVJKCjtY2HGXhIdm+/4C4hinV9TDUH4apvUlmCrtHhuXv//3fUiwWMRqFIMRqtdI1MMDJl1+mqUkEOxzuJpR6PVQqFLMZQqEQqXgMj8eDvgbGWFlaBoVE1/btYkFtMJDZ3GRxcZGhoSGR+KoJPgKBAKp8mcefeIpmXwuhSIw//eQnmLp4kYH9+0gEgpQq4g9gc3kWo9GIx+NBp9OxsLDA6uoquVyO/fv34/R4iIXD2Ds6eOXpZ9EaDPT19TE9s4Db5UWt1aJUqFn1b/D6668TTRTrgSG9Xo9ara5/0edyOSYmJoSpKCqyG5lMpj6Jz+fztLa2cvLkSVpbW0W+o/YYmkqlcNjsqNVKFEClUkarEcSngb5+KpUS3kYbra2tKJVKnn32WSFaNRpxuwUcNJ/Pi1SjJKrR+VwGqSqTTYs5RntLMzqNuDIdPnyY8bl5Zi5NU6mUhF+xxnfQ1+jbZpMBk8lEKJmhUhLCl3ztUVapVOLraKdYLpHIZ6kik05m6oeCwLppxK/b3i4O1HKZsbExkiUFvX19TE1N0d3Tyb0f/CBjY2OcPHWSEydF3qO7u1toCf1xcvks1XKJO26/hW3DQwTWhUM0n01SKZUIhUL4NzNksincbhcmswGLxYDH60KlkpiYHEOn05BOp3HoHEiSAqPRSHdXLwMDQzz22C+YmZ5Dq9XR0tKKJEkU5BI333QjExMTXLhwDovZiMViYGlhgTvvvJ233HA98XiccMzP888/z549e/CvbdDX18dg3yBLS0sU8wVAwuNy1+LmBs6fP08ikWDnyG4uXryI2+0lGBCbsNZWIf/dccVuUrEYo+cvAtDX3YdKqSWXzfLWu97DhfE3bkm+KQ6Fof4e+YmffJ9SqVSvsFosFqrVal1Jn8lk0JuEqCUWi1Es5PF6vVw4ewaLxYLH7cRoNJLP5lCqxXpoa3C3VWy57IormBobo7e3l1gsxtraGvlwHKVKgFsKlSq7Dh4Qs4qmRsrZHOFolGq1ik4SgppSqUR7ezszMzP1x2ydTofRaAQglEjQ2NBMrraNMJpsrK36OfX662z4A8wuLDI/P49KI0AnNputPqNQq9V1eYckSWKNmRcVaIPBgF6vr0tjmpubmZmZobm5mXA4THOLOBwkhUwxX0CtVmLU6ymXS+g0WhxOG73dPSwsLFAoiarzVr23UqkQCATo7e1lfX2dVCrFwMAA+YwYdlKVyaaTGPUG1lZWKeQyNHuFezGXySCZLciVKrGYsBnrtGoqxRKpVBKzyURbmw+NRkO2AtWyOGRzKVEUSiQS5MslfG2tFCWZaDRKuVyth6dUKpWQDdfgM1sHmMViYWYtRDQa5cCBA2wGA5w69SpdvT285S1H+d2rJ5mYmMAf2MRg0JNLlFEqFditZhq8TixmE/FokEavhz27Rsim0xw7doxovEIymWTHyDZsdguFQoadu3aQSsWJxUNotRrOnTtHPrplRNeRTKQpl6tcd91RTr32OoVCEaPRjNPppH/7IKsryxSLRcxmI6VinlBogwP79jEzM8WVV1xOe3s70YSYF0WjUYx6A9lsnpHhEdbX1ynkRHHusoOH0BqNjJ45SUNDAyqleHpUq7Vo1NpahTtRJy2dmjglvpnanFSrVTrbOrHbXCTicW69+/2cuTD65j0U+ro65Ue+/012XXEFkaUlIpEIvX19jF28SENDA+72dmbOn0dRKdaDR6lUql7c2djYoLW1VfgGanKOUqlER0cHCrOZcg0qsQUFSSaTxGIx0TeoKLHabczOzjK0fZi19XXUWiEmyeRzSFvk5nyJqakpHC4nVqsVZY06tBEQd0Ob08HGxgbBxVWqyFitdlQqFdMzc8JTsRHA7/dz7MQJnE4nY9N+vF63IC9ZjPVVViaToloVZOd4IorL3kapVMLpstfDN11dnYTDwrjscjuYnZ3F47KI0phaVJvDwQjpdBa1UkNbSyulUkWEpewOQhtzYksRDNPa3obJaqFcER0ET2MDCqWSfL5IPplEoVDQ1t2OLMvMzc2QTCbJp9NIlSoKScbjdFGQFGi1WsoFsVJ2OZ1kMhnma5Kbq45cIbIX6aw4jORqHYG3RcAqFAoYzeKgUteSkUgSuVwOjU54G0vViqAImYwUCgXSyRJ/8zd/w6OPPlrvkOzfvx+Hw8HFixfx+/3ceeedNd7ACzXRrwhBWaymGglZbCisVjMul4vm9lb8fj+BDVEmctlE2UglKZArVbRqUR+vFsNsBkXbVqHU4nQ3IClUHDx0hAMHDjK/uExPTw+P/exH4grnX8XX7Aa5SnOjmx3D2/nXX/ySbQPbWF9f57qbb8Fms+Hz+Ugmk0xOTiJJEkNDQn/ndrvJZrPIskzPzh2ceeUV9BphMEvE4qhVKpqamlhdWiYYDIpymqbM/v37OX9ulFwuh8fTgMfTQDAQ4va772Vy+o2t02+K7cP3v/edz//tlx9ErunTtkCqkiSRyWRIxwTCy2Yx0dLRgX91ldbWVqxuN+VCQXwyVlfrwzlPXx9GhcgqqGQZtVZLqVhkdHSU1vZ2VpaXazx9NVqdgXA4THt7OxfHxuju7kZVWwlabeKw8G9soET8ATV4G1CqlKytrmIym4lGooTCYUqFIrFIlGqpQDgcoaHBw8LCPJvBDcKRIJVqhc1Nfw24EUapNWC3W9HqNMTiYZqaGimXi6hUAqFus1sE+l4nYbXpqcpFlEpwOCxYrSYBUqmWicWieDxuKhUVmWyRYr5MOpUjncyi1xlIp9I4XR462ttRqVTEEwmq5QJICjQ6LYlUhnKpQjKVJJ/P09TSTLFYZGVlGb1GiyxBMp2mVClRqcqolLW2ptnMjuEdKCUlZQmSySTJRAKr1YrX4xF4uZUVkfAri2CYSW8UiLZKhWKxSCadJl87DJRaNflikWK5TFUWc5NKjdlYKpexWCw43aIPk0ylaG9vx9fSwU9/+tP6NwqDwcDm5iYXLlyol4nSaaFt1+sNyHKF97znPWRzIo/R29tDqVRi27ZBotEoBoOB4OYapUKeSDDAYH8vPZ0d5DNpVBKUSwUUVKmUi2RzaWQU6PQG9EYzJouFtrZ2PN5GXnzxRbK5PLOzs+SzKQwGPdVqmXIpj0KSWF1ZYmF+nr179tDb3cvevXupIpFJp1EqFJiMRtwuF/sPHuT4K6/gcbvxr6/j9XjY8PuZnZrE5/PhsAnBSzaTQYI6wi+bzbKyskJTSwPBQIBgIMjVV13FytIKZqMZvU7PTx79Bf/1Tz/yhtuH/yOX5P9fb+l0Gv/0NJLBwMLCAkajEavdXpN1ilOyvbcXk8UCCgV2pxMUCvLpNAqVimK5jFxLE1rsdoKzs0TjcSqyTGGLlLy4yMDQEBcvXqShqYmp6WlKlQre9nYCgQDrm0Lwevr0aZxuN3a7XURF+/po9fmwWaz1gM/y4hIajYa1tTU6OztF+WhwkI6ODg5edQWDQ/0YjDqisTAGg55du3Zit1sFkadawmQ20NfXy/LKIoWi0L9rtWqcTnvtIBCpQofDgdGoI5WKMzDQTyQaZHVtmWw2i04nIr8eTwNebyMryxsgq+nsHsDlbCRXKJJOZ2lpbsXr9YJCgV6vpaHBg85gFIp3pYCtblXTC+USqVSKcDhMR0cHKpUGWZYJhUJEI2JF5/J4xe/L/G/V9a3O/la2oFAo1GcgitrhnM/nKWZzaJQq9CoNUk0+C4BSgaRQIKmUKNRi9l0ul0kkEhQKhfp2ZGumUq2K4ZpOo8VutRGPxoiEwug0WoYGBnnm109z6823YDGZeemFF/ncZz7L2OgFbBYr+WyO/t4+3nf3e3E5nLidLixmc/2v6UuTRIMB1EqJarnI0uI8dquFcrlIqZCjKpdRSDKFYrkGtRVQYJtVcB01Gg3XXnstBoOhrrW7cOFCPYnZ3NyM2+1meHiYeDxONBplaWmpFkYSIuKtKPqpkyc5cuQIsixz+MiRuk9027Zt5HI5nnvuOSKRCDMzM0QiEQKBAJVKhUOHDnH48GEB6a0IiO/42CSZmn8inU5R/SPauP/t9UGSJB/wY6ABqALfl2X5HyRJ+jzwQSBU+0//Upblp2vv82ngHkS/5GOyLD/7x36Nwb4e+cmfPCzy9s3NUCiwvrhYfxGGQkKXpdeo67y5rZlBuVwW9KKau69YLKLX60XKryZy7evrIxKJ4PT5SGxs1A1OmUyG+flFdu7axerKCuVKRcSph4ZoamtDLpdYXFxkdnaWvu4ewVUIBNh22WXkAgFiCaGAU9aGfGq1mt7BHlI1zFk6nSVXyDM5cQmFWkMqleJXv/41qVSa42fGMer1KJVKvvzlL/PII48IRNjmOgqFgu7uboLBICDT29vL6dOvs3fPQZxON/mcwKpfvDiO19tIT3cvXd2DdHV1MbJjWKwXzQqQYfT8BC+9+FtUKhVD2wZEmzESwWKx0CT9maEAACAASURBVNHVzhNPPMGZM2fEgVR7QW5xLcqFMlVAZ9CjUAAKiUI+S6VUpsnpRK1SYdQbqKoUzMzMoFEKBLxBrxd4vOUVNjc3mb00TVtbG51eH3aXU0Sr8+JzU6QqOg9qJVqdjngqiV6pFYalVKp+3VheXkal1VAoFHB53AIIsxnj/vvv5/nnn0ehULC0tIRer2dtbY39+/cTiUQYGBjg2LFjZNI53G43rW1ib69UKrn2uqtZX1/nxIljeL1e+vv7UVNmdHRUQFOR6psjrVZLOllzcGg0aM0mACwWC/39gwwMbkOWJcwmK5cuTRNLJgBwWAzEE1GGBvv4nz/6J7KZNDqNkAht3zaMXJYF4l8W6cStOdWePXto6Onh7Msv4/WKqLWmhuQ3WS34/X5cdgeFQoH+3j5ePXmSoaEhGj2iGyLZbBz/7dMolUqamppQKsXwN58vsmvXLoYvu4pLs/P/6e5DGfi/ZFk+J0mSGTgrSdJztZ/7mizL//3/cYgMAv8FGAKagOclSeqVZfkPuq9LpRLdPT3Mz80xU+Mt2mw2crkc3d3dNDU1sby8jNPlACAUCaNWqzE3NBFfW0Ot1ZDKpOs9hH379omwi0FPOpthMxgQK5z1NWw2G7/73e/YvXs3/s0NWtvamJubQ6EQ2jSz2SyGhuUygY1N9Fodne0dNHoEPrytrY2p116ju0bf3djYwGA2MT8/zxVXXAGlIul0mkuXLgmoxfwCXq+XUDRSL3udO3eOg/v3Y7fbefDBB7nnnnvqzomurq66a1GlUuFyNlDIV/G1dJFOFYhFlkmlcnR39XDwwJXsHNnNW996I1a7RLkMv/zlb5ibmWVpeY5oKMz1113N+z5wD1arGUlX8zAkcoyNjfG5z/4Nu3bt4tbbbiMUCjE2PkowGMTtdrO+vorX2UxzSzNGs4FwNEIul0FSqFAqZTR6HalYnGK+gMEmcGp6k4hub+Ht1Gq1gOnWYCCBDTFM0+h1yAqJbKlAWQEmpx2zwYBKp6UcixKJp+stPoVCQalUrr8YFxcXUdRgs7tHdvKjh39Qb3ru2bmLaDSKQgapKlMuFLl4/gJXHbmCl19+GZ1GxfzMLJIEHo+Hs6df5+jRowT868zPz5NOJHGYtQT86zQ3iBdioVAgnU7S2NCNUoGocktVtDrRqTGZLSApSSRSHDhwgNdePU1jYwNtbW0kk0lMRg2RaIinn366jrGTJAmPx0M4HKbJ20QymcRotaFSKHE5hPBldXmFaDiC1Sx8JamUSF2WCkXCiRgdHR2YDaKuPzo6Sm9vLz6fj+DGJpubm2IGkcmI2VRM/PelYhGTQSISCv/RF/x/xBC1AWwp51OSJE3xBmr533u7FfiZLMsFYFGSpDlgH/DqH3oHnVZHqVjEYrHUQSdmswCUrK+v07ljhyDOJBJEIhHMZrN45E2kyOWLVGMJqrKETm8kEAzz/Asv0d7eTiaTobu7m0KhwPr6Gjt37kRpd9DU7CMciaFSa9EZ9FRjUVKpJDuGt9fLQZjNmFMpofZqbSWbTaPXa1lfWaa7twf/+irexgYCm352tu1n3+5dTI5dxGrW09QsFGWPPPJzhndsZ2J8isuOXMGxY1+kUq3y7W//I9mKmo9+9KPceuutgmkYCOByeaiUJZQKLRazBZPJhMUoyDx2S5X3v++DeDweDHozKyt+Pvzhj7C2HOd/fP9nPPDJ+9BoNNxyyw0oFDcQi6b5p3/6Hh1dXZjMFk6ffp3f/OZpCoUCw8M76O3tRmMw8cxzz6HXaQkGN9HqRLYgFg6hU2uoSlCuVlhZXUepVVKsCNO0WqUhm82jUKrJ5gpozWJmsLEmjMdytYrf7yebzgg3Z2MjbW1t6CpKMvmcwL7rdKipYjQZAElIfmtXhOhmmGg0irrWipxfXMDlchGJx+js7GR1fQ23282ZM68jSRIdHe1YLGaOHz9GIpGgtbWV+fm5uhNydXUFl8tFIhFHo1HjaxVwYKfLylNPPYFer+Xeez/AsWPHiG1uMDy0XcwjshkWFxcpFstMTk0jqQRX0+V2ky0ruPzwFbjdboYGB9HrxCr98OHDKJVKTp9+nVOnThGPBZGpYLOaamlOGYdN9CdWl1fw+/3Y7XZ27xZcC7dLbMt27drFhn8Ni8WCXC2ztrZGqVTi0KFDZIriaSIeEZux9vZ28rkcc3Nz9AwM4u3vh3icpu4uxs+eZW5ujpFde1GgJBjcJBwKIP2RnML/UXhJkqR2YCdwCuGY/IgkSXcDZxBPE7HagfHa773bGm9wiEiS9CHgQwBNDV7UJhPampX49++kbrebciyGo7GxDt7Ytm2bKOyEBR14ixXQ2dlZ3+NvO3iQ2XPn2NjYqJN9JEmiEo/XtxBbM4uGhgampqZYWVlh+/btnD59mo72dhr7+6mcP8/U+ASNXk89XffS8y/Q5GvBbLWwc/9+EjWzL4g0ZlWW0Gq13H777fz66d9gNArS9MiOnbR1tHPvvfei0NuZnJzEZLKQzxdxu93o9UYi4YT4wnN6BBimoGHfvkPcdONNbGwEefLJXzM5McPk5CRdnd20tLRwzz0f5PA1g6RSRX7w43/mwtlzmMwG7v6Td6NWq7ntttvp7e0lGglx5MgRiqUSX/ryV3C5HaKSm06KR2KNjnQiTlGjYWhoiHS2gt3mIJVOY7XY0enEI2xwfZ219XXkahWpXEVt+DegazqdFlr6shh4ZTKZuo9DUZRBIb4YNQY9uUKe9t5ussWCKEMlE2i1Whan58V2Aur9iC3M2JY52e/3o5XENWN1ZYWhoSE6aqviDb9f9EnyeQr5PCajUbgwZYE0UypArVSxvLiEwSi6JU8+8QRXXnmE30UjnD9/Ho1OfB1aLBZaO9pFszOfR6PV4nS5GGzrpX9oG26HE29zI/lUnsXFRcIBUbp78cWXBGpPp2Tdv0pzkxe3283mhh+LxcL09DQWk5mu/i4MBgPj4+P09/czPDyMcDpTb9FuMTueffZZTDYb8soKU1NTbBsYrM9dHA6hDdxcXqZarbK2tsbwjhF0Wj0NDQ1Ui0W0WsHHdLlcKJX/H4SXJEkyAa8AX5Bl+ZeSJHmBMAJP8bdAoyzLH5Ak6dvAq7Is/6T2fg8BT8uy/Is/9LG3DfTJv3n0J6RSqbpmfG1tjcbGRsLhMJZactBud6A1Gjl76lSdy18sihBQPp9n+/btLCwsCBpNqVRn1+n1enFHrtGWtnL/RqORqiTXH+sUMsxcmmZtdZVDhw4R3BAdg0ZvAxfHzmEwGDAajbS0tTI3O8vE1BT79+8nlUmL35/TyeriCqGwQJw1NDSwUHNVvO097+XvPvc5FpdW2NjYII/4fUSjURx2FxaLFYvFwsEDl3HXXe/GZrPy7LPP8zeffxCXy0V7ezsOh4O9e/ZzzTVXYbLB177yMIFAQBSrTFW2bdvGDUePsr62wZ898AA33ngjH//YA4RDEWanp1msNTdfeOVlLCYzWp2GXEYUmLK5FFRl1EqhF8tkU1jtzbg8bjL5HDqDjlAohEQVh9VGPpmEqoxSkqhKYhCoVogKeiGfp1KpkEokKRQKDPUP0NHRQUuTD5/PR0WukisUhJ/AZMRoNhGMhLkwOopSqeTixCQ6nY7mlhbW19epIrgT65uCeaDV63jyySfZP7K3nl3weDxMT08Ti8UIh8P09/ej1WrR6/VUKhUkSUlvbzfj4+M4HDbC4TBKlVTrxQjiVF9fH4M9A7hcLp5/6UUqlQrFcgmtTofOaBCy4FYfIyMjWB2N6HTC/mXQ6WmsEb1eeuEFNtf9zMzMsL62Rji8yb79ewgFN7js4G4K+RypRISWpmZCgSCVYgWfz4dGq2JkZES0P0slLl26xG233cb58+dZWFhg//79BAIBLl68yI79B3G5XGSS4krhtDuYm50VV1+dQPyVy2WikUQt9NVKOBxGo1WTSMQwW4z817/8WyZm5v7zPAVJktTAL4B/lmX5lwCyLAd+7+f/CfhV7V/XAN/vvXsL4P9jH1+r1VIqCWvS5uameHEcPMjSkpjyt7S0iLRfIkFydZXG5mamZ2cZHBzEptHU75+jY2N4vV4ytTt5vlikpaWF+fl5kskkNpuNarVKd28vAKvLy/i6O8VvQq0mFwjWXQ8Gg4G2tjae/tWv8fl8JGJhcDjq2XuDSQwrT5w4wYWLoxSLRY4ePcrKop8b3voWnE5PzZWwzOrKCv/3X3wGq9XK2tqGIBAXijQ1NWG3ufj4A3+O2+3mm9/8No//669ZWw2QyeTw+Xw8/IPv4PV62dzc5POf/yzTMxd4/Kn/id1uZ2BgAK3BytGj7+Dvvv5VItFNQpENdu8d4IP330MmmUKtBbfbydRUleWageru93+At7/9KL9+6gV+/shP2b5tkEI+w/mzZ7j++usoFousri2j1joplcTVIBAS7MY9e/aQjsdIlEsYdXqUMmQL4hBwNzYRDAZr2xEdg4ODZDIZ2traBLa/Ck6vB4PJWL8jb6n6csk0lCts+DdQqVTMzMyIirNCQTQqroypVAqr1UqxWMTj8VAti4OnWCyyvLhEg8eL2WgSbohcnlwmi8Ihsg65XI7lxQUaGxuZnJigo6ODlZUlisU8pUKejrZ2xscuMntpicbGRm6743aWV1coVso0NTXR3d8notZGA2azmUpFWe+K5GpPRJFIhFwuz9raGvNzc7jdbgYGerA7rLT6mrh06RIjO7bT39vJhXPn2b1zF0adkVAohK+1GZ1O9GzUajVXXnklzzzzDLe8612srKxgsViIx+McOXIEg0MQwvIZoUV0djsx1UjNZ0+/zoHLLyefStHVqSaXy3Hy5AkCgQBWm4XGRi/5QpZS+f+FdVoSzzIPAVOyLH/19368sTZvALgNGK/985PATyVJ+ipi0NgDnP5jv8YWT1+j0dS9i8laZsHhcLC8vCyGKMEg20dGOHP6NFdcfz2vvvwyPT09FArCI9jY2Ii3s5NSPE5zdzcbCwtItS2E1WrF5XJhsdtZX1mp04sWZ2Zoa20lF4uxtrKCVqvFaDTy4nPPI0nCAqTRaNBoNCQSCfbt20coFGJ9w08wHCYej+PxeAiFQnzjG98gFk4xMTWJVivWSguLy1itVk6cfI3GxkYMBoN4hGvq4IorrqS7u5sf//jHLCwsoVSqGegfpFyu8ld/9Vd4PFa++rWvcvHiRfQGLc0tjXR3dwk0mVqir7+T5eVlfvij/8HHHvgIfX19PProo0xNTvLOd96JXJb5ylf+gTOnzpDN5hkeHGL//v3ceONRfvvbVzl16hR33HEHt97xVv7bR/8Mr1f0LE6ePIlWowJFiWK5VK932+3b6zYuYblSUi0Kg/aWqxOo9zysVmv90Pf5fEQSSVQaNdSkujqdTqj1akAcrVqDXBFU7UQigcPhYGZmhkQiIXIjDlEgyqVTNDc3k46JpqrNZuP06dN1EO5WiC2RSNRAsPm6+3IrKen3+3E6nVQqpfrHHxoagqoWtVasmwcHB8kVCxhq6Lstc5Vao0GtUpJOl+pr1UothRoKheju7uaaq6/m/PnzrKws0Nbuo621GUkuYDab62zMTCaDXiM2ZcP793PqpZe47PLLWVtZIRQSS73nH38cnU4n/ky0oqJuNpuZnp7GZhYhvmq1Wl/dNjQ0sDw3RzQaJZcto9drUShUXHXVVWRzGTo62nj+hd8iV//wDeE/spI8DBwHxhArSYC/BO4CRhDXhyXgvq1DQpKkvwI+gNhcfFyW5Wf+2K+xZ/cu+czx50nUklhGux20WmIrK1QqFaJR8Ti+c+dOisUiDodDFKZaWxmtacS2zEblcpmSArGaWl6hr6+PWDQqBogqsdI0GYx1ClK5IqrUbrdIF7obGylkMmxsiFbg1mEQ3ghhMpk4N3qB7u5ukpk0y2vrXBwbQ28yEo3HSKVSrG8IPHyhIGjNpWKVheUlfI0dqFUavvCFL6JSafjBD/6JpaUlfD4fOp2O/fv38yd/8id861vfYnx8vL4KUxkU+P1+BgYGatCVJt72trfR2tqKyWQiEAjw8ssv8+53v5tMJsePf/QTGhsbOXHid0xNTdPY0MzOnbt517vejVar5p//+RFi4SUGBgYYHh7m77/yZbq6urj/vg/x7nffVZ9+J5IxfC1tdHR0MH5pEpfXw8FDhxgdHWXD76fR5WH0/AVaW1qoKJTodDrSqRSBQACtWsOBAweIBEOiZNXRIf5fW700NTVhMZqIhgWBee7SNLlMVnyhT04JYG6rj7GxMXr6ejl37hw2h108WRgN2Gw2krWSWSaeQV17miiViqRSKcqVYq2mLKS3lYqQ+FZKeUwmE71d3XUTUz4rCmbV2gFnMpmw+9qQJDH47Onp4ciRIyiVSiH5rbERFUol2UoerVpXJ2rls2IOlk6kmZubY3pqWhymuhyrq6vIckWIcz1eZFlmz549nPjdMXp7eynk8vjaWknXDNv9/f0sLi7W6U86na5+2JjNZihX67MalUolREZeIfVJp4XPs6WlhUg0SaVSYffVV7F+6RKexgYuXbpELB7nw5/4a8Yn/5PgVlmWT/DGlaqn/8j7fAH4wv/uY9ffKmVS4TDWlhbyoRAUi4y+/rpoMyLw4n6/uIGYzWby+Twej4eNpaV6vNnu9UK5TKVUwh8J1Vdiy8vLFAuFOqRUo1LXAaWFQgGLVbQRZVnsi6nBPLY4+z6fD5PJxMi1O3j00UdRq9U8/uQT3HLrbZx+/XFMJhMTk1M4nU7CoQgbG2EOHTrM2NiEaFkqtfR29nLDDTcxODDEj3/8Y4rFMqOjZ7nxxhtpb2/nbW97G2q1mgcffLCOe1teXiYSidDc0czIyC7y+Tx33vlODh48iM2m47XXLrC5ucnQ0BC33nobf//f/wGlUsmlS5eYmJgUEBK7neuvv56bb74Zqw0++pHPsm3bNj7xqb8gGU9w//0fYtfIdgYGBnjggQcwGEz1oVdvby9erxej0Ugmk0GdSPDSSy/Vg06xWKw+z5EUEga9lrnZaSQZVCoFk+MXsVms5LJpCoUcNrMJJRKZZAqpKtcxcNF4nHQySaFUJJPPkcpm8BoMgsZ96jXRa/F48Hq9BCNhIpEIhaKwMOmUOgKBQC2AZROyEyU1P4JITY6MbCedTrO6MIdUFU8vW0+iZrMZtVpdD0X5fD6s3ibRyK2h0YLBIG01enK5XK73UraeELY6KqlUilwux6uvvsrCwgL+NYGSk/MbNchviXy+iEavw26xMjo6CoBeqyOwsVlnR77rvvtYnZxksH+AZDxRl+c4bHYSsTilQhGz0VRvBycSCQEeViqJRCLo9Xp6e3tFBH8zzL5rryXj32BmZganRwB0WyqVeu/ljd7eFNXpcqVS/yLbqgdvfdePx+PMzMzUdVmRSISzZ8/y9ne9i7W1NeDfnARbp6rP1wpaLeuzszQ3NfH666/T4PaIZF02h9lsxmwyUSmX6/h0tVpNKpViYWGB5uZm2traCIVCjI+PE4lEOMZxGhoaUOsNNDa1MDYxSWNLC7lsgfe+/wO8/vrrnD1/ERRKLo6PYbXaKRbLvO3229i7Zz9f/eo3+PUzTzM0uI2rrrma7z70jzz44IM8+cyv+OE//xij0VhnRsw+9xs0Gg07d+7ku9/9HkajmrGxaX75y1+Sz5W47fbrMZtsPPjQl4lEIhw6dIhz5y7gcDjo6OjgyJEjXH31FSgU8PDDP8Jqh9WVKJ/7/KcpFot8/ON/zqVLl7juumuIR2OcPXueufklrrvmamZmZti9Zz9qlZL5+XkCoSB9gwOUymWKlTI2p3ikTyeStLa3MTU9Tb6QFTZwrSAm+RobSKfTxKNh5EoJs15sJkr5DAspoZbX1OAqWw6N6cX5einsxRdfRK/Xc+XVV3Hx4kWy2SzJZJJCuVQbGorgWTwbr1foY7EYDoeDdI3p2dTUQLFYZHp6WhC3iiUy5RThYBiFQklXTy+FkqB2W+3iADBaLbS0+mhqaqK5uVmshC0WgPpBoJAExk2v0aOUxIDaYrEgyaIjc6J6oo7rr1Qq9HZ2EQyJYXlXVxc6nYELFy4I7J7VTKFQYGpqiuuuu45qtcry+DhtbW2g1da3Zs3NzVQqFZ599lm6u7uJRaIMDw8zMTHByMgIbW1tbGxsoNVq61SxM2fOUC5XGX9VzBMsFgvlQh5JqaBcKqCvpVHf6O1NcShUKpU63n0rv77FSBgfH+fw4cN1U07H9u0olUqOPf88hw8fZmlJAEWy2Wz97lguFIgHAmjUalAq6evuEad2pUq2mqFaM0pVKhXC4Si9O3czf/EixWIZk8lCMBimWCxTLlex28WwzeNyc+zEcW66+VYkpYKXT5wgkytQqlT51a+eRq3VMjA0TDKVB1nBtm3ba2m647z4wstsbgbZvXsvd999N2fOnOHa668jnRakH1sNfhoKhejq6qK1vY3vfe97tLf7WFsJ8NhjL+FwOHjPe97LysoKf/npL3Lu3DkSiURt1hLGZLRw2aHL+cAH3g9AoVBmcXGeD3/4vZx6bYy2dh9/9ucfE/mBZA6zxcTb3/4OEjHhJxwbG2N6do6DBw7Q1dXFc889h1ZvQK3WEgyEMZpN+AObdHZ2UypVKOdLKJVq0ukspUIKs8eDz9fMzPS08D94G1hfX0enUbOxsU4ikWCor78e5dWV9RQKBVKZNDqjAZfXg8Yg2rAdHR1IksTMzAzlchmHyynCT2shGhsbMZnFi8llddW6JBEcDjs+n49QOMDs7CyFQq4uUw2Hw5QLQtW+ZVvSaDRoDKLd6utoF41MrVjFejweEaWXJORyGUmphN+3bysUSFK1fgXd0hFUq1U+8IEPkEgkCGyIJ5h4eAH/2po4vLIZgoEQzc0+UqkU115zFeFgiBuuP4rb62FtbY3z58+zubmJ0Whk92WXgUYDpRKRtTX27dvHnssv5/RLLxOPC7jwyy+/THNzcz0MFYlE6OzspKenB7vdybFjxyhVylx55ZWs+/209vRgMpv/6JPCm6IluWfXiPzqb57k1KlT9ahnNBpl165dLCws0NTUhFarZW5uTvT1a08RRqORWC2tFQqFaubiKoVyCU9bG+tzcwT8GwwNDREJhdFqtWjUYiIbj9QKMLEQPp8Pd3MzawsL+P1+RkdH68OuQCBAd3c3kWgUi8XGiZOvksllsTk8PPGrX2Oz2YkmhX69UqnQ0TXAvffeyze+8Q3m5xa47LLLBW16zc8Pf/hDqhUE0ceorQ/atFote/fu5TOf+QzpdJrR0VGq1Sq33347agx88pOf5KWXXqoTmFwuF9lsloMHDzI8PMw997yfY8dOcuTIIUwmuPnmd5PNpWlo8PD1f/h79u7djVIpknSlUontw3v51re+RSIR5/4PfYj29laGBgaRZCEVKZeLtDQ1UyoXMZnNJLJprA475UqFzs5Onn/uOUrZPJViiUq5zMriFLt37yafzTE0NMSZU2KurFap6OnpgaroQ5j0Joy1QZvJYiYcjZDMZti+c4RILEq8JsBxWFy1erma9fV1imWxEZIVohGr1mgYHh4mGhCOx5aWFpxOBxMTE2xsrnPVVVexsrJEMBjE6xWOUjmVw+awMzyyA6PVglKtYtuuEZpbfbS1tyMpha9SVRHf8aXaAZCIx+tagK0fk6tVUAKysEsrlUqiYUHCDm0KBUF7a7vI2BRiGPR6UEAmEUOlULK2skiDx0s+lyIeDZNKpejq6cNkMvHYY4/VQ3xbw3CNRrR2t3ypTU1N9PX11ZH/drvIvGi12to8q0BPTw9TExNIksT+gweZnJxElsDb2EAqleJt77mPsck3ZjS+KQ6FncPb5F898kNKpRKxWAyfz0cul6tLStqHhyGdJlN7vFQqlYTDIqq51UEfHBwknRYd/S3+viRJGAwG0skUmXSazs5OpsYnkGW57jpApax7FmKxGIGaper48ePkcjmuuOIKVlZWCETDnDp9mmyhwI7tO0llCzz9m+dIZbK4PA0olGo+85nP8MF7Psjhw4fp7+/n6NGjPPDAn9XTaHa7nUKhJO7oOjVHjhzh6NGj7Nu3jy984Qvcdttt3HjjjTz00EN897vfpVqtsji/htPurPseUqkUX/rSl+pPT8WiQKa95YYbicfjuNwOvF4vX//6V3nggY8xOSX28qWSCLjc8JajHDp0NZ///Ocp1zwM/T3dHL3+Wl577TX8/nUcVgFhOXv2HAq1imK1wuHDh5menWF4eJiVpWVmp6dRIFHI5qiWxaowEYthMBhYXlwS8JSmZtrb2wXMVaHAbLJSqogikcFsIhqLodaJVKnBaCQUFfh5p8nJ4qKgcptMJpLpFLGYIG23tbWRroV6bEYbR44c4eTJk8zOzqDX67HZLfh8Prxed+06JkJug109eBsaKMtVegf6MdusmOxWtDodRpOJKlCWK2iqyn/39bkVJvr9N1khgywOWlmWKeSK6PRa4uEE1WqVkydOMjs7y8rSNGaTidbWFrq7OtGqlMQjATQqFQ6rEblSpqOjg2Q6w+rqKmazmebmZiYnJwXgt/Ya2Ll3L5fGxzl16hQ7du5kfHycVCrF7t27iUQEx2JgYICJiQlMJhMNDQ3kMhmsVqswmtVKZemsAPTe8p77/mD34U1xKAwP9suPPfSduhvP7XZjcbsZP3uW1tZWDAYDS0tLdfHs1lDHbDaTzWaJRCJ4vd76tiAQCLBj926Cfj8rS8sMDw+zWlvzlGsK7q2o6QvHX+HChQsMDg7S39+P1+vla1/7GiMjI8zOztbbehaXKJ8sr/pZXfcTjSVJZPL09g+i0ep517vezUc/9nGGt4m25LFjxygWy/X1nUKhECWkmrXqnnvu4R3vuJNPfeov2LZtG5dffjlf+tKXeOqpp2qk3rSAw3rayGazVKtVvvrVr+LxeIQ3sLGR48eP09rayr333ksul8Ng0PHOd76T02dRrwAAIABJREFU3bt386lPfVIIaipFiuU8bqebf/mXRxkZGWFo2wg2mw2dXkOjt4Fqtcx/+/M/4+Mfe4Dh7UOMjY0xMrydUrFKWa6iMegZ2bWTXEE81Zx+7RTVYon52TnymSzd3S31hGg4GEKJWOX29/XV5zQKGbQGPRaLBVPtz83ucqLWCpKRy+1mYmJCxHfDgiBldzrIZrOYLKKPcm70gliFqlTs3LmTQrrA5qbQujc1icSrTq8hFovR39/L8PAwPl+zQOS7G7Db7YQjETp6u3G4nEhKpeBkKhSUZZHC1KnU/7EvWklGrv7bgVHMC0DQ0rzI1hTzRTEvUcusryyTy2aRqyVcdhtKypgMBqwmHRsrKyiUEp6mFiqVCouLi2i1Wg4dOkS5XGZuTrAVm5qaOHv2LNlsFptDJFFNJhOvvPIKXV1ddHV1ibax34/D4SCXy1HMCrdGe2cH6XSaXLFAT2+viGPf+A4mLs2+eQ+FkW1D8hM/eaju0lOpVHWTtNVqJRKJEIvF6O7uFrtmpRK5NocAMJpMIEkk40KsoVaq6pkHo8lEMh5HIQvhjMkgpulOp5PG/n7W52ZpHhjg5Sef5MKFCzidTqampkROXZLqwhSN1cjC4hIXLo4JeQxq2jt7afG1cfbcKGazldvuuJNXXvwtL774IuVyGZ/Px2wtaWYyiTTkI488wvve9z46fR187nOfIxKJ8Mwzz/DYY4+RSqUoFgW0dSu66vI0MTIywr333suOHX1ks1Uefvhhent7ueuuu0imk3S0ddDU7GHv3r389Kc/xePxMDExhdVqpbGxkW9/+9sMDQ2xtLjCgYMH0BjE/1c8GuMzn/0r7nrnf+HmG9+CUqnEZjHX+QT5rEQ6m6Grt4emlmYSySQHDhxgYnycYr6A2WDk4oVRwnE/VrOlvi9vaRStvL6eXlEuk2WWl5eRFaIJGAgE6ko4jVot6NZKZb04ZdRZCAaDNPuELlCj03Ly5Ekcblc9J7B//35avC01jPocwWCAXbt24d9YI51OA1UOHDjA5ZdfRrlcxltTD2r1ekCAgLV6MWz7Ywo1gDd8jUgy1YpcLzhVSlVUKiW5tAhyqRQqdCYtVCGVTJDPpKmW8lCtoKiWcLsdhNZXWF9ZJp1KsvfgZYyNjdWLcVtrdmEgF3j/8fFxdDod/duGGB0dRafTceDAAU6dOsWVR48SDwRYXFxEVzN0d7W1UiyKVa1Gp6V3aIhMjZtxxa3vYnzqjSErb4pBo1KppK23FxQKqFYppdMsLCzQ0NDAysoKvcPDNNW4gVuhGdELT2O1WonHYthq24lqtYpKocRitbKyvCx4jx4P46dOiz1uVVwdLEYTVGWCwSAzMzMYjUY6OzvZtm0ba2tr+Hw+nnvuOWZnZ4W/UVklFBRXFqvdyfzCMn9+x51897vfw2y2c811R/nrv/5rPA475VIVp8vJzMxMnQd5zz33cPXVV3PXXXfxiU98gpuuv4H77rsPt9vNE088QSgaoq+7j3w+j81mY319HbfLwV/85adwuVw0NHo4dNmVpFIpvvjFL/Kpv/gESFV6uruIRqP0mtv40H338NRTTzAxMcaRI1cyNjZGX18fvpY2vvTFv+OXv/xXPG4vyVyQSCREY0MD73znnbz//e8lk8+QSSZYWSnR1NTE2voyrc1CLx8IBUEpvpvmS0Vi8Tg3XHc9P//pI2I+k0yjUGko5cV1JFcs0dfXSSgSZXF5hTZfK+v+Tfq29xFJxomlk+zZtZszZ85g1ImBoyzLNHi8ddN0pVJBo9Hw6quv4mkQq9GttKmyWq1fnarVKkajkf7+frGhSidwu910dLTVvZMNDQ0oNKKxCSIsp9b+WxKWqizEk/DHeKb/7m3rsNhC0JfLFfQmcdAE1oKcPTuH0WwkFg2TiMYwaFXYrSZKuTSlfAtz01NYjQaam5vrsuHBgwehVGKt1hbecnwqFAqam5upVqusrq5y7bXXilxEOo3FYiG0tla7nooBusfjIRIMkc5lBcpPq2NydBSzTTBB3+hKtPX2pnhSGOzrkV999qn6TGHru7zZbK7LSrxer7iLq9XMzc3h9XpxOp1sbGzUWHnaOoptaWFRhDyAttZWMpkM2VSafDbHiy++iNvtJrgh4tQFhSDWHDhwgJ///Od0dXVx5swZbr75Zp544ol6N/9fnnmSYqGEzmBGUqp5xzvfxYuvvEpjczPzC2K6nkilUEvy733Cq9xxxx3cdNNN/Ovjv2Dnzp089dRTJBJxtGWJ+fn5euhqfn6+vrZqaWnh/vvvZ2xsjLfedhsf/ehHOX36NB/+8IeRZZlvfvObQkOfTmMymfjTP/1Tvvb1L1EuV2uQkxJXXnEV119/AydOnKSjvZvHH3+cVEqIZdXGAnq9ngce+Chf/MKD6A1a5EqVfD5HS1MTKyviqqbGQaFURG3QsXffPhRqIb159JGfUS4UaW5opJgvoDLWAkS1EE0sHOHw4cMENwOsrq7icbq4/vrrefhnD9Pe3o7ZZEKn1jA3N0dXaztrq6tYTGYqxZI4sG0umpqamLw0xcbGBulsje8gCzmqRqvlwIEDBNeDddQ+yKJUZtDS1taGSiVKb11dHWQyGVQ174dGqaBaFcNClUowJ4D63+U3eGiQ+fevEQmZSllkFVQqFVtggGJOzHgKOaERdHncnDt3llg0TGuTl2qxQDoeZuf2YU6dfIW25kZ8HZ3k8+IqpFAoaG1vZ/ziRex2O8ViUXwcl4tCQajv9GaRyNxzzTW8/MQTdQXhoUOHCIfDzM3NiVxFNo3P5yOWFHMOnV5PJB4jk8nw3/72a0zNLrx5nxTUKhVWtx3KZZQK8YneiqQaDW7W19eJaxTo1Soq+TzDu7cTWF5iauI8rW1tqJQVMtkYhXJJiFKMWsqVPNlslmBYzcKCqN6ura2htWgpUKC1X3gmZs6PIVdlLpw+hcfhoFjI097ZwWtnXicny2DQ88KrJ1n0pxgaHCKdTjOyfYSfPfpL3vKWt1CtVvn1k49jMBhqeQkHxWKRoaEhuru7aW/18eMfPMzll1/OU48/zuTkJH19feiMRoorC4wtzNDS0oLDJ+K6R2+/hcOHD7OwuMjIZfu54S3Xsb6+zu7du9FolXznO99BpZYoFLMYTTqMJh3FUo5UUjy2Op1OTEYVd999NwMDA3zjG19neXmeldVZNBoNOr2MUqFDhYY9I/toavCxvLyI2WJEpzMSicUxmm2kMnmqlU3xCFvJsrYySyKRoKenh5tvvJbp6WmxG9drqeaL2J1OUuUqgTVxp3U7XSzMzYv1n17Hq6dPQapMfDWMrd2EUWtAj45KQaZaklheWhdtvkKF9cU5xmYv0d7ejslho6pSsL6+jkYjjOJKpZLR0VG8nham5xd45XcnMZlMHD58GI/Hg7uhikVrQlKpkRU6NHotUqFUK76JxQEKBXKhgqQWg8VKoYRSq6ZcydevBJIkISEhvwGlSCEXxKGCAuQKkqQAWYFapUCjUhPLxgiHovz8pz/A5XKglBSU0zFUSolsKsny0gLXXH0Vr544TkNrG3Pnx4QCripz/DfPoTMZBb2pv4/l5SWC8SgoJJq72okFQvR2d7N68SKRUIhGr5dwMEg+m8VsNKJVq2lqaiIe8DMxdhGz2YpOb2B6aZY73v4Ojv3uJPl88Q++Ht8UTwo7tw/JLz/xUyKRCD6fT2TodTqKSVF2qdSYfm6bg2AgQDQeEzxGnQBXSgoFSrudc8deoaOjg6WF1TrrsaOjgxdeeKEuJd2KiwqZho7oRpjZeQEynZyZIZPLEk9nyORyBMMRylXxKFtRCDvzfffdx2c/+1luuukmTp06xeLioujGr66KarXayDve8Q48Hg/r66usrq4yOioKU1qdhqamJo4fP47RZK5bnrq7u/F4PHz84x+nvb2dr3zlKzz99NNCH5dJc9ttt3H8+HFSqVQdOGuz2bj//vuZmZnhoYcewu3yEI1Gueeee9ixYwdf/OIXWVha4B+/9Y98+tOfZmRkhM3NTUKhEKVykeuvv55nn32m1krdRKXewqmJb3myLFOtiG+bRqORkZERxsfH62Ehi8WCLMtsbGygVxno7+8Xa0SVqv443NHRgd/vp6enRxzs4UDdSCWiyKl6IaqhoYFcTqDp1CY9qVSq/vmRJIl0Oo1SqcRoNNar1NFIql6DL9UMUVv8BrPZjE6no6enB5vNxkc+/OH6VU6tViOpJfF0UAEkKBWFvVxnE1eMraeDP/T6UFIEqbapqEhi6KjSMH5hguXlFeIxgVXbt2uAFl8zi3PzTI6P4XE7KeayBAMb7N2zm7npS+TyGdwGAarxNjUiyzIdO7YzNzmORqejdXgb5USchaUlrFYrSzMLFAoFBgcHWV5eJp/P43K56OzsFFdrq5Uf/a/23jzIsqu+8/yce+/bX77cMysrMytr36WSCslaLANCGgQE3XgdHGaM3XaE23aPu3GEY5qxewyN7Qg3Ed0d3e6ecXTbPWDCDNCAw6ZZbGBAMmAESCWVVPuWyqzc98y3v3vvmT/O/d133q0sgQ2SKoY8ES/ee/fdd8/+O7/f97f9p//EkYkxFhYWGBndjcKh3vLJF7roHRjk7f/LL3H+8h0MNN519LD+9J/+R1ZWVjh+3PiIK6UYO3iQ5uZmZLaq2Vrd5K57TvHCCy+YHAUpj81ymZmZGY4eP8bFixd54xvfyNe/8S1u3LjB4KBRS83Pz8fBWc6dO8ejjz7KF77wBeM16cPi0hKtULNVLtMMQlZWV6k1GqxvbZLJ5slms5y+70G01qytrXHy5Ek+85nP0Gwag5h0Ok1PTw9Hjx7lp3/qnVy/fp0/+7M/w3Vd5uZnOX78OFtbW4yPm0zB3d3dtHyfVCrFoUOHeN/73seZM2d4z3veQ29vL4tLi/T1mqzO//J/+y3+5E/+hFqtRhAETE1P8VM/+VM8/vjj/O7v/i71ej0y3qqbfIiR3FypVDh9+jRf+vKXGB4aZmFxgULe4CbvfOc7efTRR/nRRx4CYHT3CC2/cQtRCHyTpSkVRa7u6enB933uv/9+nnrqqTglX6vW5OTJk1y6ZOz9x8bGuHLlCvv378dxnDj9W0+P8SqcmZmJcaF8Ps/CwkKcvaurqwvHceLwdmEYkslk4vgaAkg2Gg2KhZ742UCcV1PkasEcuru7OX78BKdPn+bnfu7nmJiYwHHNRg7DMM68VSjkwQxfHG9SzJqTpVrZiPJWpHCUBzh4KZepyfkoJGCBeq1JMd3g/PkXWV5colGrkk653H3iOFub60zeuE4xlyXUPrv7hzh16hTPnX2edC5LrpAnnTfOUhuVMlNTU2ZzK0VPrseEp/M8Tpw4QSaT4fLly/FYiTv96IAh3Ckvzcr6GoODw2yVqxQKBX7uPf+S7zzz7LZE4Y4I3Koche+3aDYbrK6uEAQ+jqPYWlqkXq9RKnXhOIqRkVHOnT2HDhUD/UP4jYBCtkA+X+Qv/+Kv6O3tZ2lphXqrSbG7xOLKMi9eOG9Ch1UrVOo1evr7+NrffYNyrcr80iIzC4uU6w3wUmxWayyvrOLjUOjqZnjXbrRyabQCnChn4dGjR/nSl74Ugzz1ej1K2WXwg7/54l9z8dIF5uZnqVTLZLNZLl68GLtw57J5FheWaDQanDp1il/6pV9ibm6OD33oQxw5coRMJsPEngkGBwd55JFH+OhHPxprWaamp3jowYc4ceIEH/zgB1laXmLfvn3ML8zH/huiwRBvusOHDpPJZBjdPcqBAweoVCo8/vjjvOMd7+DQwUMcPnQ4NsuVDSABV3VkxSfBUzKZDFtbW5GDj2ZycjLekELIa7VanPZ8ZWWFRqMRv5erFfwwwE151Bp1tiplLl+9wvDILrp7e6g3G1RqVRqNRpwDpNVqdXze3NykWjWJVcvlchwXQ/JY1Ot1/IjgSn6IfD7P4sIy169Ncu3qDbY2K7QaIa1mgOs6dPUUKZTyoEEH5kWoIFQo7Wz7SmdyeKkcyvEINLT8kNXVLdY21ilXajz3/At86i8+zUc/+lEcx4ltb8SDVMy1xadiaX2VqbkZZhfmGZ/YA1F4wOXVFQYHB3nzW56gWCzSPzRIo9Vi99gYuUKBQGvWNzc5ePgwZ198kb97+mkeeOghxvbsYXNji77eftK5LMeOneDg4cM4jsOXv/xlVpcWb78f7wRO4ejBffrD//b3qdeNJ9vwsIlJFwRBrF5ZXV2lv2+EY8eO8eyzz1JrGNnP1yHz8/MsLC5y6NAhY1dQq/PlL3/Z6OKzWRqNBrt27TIGMZHzi0mbXmFpvcxGeYt8rshWpUyh0EW92cT3QxzPZWSXCTSyubbKL/7iL/L+97/foPM3b8a+/Y899hgPPPAAH//4x5mcvB5bWwaBjizTvDjVm+t47Nmzh5/4yX/M0NAQv/EbvxFHrF5bWyMMo2Apb3kLH/7wh6nVKvGGP3DgAG9961v5vd/7PaMGi6zpzIlInDoP4P777+fChQsEQcDY2Bg3b97k9a9/PW94wxv47d/+V4yMjABhZDOfAhVGxICYKLhOJs5+LVmqisUiWmvy+byJh+g49HaZEymXy5mISFFcRhEz5PTuHugBoFarmfD7kc9KPcpgnc0ar8N0qKhWq+RyuZgASDtE/DCZo7Kx6hoMDiUBcyRNgOcZ2KzeUHGwnYmJCXp6ejh27JjBiO65h1OnTjE2NkYmb+wUjEYhWqDbnKctHeAog1FobV6OAyvLZZRSTE/PcPnyZX7irT/GZz/7GVzlcO3KZfp6uylkM7gOsfiwVd7gH/3ETzAV5TzJFfLgGF+L4w88QH1t1cSmdBwmJiZ44dlz9PT0EARBbLczPT1tco/2GnPvmZkZmlvrDAwMMDMzw7333su1a9e4ev0aPT09/Nrv/D4Xr24PNN4ReR/+w7//d+//sfvvIZfPkUqncVyHow8/xFB3idm5OYaGh6hUK1y/NsXK6ipLS8tsrG8wOz/PtavXqDcarK6uMTn1EjOzs7iZLN09PdyYnKTl+3SVSpx57jmqtRrlSoXllRXWovBaTQ0aBz/wCXFo+T6VWh0NFPJdFLqKHDlyhK5igbNnz7K0tGQ2Qm8vlUqFvXv38va3v50zZ87wzDPP0GhWcV2H9fUNPM8lk8mSTqdYXzfq1Hy+wK//+q8zPDzI+973vlj8kDDmo6OjbG1tce3aNQA2NtbZ2tpCa82pU6f42Mc+ZvTgkZ+I60bRjhpNBgYGaDabeJ5HX19fHA5NApo8+uijfOQjH8GJIiTV65HrcGhOTHsjhGGI75tNJUFthWuQ084QvoCg1YojW0lMA/EHkOK6Ls2gs69yYoZhGNuneJ6HCgyBAWLuRUx4RewwDkqGe5DNrpSJvqyj8PFyCgdBgMaLr4l78dTUlDHyaTaZn58nCAK6S10UigVDB1wM5gCEfkgYhDiRxsL1HFqtgCAIUcohlYK1tQq5XJae7izNZsDo6G6+/uSXeN3rTrOxvk46lSKTSdPd1cX6+hrra2scP3aUo0ePMD1zk2qtZszKNza4+5FHuHj2LDnPIwxMAtxszjiczd2c5+TJkzQajViVubq6yvr6OhMTE8zOzlKpVAhbPpcuXWbP3j3U6nVQirSXIgxC/uqLX+E3/sV7ts37cEdwCof2Tej/8IH/g7U1oy4ZHx/H900E35mZmdiI6dBBA6ycP3+ebD6H7/u8dNOwsrUoNPZmpcz6lrEG3NraIpVKmdRk9TqAtaAMotxUxiFL62g3aAfHcwlDc/1/evwJKpUK58+9QCplNBmpCN39mZ/5GR555BF+8zd/M4770N0j/gxZstk8zYbP0tIK/f2DDA0O8973vpd//s/fg6MaJsdDJhMnys3n8+zatYsnnniCP/zDPzTJa11i24Xe3l4TkSgKcCqyrtaadCpLq9WKDa6azSazs7MMDQ1RKBSYnp6mp6cnUnGl0Frjuio6XVWMKQRBq20nkMrfUo9sUtn0QRDgYa41m8047L4k85F7lVLgGKMosUsQmT+fz8cnfiqVopDKxM/IZrMRgfLjBD7Sfwk7Jmy4EJdUKhV/F44hoG2oJNyEhGsrFArkcjmGh4fp7e5icHAwzuexvr6O53kcOXKEo0ePGq1RrcbkzRlGR0fZ2NhgaWmJQ4cOMzs7G4OZ3/jGNxgZGeGFZ7/J3NwMzXqDsd0jnLr7JI1qBXTA4sI8B/ZOsLm1TkuHvBAlI0qlUlQqFU6cOMHVq1d5+OGHcV2Xja1Nw51Wm3GC4XK5zN69e5mZmWFsbMwYj+3bx/z0NMvLqya58u4RxsfHOX/hRRq1OvV6nV/97Q9weXLqzlVJeqk0M7MLbGxsGLvvC5d57LHHWFlZYXnFsErnL1ymt2+YVD5LV59Z3OvlLWZmZ8kVCzSbTVa3TKSdgcHh+DQNw5CVlZWOvIn2QvX9FmEUhUYpF6VCquU6nueZRJ1+k0bdmFKPjo7S3d0dE62JiQn+4A/+gNnZWUZGoph9YYtQ++RyWZQyrPL997+ORiPg/vt+hOvXJ82G9Nw463OjYQjE4uIijz/+OJ/97Gdj+V07Jp3b8ePH+drXvkatVouRf9l4gsBLuLJCoRBbRi4tLZFKpbjvvvt49lkTZzKVSkeoehgRgvYG1rqd1AXa6Lv8LsRUCBBATE+j/9mxBuwS+D6B7xMGBqNBaxQQBgE6DHGUwon+I4ZFdv1A7JIMhvuw67VDqAsgKQROR/eF2kdHa6C+WaVaK7NV3sDzPNbWV8hLkF8dxv4wjuNwc+olXjz7fOxWXWn4fOC//msOHTrEE088wX//+MfjEHTVapWVpSU2o2Qvb3/723n6775JJp3iK1/5Cp6Ce07dxbFjx2hUK2xubpLOZnnogQdjn5xr166xOL/AgX37mZm+ie/7nLjvPr715JO0Gia35H333cfNm00KuQyFXIbF+VnK5TKXLpzj0KFDPPfcc2SzWUZGRoz7uOdR8X3C0N/W9kLKHcEp7B4e1r/+C+9mbm4ujg9w8+ZNXNdlbW3NeNUVi/jaoKtb5XJ8WszOz9EKTVLQ3n5j800YmbFGSHy9Xo9ZR8MVtPscOBF/GPnDO9o4UVWrdfbu3ctgv/FO26qZsGFyqv38z/88X/3qV3n++edjp5ONjQ2y+YBUKkV//yBbmxWCAJoNnz//84/zT3/lV1ldNQlkerrScYYlMJtMIhdPTU2ZtgUBw2NDrK+v8+CDD/LUU0+ZoKqVSrzg5fR0nUwcU6C7u5vFxcX4NM/lcjz88MN88pOfjMQKw947DhH77uMHzRhTALOBXCcTt0+Ij8jp9Xo9FiPSro5xBKWUCSRrcTNCgOtbBniV8HtioRhEREIs7aQOyTbleV78fOmzhO0T7YbRHhQ6rAztwCgtdMxxxFxiJGqJmlNrTVobsUwIS29vL7VazfyWThvT7HSarmIvx48fp7+/nxfPnaVcLjMxMcHGxhqZTIaXXnrJxNE8cZwXXniee0/dQ7NeY3lpgT2ju6nXKjQbdQ7t30c6Y8Sm/v5+5ufn2djYYGBggAP79tNoNFhaWmJjY4OJMeNyfeK+u6mtrXHmzJlYVLx69Srj4+MMDAwwPD5OZW2N+bU6169fp1Y1gW0X52bJZT3Srsc//Vd/wMXrk3cup9BstvjC33zZBOJotbj4oY/Q3d1NNps1UYIzedY3Kyyvm5iIxWKRUJmNX65UTJCLVIqVNeN81KobGVfTihaqY+iiAjdKJNKOoiOsLhBqtHJxHYcwaLF3zwSf/x+fNQFQcDhw4ACvf/3rOXbsGB/4wAdwXZf+/v4Y6DLtrZGLMj9ls1nuuuseBgeGede73kWr6RNGZtZdXXnW19cBYpCuWMwzNzeH5zl0d3ezubnJ4uIiJ06c4Itf/KJJKhNly4L26Wk2VUA645FKu5S6i1SqW2xtbTGxe5xcLsf6xirZXJpyZZNctjs6QSXpbhonEG6grYrT4a16ekkNL2HQtNY4KojtSdLpdAwYJksmnQatjTWh6+JEbH+xUIj9HlKpFJ7r4kd2JV0RsCligGAbAKnIalGHPkppPNfgDHKvjJFSKuIUQsIwsH4zr2w2E4c18+tNmk0nJjq1WiXmTMTEvl6vMzwwwuWL5yPQs86+ffv4ypXLZLIpBgcH6e3uJuUq5ufneeihh1iYm2d5cYGuoknT99LGGsePH2dzbRWNcY2em5vjwL79XLhwgdGR3Xzz69/g4MGDpJXLxO4x/GaLVqNJdWmRfHc3lU1DPDZWVziwd8J4BocBzz/7DEeOHKHsm6hSTpQdanBwkEzaoV6pbjs/Uu4IouCHAU7OoxyBYlpr6uvNmJIPDg7S8lsEWpHO5qk3I+rfCkh7GerVRgebmc5l0UArNFxBq9nqOLmUUngZA4LppkuoQ3TY1kcX8l0sLRpVULG7ZAyn+ntYX17g8P4J/vJTn0AFTRQuuZRDLpWDoEnGhWbNpe77pLQxdx3q7eebX/8aYbNCIZulUqlSKpTY2NiI2XyJc3D69Gk+8YlPxHb+XV1dpIIWBw8e5urV66yurpNOZ2NzZumvUq7BFLwAR3lsbpQJAygWSszOzPP444/z13/91+hQkcsWCHUdTYgmwA80RAShkwAoUCFi/6uBlu+DCmn5DbyUF528LULHIZvNknIcMl7KENxQGZBSG5bfcz3qnnlOKp+mHmiUckhn0tSkP26Kplb4UVq3XC5HEBGewHUIFeA6aMeJNqqi1miaZLnpNIHrgQuOcgharXgTe56HqrVwMYdDIzQqTpSHH8DqZjnmqJopzVa1bPCMlAnQ2opsHlSoSSmHQqmbpU0Tv8PFJVABV6evU6/XmZiYoNJqEFZMyjt3rcm18y9RLm9y6MABSqUiy4trdBV7mXppmt6+HjK5Ll6aX8Xz8jx36TpaeaxVG2S6e1nc2qRZb1BsGW1brVXH1yFnnztj3NoDPzaBHpvYY5LcDA2uyxfKAAAgAElEQVTy0s1p8j27efwtT3DxhRfitAZHTpxkYWEBN3V7b9A7gig0GiY+nVBwUTlpranX63HshGqlHlsmyiaXU0NYyzAM8UMDPsk9AjzZcrIQANeSXYVgbGyYoJ8LCwu0osUVhiFvfvOb+eAHP2gs36IAKcJmSltyuRzZbJY3vOENHDhwgD/6oz8CDBehlIpjHnqeF+e+FIRfvOTEIGlra4sDRw/z4osvGlVdFN0HOuV1GScg8hA09VUqFXbv3s3MzAx9fX0sLCwYTio2VGr3eTsx0gYVY7DQ+s3+T8zah4ZlL+ZNCHyCMLYzEA7Ctn8QEcR+yXjIaR3jAtHv8pvMr9QtBFY4Ba11HINRxAMBI7U2iWmUUgSRAdPm5iaFQiEm1s26sbFIe2b9pBw37qvv+ywuLppwblbQ4GvXrpFOpzl27BiDg4MM9g6ahDTFIi+eP8/wYD9+0KCn1MXwrn5WVlYol8tcjixje0oljh07ydnnnqdS3uT06dPs3mVyWoyPmzDwjgqpNpoMDO9iZWWF7lBz8MhR0t3daMcQwWq1yo2pJa5euBCHIxDPSgPGpm+Zbyl3BFEIw7bsZ5+AMnmysVvNILq/vTHshSnsrHinCKuZXMzJuu0NIhtMXFilHfv27TP5GjY3KRaLrK2txWowqSOWnSODpk9/+tMxqx2GIeUICxGATNojsr9gCQIS+r5PsVjkxo0b8f02VmKPgZyIEurbRDg2BG1qaipmzz3P68g4nAT07GJzVjYBkbHd7lqowg5RwIHYtDiIuA5bvWnXL5hEOp2J65d6tgM/bXwoSeTk/1IEu7B/b0ZgqXba4KZoRLTWOBjbh9CP8AuP2ChqaHggHuv19XUmJyfjvCKe53H9+nUTsMe7Rv+AccYqFQvMLS7gEJD2XC5dWiWT8hjeNUQxn8NzFDenptja2CCVdkmlXLq7CmQKObq7imysrbPcarGytgLKZWp6xlj2emm8VAZw6O7pM2Clu85DDx3k4sWLccaooaGhGGfxv5+8D69O2R6xloUiiT4zUYx83/djsE02o5wIWmt0ZKgZBEGssrJ95u2F5AS3mrIGQRAbJklYrOHhYZ555hl6e3tjz01ZlLb6LZvN8sQTT/C5z32OUqkUJ7np7e2Nre7ErFZOONE+aK3jDS+nnsiwUp+t+7c3lNgGAHEmrK6uLhYXF2NNQSqVMgFAWu0+C5cjHJhdxPBHNlwQBDGBS2pxRN4PIyOoeNwtWqOdNtch9fq+H3MD0idJwSdWjBJTMamJEKDR1kKACfqb/E3G255rWUutVlvd2Wg0TFSnnh5SjrHk7O4qGS/cZot6vW5iT+bSMafjeZ7JKVIqxWMqnEMtrFEup+ju7mJ2foaRXbuYm5tjfHyUk3cd52//9knG9ozz+GOP4jgOA339PPnkV1hbKnPvvadYWVpkY2WJs2fP0tVVMNzEwC6CIGBpbYtS3xDleoONSoNuL8vaVo3hfIlizwCVrUqcL+XEiROsrq6STpvM3TbIfcu83/aXqCilssBTGKtwD/ik1vp9Sql9wMeAPuBZ4Oe11k2lVAaTuv51wArwTq315HepJV5o9mIVQiFsc6VSiVRqqVh/bS/O2FxX6Vs2a7wwE6eOfRq21ZR+h85bIgwrZaIIix2ArR+XjTE7O8ulS5eiVPTlmJXb2NiIg8f09vbGC8dxHGq1Gr7vMzY2FoeDE8KzsLAQ+xiIBaA4DtknNCqK/Rjl4mw2m/T09LCwsMDx48e5efNmrLd33LbdgT1+yWL/ZosQNisv4LCw9C7SJnNPjCl4HvVWMzZCstWXQhRsQmGtvw4RQ4rYMMhvIooJIRAOTBLU6FabSwl1GM+d53m4TtuuQdbf+vo6LioO/ZfJZMilM/E4ifgiRB4wwUzSaZRSMeFPqSqV6gY35zTDA4PUGlXS2SyXrpisZc2W5vLlq/gtQ/iXeky+0p/8xXeztrAISvP8s2c4dOgAExMTzM/OMbb/GOvr6+QLy5S6+0zWq/PnqdaarK1vMTo2QTafwnNSXLlivGOfffZZ7r7bJM5dXFyMwfHtyvfi+9AA3qS1PoVJ/vIWpdSDwL/BpKI/BKwBvxzd/8vAmtb6IPDvo/u+p2Lr3GXhyUKRzWlYnzaAJItVFrjNGcjvwC2EwF7otpUcGJaxVquxtLQUG/8MDQ2ZwK/RCSDou/38IAgYHR2NFwjQYeQjEyF9qFQqcV9KpVIccWltzXiBbkZeooVCIYreVIzVffKSkzAMwyj5SRAv7q0tk0nJ932GhoZib0J7fOS0k5dtByD3ybiK3C4ETbgGUQvKeAuHIUTVcRyq1WqH/C/Ps+uTefQ8L+6LtEEMlaRddjYxW80o4xtzLtbzkyKGTeSEY5E+2GKTEBZps3CE4v8iHFilUomfJZaS1XolVr1WG1UWFhaYm5ujVqtRrVZZX1+nUCyxvLrCPafvRWtjlPXStRs0Wk1aTZ++wQE2Nrb47Gc/y/rmBpcvX6ZSqXDy5Mk4f8nY2BjZbDZWpy4tLjI9Pc3GxgaHjx/n8OHDpAYGIJejp6cH1709P/BdiYI2pRx9TUUvDbwJ+GR0/cPAj0ef3xF9J/r9MWUf1bcpyYmSd3uzJydLTiDbDFcWavL19ylSx+bmZnwiCZGSzSgnmywI2VBa69iDbXFxkVrNZGoulUr09JiEJVKH4ChAbOPf398fs3Zy6ku/t7a2YmIoxEApY9MvYKo8UxamxHoUq1CT3ToXG8nIphGiYHMgNqGU8ZZoQALy2ZydnNACEoszExC3TzZys9mk0WjE/7XnVoiF/bKJoG0SLXUmxU8BA8WTVcQQITxyv31YyG9J7ELepd5UKkW9XieXy8Wqc9/3Y/FBgE3ThiaNVp1ao2rGynXx0ilqjTrXJ6fo6u5lcuomjpvmc5//G144f5Hd43tZXtvi0pUb/N23v8PlK9fJFLo4ec9pxvcdIGj5LM4vQKjp7e7h+tVr9I7voVTsYm5mFrerxEs3JpmZmaFSqfC1r37V5FSZn+dClBpACPd25XtNMOsCzwAHgf8MXAPWtdbC59np5keB6WgwfaXUBtCPyVB9m9IpKyY/C3vuOp2yI9CxCeR/2jLASd7/vRZBsYUrSHIdQHyC2JZzImIIFpDL5W7hUmRDAR1cjqDfrVYr5ggkwU2xWIwXuIhOguprrUmns/F32ViyueRZQgiEfRfia8vZSVDRZt9FBpdxt/MexAQk6ourInFOtTkOza1AoLD5SbxAPtuHQ7xabgGL28Rju/44jkO9Vr8FUE4+65Z2JdpqEz8vlY3rVMpolcRqEIi5Ka1DHEcBGj/0CUKfoV0j9JRKNGp1qlFyorUtE0XLdTyy+QIH9u3jG9/4OvlCN6pLMzl1k/7+XvLFEuNjZqvNztyMCdxLZ583VrjjY3zqQ/83pVKJmZkZJiYm4oxe+bxJuzeyZw+NRv22a/97IgraONnfo5TqAf4COLbdbTK2L/ObPQG/AvwKGLWgzbLa2IL9MhFuOifbnmDbKMVq+y2LKtGS7fqLUirOzRcEAfl8HiA+dRzHia36JOy8cBSCCYiRkbjzysYUMUhOSJnYy5cvs3v3bvr6+pienjYenqEfb+q+vj601lQqlQ48ICnnx9iKtZGNIU4t6nLYOa60CZyMrc25xcZCqVQMAgK3iBxhGOLoNheUSqVic9owDHHTqY5TWcQJmyM0Y+J2qCxlrEEMtZx4fux22mtAvgsRLJVKMffUahlOBkd1EOwkdqGQddceF3lvtZpxoGERB2VuRbwx7t1bccRox3FM5Gjf59KVKwz09dHX14fruswurOLPLDA8PMzHP/VXTEyM09vdxcrKCrt3DTM0Ok61XOaprz/NqSNHGBoaYixKCJwrFFhdNvkjsuk0r7v7bs6dO8fExASP/viPszltgv08++yzMadjz3ey/L3iKWit14GvAg8CPUopISp2uvk4FX30ezewus2z/ovW+j6t9X2yOGwQMAkIyoQncQHppLDwSUJiE46Xe3aibR2ybLVajd24Bdyy2VQboPJ9P85XKGa7chraQJrN2UB7Ea+vr0cnv5HZZaHJYhez3Hw+H7sKC1cgz5F+2aeW7ce/XbFtAaRd0jb5TYhhcnxlzJJsuDzHFhvkZcv9yfndbn5sMSZ5CMgaEAJiE1ohiPJfW2Nlz7fUcTvR026TPMMu4rUqoqJk8EaFKKfNvQmxHBwcNEFx55dYWV1neGQXfQMDtFo+6xubBIFmdX2TrmI3xVI3k5NTOF6a4ydPkstnuHzlIpqA9Y1VLpx/gb6RIUbHRtAE7D11kp5eI65W5+bQWrOwsEAYhpRKJWZnZxF/n+3K95J1ehBoaa3XlVI54G8w4OEvAJ/SWn9MKfXHwFmt9f+plPpnwF1a619VSv0s8JNa6//55epIpzw90FOKvycXlUyArZGQyc9kMh2Lzpar7Qm3F4rNXuptABdb3pL7u3ImqpEEiK1Wqx14h9Qh3IAATXb7pQ9J2wm5J4yMaLTW9PX1GZfYjRr1ej3K65CPQb2krj9bNCo7SZ8np67I0kKQtNYo3Ykl2CKCtM11XZyoX/ZmFflZnpnNZmODKZtQ2GNss9l2n6GNNdicoet1qkq11h0YivRbNAASj0FANgFTZU3YMr5wV0A8b9vhCHZdMh4iRqZSKTzl4Ech3DKZDP29Ji/IoQMHGBgY4MWzLxg8qlhgcnKSbDYbq6gLhULMKebzJsFxV58BmatlI3oW8zkKxRwnjx0nlfLo6+3l6tXLdHd309NtUuFtrK1x7NhRGrU6w0MD1Ot16tVyzE129ZqAxtlslq4uY2AV+Jre3l4efOIfce7SPzzE+wjw4QhXcIBPaK3/h1LqPPAxpdTvA2eAP43u/1PgI0qpqxgO4We/exUqRqlt6myza0C8QOwJs++1T2Kb+9jOAMY+BZNFNoftpttoNOLFJwTJ5k6kniAwGarkXgGfbNTd5hLsdgOx0dLq6ipra2v09A/T1WXY1Hb481aHPK+Uot60jIrCkLQX+SYEIYEGxzDDhFH7BaRLntj25ojVeYmNYos9tVpt2/tsdbAAdPb4Sn1J9aOZ0zY7Lye62GdIW+X0t4mN3GuHcpc22QTAnnN7fch4JteC1GOLuBpFJjKNzufzcZQnx3HiyFStVgu/XObIkSMEQcDi4iLFYpEDBw7gOA7Xr19neHg4Tm7caDSobBk1diblkU53RzhSEwXMzS0wP7/IsaOp2AFr165dBC2fQwf388wzz3D16lXe9a538bWvfY19+/bxmc98hne/+91Uq3UqlQoju0a/K8b2vaSiPwvcu83168CPbHO9DvzMd3tu4l8dBGA79ixJIKK6OjiHpGwo98h7cjCUUuiXYaPsemxZXU5JmxOQk07Ui67rxtqLpEbF7oe9KB3HiQOXyAm/vLwcx0csFosdRM9mi32/vWBvJ0LJ70l038Zd7PGyCa78X9SaSdDVHqcOTszCPgTgtO+339uahE4cyHGcjr5K24TQJLkxez7sa/Y60RHeIu2T8b+dpsoWG4womYvFKlEZb21tUa1W2draioPc9A8Psbi4SLVqMnN7nkkf39PTY/wkKhUWFxfJFo1GSNTOpVKJlGfiLV65coWebpNdbGhoiI31Tfbt24fnGJ+TPXcdZumlG1QqFfbs2cP58+e59957OXv+HG9/+9spjIxQvnKNmZkZUl4mjmF5u3JHWDRq3fbPtyl2cnHZJ+p2eEPSz94mDiJS2LjE7SimzV7KPSnV9rewCYQsdsE1yuUy8/PzsRgDWACaEy8MWYwi90ofRN1XKpnovkFoFmolip7keR59PT20Wq0OF+rQWtAydrbNhs3RBEFb7JF22W2ICYrlOyIET8ZEZPhYM2RZFdqii/TxdriRLRLGdVvgpMyjAIzSFntNJLlBuz4pwokqpWJX+uTGsPsh3+3DxuYy1tbWKBW7YnFyaWnJRLqKxkX+f/ny5VgUtAH0RqNBoVDg2rVrpFIpulImB+aesXGmp6eZvHGNy5cvk89mKRRyNKI0dBsbG+RzBW7cuEGpWKTZbLC8uITfanD//fdTr5a5ceMGy8vLvPFtb+OpL3whWgshP/rWt7J6YypWK9+u3BFEQalbjYtsVNrGFJJEISkOQCdLaf/XZgXb/7sVa7XBqHhB0LbZhzamIYtLrkto8dXV1TiSkG1kJc+3zYrttgu6L3U3LWLZaNRwnFwEPBo3ZwjNy/gGm3ZbhCvmFpRtGdg+8ZJig7QneeLbokA2m40XVblc7uB0kpsyOT82ZyX9vGU+LS7l1rXSOS82R2QTattJzeYSbK5iu2ck8Y3tuAebixIxIfSN1qmrUDCxMssmcdGePXvQWrO5uYnWBpNZWlqKCWxvby9DQ0Ps3jOG7/tcvHgxxoWEsAdBQKVhDJkcx8FPGfB0aWmJnp5uMpkMx48d4XOf+xx9PSV27dpl1lGrRalUoru7m2vXbjB/+TKBb7AX9/u1U3jlS5tC2xZ50CnD2gZCNtWFW+VZaC8CWXjJid5OpJD77IUuz7SJlDzH1m6Ij4aoDuWEE8Q9ufDk1LNPdOEcBJdQumVYKa0Jw4DKlkmVl0mlaaVNRGOlIQg7VZKivZDQZ7Y9gdZtbMMeHynyHDEYs8dORCdJemuLMknCbPs0yCawN6tcFzFAtBLaIspyX5wyzlIbCmGTe2wVrWAlUr+tgrP7K/iKzKNYnYoBlmAZ0n4wKub+nt7YbqSrq4tsLmPS0UVqWzFGG9g1jOd5DA8PU61WaTab9PWZhEFHjhxhZmaG1dVVAmXSB/hNI5pVq3VSKZfBgWG2yhsErYChoV3RgbNsOJ9Uije96U2ce+FFsoUCBw8eZHnRBGl54Md+jIWbN6nVakxPT3P6jW/kha9/nZMn7jZexwnx3C53BFFQSsWDLwtY9NJyLXniJPXSdrE5guT9yROLsPM0vF3ZjiPZTgxJsp9CWOxTy2ZD7bbIJpPTJwgCNLLQ23X6QRMXl1TaJZc3MR4ztC0a0aB9E1TUjZhxpTE2BGFnnMWkPL5dv+1xTH6+HWH+bqKa1GurQSFyUgqat4gCMecU+Tckwc1kn+z/2/iB3T4RcSTgbE9PD4uLi/i+T1dXF0opVldXOyIxSdt934ewk/CLVkrUxul0mvX19Ti6ssRvlH5ev36d9fV1stksN6dnDSeRMQfFWJQQt9Vq0V3qRYc+L774IrlcjoGBPvbu3cuVS5fY2tpieXmZhdlZgiBgYGCAarXK6vx8HIptZWWF9akpDh06RLPZNFzInY4pQHuTCHgjKqTk4oJbWcZkSSLdssnku/2bUp0b43bPFJk06W+RJCg2lyGfbXk2SZwEZ7CfZftwqFDjOJ3xAJo1E8chm81SKhRRoabW8uN2QlvUStpDyG82lmBvdHuThbrtoixjJP4B2xG/5P/tuRJOLzn+tlm6EAjbg0/uFy5RIjzZ4y/jbZtuJ+u3OUt7fuX+er3O4uIi4+PjtFotJicnY58RSTcgY5vL5XA05PO5eBylD+IwNzQwiFKKzWqFSqXCoUOHKJfLrK2t0dvby+rqKhsbG4yMmIxQDX8V3/eZm1ugu7ubPWPjFIp5Ctkcly5dYGN9nV27dgEOq6urXLx4ESKO8PTp06yvrRjVdMb4jJw5c4ZAwe7duykUCiwuLpJOp9k1vDsGi29X7gii4EQoqi1rJ08WG7izicJ2ZTu77iSSLq9ay98WpEoWYY/tk0ueIWKA4ziUSiW2trbik0U2t83yJgmBLCrxBZDFb54hMreAmm2vwM3NjXhzFnL5mAOJOQ7AVZ1YBlp3iGHyntTYhGFIaM2DbRORHMvtAERbtLKNyoQI2eMieTjlerNV73i+zKkQwiAIYlsMe2yhrXq01cZKqThOQhLbsQlWOp3m+vXr5PN5Dhw4QBAEzM3NxaBqV1dXbGbuoigVu2LNiKvMM3IRQVtbWzP1RuHflpeXGRoaMvhApUK1arJBv/TSSwwNDfHmN7+FmZkZbly/GuXLTHHt6nXWV1c4dOgQhw8dYnV1NSI+TRNerb+fixcvUip28cLZ5+jv7yc90MfGxgbj4+MM7R6hWCxy7tw5yuU1wxW12jYrtyt3BFEQSh0vxgT4leyAfardbgNDp6mrjQXYJ7btWfhyahpZQPEJrtpYh7TJdU0IMbGBFxPjpBwscrSceMKC2gtUio2u25tSTnmR+72EijCJf9jFVknaWgn7//LZHuPt1JD2vUnikFx8ttXkdn1NXrPnaTvOwx4ze93YbU/OuzzDHiObG/E8L85bKSHgBc8QrkYphed6HSpRWWPCTUgwnGKxyPLyMl1dXWxubsYh/bPZLN3d3aRSKXK5HJubmyaAT6FEqVRieXEpUruaBDiiSgQ4fvxIHMDmqaee4vQ995LP5xkYGKC7u4vp6WlGR0cp9HRzc3o6Ar/zsaFVvV6/8zkFrYlZVR29HMeJw32be0w48OTiSIKKNsGwN5wsNBuolP+5joODRqFjW30VRePxxU5eOziOQjkuCuOc5SiTGKTVDAhdCANMpOnIjFVrTS4dRSFutY2EXF/TbNVju4NGo4ECMp4hUJ5yDAagFGk38i50Ik2C46CUiVPoaE0QhgRgQstHuvtcOkcQpGNbh5jYqUh9qRQ44HjRKY8mGtwYu1AKghAg2piui/YcFA5h7PwFjqNohZEBkmPuV8ohCEPclItyXUIid+ZmI4pf4MQq3Gw2a/wRfBOXERXG+JK9aYUA2B6POmqochyc6H43is2RchyUVqSVEXXKtTKhirKZuxE+QURcgwA/CKjWauQzWbKpNM1anUa1FhM3gMqmyWpFEFJr1qhVqm0i77gxhhAEAdm0AR6ddIaBAeN+L6nlJSze7t1daG28cRdmp2nVaywvLXL50jnuuecelDK5N1tByNrWFs3AHGJXr71Ed6lId3cXI8O78FIOi/OzlPIZVuam6e8ucOXcWSZO3o92cqyurTA02E9lY52wtkYqCFH6jscU6OAObOptX9sO0LKRZPu+JCubfK6wowISQVsOt01hY1Y77OROkmKGPFvCgQcRYNis1TsWuSygINCxW7R9+tsqNdd1SbmGUIg6SkVtR0faEUsel5PfPh2TYKC0I8lR3K4kxYLbnfT22CbnUopgEVKniAFyAiZNrbebb5t7CK0+iMORF2FEqch8PeUZ1r9QKBBEYeiCBFeRVIsmOR5b82SvF4fO+Ze+K6ViexMZn2azyfq6Ce+/tLTE2NgYy8vLaK3ZtWsXMzPTcdax+++/n9XVVUZGRjoiZ42OjjIxMcHayiJhYCJ6DQ30s7CwwNjYGHML84yPjHDy5Mk4KfP43j1MTV6L4kWWuHbpEq1GvYNDS5Y7hijIIrA3bXJBkvhuZOzOkGH2Z/kuZq+2Xl7AP9u6K0lQZNG7rkso6SGsjSHPEjHAcRwaUdTdpsjoQZRrwG9vJs9x0a6KA79KUFeRq2U8HMeJjWNCK2Sd4zhGq6A1WMZBQlRsDsEWd6Q4KHPCKky8xpg9uNV6U/4n8n4srnjtFG42ECn326pluSaxJIIgiJPI2gZQMl9J70epQ4q0UbAcpVSsxrQxDHuugiAg0G1xSSlju+F5XmyDEgTtTNW24Zr0V8ZE4k+mXC8+cIIwoFar4eRypNPpOFpYo2E4oEajEWfSHhoaolarMTExwerqKpOTkxw9fgzf9zl6/ATFUjd+qJmZm+fAgQN4nsfS0hIra+ssLC1TyLiUK5sQanKZNCnXY9fQIJNnnmFsdDeZYonhYZ8rU5P0jY+ya2iYWq3G6uIcSqk4UNDtyh1BFJSClGUtaANfNuW2T/DkqWSfIPYilWcI8bAtG4FYvSWLIolStxfnrVGH7RMxBrG8zlByjmr7PcREBB+8tgajXq/HYJYUexMC8UQGWqz+Og2KXEuuFmKQBASTHFeSWCRBwyQWsR1QZ5+k9oazn5N0Aku2JWknIWNqE+kOoibPsgiW1GckHYt7wVpDtI27zPMiLtKqM2g1b8EnbM7FXnehskRX2gCyzFWj0cBJtxPbyNh1dXXFfXJdl7GxMS5fvszAwACnT5+mr6+Pz3/+80xMTOA4DpVKJY47GYYh/UO72O3tZmV5ka6uEksLC1GIPheFw8LNmyilqFerPPvkk2ysreE6e+JoX61WA61v1bBJuUOIQhvBh04W3T79hbW3N2SShYdOpFxOpaQoIc8WIxW7Lba40S63stg2Yi+LJg58Em2UbCody+SxSKIcWrrTmlD05baTlai4HMfBS0enYiQz+6FhvUPdjgZlP0eebW9I6bcX9U/kcVvccJQigDi1W3I8tuMIkr75QoRtAut5XgzA2uMqOIjMhT2utk+CZIgSIu44DtUoVqXMeSqVIuUYgNCLiLgXxWbIZrP4EbvXCsz4tPzIDNtqj68N8Qis+fYck908DCMRMOWhNB1gXS6T7QgZuFHfMGOn24ZXpVIpdoXPZs39p0+fplqtUq5V6e3r49vf+Q6nTp1iYHCQb3372wwPDzM+Pk4lsn8Y37OHlZUlqtUyuwaHmJ2fZ9fQEEsrq4yMjjIzN0u5skWz2aTSgJ/6J/+Er332M1y4cI69e8ao1GukHBfPu32I9zsibVw2k9Z7hoc62EVhIcGKrKNudSSyF5DNRidlXMEQkqecrRqz9d1J2TKdageKlfaIWNLRbt/Ix3KSO5qOxam1Np6LqpMQAbFrtN1Ov96Mnmus5ZRrOIJmYIKv6Oj/2WjTiB9GtVqN7etFpIg3XcaozcQCTxycpH1yykmxLQ6Tp76w8RKgNgzDbaNNOY6DR1utLOKHPcZSZHxl09kilhAEgEYUL9LzPAPKptOkXc+oIbXhCpWmLSbqyIu1qwjA8tqqCT4TiXE2IZN6BaiGNoF1XZeM6xG0jGapWCyiAxO2zxPbDz8wmbhRjIyM0NPTE3MIMifSx1wuh6+hUqmwvr7OvhYVd38AAA/XSURBVH372NjY4J577uHZZ5/lrrvuYmxsjOeee46hoSHm56ZRaEZGhqmWN2k16hw5cICl5QUKmTTVqokbOTq+D9dVJiSg57GyssT+vftQDrzz136Li9fu4LRxrmNUeUm59VZwrNPIxmZD5R75TUoSAJJiy7s2WwttXbct18p3223YBiiTHI198oLJWtTmUnRsf2DXbwdVFaDKI4pQZHmS2uwyqm0rYW9QOVWT+IBSCi/y99DKAHNaRY7VBrbBxdwTbMMd2RxIUixJjrldhJVPGn3JRtxOJWyPvz1OybHOZDKxb4eiU8zwHLftyBXSQRzt+5Ki6nbrwi6+75Py2klrsmkTpTopCEl4PfF9EELoui49PT0sLS2ZpDI5k/n62Mm7mJqa4s1vfjNra2vsO3iIQqmbxZVVyrU66a0yynU4sG8fUy+9RL26SV9PL0sryxQKBaYmb3Dk0CGWlhbo7+1mdnaWI0eO8PzzZ+IDcM/4njsfU5DTE60xPj56W1zATbkdEyUcgpSkbGrLgHJf0gbC1qUnN2dHgFQ6ZUphkYWQCSrtppyO53oRMfAcK+6CE+DTKRpprWODJmGlfd+nr9RjTsO6CRbaaJnrfhBFFo7YZhFb5PSR+JJiKxGGYUwwgkicFA4g6f0pTk+1ZjsnY3I87TG04wwI2GljQrE4SKftgg3UClGwny/ci2xaux2e55GPwqF5nkcQhVpTkSu8g7mnVOxq2xi02r4sdqAaIUytVsukplPgug5aKUIFTioCvYFQRYZkITipduQvyR/qRxyuqFxFpLCBSjn4yuUy+XyesbExljaMuvOhhx4inU4zOjoat+nKlSvk83nGx8dN9OZ6i8nJl+jv7+P5qUnOnDnDQ/ffx4ED+1lYWOKRRx5haWWFG9eu8thjj/Hkk08yMb6HUqnEyOhurl+/Tub7yfvwahQZKLhV/dTxnuAekovudv+z77XvSf5HvouMbINcSRHDPom3e952JeYgXFCO2wEMJomUcCLlsslz6LiRFaSKuJ6wsy7bQnI7AM8WcfyWFeRWQELHiU7yWz0F7fG18Q6Zu+1O8lsxmfY82J/t4LM2lrTdnMhmE+tDHT2jXq+bFPdhGGtlVMTmC95ig9BBwnjHnjdbfLsdJyQco3C0MvY2mCz1Sn/klAbjUFUulxkeHmbv3r3U63WOn7iL7u5uvvDXX+Sxxx6j0fS5eOkKIyMjPPDgw1y9epUXXjyP67o88Lq7qVS3ePrpb1GtbLJreDeZXI5vf/vbPPSjD3Pp0hWGh4fxVMhTf/skW1tbPP/88+zfv590NsPy8nIHsb9lnd4JmEIundYHdu9GqbbdgO0vEJ/gTqetgs1GxwYtuhNdl3d7M0Nn4FAbiLtdcZTXQRSkTluk8DwPP2zFYoNSKk6OkvZSbT29Bu3e6rQjPh92e1o1437teCZnoZsyQTpqzYZJxgtRKvpbw9/DrZvYcRyajbafhIy1vRGE2yg3ah2cmP0Mew6ELRbOI8ldxL4WYad2R+Zb7ktyBbYIKf+ziadr1acwmEw2ZVD6TMoYRuWzubivlVqVWq1GiCEkwgk1o7UThiHK63TPT3KiMaaA4f5SqRRdXV1kUiYPBRGRzaRM3AyVSsdqTuEa8vk8xWKRbDZLs9lkYmKC/t176Ovrw/M8pqenjRt2lHRobm4OgNHRUUqlEi+c/Q6Xzl/gwMF9FHM5pqYmyaUcZm/eZO+ePezbu4discjMjSvs37+fWrNhIj7tP0i5WiGXK/CPf+FXuTZ1887FFELddtO1T4ukDKncToDLZldtim7Lz7C9hiL5PQl0yf+SrK59zXZSgkgV6iRUpnIKul7MViulaFhAqjzTDhkvv4mHXr0Z6fVTXrwB7T7b9gOyEW1sQ56rdZuFTrLnMp5JjKZjrhJE1YmAtduNa7IN9vzYxk/JZ9r/s2Vx4SxEdJJnyhi0MPYfSEStUMcbstYw/hJeuq3+vR1XI+3cToyVuc5lsrGnZT6KxGT3NQgCmq1qHCdR5rdYLFIul2m1Whw9ejQOqFOtGqJ1+PBhpqenmZ2dpVAoMDY2xtDQEOVymampKVqtFqOjo6ytreFi7HBajTo9PT3Mz8/z8EMPUK1WGR0dpV6vs7pugrM88CMP4m2mmJ6ewUvd6fEUFLRccByMTXnYDsuFbk9u3W/cslBFdk3KqslJttk6+x5bRZbEK+zroW472tjso0YTismoBqVv3UiO41DzmzihgxO0bgHb3AivcC3z5iizGw3d5oAqtSrlaiVmUyULcjqVphn4sRwrRjjSfuE+5N3NGbuMzc3NeHNIRChpb7PZpDubwfddGo0mrTBA+yEpz4TqFGZAKY9UqhNvSRJksf+gJb4KXsd8xT4MKvKMxcjt9vwGgeT3COI+Nfw29uM4Ls1Wy2gkHAc/DNDNRmzXUQtbsQWlaiSIJmbMlePQDMTQXpaeMSs33xVhCM2mj+84hFHo/YKr2KqUSaU8gmYTE/QmbVLmKYfA0bgqJHSVicKdy5LKZhgdHad/ZBdBoAkaPt2DRTzPY+rmDAPDwyxdusLh4/tIexme/rtv4tdaJixfVz8Te/uZn5vhwoUL9Ja6KFd90qk8u/aN87fffpGxsTHSbop02uPu+45w9oXn+MYzT5PLmAA5Ke8OT0UPbZbX1yb/oLGDt7AA3Zk0RN7FBkFYb8/zOmIzJDe3farYrGhHa26zwLcD2ZJlO6cqWwsg/7UJQ5urCA1hUO2EMUHkVyCoubRHnK+kLyKa2DYL4vMhbZLTqlFvR0hOjoXYAxQKBTxHRCQHNwwIU9BoNQmCED8+7RWaThEgOV7xWPnt6NHCoSS5OGlPklNMEvowDAl00DG2KVH7hp1OdUoZOwNoa5ZscaSDSIe3zl9ynqT+VkRo0AG+08B1HTKuRzodYQlBgPJMm/L5PMVSN1ob8/aW75vwbZUKmUzOsPszM/QODRiv0bSxdzh/4QJry2sM9Q9w7wP3MDc3R+A2+OY3v8n01CRjY2ORM1QfxUKBzc11VpdXcF2X0V39NBo1MpkMg4ODJhaFcFIvU+4QomCK1saHXxH5H2iLKIQax7vVXtvGC2zWVH5LssRStgMJ7UUi7bF/s+vcjrWW536vfW0/V7Jlg52bRohDTDQssSjZZkWb2AjR0NpoNOyYhHa/RTMBdOAjvu+TzWbJpMzGbbV8s1di7uZWkcsmANuNt9baOJ5ZLyFY23Fq24F90EnAbW5L6vU8z4CnYZv9B+KM1/aYJef05TAle77iZ9AGyR2lCUNDFKQdKIdMoUixWKSnpwcvnYmjXxeijF9CvJrNJr4OTYi1vn7CMCSfzzM1NYUKFccOH8HLpE0CmlyewcFB9u8zFo/PP/sMBw7so1arMTc3RyGXZ2tri0UnYGxsN7Ozs8zOzrJ3YsyIUbUazVbztn29I4iCUpasaa4AUVjyeHGATyf7bi8YSfqRBIfM89W2Cw7okPNt4hJvNqVuWXz291v7cuv17dSeHRvKGggZhxjAy7TRdjEOEkcq4SY8z2R0lv/YGYCS2gytNTo0YyDJZMIwjEPJgSEQPT09lIo5qtUq1WoNgnam5TD0Y0DNcRxC3clZ2UZASU4tyXlJxCJ7Lm1swRb3kv/NeJm4r1prClkTEblSLhO22hwBgON2+mrIM+3x9n0ftonZuR3xcBwnnjhDIHSHP4gZdye2idDaOMvVajXWNjbJ5fMMDAyxsbFBvd5kz/hehkZ2MbZvgoXFJZp+i30HD3D06FEeeuBhFhcWuHzuEqdPn+bM2acBYwPxzDPPcPDgQZaWFih1dbG6usrxh49RLBZ56folzp07x2OPvp63vvWtTN64GoeQf7lyR2gflFJLQIWXzTf5ipaB17DuH/b6f5j7/lrWP6G1HtzuhzuCKAAopb6jtb7vh63uH/b6f5j7fifUv135e+WS3Ck7Zaf8/7/sEIWdslN2Ske5k4jCf/khrfuHvf4f5r7fCfXfUu4YTGGn7JSdcmeUO4lT2Ck7ZafcAeU1JwpKqbcopS4ppa4qpd77KtU5qZR6QSn1nFLqO9G1PqXUF5VSV6L33h9gff9NKbWolHrRurZtfcqU/xiNx1ml1OlXoO73K6Vmov4/p5R6m/Xb/x7VfUkp9cT3U3f0vHGl1FeUUheUUueUUv8iuv6K9/9l6n5V+q+UyiqlvqWUej6q/19H1/cppZ6O+v5xpVQ6up6Jvl+Nft/7/dT/Dy5JY51X8wW4wDVgP5AGngeOvwr1TgIDiWsfBN4bfX4v8G9+gPW9HjgNvPjd6gPeBnweY8H1IPD0K1D3+4Hf2ube49EcZIB90dy432f9I8Dp6HMXcDmq5xXv/8vU/ar0P+pDMfqcAp6O+vQJ4Gej638M/Fr0+deBP44+/yzw8Vd6L2z3eq05hR8Brmqtr2utm8DHgHe8Rm15B/Dh6POHgR//QT1Ya/0UsPo91vcO4M+0Kd8EepRSIz/gum9X3gF8TGvd0FrfAK5i5ugfXLTWc1rrZ6PPW8AFYJRXof8vU/ftyg+0/1EfytHXVPTSwJuAT0bXk32XMfkk8Ji6nensK1hea6IwCkxb32/y8pP2gyoa+Bul1DNKqV+Jrg1rrefALCZg6BVuw+3qe7XG5H+N2PP/ZolKr2jdETt8L+bEfFX7n6gbXqX+K6VcpdRzwCLwRQz3sa61lnhodh1x/dHvG0D/91P/P6S81kRhOyr4aqhDflRrfRp4K/DPlFKvfxXq/F7LqzEm/xdwALgHmAP+7Stdt1KqCHwKeI/WevPlbv1Bt2Gbul+1/mutA631PcAYhus49jJ1vFb7oaO81kThJjBufR8DZl/pSrXWs9H7IvAXmMlaEDY1el98hZtxu/pe8THRWi9EizUE/ittFvkVqVsplcJsyj/XWn86uvyq9H+7ul/t/kd1rgNfxWAKPUop8Uqy64jrj37v5nsX/X5g5bUmCt8GDkVobBoDrvzVK1mhUqqglOqSz8CbgRejen8huu0XgL98JdvxMvX9FfDuCIV/ENgQNvsHVRIy+k9g+i91/2yEgu8DDgHf+j7rUsCfAhe01v/O+ukV7//t6n61+q+UGlRK9USfc8DjGFzjK8BPR7cl+y5j8tPA/6sj1PFVLa8FuplAaN+GQYWvAb/zKtS3H4MwPw+ckzoxstuXgSvRe98PsM7/B8OmtjCnwS/frj4MC/mfo/F4AbjvFaj7I9Gzz2IW4oh1/+9EdV8C3voD6PsjGBb4LPBc9Hrbq9H/l6n7Vek/cDdwJqrnReB3rTX4LQyQ+d+BTHQ9G32/Gv2+/5XeD9u9diwad8pO2Skd5bUWH3bKTtkpd1jZIQo7ZafslI6yQxR2yk7ZKR1lhyjslJ2yUzrKDlHYKTtlp3SUHaKwU3bKTukoO0Rhp+yUndJRdojCTtkpO6Wj/H/CPyt+k5pxYgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Testing event\n", + "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", + "response = requests.get(cat_image_url)\n", + "cat_image = response.content\n", + "img = Image.open(BytesIO(cat_image))\n", + "\n", + "print('Test image:')\n", + "plt.imshow(img)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -343,31 +354,46 @@ "cell_type": "code", "execution_count": 10, "metadata": {}, + "outputs": [], + "source": [ + "base_dir = '/User/mlrun/examples'\n", + "\n", + "# Model Server variables\n", + "model_class = 'TFModel'\n", + "model_name = 'cats_vs_dogs_v1' # Define for later use in tests\n", + "models = {model_name: os.path.join(base_dir, 'models', 'cats_n_dogs.hd5')}\n", + "\n", + "# Specific model variables\n", + "function_envs = {\n", + " 'IMAGE_HEIGHT': 128,\n", + " 'IMAGE_WIDTH': 128,\n", + " 'classes_map': os.path.join(base_dir, 'models', 'prediction_classes_map.json'),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[mlrun] 2019-12-27 15:30:53,937 deploy started\n", - "[nuclio] 2019-12-27 15:30:55,092 (info) Building processor image\n", - "[nuclio] 2019-12-27 15:31:00,135 (info) Build complete\n", - "[nuclio] 2019-12-27 15:31:08,200 (info) Function deploy complete\n", - "[nuclio] 2019-12-27 15:31:08,205 done updating tf-images-server, function address: 3.18.11.15:32575\n" + "[mlrun] 2019-12-29 15:23:47,650 deploy started\n", + "[nuclio] 2019-12-29 15:23:48,724 (info) Building processor image\n", + "[nuclio] 2019-12-29 15:24:57,290 (info) Build complete\n", + "[nuclio] 2019-12-29 15:25:03,376 (info) Function deploy complete\n", + "[nuclio] 2019-12-29 15:25:03,381 done updating tf-images-server, function address: 3.18.11.15:32575\n" ] } ], "source": [ - "# Model env variables\n", - "base_dir = '/User/demos/image-classification/'\n", - "cat_dog_v1_model_filepath = os.path.join(base_dir, 'model', 'cats_dogs.hd5')\n", - "classes_map_filepath = os.path.join(base_dir, 'model', 'prediction_classes_map.json')\n", - "model_name = 'cats_vs_dogs_v1'\n", - "\n", "# Setup the model server function\n", "fn = new_model_server('tf-images-server', \n", - " model_class='TFModel',\n", - " models={model_name: '/User/mlrun/examples/models/cats_n_dogs.hd5'})\n", - "fn.set_env('classes_map', classes_map_filepath)\n", + " model_class=model_class,\n", + " models=models)\n", + "fn.set_envs(function_envs)\n", "fn.apply(mount_v3io())\n", "\n", "# Deploy the model server\n", @@ -378,72 +404,65 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Define test parameters" + "## Test the deployed function on the cluster" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Test the deployed function (with URL)" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Test image:\n" + "Sending event: {\"data_url\": \"https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg\"}\n" ] }, { "data": { "text/plain": [ - "" + "{'_content': b'{\"prediction\": [\"cat\"], \"dog-probability\": [0.0]}',\n", + " '_content_consumed': True,\n", + " '_next': None,\n", + " 'status_code': 200,\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Sun, 29 Dec 2019 15:25:03 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32575/cats_vs_dogs_v1/predict',\n", + " 'encoding': None,\n", + " 'history': [],\n", + " 'reason': 'OK',\n", + " 'cookies': ,\n", + " 'elapsed': datetime.timedelta(0, 1, 201443),\n", + " 'request': ,\n", + " 'connection': }" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAD8CAYAAAB+fLH0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9WYxkaXbf97t73LixL7lnbT3d093TPTOcnhlO05YhmqJNCbZomKQtE7D9YFiSQYsgIALis58EGLBfbAMiaMMyLC6CbUqyQWlI26QEGeB4ZsRhs9fauiorKzMjM/bl7osf7j1fRlJsUpTYVj/UBQpVlRkRN+63nPM///M/59OKouDF9eJ6cb245NL/ZX+BF9eL68X12bpeGIUX14vrxXXjemEUXlwvrhfXjeuFUXhxvbheXDeuF0bhxfXienHduF4YhRfXi+vFdeP61IyCpmk/omnaR5qmPdQ07ec+rfu8uF5cL64/2Uv7NHQKmqYZwH3gh4FT4NvAf1AUxft/4jd7cb24Xlx/otenhRS+DjwsiuJxURQx8MvAj35K93pxvbheXH+Cl/kpfe4h8Gzr/6fA93/Si726Wwx6XQDyPAcNKCj/BgzdwDB0siwjSVMoQNM1irxAN3SKvKAocvI8pwQ+BZqmYZomRVGQpCmGbqDrGpqmla8DdE3DMCzSNEHTNErUpKHp5Ws0NAzDoCjKzy//LtB0vfwOGmi6Xt23oMhzDMNA0zTSNKUoCvTq/xqUf1ffK00Tsqx8Vl3X0TWdLEsxDANdNyiKHICigCzLAMiq71SrOeR5+bxUQ1XkBVAgwE/Ty3sahkGW5RTVmOTVZxUF6IYORVE+q1Y+R3l/GacMTdMpioI0S9F1HUPXybLr1yVJQp4X6n6apmFZVnnPolATKeNejvP1HJX3zbbGvxpXtHJsqvtn1fOlaVbe29BJ4hTPqxOGYTkv1Xst2yLLMrI0LT+XAtO0yfOcLMvQdZ0sz6s1oaPrWrX2CgxDJ00z8jwjzwuyPEPXNPK8qL6PhmGa2JZFXhSkSUIBGLquvn+5hjUoiutn1fVyWVc/K7+nTV6tafn+um6gaeV3ybIMy7bQq7EpiqJaV+W8lmNerdcsr8aarfHV0ar1VRSQ5xkywIvlio0faH/Qfvy0jMIfdLMbcYqmaX8R+IsA3XaTn/3P/iPyPCeOY2q1GrZtk6YpYRiyWq0wDIOdnR00TSPLMvI8x3Ecnj9/TqfTwfM8PvzwQyzLot/vlwNqWQCsVisAXNelXq8TRRFFUVS/N5nNZnieR5IkauDFoGRZRhzHtNttbNsmCAKKoiCOY3zfV9/D8zwsyyIIAmq1Gpqmoes6tm3j+z6GYdBoNNRrIFXfKwgCsizD8zzW67WMT/WsGp1OB9u2abVaZFnGfD4HwHEcsiwjTVMWiwWmadJsNrFtG8uy0LTSqF1eXpLnOe12mzzPSZIEz/PodDrM53N0Xef8/Fx93zQtjdP+/hDbtplMJpimyWazUWPVbreJ45jxeMzdu3fxfZ9ut6vGO4oiGo0Guq6r58tznVarhe/7nJ2dYds2tVqNLMtwHEcZYNfSMQyDnAJDt0iShCjNSLOMIAjB0InChG6ri23bLBczXNeh3WwQhj5JHGJZBroGvr+mKAqWQWn8dnd31bp4/vw5AJ1OB9M08X2f9XpNnufcu3ePOI5ZLBbouk4URcxmM3RdZzgsx6UoCvV8UG6+xWJBFEX0+31WqxWmaRLHMbZtV5uzwPM8tc41TSMMQzabjfoMWeNpmqo5y/OcVqtFkiRkWcZkMsF1XWq1GhcXFxwfH2OaJvP5HNM01e/SNCVNU/I8J01TptMppmnyK//Hb3zi5v20jMIpcLz1/yPgbPsFRVH8PPDzALePDop6va42e1EU1Go1Go0GeZ5zcXFBEAQsFgscp/SSsnlkkFqtFsPhkCzL1GbO8xzLsnBdlziO0fXraEk8eRyHQLnBxFvJe7IsY7PZqL+LoiAMQ+XxWq0WpmmSZaWnW6/XZFmmjE+e54RhqDZZnuesVit838c0wfd9bNvGdV216GQj27aNYRikKcznc/b391kul2RZRhRF1Go1er0eQRBwfn6uvnscx+o18ly6rmNZFoZhYJpm5d1LY1av1zFNE13X1Xe1LItOp4NlWei6rl5Tq9VIkkQZnjAMsSwL0zTRNE3dW4x46YV1hZ7iOCeKIpIkwTRN9Zl5nqsNk2UZmV5U7zXLcbAd0vUaNJ1aDaIkI4rWaJrGdDqlIKNhNKh51ZgHG5pND0PXCIIA2zbQwkgZA5mjZrNJFEXKaMO1Ma7X6xiGQRzHNJtN0jQljmP1R4yBrBPDMNRzyjjneU6v1+Py8pI4jtW6cBxHzXer1aJWq2EYhnJKYoCLoiBJEqBEH5vNhjzPOTg4wDAM1us1URTRbDYJw5BarYZlWcoAFEWxhXQLhZLg93no33d9Wkbh28DLmqbdBZ4DfwH4yU96cVHkagGJVb66umK1WpFlGb7vqwccj8foeulxdF2n1+vh+z6np6f0ej3yPGc+n1MUBZvNBsuy1MLbntQkSdB1nXa7r9CBeM1Op6M2mMB9QS9RFGEYBo7jlANomuXCLAo6nY5a3OXGN+l2u7iui+u6pGnKw4cPKxhbqO8gm2o4HNLpdG5s8DwvN/RkMlGbMgxDfN8vYXCWYds2zWZTfVf5fjKWzWYTXddZLpdoWgniJpMJYRgqI2Hbtlq4sig3mwWe5zEcDplMJqzXa7X5gyAgSRLq9TqTyQzbtkmSjCzLaLe7TCYTxuOp2iClQS2RheM4HB0dKW+o67r6W9M0krQMq4oiIUxSNHRGl+Xzo5ukaU6r0yXJC1zXKw27rrFcrEjSGKdWp9VqlQacAtN26PU8dF1ns9mQJAm1Wk0Zu8lkosa/1WoRBIEy+rZts9lssG2b4XBIHMdYlqVQWhRFpGmqPs9xHIUCxICKowuCgCAIME0Ty7JoNBoAakMXRYHjOLRaLRaLxY31mGUZQRBgWRaPHj3i9ddfxzRN3nvvPYVQfN9nd3dXIezFYoFt2+WYVs5T1/XSKWT5J27eT8UoFEWRapr2nwPfBAzgfyiK4r1Per14UNkIYnGvIXTp9afTKbu7uzSbTQXD8zxXD351dUVRFDSbTQzDUAu80+lweXmpFqh4AsuyWC59tcCbzSbdbld5kO2Ju7i4UO8TzmAwGJAkCe12W3nj9XpNv9/H930WiwWLxQLLsmg2m8qwrFYrHKfG8fExWZYxm81oNpvs7+9zeXlJURTcvn2bMAyZTpf4vs+tW7dYLpfKc61WK1arFUmSEAQBvV5P3ce2bbUR1+u1Wohpmqowx3Vdlsslu7u7hGHIxcUFrVaLer2uFpC85smTJ3ieh+/7HB0dKa8jCx/AsixarRZxHLNcLqnX6yoMkxDEdT0GgwHtdptWq8VsNgNQENc0y+VYaCaFppOkCXFUorAgSrBrdaaTGUmS0Ol0efjsEa+99hp+FFOsNZIoqBBCgR9GJElKkcNivsRyS1TX6/WIoojxeKyQ0GAwIMsy1us1L7/8MlEUKSQlG3y5LOdBwkLHcbh79y7z+ZzVakUYhtTrdTzPU156Z2eH9XpNkiRYloXneQDKe3uepxxNHMd4nqf2QhRF7O/vEwQBvu8TRZFCxPfu3SMIAqbTqUJkgmZHoxH7+/vU63VWq5V6v23b7OzssFgsboz1H3R9WkiBoih+Dfi1f5bXGoZZwTwbx3HUZr64uMD3fXZ2dlT8ZlkWURQxmUzI85yjoyPG47GCejKBtVpNWfE8z9nf3688b65iuTiOFeIQsipJEhUXynfSNA3XdSmKgsFgoGLP2WxGrVbDcRx1X7HKjUaDJEkwDENBZtkwEn5so5A8zxmNRoqou7y8rLiCjTKWpmmqeLTdbrPZbBQMlo0lSEbgruM46h6Xl5dkWaa8V7fbVePgOI56j4Q6woPIIhaYrGma8mK9Xo+iMCgKjdHoSoVscRypTdXt9slzaLfbLJdLNpsNcRwr79lsNtnb2+P+/fvl76KMl156icvLMce37pAkCZrhMJlO8bwGs9mM8XTCrdt3ePjoMc2GR1Fk3D4+5OzsFNsysc0SJsdpory6cC3L5ZI0TVUIWq/X0SvC+OnTp1iWVXIVy2X5GdXYbxu6JEnodrs0Gg2ePHmiDLHwVeKUBPXVajWm0ymu6yoUl2UZSZLg+74KqdI0BVChgKBOcX5JkrDZbJQhcRwHx3FIkoTd3V2m0ynz+RzLstjZ2SGKIi4vL9E0jcvLSxXuFX9IAPGpGYU/zpVlqVqc8/lcTZ54doE9ruveiHsbjQa1Wk3FrYPBQJEy4imh5B0mk4myqkEQqPfoeqEWjCx+8RRxHHN1dQWgNtBsNqPT6SjmXzaxbdvs7u5SFAXn5+eYpkm/36fT6bBarSpGPlMWutMpjYYsAokzHcchDEO16dIUtSAkBJEQQIyYkEriAcUIAIogtSxL3W+z2WCaJnt7ezx9+hRN09TYZVmmsh2bzeYGqto2ILJYNU3DtusKWQi0TtNUGVIZ+9FopMjSxWKhjJcYvbt377LZbDg7GxNGCe3OgJUfkCYZ56ML1msfy7a5vJrhtZo8f36O41hs/IAkTYnTnE1Qzt3a18tY3XIoCg0/8Fkul1xcXNDv9xkMBgpZNhoNTNNkuVwq4yeEo8yXoDwZnyzLOD8/V+tNNrGMV1EUXF5eslwuFQ/mOA6+7yuEkqbXZHNRFMznc3Z3dxVfIKShOMKiKHBdV4U0YRiqdStzXK/XgdKQCffU7/cVdyLO6P/38OGf5xJ4JASU4ziK4ZVNXK/XFZwHlOHwPI9Go3Ej1haEYJomYRjeSBVKXFnC6KaaKCEH5T1ivW3b5uLigjzP6ff7rNdr5bG3WX6BlfP5XHmD9XqtUAhwI6NRbihbLTzZlOKlS4OYKub6OmWoq3vKBpaNKIhKPJHcU8g8uZemaco4CCkmWQB5j2layjgKAlgsFsrQCDrRKA2VW6urZ1oVa6IwJs8KhQriJFKpySiKlMcVr9dut6txMzFNmzQNIa9SfOhlGlk3qxDQIAh85osFO8O+Mjqe50GeEoax8tJJNafiYCQbIuSizI2gInlWuEYJsp5kDYkxl9+FYUi321VjblkWYXhNYkvo4vs+V1dXNBoNRRDKvEpot01WOo6jslbT6ZT1ek2321VOURyErKflcqnmZ7PZKOcnSGcb7X3S9ZkwCrJQsyyj2+2qB9zeAGIthSkXyC4PHkURq9UK13UVxBKGXogxQRvCC5Sf4/H8+XNl/QVWOo7Dyy+/zHq9Jk1TFQ6UcLjLaDRSsF8mTMKEba+xXC7V4hBEEccxk8lEcQBFUShiC8C2bWzbBiCOFwr+isEKggDDMBgOhxiGwXw+VwhCOIVtjydZAiHEJPYfjUbcuXNHGS9JtxqGUZFWfRqNBmmakiQJy+VSGeXBYMBisWC1WinPKPer1+u89dZbfO9731Meq9lssre/y3w+V88qaVJ5BgnHvGaLdrfH7MkTWh0PP4zwg4jVakOcQRAnLFZXzCbn9Pt9Hjx6SLfd4eBgH69eo+45xEFAlMTUbEfpJcTpyMaWMFXCTOEb0jSl1WqhaRrj8Vg5pjRNaTabKs04nU4VAhwOh8oLSxZGeIQ4jlUGql6vK+QlhLcYciEykyQhSRLW6zWu67K3t6dCHN/3GY/HuK5Lr9dT4SlQhXLXYXYQBDdSn+12W82TaRqfvB8/rY3+x7myCn7Jho+iiOVySa/XA1CEzHw+vxbyVJtEvJB4Rhl8QQtRFCkDIAy3xGpRFOF5ber1uvL6wgC7rqsIKMliOI6jNr9kN+I4ptFoqOyD7/s4jqOIUwlNBOqLtxYOIk1TFecLmy+stqZpN7xXu91G0zSVOViv19i2rVCA53lomqYWtni77fGSlJdlWXS7XWXExBMKLyJpX/k9XEPSMAzxPA/P80rPrlkqKxLHMcPh8Ma8TadTxa5LWCebaT6fK9Ze0JVpX/NBq9WK6XRKEAREUUKuBSUvk6HuOZ2WoZa3qGOYGlkeYRsGFDpFJYQTzkmgthgIMb5CaMs8y5wJwbqd1hPjnySJMgIyPjJXEmZ5nsdsNiNNU0ajkeIRZH7kvrI+hcOStK6kumXuJH0t611QgCBgTdNUilMyDYDKsAnP84eVN3wmjIIs6M1mowiaZrNJv99X8HJbvJPnuWJVN5sN3W4Xx3EU4bYzGNBuNvnoo49wK/2Bv9koS29ommJ059Mpuq4TxzGd1iFRENGo13Fdm4uzk3LgtYzID0uP0BsA4JsbBcvDTYBj2ZiaQb/b5OnTp4qAjKvFLRthMBgQhqVll80gC1ZQiry2KApcpxS3uK6LoZUGptOqq7g0jkMso8Bx6yrXLeGGCKLk3+Kd47Dc7INeuyRUNwvqNRNTLw1BGEW0Wi0MLLK4YLKclZvJqKHbJovpisvzsTJYhlMqJtM0pd2pUxCz8efUXIONP2dvv08cx6xmU4oiQ9fBrOU0vBpRnOPUNXaGuyzXIWmaE24MPvrwPpNZmb589PgBeVGAlnNxdUmrVaZY/axgfTXBsQwupwv8KKQ1bvDqK6/QajaxTZNWqwF5gdvzmE9n1cbVGHT6zCdjNoFPr9vBNA1WqwlpYiieQSlYK56g3W6zWq1KRGCZkGckRU6ua0yXC2W47bpLHobkuka33SYIAmazmUJ8lmXh+z6dTgcoDVYQBKzXayV0cl1XCeGWyyWr1Yr9/X3a7TZJkjAej5nP5wppSmpVQocoimhX+2e9XpehWlFwdXFRGqXPOqega5qKp5rNJk+ePFExsugUgiBQMHU7zhWyajqdqnzybDZjsVjw+c9/njiOefPNN/n2t7+tYljxAALv79y5ozbTwcGBivN83wdKL9tqSk65TIN6lVCm/FlIHEdAQc31VEZD4GMYhsxmM6Vcazab+FVuWkhC27Y5OztT7LSo5wRqLhYLBSG3oeh27Co/k3hXQq7tZ3Ech8VsqbI7/X6fo6Mjzs/PVWpT0zRGoxFhcM20i9GVfL3k8OM4xnIMhfTE+7uui2EYSrHY6XTI6xlBsMGuWQx3ShQYRBGu16iMYin2WvsJjlvDWlt885vf5O692+RFQZyE7A6GzGZTwjCk0RkQRVGJqoqcJFiznM2xDAPLfJl202M+L9O494YdtY7+1L/6A7z//vs3hEci2Lq6XCoUIZ5WREau6yo+RM+v+a/tbINknGTzXl5eMpvNFLIUJCBpZTGswnPJuC2XSzzPUw6i2Wwyn8+ZTCYMh0PFETSbTRW2SdpbkMfjx49vcBMSfpdCq08ue/pMGIUsz6nX64r4kkkZDocURcFisVBZBxk0UW41m02VkvF9nzRNmc1mCsZNp1Pee+89Go2GuocQRRKKSDwtXlXkvhKLlcpE/0bGQWLTkgA0Kw9gqPSThDICNyVskM+XxSBIQbIVi8VCvUdgrngsIcYk5SrhQZ7nRJVmQ6C+QFsxIBJWAIqTEOJM7iEpSF3Xubq6Uqy5hEu1Wk2lM8MwVNyOZhTqsyQsE6Mtz21ZFlmuESUxhZaTpQUZlRa/0IjjtILWKUEQ0+v1sG2Tu3fvUhQZaZIQbHza7TbtdvuGilCvahvIU7QClfasOzVag5ZSxmqaQRiGPHzwmMViwd5woEIiUXlK2CZzJWHAarVSXEGSJGQUSvwUxzH1ep1arcZ4PCbPc2Vwto2+jNk2Ifn7w10xGtsOT0JaGV8JO7fHXOZH0pYSekrYIfMs6/czTzQmScKjR48wDIOPPvqInZ0d4jjmvffeU5tfILEgComLhLAbDAZ0u93KaxQqVfnmm2/y7rvvKlGTEI++Xy6we/fuKeXk0dGRMkwSc0m4Mtzp3tjcEhOmaYq+yUlTjSSJyDJTSUllciX9V6r/JsxmM+xaTTHbwvz3ej01cTs7O6RpyrLiUYRfkYW2TTDFcYxhuWpxF0WhdPcSY9ZqNUUkQrlxjo6OALi8vFSoRIip/f19HNtjuVwqIZeIxYSrEePqNtwbBrvV6hAEEYvFogqjNFarDV7NrRZ/jh+VYh80Ez9MAZ3pbMl8vuT5symr1YqPP37E7du3Kci4urqi0+ngWg7tRgO9ANN2yaosSF6khH65Ua4uL3k3zxl0O7z99tvs7e2BXs4/wHe/+11ee+01dN3EMAo2W9kIIXnFIKzXa0UACudxcXFB3fPoNMtwdjaeYBsmQZqRhBUZXoBjWkRpRrtd8laSGdtsNsznc27duqV0ESJ3FrQhqUWZY8Mw6Ha7KnW6bcQkHSlZM5HDHx4d4ft+mV0zDOLqGWVNf9L1mTAKVBBJlFeS9hJSZDQa0Ww22dnZueHhhM3PskxBaE3T2NvdZb1es9lsCIKAdrvNycmJEpwIzBY2VrIYMphCjL300ksEQVBZ/wxd18iylDwvB3e1WipG3/PqVSza5vz8XHkAKbQSjmHbO4thqVUGAlBFL6JuCyq9u6RcBabKs0pGxXJKQkx0+ZKKkj+CSFzXJfRLUY4gFMnwSFwrqs7AT1Sc7DjODa2/oKA4jqk368qriYcTr5qmKb7vU6vV8FdrsjwhB3w/wLTsEr0FGZZls1lHzKZLxa7L+N1/8CFpnLAzOMYwDKbTKXWnRq5rmIaJrhVEUZUmzAuVoRkDFxeXWJbDzvGAOCqh/cHBkUrJCgEscfm2LFu4BTGsYji63W5VnBUoLyyaAEGbYqCpEJimaYpTkLBKEIDMvfxsOzW8ncKVdVtumUKhMdu2lbMUByMIQ/7IPAjB+5knGsXjiqy22+2qYo8wDDk8PFQKs9FoRL/fV6TKdkGPpNukFuHq6uqG0Ec+Q8jL8/NztQjCMMRxHCX02Gw23L9/n+FwWMWVCzabDcPhUKkDBYZL1WBZDLTG930ODw/xfZ9nz56piez1ego6GpbFyckJm82GwWCgiEMR9Qi51Ww21XOen5+r6kaB6MKW1xtlpZ+w1o1GA9u2efLkCf1+v+QxKuXc3t4euq4rskpgpvAGkt5N4kIZgyiK2N3dVQt4MpmoLE0QRIpJD4JIIamyLiGuaiICHMeq4GzGau2z8UPQTbxGlzTNmc1XPHz0lDyH19/4Ah9//Ij5fE7NdrBdD8swSKMYs9DwnBr93R1ms1lZodls0nRd/CgkiUvjFIUxv/O773D/4SN+4if/XWXcRlppSKfjy1L8o1tKeLXZlHqZq6srhQo9z1NVpGJka7UaVlWVuFMhCdMwyLMMQ9fZVKlsMQZSZ+I4jor/DcPg3r17SnHoOA6LxYL1ek2n01GZKNd1FcIQWbyEw4vFQvFh8plSf7OYT0uVaoX0jg73yzWv65jGZzwlSVWMsk0girZ+Gw1I3C3lt5ZlKbUgoCSoVoUmBO6L5kHiXbi2ykICCZchWgdJz0l6NMviG2kpsebiFSQVKWToZDJRqVJZCGdnZyr+lFoL0QBILlzSWrKBt2XKAn8ldBLUFIYhfjhWJJeoNgX2y7MLF6OTKqJqG56K0lDKnpuNrjJWUmMhMa8YHYGvgk6ExxAoLBmV0oBapHkIWvk63TK5Gs8xTA+v0eLk5JQozND0gvF4rDQBrVaLLE6wDJONvyyzB70+/sanyHKaXgPTLpGmlhfUbJugcihQhqcff/wxtmnRaNTRdeOGWCiJYsV7uK6u1qFkbIS9FwJXnIqMjRCHIjDbjvPlj/AM2xWlvu8r1Wccx4psFOThOI4KC4IgUIpLUTFKWllety30K0luF8/zGI/HimT1PE850U+6PhNGQddK8mU8HlOrlYVC24MknvPi4oIwDLm8vFTst0yATEiWZdSqRSqLdbPZsLu7C5TSXfFwWZZxeHjI1dWV2mBSjCIxG6AmplTxFUSRj6aZiu0tc/oB5+eXKhyRnLLU2gsBJFWV9pa2XTZRXhGuMmlZlrGs1JGapvHqq6+SZZmqNNyW40ZhpBafiKxk8Uj2Q6pLiyxSYyoCGNHTixgriiIM3b/WylcEl3zmcDhUEHftB5ydnSkj3Gg06LRLWfh0M2UxXzIYDPCaHqt1mbpbrktS2Kl53Lp9j9/93nt84c2v8HvvvMfXv/F93P/gQ/YPD1hMZwwGfTqNJhfPT2m3Wniui6Hp9DsNYs9ViFIrwHPruJ7H6GpCkmSs/YBs6fPd7/4Ot4+PqNfrHB7skaYZbq2E+qEfsF4nuG5BFCXqOaT+xfM8VawmG/bZk6eYWmksDTTSan5lvdqGiZYXNDtthsNhVQTnqLGVuF7GXQyskMX1ep1nz54pPkrCRJH6h2GZIpe0tiBV4YXCMCRPIy4vFvR6PfrddlnUB9Ts2mc/+5DnmRJ4CCwSEk5SKWma8sorr1Cv1xmPx3zpS19iuVzy4YcfKvWiwPSg0jvIgEk5tUC/8p4lkrh37x6tVkvVGoggRwRLi8WiNDqaTRzlpEmpGbh393aZBl1HShTi2B6mVdYbiLRZ6iGExJLy4yCKaLfbCu2IUEieQd7fbreVjPbq6krFi/Iz8ViCWhqNBlEU8fz5c6XGlDhSkIFlFIp1Pzg4UHUTtm2r7/T06VPVH0JCLCmpbjQaLBbl5i6zBDb37t1T5bpSMCaoSQrKDNui2e7iOBZXk1Ky64cRf//XvsmHDx7z1vf9AEFQ5uDPL0ccH+zTud2i4daIwpBXX32V6dUYLc853j9gNL3AMQ28epswcCkKDXSdpEJxjUaLVfUMk8kEx7LZ39/FqzfZ+CtM06o4nbqqC7AsS6Uni6JELJeXl6p0fTt9KfyNOJjtoitJRa+qorUgCDg9PVXchPAJ22O+LUdvt9vs7u4qJaVwUlLiLTL8zWaj0s3iGCWtnUQblXETY+W6rkrHf9L1mTAKoKlUjsRr291s0jRV5b8iGxXYLNBblIe2bSu5pyj+RKcvHk/gn1RbSnGJWPDVaqU4Dglj4ihXAynfR7z6dDpV0JIwVaRemqZ0Oh2FOlzXZbValT0W4ph+v69QQUlcrlS4IHGhhCG7u7uKSNwuzJHwwKhievFGImUWQZhs6jRNaVR6h+0KPUE9Uv6raRrPTs7VM0t2QkIt8WxhGGI5Ndrttop9t0uAwzBUYYB4NwlnAHZ29vjVv/M/cnh4mzfeeIOnT5+pcYPrui/oJsgAACAASURBVIHh/gEaOXmSklXQu1azKYoqNHTKkAZdJ4giul2dPIe8KMiygk00URkM0zTRtfIZ6nUXXZPGKjUsy1FEsOu6dDodFouF4roEjQqHIq+V8EOQn0B4KW6S/0s4eV1NGqu0ofA60q1Lq0R2wl0J7yFrWDiL7RSjlHLruk69ZipDsl14Jgjvk67PhFGwLIv9/X1WqxXL5ZIHDx5QFAXHx8dqAbmui+/7jEYjdF3nu9/9rtKFCwwTAY14XTEoBwcHiiCTiRL2XHLH4v1EWahpGnt7e0r/3ql08U6tjl0zuZqOlJah2fFUyFF3muiaiefVq8WiEwQxlmXi+yvQEuJkQxQG5Fmd2XJDEmc06g7Dfkm4RVFElhY4NQcdFHw9Pz9Xxk44DCEkL8fnpQpPK0m2w+M9RqMRnV5TZS/Ozs4wq4W5nbPeJk5FxxEEAb3hQNUlaJrGfLUsC8eaDfr9sghJagPee/9djo6O6A96TKdTVUmZjzKOj49L9OBr3DreRytyJhdXdBwP/2rCXm/A973xZe4//hijVseoWbz2xpdYXo159aV7vPWlL/K//53/FUvXSeMNug6tQQeNFpPJhFarxXK55Hh3WPIypoFflKlgq9ckjmN+7+M1RVwwHs2ZLUI63T6mAWESslhM8FybPF5wdPeL2LbN48ePqdVM4thkvS7Y3e2jaRlRVHZp6vf7yquvVitFYm4Lmfr9Pp2woxzX7qCsj3jw4AH9fl/VkozHY3INhSa3y62Fj5J05rZsX9d1JWqS+hbJQBiGwSZIiFMwLJfeoCTg0xyipCCOk0/cj58Jo6BpZSpuW/Jbr9e5uLig0WhwfHysuATpaCQiHYHTQso1Gg1a1UBLfr/sS7AA+Kd6NmxLS6XHoIihzs7OlMUWAY/cU1JB0mhEoRmvRDP1ust6vVZNU6TJaRSHKqwRMtDfhNVzJ4RhabwcuzSCUdUuTgq/tuGneGZRv5mmqQqWJKQQL5Omaak9cBz0vFCoSDyPNOAQg+q6LtP5WvEyYkylVFgQnaRcO52OGgNBZ8KKb8PlxWKBTkWWaRrvvfcBr7zySslt1Dscxhm7u02+853v0G80+drX3uK//xs/z8HuAAMqXUfpiaOwbDgjxHCeVE1dGhah76twRpR8QRQqhBiGIXkWE0cbimoNBdV7xJvLeEsPDc/zrsVhYXYDggvnIu8RgnW7fdt6va50HC1VwyBefx34ivzVNE3VLEh4ImSj7/tKsCeVkrpe9gOR30vWQhCM8BDiQCTM+KTrM2EUTNNS3IFlWQpW/9iP/RjT6ZTvfOc7pGmqQgeJ/SSmEhZ2tVqVhmO9plYrIa0Us4hx2IZ2uq5zfHysqgylwEm4jE6no4qQvGZTtcOS+4pysoShdY6Ojgg3IWdnZximQLasarHVLDdQelPoMxgMmIxniuHWtNK49bplarRYZaqYRr7X4eGhUnkKyWTWHC4uLlSnp1arxa1bt7h//z7r9ZrJZMJbb72FaZo8+ui+gr0CbWVziYGdzWb0h/vKOwGKjW+1WlW7tjLsGo/HAJyfn6u+EkEQqJDs+fPn5HnOzI/YGfTJkpRZ1XBkupgzXcekuYld7/Dx0xPefWfN3bt3efurX+W/+2/+Wz7/8kskoQ+UCtYoLb2l53kcHR1xcXHBcDhkOZuXJG+WEzWbKoWXZRnddg1jbVAUGc9OnjC+ctnbH0KRMez30cnJs4STkxPFsUwmE+r1Ot1uV2WihMsh0xU/Jc5MKiBFoi8btSy8K9OaEjoIud3r9UryVy/DIOkqVhQF0+kUTSsb99ZqNXzfZzqdAmV/T6kFEg4iiiL1HaQxrmSjtkOdMlz9l9B56Y9zFcV1gZPEVcPhkI8//ljVJhiGoarMRFUnTG2SJKp5qcSBsrjFS8rrJCaUrjuSphRDIxJXyfmKhRWlmLRek4Ug3IZ8F9cuFWlZTjXpfVW4lec5QVgu1O0yVokvSy4jVykrSZvJs4gXF9h6eHio0I7j1HCsCnpmOXEYgV2QJSmWYRLlIc+fnapxE55FkJBAXxHwyGYXtlwktKZpVkVdoTK2lmUpsZikeWUhiscTGbiu65iOQ6fXJ40TLkZXtHu7vP3220wWG27ducP/849/nTe+8Bo/+7M/y3/4F36C+XRGEmxAy9ndHdJr9SpjbajvJwKePM+p11ySygtLyzrTqdFuNtCratvVasXe7oCaW1WIpmXtxSZcqmpDCQV0XVfckBhCx3TVRpOsgDgnQPFDwqHIZhVnICSuiJJEkCbaCNGMSJGbrBEhO6Vnh2QaJPPheZ5qPyAkr4jORJEq4ccnXZ8JoyCl02IhwzBULa5kYrZTL4CKoyRnvrOzo9I7WdU30TTL9u0iNZZQQyCZ5Oa73a4q7pEOQEVR8PDhQwXRXM9TElQhGaXjr5B1SZLQa/fKttujs4q5vqDb7bJYzMsQp1Z6cckknJ6e0mp2VIMXQCkFt3tICKciEDMMQ05OTrBtu+RDKqlyt9tV3MB0OlWh1507d1itVvR6PTaVrFuKaaQtXRRFqtvP3t4ehWapjS0EmtxXmp0KIrNtm1u3bqkU8HK5ZG9vTzWkWS6XaJaFYZRNWHTgo5MHFJrOm29+iQ8++ICT0xFJlvLn/9yfZTlf8Nf+6s/w7OPH+Os1+zs7zBfT0jD3usyXCzy3wdOnTxWRuTfcKbkkNNK4rJ9wXZfpdMp4tSLLM3qdDmeXl6xWK27fOsR1y/e0Gk2yJMWPSuMt4qH5fM7Z2Zmaa+AGcSdGVhCXOAqRy0saV7I2gsaEyATKdvD+dU2OaGO2pfSi1wmCgLt376oKSqUWrUKf5XKpMnm7u7tEUaT6MkroVGohPnk/fiaMgq7rPH36VFXTSRpvu9uRV21KafcudfDn5+c0K6jYbDZLqGXbPHr0iIODA2U0ZKDECgvJ6HmeamMmiEEMieM47O3tUavVWFRts6Qtm6QdV6uVgtNpmjKZTJRqsIx1U15//XUeP35EkiScPj9hOp2qhed5HoEvfRUzoqiMw2fTJyRJws7uQC1AsfoPHjxQ36PZbKpFm2UZaRxTr7I39VqNy4sLAIosY9Drqc5R0tREhE4CNSXFZZomB0d3VKZB5N/bjWDr9boixiSWlhj+4OBAGfQwDMvQqmq2cn5+wehqwqOnJxwc3yGKU17/wsu02z2+9847+Ks5Tx7dJ/R9+s02EfD89KREY3WHk5MT4jSi6bU4PDxUhsnUSmK57tbZ29tjs9koJn6+XNJoNtgslqznC9Is5f79h2w2G/Z3Ki7JreMVKMckDmBbQt9qlQVWjukyn88VcpQ1KGMpehEJCeLKSHmex9XVFfv7+6zXa77xjW8wGo2w3RrdbpfHjx+r14rjEIchXNvDhw/V31ITs1qtSoK50t1Ihk3SkaPRSK2hsvFO9In78TNhFLJKnyDx32g0otfrMZlM1IaQ+EwgrEBygXnSXSkMQ6aVGk3IMOmdkKapQhxSEiyfIZA9CAJeeeUVNamS3gyr1JHwCpPJRP1OauzjOCaISwsuPEWSRKzXaw4ODkrF4LKUqK5WK8WdjPOpSllCyXfYVk2VzYpiU4yWTLYUfW2nx7ar5yzLUm3vJfx6+PCh6iok6TBZ/OKNpLRcCCn5ufTElFblEsNK2CGEq9SwNBoN1SpvZ2eH6XSsDOI7v/cep6fP+cbbf4qsEP1Izg984+ucntzHNk2Gh/vEQchiOWPYH7C7O2S1WWO7Ncz0uuZFILVj2VV+Plbj0Gg0SijuufhhzO27d/HjCK0KC/QCkjhlPl+i5RmdfudavGVcl0Nvc017e3skYaZCI0ApY6VWQSpsf39losyFELiq+rTTVjUykp4WYns7fJBshHA6g8FAaSO2UZ0Y622id7vpiqZ/5nUKsLe3p5hyOblHPFAclyf1SP58G/JKr8U8z1Ufg6BCDVKBJiy7TIQ0MtkuCpH229uFJPP5nA8//LAUOX3ucziOw9XVFZZllem+6sCUOI5V56SdftlB9/nZs0r5168IoonK4W8rG8tQxqty4AW1WiU71stJ1o3rpqHSbEPkzkKG2bZNnmbEUcTz+eJGzLi7u8vz58+Joqg8PGbj31DWAaoIrVarqcKrdrutMjYSKu3s7Kj+DZqmcXZ2phrZStmw8C1FUSgp+nw+Lw26mdNs1JlOZ+X7BkO+9d3vcefWHeIs5R/9w9/i4OCAV++W9Sbnp8/YzJe0Gh6mXqLCg6NDWt0Oj58+YW+4c0OCHW5K8s2yLPwKpQyHwzJn71hcjSecja9oNRpM53OSJOY0TWi1X8XSNCynpjinIAhKwreqXJXMwnQ6LUVKRll5KmHDtmxZivDKvhueWsuiO9guVHvnnXfQNI2D4yPVh0LIxm3+Sz5bPs80yzNFjo6OlAZFWsRti9gkKydGQ1oQ/GGnwXwmjEJaFXlAWTIsQheRbsrgCKyyLEv1vN9ukCpwVYQkw+EQz/OYTqfKewmbLlZXioikNx7AaDS6riisKhNlYUun5v39fYVkhLSTIiNAHUYidRpywEhBpmSqUuiUxGllZLo3ZNuysYTMErZ5Gxoul0sODw/VYhHtu2yURqPB4eEhy+WS+bzkNZbLpeJTRDSzXRIttRzTaXlkmu/7qoJUoKyo6oIgUMZYdPvSOUiMDlRquzRBN6s0cp6zni8Z7hzghwHPnz/Htm2+/MUvsZk9YToZ8/z5M7rNFvWq1+aqImslnbo9n77vQ3XGZb1WxuqCIAFMHXaGAx6fPAO79PazxZzFojyxq1N1cxLeRJCBZKQAdeCO53nYRk3xUNttAgWhyPyJJkTmTfQzsjlnsxmmaTJ//31FJEr2SFCcIIXtGgf5TEG6QnhL6fs2hyaoRbgMEUt90vUvZBQ0TXsCrIAMSIui+KqmaT3gV4A7wBPg3yuKYvZHfA7rKo24Xq8VXBYvL/nhTqej0kwi3pFuQLJR8jxnMBhwenpKnpdNVvb29hTUF9JFcuniESRXL0fPiWUWWHxxcUG9Xuf4+Fid+ZDnuWqrNZ/P8X2fQbc87KSgHPynT59W5cetauKiGyFQkiRYpqMsfZ5XDVLcsjbh8vKSfr+vJjRJEnZ2yupA2eCmaaIVULMdtALSuDx3ol5zWS2WzCZlGst1arSbLZb+WpGSEqIIiSaHmkhjXCkfTpIyXSeQXI64KzmCc6XEy/Oc27dvYxhGKZaq8uthGGLkIXE2IU0T3njjDX7jN/8RR26dn/6pn+ZXfvkXuXXrFqenJ6zGT5hOp/Q6bXrNDr6/ZjabcPfuS9y7dw/brREmseKRhOPotkoSerVakSaJGq88zynSjDgrjdncD+l2OpyPLpjP54xGI9rNFrpmYBgo5axpmiwWCzqdjqofETQVrCOVMmy322ptXl5eqpSkoFjRb2zLmKFEx/P5vOz4NL0+AUz2hPABgjCLorgha47jWFX9yr6QsFGMiGTJRBOxs7NTGZ5PNyX5g0VRjLf+/3PA/1UUxV/XNO3nqv//tT/sA9yaqxRicjiIeK6iKFSXYzkGSzIHm82GxWKhat63F7dIg7ebjW7LfmVjivUX5l8mUNqAt1otpZEQ7ytxn6SrttvG5e3Sky2WMxXjaZrGkydPyknZHahFLCKqNCmt/Pn5Ba7rYRgGuzv7ZQvwyFcNVwQdie5euBa4ViZKmmob0o9GI0UkCokorcLEsG53bBISV8ZRQqP1eq3CF8mXb2s+AFX3IOlBSbHJJqk3WpyNnrG/v49hGHz+85/n3XffLcfVNNG06y5FaRQzHZXVkkdHR4xGIxabNUbNJopT9oYDJQmG667g8r0kvQqwe7DL+eiCi8mMVsvm5ORElabHUVpVqIYMdzo3PLKsCyGnhfD2V6EKuaQtXrvdZjweqw0dRZE6I0S8PqD4LjEYIioSZCHk73ZaXUhmKBvkbJfbi/ZAEKsgge1eHZJClvv+YdenET78KPCnq3//TeC3+COMQhLHpNWG1TQNvTryqt/vYxkGi0okNB1fqrp0KCFhqyOQOmY+jaqJuW7JJRay3W4zm83UQEqKabmcK6t6TZJZOI6F69bYbFakaUy93qBWFTTpQByGvPTSS5yfn5ekYhzjuS6YFpso5tnZJe12WzWktWqlCGoTaDQaXbQ8pu6WCEhztcp4XQurlqs5frCm1Wrg++uKAygN1TvvfE/lvI+PD9E0mK/nZWYhLFHAydkJnlcamJ2DHbV47LoNeaEWrvSPePb0yXXNRBjgr1eYVlkHgaahGwZoGkfHxyUxVvE5q9UKrQi5rPo99rsewWZBlgTkSYyfxBwf3y4Lkto2//dv/mMePnpGZ3CbN15+g3gV4N22yOOQZ6fPeP1Hfoj7foNXvvi1sgQ+zXDdGkkQcnZySnZ5yeHePq1Gk3SVk9kFLbtFOAu43FxS5DmDQQ+SHNOAYFMSohd5hOHY9Ns1njx9SsvK2SQZ/XaL+49PsJoD3GaLQW4TBhme18QwNPxgzWq9wK15dLtDao7L89Mx3U6Nvf2BQktyiHGv31LQ3ms4JHGmkIcUwwkXJUShpA9FBSmoV8JbQVtyzmWz7mHppaGYXpWno7lyrEBNU5kKcRrCqQnCLBHpp9dkpQB+XdO0AvgbRXmS9G5RFOcARVGca5q28we9Uds6in7QKw8k3S72kZRfv9/n/fffJ8syXn75JR48eHBDPit8gzDEpWdrq8Ne5bMkTBCvJ9kBx7kmIMWii5JNBE7SZ0DXde7evavSf5vNhpdffpnd3V2+/e1vl0ankj5/+ctfVuHK0VHZ6WdbFEQlXNku4jo8PFSxqTRRybJEISBJfQqxJWXgkv8G2N/fV5tVEMmtW7ewLIvxeEwcx/S7JS9z9+5dzs/PieOY27dvlw05qswNlJWkImDa399XRVAy3uLxkixR9QfdbpeDg31Go5HiibrdPuPxmEbT5lvf/i6G6dDdKXAcm3fffYcsjWi3m3Rbn+Mf/uZv4ftlEdXh4SEfP/yYw8NDXn/9ddB0gqoGoDBNak2P2bqEz4NBjy+8/gV0o9woy8UM27Spd1pYSYJTM8myBK/e5ODgiPPRBZfzS2y3QavR5Pz0GT/wr/0gcRyx2awIwnV5LmXFW+VZWXOyWfv4fohGqNS1aZoqsdLu7i66rqu04MJfKlXt7xcuiVZEZPWe59Hr9VgsFpycnNzImAFKAp0nqeJutrUmIsSTVLHb8JSzE85su9jq0zIK/0pRFGfVxv8NTdM+/Gd9Y7F1FP3L924X0nxC4iHZhBITClkixItc7XZbkULyoJIakvSaZVmK6BMiT4Qipqmr94maUSz7NgPcbJb56Nu3b2PbNh988IFi6q+urojjuNRFGJbqcZClKXXXwd+s1OJybJNup8XkanSjnFU8jpCVopJ0nOuzKATdSNpJUoGO46gDbeXZBEqKmEYWocDY7eP35N+SwpVYNEwLsjQm8NfEUUC71VDhUhwFWKZBv9+DPOLy8kpBUyF9BcaKwX76dESWlSdFvfrqq7z3/v1Kfh6TZymPHz1A0zPuHB0ShCGubbG7W2Yinp+eMZ5NSdOc3Z1Sfh2mCZugDB1ydOabFXmS4jU80iLFQKt0FRGGCUVxXXWpaRq3Do+w3AZXi4/Y29nl+ekJjVtDlSXQtIK6V2M4HBKFCatVQJFDu90hjhbKMErsv7Ozo05zEhJX1pSMgTgU+b8oIbeJWhHXSZGTyK6FoJY1CvxTMmZJR9q2zarKWkjVrehyVEXvJ1z/QkahKIqz6u9LTdN+Ffg6MNI0bb9CCfvA5R/1Obp2feKTZVlKtCH17FLE8fz5c5VdEKHSwcGBEh5J/L9YLJhMJhwcHGAYBrPZTPUSkME8ODjAsiwePryv8vWyiOU8P9mAJXSP1YY1TZM333yT8Xisil4Gg0FJltYtlVW4vLxUKSHZmDKp9+7dU6o34UeyLGN3d5ednR3F9sdxqH4nJd3ynURrsJ0W63a7zOdzVWDWbrcVXyBt1ybj8mzH6XTK0dGR0jIAahxM06TbLHUJ9+/f5+TkhFdeeUURpHI+ZK1WwzYdfD9QxOV8Xh7ko1FKzOU077TIGe7sM1+u+d7v/i5Pnpzw9a9/g/l8yvhqxPHeDmkaM766wLZtTp8+YbUOeenlVwiTlIPD26w2EW98+Ss8PXlGGq1p9vu4To24SBnNZrS8Oo6usX/7NkWWo00uscKQYD7F0HRcr4G1WjLo9fneu+9juXU8x+bZyROarQ61wqder9HuNJReIEkSdM2kKAyKHDodXZ0onqapIhqLolCNWMQwt1otRfQJOpVamW1eTBSNklURDkuyHdu9QQw0JSoT/qHf7yu0INycfA+pkZGam3LtfApGQdM0D9CLolhV//43gP8C+HvAfwz89ervv/tHfVZe5Ao6iZIRrpVlwn4vl5troUpF0smpTOJxS+GOUcXbx5imydXVlTo+TWSm0lRFshfbBI1MonhQCUME0p6envLbv/3bfPWrX1VGqt/vq4rI+XxOlkTEoa9Ku2WCJIxxHEf1FxSjJ0VbsrjyKj4Wmbc8g4RGIoWVCd+u0ReUJNASUAhDwjJhu0XKvVwuVVenXq9HEgX46yWNemmsQ7/sLaiTk6cxeQpx6LMMNxwdHSllaL8/UFJwIcCiKGLjB4RxSqPZ5oMPPsC2ayyXc+7ducXp00fkeZe3v/EN/s9/UB5W3u/36Q/K0On8/JIvffkrdId7xFHCrTt3IQ8UAtILcBwL07bp9npoOkRZiu24mJaDleeQZ+iGhmPZFFUzn7rXZDI/Y2cwwA/TqkQZBlbZOXk2L2sdak6dbndIUZ1teXh4qMIGgeaCAgAVGkZhpuC/hKibzUYRlsvlstzA5s0WcULOCrITQjOOYyK/bM3WbDbVGA+HQ0VEqiKsVlNVbEJZaSsh8acVPuwCv1p9uAn8YlEU/0DTtG8Df1vTtP8EOAF+4o/6IIFPUmxycHCgGoBIk8pSwDOg1WqV9QJVt6R3331XLewkSap0WckKT6dTpbKL4xjP81THIMlKmKauMhAS90uaRziITqfDaFSeUPzkyRMVwpyfn6s2cpKiOzg4IM9zLi4uVHWjdL+Bsmbji1/8ImEYlpV9y6Xq4SDtt4qiUC3rsyxRaSUJM6T4S/oHCmwUDkMau2qapmTaUVSm0A4ODmg3W0rqvD0Hot+QYi0JweSAGFFuCms/n8+ZTqc0GmXzGElNighnfDWpOhDFPHv2jA8ePSOMUv79f+fH+Jv/0/8MhsbV1Yj55JIvvPYaNdPgm3//1/nq17/G1dUVtuPy5a98nbOzc5x6m9Um4NbdFlpbZ2/vgCKPFDm3Wa357j/5NpPLK77/+7+GW6vantul+tRIC9IsxdVtGo0Wur/mzvExT09Pee3zr/D4yVPSLGcyCUjTmJpbks2aft2Oz/d90iTD90MMvUSOOzs7KlySkFdOsV6tVhi6oxSH0jhmNBop57S3t1emgZuNG3oD6Qgurd9lDQsi3s5OADx79kyFJZKhK/Tro/DEqYhC9g+RKfzzG4WiKB4DX/oDfj4BfuiP81lxFKvU0WAw4P3331dQSWoTXNflK1/5CicnJ6qsdLst1mQyUT31sqzg9u3bqtxYRETCEQjEyrIMx7FU4YywvlJcIjn6UoJdjqLEZ67rqjTj9sb+4L13aTabeG4Nre6q9vE6BXfv3mU+n3N5cc7h8S21qefzudq0kmsWCHhxccadO3cIw1ClWAeDgYo9RdM+nU5vwFUhnZ49e6ag5d27d0tthu6r0EIUmtKdWTT8EnLVajV2BqVOYqVrxGFAr9PmcH+Peq3s4NPv96nXPZUanExmN1KbksLUNIe80Pjdd95l6S/LysM0JM8yprMxk/MRtw6PGE1X/Fs/+uP8rb/1i6zWAXfuvsQP/pkf5v/91nd48vHj8rj6Z6esq6yMTilS6nUH7A13aDYa5YGvecbHH3/M1eWYllPDNnSKQk6NzqEoyJOUj957l5rXwI9C/CAiSSKarTp57lD3ypoEDQNdtwn8EMtysExDGdter6c0DHBd0JZlGflWibWEDsLLiDMLw5AovZY4l8TpQJ31KYIyCRefjp/yxhtv0Gg0+Na3vsWtW7duIGAJBYWXqtfrSsh2za998n78TCgaRRwkp+mIXl5kz1JsIwzta6+9xoMHD8pKvirdKPLSKIpYr31FAkpDFiFpNlXPPBl802yoFlXSMXcwGCiJqCCC6XSuWrlLPll6LsrBMlEUEemaar4iG1t0EaKbf/ToEaPRSMWrokBbLBbqVGwVP1bhiYQ0krKSkEJ4EpFCi/5CUMV27YLA3SSKFRsui3P7DEJphiL8guTORR0qHIcoFss6AVP1njDNiuA1rztD5XlOoemYps14NlfoJooihu02p09PeOn4NlmS4rW7/PL/8r/xfV/7On/u3/7z9Ho9fumXfgldMxmdn/HDP/zDvPvuu+zv7m01f0mp2TaWZRCHEadPT4BSvn779m1GT0+J8wzLLGshyHJM3aDdajKelyd7x0lGUmVXSp4pJU5KPcLhwTHrdYihmziOi65F6oi+fr+vxluIxe1wDrhB9AIKEQqkNx1bOSEhlWVsRd7c7Xap1+t8NJmqn0sWStYboBS0tltTnIPoVwSVf+ZLp23HVgrC0WjEvXv3ePbsmaqTl1TdBx98wJ07d7h16xZnZ2eqQlFCB8/zyLJMwXLpUeA4juqvJ9pyCRV0HRXXQRlrfe5zn1NnN4rYSTaudJTWdZ29vT0lJpKr3+uqNml5nmOZBpPJhGbD48H9jzg+PqbbadNod1XcKWnJfr8PlEZSGrgMh0N1SpHEnI8fP1axq4RZYuQEHYm6MIoi3n//fcVDdLtdyAulyhQeRlq9SXqz0WgwnYyJo5AsvRZt9brls2qGTt2tKeVikqS8/PLLCtGsViuytFClu8+fPye3hthuXXXtDsMAx9JxahYHB3sVaWlxdjXn6NZLAqZ9SwAAIABJREFU3Hv5C/yX/9V/zZ/9N3+E4XBIr93Bc2yKLOWtL72B4bbZbNZkcdlj0jJLhn2TLxgHpair1WjSqDcpgpjFrDx56mBngL2zy7Oz5xwdHXE2GrOaz6g3W6RaQlFIj4wU2ymPqndsl6IwlFEYDAbKoEt9gsyBOLeiKNCro+oAJYgSib1sTl3X0UxDCfYsy1IH0gphKMg1jmNee+01Hj16pPgvUduapnnjjM+g2j+S8pTU+qcqc/6TuqSgCMoUy0cffaS+uBShnJ+f88Ybr6uDXrrdLqenp4o4i6KIW7duVQPTUY1gpahH2PJtZVhZ2FOoDSTeUuJzOWJuZ2eH0ehKSZHT9Lohq1QqXlxclFCyfajq56VWoF6vK15EJlCq8CRlKE1di6JQhOJwOFQiFymg2iYsRaUpLdjE88rCAhTLvb+/z/3791kul8rDCokqaUNJiwZBcMPYSIpOiEtBSUJolv0dSoQxHo/ZbEp9RJrkFZIpjUrTs1kFZR/OnBwNaa+W89orr3Dy8DHHn/s89+68ws/8zE/zV37qr/CX/9O/xN/9e7/KrcMDhr0+//oP/WnCTdlDoOb1yhSjWyMLQ1Ve3djdpV67lhqLOKhm24wunqmGvqZpli3h6w5REtNut1nH/o36ABF0GYZBu91XLeDke2/rAASdSgrZsiw0LLUBt7MF8l6FKkAhQ0EJV1dXN3Qh2/0apKZGFKYSDkt4q2kam7Bc5zKngqbLGpxPvj4TRkHXNNrNsq/i4eEht44OGY/HJdlkGsynE7QiV+x+eVpvi3q9wXLhkyQLjo9v8+D+UzzP43vfe0e1zRbJryjJpJR6vV4rq9psNqvmFAuCIODhw8fcunWLi4tLDMNiNLoqm4RoGm+99RarqrfC9jFtd+/e5dGjR5xfjvE8T/X6ny3XTKZzVn4ZynitTrV4fOK4oFazcV2nakN3qyIsC1qtBpZlqhz4crlUxKnUgUhYVXrrC3S9QNdNNE3HcVza7VrVN2HB5eU/qU6XajOZlfDTrjksViWLfe9zLykptYQnha7R6nb58pe/zPPnz7l//yFWnNLwWnQafaga6fbbPSxNZzmes9PqslgtuDg/Y+/wiFXoczWb0tjfI5yv0dOUnU6HydUFb7/9Ns9PT+g0+9z/6GP6/T3c9i6Tp0/4q3/pL/OTP/7jzEfn3Nnb58/84A/RaDT4hV/4BX7qp36K2WzGgw9/h9FopHL+hmFwfHzMpCo2c73SWLquy2QygXhDbuq0Bn1qjk2z1abX63H3+CU+DB+Shhl2YfP/UfemQZJl53nec2/e3Pc9s/alu3rfZh8sMxgMYRAUF4CiqSBNAwqJhiMoR5gUzZB+MLhYP8QIh2yRtE2FJIoGuIBhahAAKZLYCAwGM4NpzNLd02vtW1bu+77cvNc/Tp4zPTQIMCxLMcqIierKqa7qyrz3nPN93/s+b6c3IndcIRgO4PKHCXpDWE4Y2wMcLihXD+j3gop8XS1XGA2GTEcTXIaBNpnSqTWU8QvEjelxiimWbY7QbROXw2Bqjgj63LQGI1VOgJggyHKh3RYjXqmvKJVKaqKwtLSkHLTyJCH7CKYtvD+yv+FwOEilUqIsnJ00v9vjPbEoyJGdXJnlCyOP4LITPh6P1J/fmfuKScK6a51QKEShUFB1cDQaxev1KhpRMBhUu53UnMufI3sIiUSCQqFAJBKhWCwqebR0NcqLT/49aQ+WfQq5a8j6Tk4N5BsjVWnyNCF3BzlqlF8nTVqySSR3F8lI8Hg8FAoF9TEcjqipijySyh0LUCeah5WfshchEWJyZCln5aFQiGq1yp07dxQ4pVKp0Gq1cLu9SksytcxZIywIukYqlSaaSNDqCsXlpNWhWCzy6Pn38c2XvkEoFCCRSHB4eMhkPFSl3/r6Op/85Cd57fXX6PV6XL9+XTESX3jhBbLZLD/5kz+p+BiFQoFarcby8jKWZZHL5ZSUXYq4pF9DNpelvHs46L/rd1XsBEvM9buTvjqeD4dDAk7hIXDwTq7kYDBQkxa3242hO97lldA0je5wIPQl1pSpPUMNplOiCatpDPpDpUuQWZ6yNPR6vepEI0VlAN1WWwmb5PsmexTya+RrIP/9gGIsaJqG9l7vKciFwO12s7+/r5iA0gsha9zRWByHptMpumYQj8cwzakIejE0AkEPg/2OUj/COzf8eDxWXAF5w8j/pOtPglNisRh7e3tqvCYdc8PhkLt376qsS9kAlMw/2aCU4yKn06mapnJ0KG/yyWSkbnR5UTUaDfWz5AUsa8D5+XmSySSlUonRaKT6GcFgkFarpTrVgLLzOhwO0uk06+vrGIah0qWTyaT6d0rZtPyZEmsvOt5DIhFxE3Q6HXK5HG63WyHn5THb4TCI+cXC1+m0BBtjNGQ0maLhoFptEgrHefXVV/nYxz7GN7/5DeZWFimXyywsLJBMJPE43ZRKJfb29vjN3/xNPvCBD5DNZvn0pz/NZz/7WR555BHW1ta4fv06mUyGt956i0wqwcWLl1UZ9uyzzzGdTnnw4IESw43HUkswxJraxGIJokEfmg29VJ9KpUan02N1ZY3s/ALtXptiscD20S6Gw0WpVMLtcbFgzBFJJ9FtS2QzGgb+WckbDoUUIq/TauN4aJPwh98RL8mE9NXVVZVE1mw28fl8ZBaWlSs3Ho8rvYsE5cq+j6Zp2DOEoCwTAFWiSBn9eDxmfmlRIeRl83l3d1csEt+jp+D4tV/7tf9U9/rf+vFb//J/+7VnnnwEl8tFIpFQARyRSIRgMChELPE4pXKeWq3KaDQU+PRKCa/HS6/Xne3gOpcvX6JUKiv0mtwx9vb2gHci3qW4RrrvKpWK6p7L5mKxWKRSqVCr1VhfX2d3d5dHHnmEZrPJwsKCcs3J0FcZhCsnBvV6nd3dXSqVijqZyP5FNBpRx3QQpUiz2SSdTuP1ehUuTY5LJUBDjkDb7bZi8gkB10BNAyQDIpFI0G63lWBFKtvAVlZeuVM+3D2Xx9BAwK8clCLaXkhuB/0h4/FE1amxaIxWW4jBXB4XO7u7aLrBSaFMrdHGRKdYrKCZ0O60qNWqtJp1KpUKiXgMw+HE0B3Uag3u3L5Lt9fl7NmzSsj23HPP4Xa72d7eVqK00WjERz/2USKxKD6/H4/PS7ffw7SmBMMhhqMRU8vC6/cRCAWxLZt6vcbNN99As8G2oFqtEQiEsNFEzoCmc+bcGUxzynE+jz/gw+l2MZ417EbDPsP+EI/bSyQWJRgIEovFcEtWotvDcDTCoTuYmCadbpfRxMTpcuPxeNEdBl6fH90hSjxdd+APBAmFI2Tm5pT+QE7jZB9HcjCkPiQ5Q85Lb4vH4yGbzSoBmtz4mDXTpZtTTkacTifXb7zNz//jX/z173Y/vidOCvJmkeM1Wb9L4YZ0oQWDQdFncLnw+4MMh0MuX7480yiMFQtA7rKSgSiR1+FwWIluJJX44emB3NFNU2Qk5HI5lpaW3iUSuXz5MicnJ2o6EYvFyOfz+P1+0uk00WiUk5MTBbeQ6DU5EZA7mNyppTpT3mDy9YhEIupzCU7x+/2KOSi1F/K4KssaSQCWJRigXkN5sbjd7+QWSm+J1BjI104ePyVRSJQ3YoGKRuL4fAE1PWlYdQXJdblcaLrB8fExhWqTydTGFQgzHJvkcjmWjUUis55COp3GMER3f2l+kXpdGKpsXTSSP/rRj5LJZPj2t7/N5uYmfr9f9Td+8Ed+hNe+9S0l95aNz0ajwfLyMoOBmBAtLS0Jh2Krjc8XwOvxq5OnUAhOMM0pCwtLlCs1lpdW1Xth2xrVaoXQzPMx6I/QvW6BQPO4qTcbjM2JkFmPx3THXSUQcmgC/uKfLaQC8x9SJ2DZtJblsJSWy4X5YRirEIgF1N+X43WpuJWLgywPZNPx+PhYjZFln0GWlvK6+W6P98hJ4X/9tY8885R6UeSbK19MqdaKxqM0Gk3G4wkaDnw+P81mi16vz2AwYm5unnqthdvtIpvNMhyKDAaZa9hut1X8vPRJHBwc4PF4qNVqajSZSqWUAEjeILlcTo0o5ThSoNUFou3MmTPcvHmTcrmsfA9yVi2bgnL02O12OTnJqfovmUwSDodVEK6cBMjvPR6PlRZjfn5eBYDouq76EG63EM7IbAzbthUcdG5uTs2lxQLQUyOxxcVFJZAxTVNNPKQgq1KpKuLTuXPnxZ9Ni4sXLxEIBCiXy6SyaarV0szyLWS/3d6AertHoVjFF4rS6Q7xGk7M6YRQKMhoKPokPq+HpcVlTo5zuFwehsMRP/ixH2Q0GnHq1Cn+5E/+hIWFBd7//vfj8/l4+eWXxekxEmFuYRGfP8Dc/ALzp07hchhYNqyfOoXP7ycWjxNMp9A8bhymxcbGaTrNFulEEnNiAhqhYIRgMEKxXMK2odvvUiyWmNhToYD0+6jX6/hmY0aX00m/16c77GFrYE4mDGZ4OjQBCXZ7ZrGBUxPN6aY/GBIMhylXqzRaLWLxBGg6lWoNc2rhdLvZ29ujXq+rk8LDzUNJtpKLeLPRUCe9drutTgEPTyJcLhe2Jnoby8vL7yo1dF3n5etv8gu/+D+9d08KsraXN4NhGOomkSaibrfLZOrG7wvicnqYTi1sG1wuQWuajKf0ugM0zaEkqXJXVQafaFQpFiU5+s6dO5w7d45ut6uEO0tLS8o2LFV5ciwlm32TyYRkMkmhUGD6EE5O/j955AOUSEjKXaU+QHodZA0oQS1yl5caDYmeLxaLilAld4N2uw2Arj9M6h0qaezDDEtZe8sYeenwrNVqAGrOLX0VDof+rrJCshkl3k42BzVD0Id0xHG1VK4SDIYZ5sqARqvZYTLrlsvfUwJgZVZCIZenUKhw4fwlajXBs3zzzTd5/vnn2dvbYzQasbm5ybPPPsvCwgK3bt0ilckqV6A1GzmfOnVKKF1jMcbDIbWc6CPNZTPcuXVLWMsHPUXjcru8DIYTpmhMLai36ty+fZuJPqVar+ENeXE6BWAlEAiAJXZmyyGa4pNZf8rpEP0l/aFd3+v1Mpk1i3O5nDoVtttt1SuQjVSpS5HXmNy4ZBNbXmPNZhPdRgnk5P0iF31Zpsp+18NCNrmhyTHz3/R4T5wU/o/f/s1f+9GPfhjbtoVIZYatvn//vrKk1ut1XG4vGk503clgMELTnJgTi/F4ynRqU6006XX7uD2ibkokEu+ISGbwknQ6TSQSodPp0Ol0WF9fV6VFrVZTxGj5AkoLq2ysyZtbqh2LxSKLi4scHBwoSXav16NarTKZTFRpIpV3csGr12tKESebiVLFOJqh0CeTCbVaTV2Q8uQkfRbJZFLdXL2eMFbJi00qJGVHWmYROhwOrl27qgAsUiMiL1C5qNXrdUajoWpCiqmG6GQnEyk6na4SiMWSUQaDoepqe9xe/KEQN27dJZcvEklm2D845tFLl6jWKgwGfYYD4XMxHDoH+4dEQmHOnj3PhQsXcXlcJJNJUqkUh4eH9Pt9rl+/TiwWY3FxEU0TixAOF+1OFxsNl9uD2+PF6w+geV3YE4vhaIzDcOL2eHFMbSbmmKX5BdrNJn6vH7fLw9HRMUfHOSzA7fbwrZe/xdLSMmPLxGHo5ItFUikxXtawGQ1GeL0+TEwMx4xzCaSSSXx+Hw6HgTmdYllTNF3D6fYRCofJZLO43G48Xi+RaBRN14nHE0wmJv3BgPFDDl4pYX8YOSinRaFQCH3WK5hMJgqpLz07ctLg8XhwedxKOzEcDtUG5/P5+MYr1/kff+EX3rsnBSnOkMKNer2uZrNylfP5fGg4cLkcaJoDy2oxGo2ZjMXNZGMzGHQxTYtFV0odw2TNKV84+bwcW8rewcOlS6lUUl19eXqROYwPh9devXpVhdKm02mF3g4EAiqyToatSnFWo9EgFAoRj8eVmlFKrzVNI5VKqWh62xYhu3IxAtQCJ0VbIBkB72Dq5K7QmB0z5e8t/04iERPmHtNUElk5tpPyZ+H3MHG7PWo6IqXn4rV0KjVjo1tn0OvjmoFOHbqTQr5Ic/b6OXSD0QxOK157U43L/H4/45GY1GxtbbEwv4Q+1pWCVOYgfPzjH+fg4OBdsmHDKSTxD58Kg8Eg/X6f+fn5d8aPwyGVXI54PM4f/dEf8eiVS4pIlEgk0B1utnb2OD7ZVjdfvV7H6/Mpc5nApYGNrZrXmkPHoTtUv0DSsmu1Gq1GYyaX7iukvrSoy2Zfq9VSPpbRUGxGEs4CqD6PFLs9POaW5ePDpaQ8Fcv+ksfvU6NO+XrLa/89732QjTNpHy6Xywqt/TCAst0RxqfhcMh4JLzhtWZDKNG64gUcDEbkcjnVaZdzXnm0lm+gXD2/+c1vMj8/r/wL8k0DmJ+fV6anfD6vduZms8nKygq3b99mNBqRSCQAlGPS5/ORTqdptVqK2ZdKpXC73ZycnJDP50kkYsrwJS23kiUhzSuj0Yj9/X1AmI7+elkjLbvhcJhMZk7p6H0+H8vLyywuLtLpdFRAjbyAisUi9XpdzdvltEday6UMt9831bxdvkfBYBCHLgRdUhJt26KGdczq2vMXr2LhwOl0kUikKJfLZLNZyuXyzOk3QLNNdUM/+cTT3HjjLX7xF/8JhXyJWFJY6D/zmc/woQ99iEKhwCuvvMLS0hJ/+qd/SjAY5JFHHuH1G6+ysbHB5cuX1cIAvMswJj0fyWRSvVbC/i03gDLDoQjsKVdrzM0t8Pbbb2MZtrrJup0+c3NrtJp1fG7hMRkMB0q1OB6JCIJGo4HXLco2yVC0ddEvkBoQOWHL5XIkk0ll8OvP7NRSMXr+/HlFkq5UKliWpezummUrPwugfm952pMp4ZIWLRdLSTOTPae/6fGeWBQ0TWdj4zy1Wo2trT1aLVFTLy2tzTT5YqfLziUIhd3E43E2d7aEky+iM7J6TJ1T0qlFdM3B9uZd1a2X5pJ4PE4sIjrz/W4f09QI+OJEfDo+l1t0eIPCV3Dl6iUCoRC9fodoWJQfXiOMzxUgHA4S9As+YTKTxJxO8cfE8a7b6xEJBYVlVvORTacY9nuEw2GuXr4koCZzWR48eCDgLENRJsgFoN/vk4jF6bY77O3skkqliEWiKpil0xKNUKfDIODzq4shnzth0BMqTXmkl00peRP4vR4sc0IiJoRKrpRTdf4nozEBnx+/14fP66PX6TI/P4/bK0Jrp1MTTQOPx0mvJxSQDsNkPOmIxdcbYtDtYY6nnF47h8fh4e7b99GwCQW9pBfnSM9l+cqffhkbyBdKrKysUK7WWD99lm9885v8xE/8BJphUWsVSSxH2bz/gNMX1jkuHnHu/DkODnLYGjjdHtyeAK12n2c/+H56vR5vvPZtgsEgmcycKIdcXqyJ4Gg2a4JZ0R8IcEsyGafVEZqRdDyBZdkU8wVKuX3iPoOdcpneqIbbGabRbWLpBp6Qn6N8Aa9Lw+dxMBq3ifqihNwhBVlp1jviJGVNiMcTVCoV/H4HXveY5YX0bKQoiMyjfouA14DpkHjEPzt5hTjJ5wnPYC2j8ZhUOo1lWayurfG1r32NZz/0IVHaVQqqx2NOh/gDbrJzSYDZQiMakHJCpuv6uxaOh5uO3+3xN8ua/jM+9Jk8NZvNKrWa1JJLx6A8ng8GA7V7yiOTbETKkWRvOEIznNi6QzSQ0CiUK1TqDTTDiTcQZGLZtLo9BhOL3sik1mrT7vVYXluj1RF5CocHx6p08fk8uA0HwaCfZDKuxntej4eA14dTdzCaHUkBVTLIHoOk9DxsipEnkod7FXKRkM0i+eYJT0FP+elBXAAyZk827yRxSY5w5VFXlhEP48AkOl5OXaRfXx4/M5kssVicTqeLy+VmOBwxGo3pdLqY5hTLsplOLaX3l7kRd+7cETdIf6hCfubmF1WJtLq6isPh4Pz58woRVqlUuH37Npqm8e1XXuX69escHx/z0z/90zSbTZy6gzt37vDoo4/y1NNPkEwk2L5/j2a1QjoZJx6JEvB6iEeimOaE0bDPaCwIzePxUAXpSCx8NpsF3gH5jEYC+qtZNi5DMAdGgyHjwRBrOqHdbKLZzMbmTiWhl/oS+fvL5+RYUYrKpENR9nceJjvLvo/slUh/xOHhoRK0ra6uUi6XFdE8Ho+r9zoSiahmoxxLSviObF5KhJu06r/nTwrYNru727PjqJtIZGEWXlLHMHQqlZKi3rrdbrLZLNWGaMDpgyHBYJT+cMJJ7oR2q4M/FMXl9VKbqfocre7MMXnCmzdvK+iE0+lkZx9cbieJaIT5aFpo9pMJNN3N2JySCgoBVSKaIJVKiaNX3yQS9DMxp3S7PQZdkbbsdbtpN9tcuHCB7e1t1UWPRCIcHQm6ssxxkCITGSgjjuG2cFQGgzz66KOMx2O2t7cV/l4KpcrlsmqISrBHp9MhlUopOrOmCZ6lNH9JkZRgNBRV81IeJWXdK4/htVqNZluIXtbW1pQxR5Zd8mILBoPYmhPTtJhM2jjdAr/e6Q146qmnePnbr3Hpscf4jd/4DZaSc0rVl0wmCYVCKqj25s2bPP/cc9Trdd737AfZ2dnjAx/4AH/4+7/Pk08+ycu7r/D888+z8+A+w4UFGvUWS8mocGDWawRCIeoFD2NzwvziMh6fX8BaGdEdNKlXhK/m2rVruAwng1nO5GAwwDUbIQ7GY0aDMfFIFEt3clw9wASSkRDJ+XmqlSKWy0nP28WaGu8Sfs3NxEcy01EyE+QESKg9OyqLUhrOQDQFo/EkumYTDgXwet6xUVuWRa/bJhoJcef2LXHT20LRKL+XnGhJj4ymaaKEcojGtRwvy6Rqqa79mx7viUVBjiOFBVf4D2TDTdbOsj7KZFJCszDjAVa2tvF6RSe3URdNJVvTMS0bl8erLvT+cARooDuo1htMKyJPYGJDv9PGH/ASjsXRHS7yJWG8SsSTeDw+NM1BpVyk3Xkn/luQi2Oz0eCs8WSJcVS5XFY3j/g3Z9SbIbkQspNs2/a7cHJyl5bGJ/mzpFtUKtkkoUcaxCRsNhqNKtafnGrIDIvRaKQUjg6HQ8me5XjS7/crOrBpmuSLBWKxGOnZMVZi3WQCtlxABmNYmKVUjUemGs/6AiK1Shq3ut0ui4tC3ry8vEylUhLH4MGA5557Tkmtv/rVr7KxscHnP/95Lp2/yP7+Po8//jjdVptMKonTYTAZD3Fr4Hca+NyCkTi/tITu8YgAnLbYELw+NxErxKAtdmCnQ4h8xrOFTXboez2hO/C4XFSrdYrVE8LBEMPxCCwbHY1Bt4cR8Cm3o9zhH4aiyhNePB7H7XZTLOYVI2QymSh5vOwHSTCLXChrtZra9eXoMpFIiJJ0NtJ0OjQ1WZLvlQSy9no95ufnhZq1O1SN1+FwSCqVUgv693q8JxaF4XDA8fEhp0+fZjIZUamU1E1vmmOeeuoJYfqJRiiXBb8xGBFjt8uXL/PgwY5SFY6NCflqE7PdU8wAaZ3N5/MUi0UikQiJRIJGp8/pC1e4d/c2nUafncMTKsUCg14Tv9fNtUsXWFk2CAR0rEmPfLEAwGQ8JT2XFeISS3gzXIZoanZazZmLUzj01tbWAIHLWlhYUPoCyRmYTCZKXNJut9na2sLj8XDp0iVMUzAKyuWymnpIYIbkIMTjcdXM7Pf7ahzZ6XQ4OTkhnU6LC962icfjBINBNfItFApqLCrBo4BSao4mJpPJlJ2dPd73vveRz+dVv6LbFYIx0Jmby+APBDncP6LfLzK1NZxuN1/60leIJJKsrp/ia994kUa3QSaVJBgMcuPGDXRN0KiS8QUlhLp16xYf/PCHhIhKd+B0GFw+dwFrOqVcLNFrizyQs2srtE9ydLpdguEQls/N0f4uU9siFIuTzSRw+n2U8nm63Sb7u3ssLi7iPXde/M6znVvTNFqdNs12S5SvvTHnz5ylWn0Z3TRZnZ+nXq/Snw5ZX1mdZXzYTLWh0lhIFa20ostydzKZUMybarGt1wXPQdrWY7GYam6//NKLPP300xg6xKNh8vm8GD/XKsQiISxzzNmNUyr+UMqgk8mkmhpFo1E6nQ77+/vkcjlSmQU1Fvd6vTQaDcUe/V6P90ZPYTZaqdVqavWVs/5Go8Hx8TH1ev1dEXHlchmZl7e6uqrqueFwSKvdptVuMzFNnC4X5UqFGzdvcpLP4/P7qdXrtDsdVlZX+fZ3XmfjzDkuXbrMm2/dxOnxEk+keenl1yiUqty9t8mtt+/icHpZWlkjlZljbnER05yytLgyc0m6yefzKtBWEpWr1SrNZpNKpaIkyxICK2tbad+WUw0JWjk6OuLBgwfU63USiYSCrcg6UuokyuWyOrqGQiH29/cpFosKmjIYDEgmk6yurqpa0+v1Uq/XiUajxGIx5ubmWFpaIhwOqylFs9kkm80qPPnm5qYSVcn+SL/fJxaLkUinKZVKMxKWKFu2t7cZT8REJZ/PY1lw6tQput0u0WiUaDTKlStXcLmE+vSVV17BsixOnTpFvzfg5W+9gq47uHr1Clvbm4wGAzrNJsGAn/XlZarlEoahk82kSCdTGJqOz+0hEYuTTKVwul1Men28M19AKBBAmy16Ur4tNSPtdptoPE57Np2q1RrEI1EW5+bxul3YlonX5abZaNHvDegPBiLHYjbNefi0Jl+jhyGp5XJZjcRTqRSxWIxMJkO/3+fg4IDhcKjk2FLrMhqN1Fg1n8+rsag078XjcVUGyx6F7CmlUuI0XalU3oXylxJ2MR5/j5cPlmXR7XUIG2Echk6311FHIofDg2VPcRi6gkj4/X4Gs+bRxJyi68J6WizUqdca1KpVdbzVNI3gQ29ePp8nlUrx3Ic+BEAo4OHLX/pzUR97PZSKRTbW11g/dYZvvfo6xkxEUms8w8bGhlIhYll85/UbjMYDqvUGk9GYCxcu4HCKmyaVShEOh9nZ2SEcFit/tSokw6dOnSIcDrO/v692eF3XCYfDisrb6XTMT9JQAAAgAElEQVRUmo+u64r0807mpKVuYLngdDodSqWS0h7Io60cs4odvqsQdpIo3Ov1uHnzpjKQeTwe4vE4xVINt8tLIu6k2Wjj9/vJHefFotc4xqE7aTU7nJTvkEql2D84ot5oUSyX6Q1EX8Pj9TMam3zwQ8/y0p//JafWVtXv1Ov1aDabnDm9jsvl4uDggNOnT+N0uSicnPAPP/X3efXllzm7cYbd7U1Ora3z9ls3aFfLhINBnG4vDsum0qyTzmZIbWwwqlXBshl1Rd7BsD8Q2pBAkEgojGVOldHIAmxNw+314nAaXH/lZZrtjlJa+vweBoMuqXicRreNLxRCNxy0egNCYT+1Wk0Rw5xOJ2+//bYqL+UoXDpnI5GIKtPkBjg3N8fW1hY7Ozvo2NhTU210kVCQk+MjdE1jNJilWfe6BAIBhSGUqlK/X/xb5DUhnba5fJlKpaJOgKlUilarNeszvccbjTbvZBhKsKQk4tq2rSSg+XwesN7JGjSFuKbTERSiWq1G/qRAq9VV38/hcGCORyTSadFcmYoO+b3bbxONRjm1mEGf9CkWi9iWiW5bHB4e0+/3ef/T7+P+/U3qrRF/9uVX0L/8KtceucSptVWuXLqI2+8nk0pTzB+zsChYA4tp4TPI5XKMx2OV2CShL1KlWK1WVXLU0dER6XSaK1euUK/XVT7m0tKSmn7IutflcpHP5wmFQjQaDSVK0XVd7QzyyDiZTFhcXKRQKHB0dKRAtw8ePFCIOynsikaj7O3tKQr2eDym3RnNRExTvF4/R0c5lT1x+vRphcvzRNzkcnm2tnYo5E5YO3WGyGRKpdXh1Vdf5Xd+93f5+z/7s8QMJycnJ4oP0ahX1cj02rVr7O3scO/ePZ778Ef4gR/4Ab74xS+iTacY6ER9PnRrSrteIeh24ovFuLW1yeOPP040mqQ3noCm447EqReLuN1eBr0hw+4Yj+ETCLp2R6R8z66BQqGA0+mk2W6xv7/Pzv4e5tSm22mRTcbRNJvRWPRjYrEIIxt6ozGpuSTmpK8Edw8bmcbjsdKqpFIppTLVdZ3d3d13cTAbjQYbGxvCdzJjhUhrvSwJ5Nc9zNpIJBJKFCf7RTK7U+pxZLNTfpSiJenElFOy7/Z4TywKhsPBcNinMktNksGu8heSN4ZQ9b0Tzy2Px4AiEo/HY3TNRsMCe4rhMAgFw3Q7LdVg8/s8DPpdDIdGcSePaU7xeVz4vH4CgRCDwYjz5y7y0rdewel0EYsnGIwm2JrG3bs7nOTLWNhcOH+aTq/LeGpiaxqaZquxkTRVyRwF+bNlN3pubk6VPNJHL3f0hxWPUnAlTwjSQZlIJJTxSu5MpmkSjUaVpbrb7bK0tKQaf4Ay2cjGWLVaZTAYUCqV1PhM6uglqUrmSxwdHSkgiDRpHR8fY7nctLsC8a4ZooHp8wdFOE0iSbsrVJ5Hu9tcOX8Rr9dLNpvlJHckUPAzSbjcwUulEk888QQ/+F99lL2tLV751ss8+xOfEAKmhUWcuoNUMsGPXr5Ms9nG4w/gnE7ZvHGTWCxGMpkG3QCPB/J5Wq0Wp0+fFv2WaAzDnLDi9eKZLRCtTptOv8fZyVn2DnPiGrQtugPpQ7HwRkLoFljYIkfCpSlJ+sPN2mg0qk4Jov5PK+Buu90mm82q06EUEw0GAyKhoDrdSqxeIBBQpY5kIoxGIyazMfBkMlENbfm1gOoZSEK5vK4kMv6/CHCrwyGOzoFAQOUlyNFOIBBQtXcgaNBo1JTJwzRNTp86xeHhCXatKZpVpQqDmYRXx8tU1xj0ROfc5xE0I3M8QrP92FOTZ55+guOTAoeHh9iWSa/bxh+IsLm5yT/42f+emzffptfrUag0MEdDOoMR9dYxxWKe+xdPEY9GuHzpDOVqiYX5LL1OVzUTJXI7Go0q66u8QHK5HIuLi7jdbgEamanbJHVJ1vVSvisbSpPJhCtXrmDbNtevX1dZmQsLC4r/WCgU1CJkGAbz8/Pq4pE6gaOjI5VRISXU8kLt9/vcuHGDcCSlQCyDwQC/369cpfF4XL1HuVye1157DZfhZmpa6JqTfEEkXXsCbhVXv7YksiszmYw6yXU6HVqtFoeHh7gMg6eeeorHn3iSF154gblsGsOy+dEf/iHe+M7rjAZDYXvXNazphN3jY3ETBvzYU4uN7AKa10u/XMMXCGC1utTKYuR7cnxMeWYuarZbtDptTgoF8sUCr7/1JolEQpxEdR2H06DVatDrNhkN2jg9bnq5HNmVVVweD+VqhUmvoRZmucjGYjHi8TjJZJJ4PM5gMKBcLqmbXO7ivZ4wZBUKBbLZLOl0mkLuiN5Mh5NIJOh22oxmjEW3y0mtWuHpp5/G7Xbz1q3bpNNp5Y14mBotQ2Pcbje1RkellC0uLpJMJhX38XtNIL5vo1HTtH+naVpZ07Q7Dz0X0zTtq5qmbc8+RmfPa5qm/ZamaTuapr2tadojf5tFQdcdvP/pD9JudtExsExwaE5SiQyWCUsLK+ztHDAcjDEcHgyXj3ZrgMcbYjSa4nA6CQS8NNoFBpM6Y8vE0mE0ndAd9ukN+soR2Ot00AGnw4HH5WI8HDEZ9HEbTiaDHvVamcLJHoYx4Q8++3/SbByztBhlORvh4rlV1pbm8Hs82JaDQr7D9e88YP+wR6vj5dadKt5ghN7IpDucMBpbnD1/gUqlhtPpptftEvD7SSYSaLqLqaVjazq7+wd8/cVvsLu/S2/YIT2XZPdgk73DLTTNQaPRot8XPIPhcMz29i71ehOXyyM4le0ut+/eo9Fqs7O3T384IpXJohtOmu0OtUYTp9uDren4AkEO8xWiqXkKlTomDsbmFK8/wOHhoRj/TsbUqhXq3TKbe/eotirE0nGcXi/lepN2z2RzJ8dk6qFUGdJotplaGol0mv38MX1zTHPQpVwt0em0WF9aIBONMDYtsksL1DsNvEEHtXYRzRhhaibNTou5pTVu3dnm1Re/QjoewGXYrJ8/zY0Hd+liUR4O6No624UK9aHN6noG6OPUJgR8TjRtCp02HiaMKidY3RIR5wB9UMIRDuEIhxg5dIxAAM3tod0fMJnaJBNpPG4fve6AevmYqTnA6QvRGE4ZuyOYRgivP4I2HjEf8qE1TnDqohR1YBPwuUglInhcEA66MfQJ9rSP36sr74p0xUqQrlyEJXHM5fVjuL0EwlEGYxOHy4OtG4RjCVrdPstrp/AFwzg9PsLhMK1WC8Mw1JRD2vxlTEAmk8HrduB1O5jLJDg62KFWKWCZQyzze5OX/jYnhf8L+N+Bzz703D8F/sq27d/QNO2fzj7/J8DHgNOz/54Efmf28Xs+3G43R0dHBINBgsEge3t7OJ1OyuUy586d4/j4WGCt94+V6s8wDJwOQ8VnHRwcKIONLCkmkwk6GpZjiqELTHt0FgM+7A+YjMZMzQGgEwqFiEQiDCcmhsPJcDxiOrWVnNTjdbG4NM/NmxVabbFLnL9wFsuy+PO/+DPOnj3L4uIi33jxkGtXrhIIiIToaqXO3MI8TsNBMBah027R6XTwB7wMhr0ZlUkc/3/kR36Yra0t7t65T7Ek5tuHh4csLy9zeHhIu92mXC4znYqQE8mfPDg4AF1AaWQOpq7rLCwsqCnIyckJ165do1wus762ojQGmUyG+/fvUy6XSaTSGC43hmUTjMS4e39LjIJDcSZTjeFggi8QIhSJcn9zG1tzzvDmPSKRCNlsFtvSODk5YTieKCWlIkxZmjop1WYlTbXeEI02hyH6CF/4Mza3t9A0jctXrnF0dMRwOOSll17ip//eT3P7jRtEZtzMzq260B7gxKE7CXnFzXL9tdfweQx6nTYfeu6DzC0uELBdSuE3nYzIpBLcvzul1aiRTQsX5NXLF2l0BNNgMJ5Qa4pG76DXw556adZLPPn4o9TrVXzRJIGA2JHjsSRnz20odeN0OqVarRKLxQiFoip4Vr4Wksshd/SbN29ycnKC0+lkbW1NCcPk9ZxIJLBtm7t376opVTAoyrNyuawiCw4ODpTOREYgLCws0O122djYYGtri0QiIaYP/zGGKNu2X9I0beWvPf1jwIdmf/4M8OJsUfgx4LO2KG5e0zQtos3CZr/Pz6BWq7GysqLkt9ISCqibPBgUtKV+v6+aKlvb25w/fx7DMCgVinT7PSxLGEUeRlKFQ2GYhZtg2cpcsrwyRygUYTqbvfeGA6qVGgFsTp3a4N79+9y6dYuVlTWazTof+cjzXL16ma9+9avcvPkWHo+HjY1TbG9vcuPGmzz7vsd49bXrfPD97xNKsmGPCxcugC1uEgFvmTIYDonF5tE0W8FYisUS+byAxkbCImAkFhYqxcPDQ+bn5+nNlHiTiYh/lwxIj8/7rgCRdrutmlwyQ0DyGhwOB8N+H49LyF4zmQx3797F6QnQaIsSYopBs9XBnGr0B0Mq1QaDgcg/SGfnGE9sKtW6ilIfj8eUS9UZIl803ZyGW5U8k4nIe5zaFqY1pd3uMhybxKJRpqatVJ7FYpGQF1ZWViiUS4xmo8Nf+qVf4nN/8Ic8+9QHWVlexjAMktEgGg567Q7D4ZiG3qRWq80AIza98ZBWu0t/OMB0+Mlm0gD0e10G/R4Bvw9sC2tq4jQcJOIxkqkIx/kCuUIRt9s9Q9q1cDps4pmk6vHIa7PXE/Jwt8dJKpVSidPS0SjDV+RUQYqW+v0+8XhcsRRkboNsDkqHayqVUorVUCjEyiwtzLIsBQeyLEuV2FJ1KonikhAtYUHJZFLIzf8TjCTT8ka3Rbp0avb8PHD80NflZs/9vxYFTdM+DXwaIBmPcvHiRdWEu3v3rlocJM76jTfeIJnKCPXYqE8mlWAwGnH54gViiTgej4vDo6e4c+cOR4ciH8GYNYBCwSCGruH2+nA7xYLRaNSZjEYUijmhKtMEaWlqw8LCAvOLS4xGI5544imy2Szj8ZCVlRU+97nPcXJywjPPfEA1Qb/2ta/NVHsu3rxxh1DAR63aIpmM89ijV2g0WtTqBS6ev8Cdu7dIpRIsLi6oBp5QCmocHBzh9wdF88wdYDyaEAmLpl6321UCpkgkQjKZVN4Qh8OBwylYfcfHxyq9OxaL8eSTT/Lqq68Sj8fZ29sjk8nQazdxYLGwsMxffOkrPPb4kzQ6PfoTm3K1xuLyKl/88tcxx8NZA61PpdrBtjTi8ST37m+zuLBMp9MhGksS0fy8+cYN0qksn/rUp/jMZ34fTXMQT8QZmWJyIbgPQpvR7Qbp9vrYtk7+pMzp0xt8+MM/wO/8q39Fvd7kfY9foVpv0u33GIxnmYmf/zzr6+vcevsG5mSE2R+yvrqAy+XizJnz+N1BavUm7XaH7qDPX37lL7l27Qq397bodrusZJeJBsVMX6ZztesVQj43GlN0Q6N0ckQ0HSfg9TCdjFmcn2NsCrhJIhmjXKlQrdpgmXiC0YeSuyaUihUVZCRNaYPBkO3tbTW2NAxDidok6UrmMCwsLCg4rs/nU7xQufmFQuLkeevWLYB30cOlGM3lctFsNpVydmVlhUKhoCZT0WiUUqkktDLWf77pw3dbfr5r8WLb9r8G/jXA2dNr9urVq3znq18VlN5Mhrm5OcWpazSEPboza8R0Oh2uXLvKdDohk03NEqTB5dDxOA1cbvFrOTQNXbNxYDMc9LAtE3MoZtDhUIipz4NpQbfTFQjuqQW6jtPpxtZ0vB4/sUQcv9/P/Qe32dvfIZGMEY2FefmVl6hWq5w9e5bnf+A5CoUC586dY3/rmPsP7rK9e0CtVid3csTK0iLnz57mm996mXQ6gWlalEolptMp6+vrjEbv4Od0zaDd6tNuNRSivlAoKJvx6uoqtVqNYrHIysqKQo2nwoIPWS6XSSaT6ij7pS99Se3CJycnIicCi5OTE6KJFIbTzQtf+AJv3bqD1x9Ed3nYPirS6A5xztx6S0tzMwaAsJ37vAHypRLz8/MMxiNajQrPPfccb711E81wks3O0+v3yWTm6PR7uF0eNHQGgx7D8ZjRZMpkMsXpdKE5TH7khz/BH//xH2NaU8LhIPe2tgiHw+TyJzz55BP0+30q1So3btzg4vop3nz9Oh/7yEeJBYXlu1lvMRiO+fqL32T/+JB/8On/jtYXP8+t+/e5s3ufQCjEretv8MyzH8DXc+FxG7zxxhvcvPEGS0tLLC4tsbOzQ7GQIxj2k82kqDaazC8tc/311xmORSZnMi5Om16PayZZ7qlJQ683IBIRXg6v10urJazp6+un2dnZURZomRwtmQ9ra2tYlsXx8TGRSIRMJqOER1LOL0s96Y/xeATjQobblstlMpmMamZLZmOpVCIWi3FycqJEUXL68b3SYP6/LgolWRZompYFyrPnc8DiQ1+3AOS/3zcbDgb8xec+h23bLC0tkclk1JF6OBzS6XQ4c+aMwGe53dTqdeypRSwSpVGtEYnHuHfvngqD1ey6ogxJvLYxw1z5Q6L+6raFlrzZ7YkxjWEIp5rDyc///D+m1+/z4MEDqvUGX/7yVzk82iafz7O6ukqlUlFUplwux+HhobiIczkS0SxXr17ltddexbJM3O4UlgVv3LjJ6bVVmk0hp41Fo1QqFXZ2dmm3u1y6dInjo5NZLZpQcFcpOFpaWqJcLqsYvJWVFfL5vDqSOhwODg8P1ShXHhuj0SjXr1/n2rVrCvpSLhYIBoO88u3r3Lp7n1K5iq05aHe6+MMuzKlNKp2lV68Tj8dnM/IZiNYfUt1rOT+fn1/kwYMHnD9/nsPcCbFYDKfLQyqVonjnLpFIRMzfx35l5PL5fEyGE1wu2Dh3VnXoI5EIzUYFuw1rp9a5v/mAbrvDyoLA0kWjUc6snyKZinNylKPeaNDs9Gl3ehRKRbB1tra2eOaZZ/D43Hzlr77EUx94P+NihRe//jXW19f5vd/7vZlD1WI6nVCrVdA0e+aATbJ7sI/X6ybo9ykKeCgYYdAf4vW58fmD2DgYjQez0kCg/G3bptcVfYPTp0/PvA9FZV9+ON1cBtNKxqIcN8uR5ubmplh0Z1AbyeQol8uUy2XloZGlx3AoJjOJRELxQjRNo9FoqGnY+vq6+lx3/P8/kvxT4FPAb8w+fvGh5/8HTdP+GNFgbH2/fgKAzydyBPL5vOoZ9Ho9CoUCw+GQjY0NcYyyLNxuFx63i+Ggj8Np0O126HY7BIMBUskEw9UV7tzdxzJNHJoTHR2n4SQ005/7Z+5IScmNRmNcvnyZdDbD/XubHOaO+ef//J/T6w85d+4cDza36Xa7nDl7ltOnzgh7a0jImGu1Ggvz87z66qusroqR0P27D3j88cdxedziTR32+fo3vsW1q5e5e3+HVqvFE489gtsVZC67IkaWkTQ3b9whlRJ4e4dhq0h4SeGV/obBYEAoFBJkIK9XAV7kwiQJvpVKhbm5Oe7fv8/CwgL7+/vs7u4yGo3IlwSopt3r0WgLX8R4CsOJiUkLyxaAklRcYPDm0nNYmkU6kaRarRKJRKjX6wz7OovzGba3t8TJIxoXI7fuAM2hc+PGTVqdDq+99h2CwTAjs0M+XyAajaNpTsq1Ek8/8RS/+iv/DK/PT3fQJ1/KEwyGaXZ7dPYPmVoTXA4HlgaXLl1gYWEOw9B5/bXX2Lm/Q7VRJxSOk5mbp9cfMpyY/N5nfp/1M+vUmnXuPdik0WpzKpGi0+vzgWeeZWxOCUdjivE4NqcsLC3jcLooFo7xuAw69Q5vvfWWuB6lJX8wZDATGQUDYTQcaDhmLtMwXq+HXq8jeje9IYbDhcvtpFAoEAqFFHz35OSEs2fPqrDe27dvs7CwwGAw4M0331TGqkZDnBYjERH0I8Gujz32GFtbW9TrdRYXF/F4PO9SzI7HY7UQjcdjFhcXVT6JTBf/j+IpaJr2OeDbwBlN03Kapv3D2WLwEU3TtoGPzD4H+AtgD9gB/g3wc9/v+wPYtqWaMdJH3u12abVa7xLb9Pt9eu3OLOKtQafVZjRbIZ26SHYOBALYM42AdJXJY5kUePT7fXqdLg5NZ35+nnA4zNbmDsViEdDxeQOKnDM/P8/ly5fZ3t5ld3efU6c2WFhYIhZLMD+/yMHBERcuXJoBY12cv3iOYjFPMOhnZ2+X4WCEZjjY3TvAaXiplBvs7OaoVlocH+Up5Mv4/QFlkllbXyGdTmJZJi7XO+BNmVMhYZ1S6NJoNMjlcso9KdVqkgItdwlpk67Vauwfn5ArlukOxqAbuDw+pSY1DAOnoeNxOwkHQ4yHI8bDEV63h16nTTadwuNyEg4GWF1eQrMtPB4fhiE8/hqOmRzdORuVady7d09AaPqCLiSmOT58Xj/Pf+Sj1JtNqhWBiXe73VjYjM0JY3OCwzAIx6IkEgmWlpbI5XKUyyVa7QZje4rm0BlPzRngVMh7z5+/SCGf59TaGmdObxCPxsidnPDmW2/xb/7tvyUcibC3v0+v36dQLDIcjXC6XNTqdfq9HpY5xTB0hoOeCtY1DIPp7LW00Ol0ekpoNx6Zs9OaAeiqdyATnqSBSTpWZW8IUM1FqWCUqLaHFYqSuiVFRxL/Byi1rMxBlQnq0jov+w7yfngYA/83Pf4204ef+hv+1/Pf5Wtt4B9931Xgrz0kdkyaheTFubi4qAAllmWhM6VYas/wWsKaevPtW6L7GvLj97qJhgWkpN/vg2VjTy2siXjTBjOPgcsQKT3JZJKRZaDrBgsLC3i9fibWlGQizcraKrpuEE8kqNVqbJw5xeHhIcfHJzMox4SPf/zH1Q24v7/PBz/4QTa33+IrX/kaxdKA0XDC4vwCum4QDoR568Ydstl53r61zVe/9HUee+wR3G4nhUKJM2dOE40GaDbr1Os10pk4LjcYmkclUiWTSWVokYlXe3t7hEIhFpfFRSM5iHKi4/P5uHnzJp1OhxdffFE4+twxRsPh7PjuQrfE6NXnduF2OXDpNrptsnF6HZfTQafTYXVlifF4SLVSmoWuBtjavEs6nSYUTuD3+2nUW7OFfUggZJBOZWl1O7z88qsz0K642bOZeSqVGqn0PA8ebIGtoxsOTgo5dGzWz5xnMJoAFktLiwSDftrdDjdu3CAdDtFpNHDrGp/+uX9ENBql1e5y7959kv0xlm2zvbfLE088wQ//8N/hP/yHP+XKtatc/9a3+OQnP8kLL7xAu93mp/7bT/Grv/qrPPLII6yns5TrTSKJFMdbt5lfWmZrc5NqUzAU3V4vY9PENC10l7hlpGV+OrUVq+Cdml8QoEUvRHhRFhYWFB/hypUrqrRwu91cu3aN4+NjJR7TtHdyUJxOJ6VSSW0I165dE7g4y1KNw0qlonwWkg5dLpcVnFdCiw3DoNlsisXmvW6IAhTWStbMkq8okdg+nw+Hjmqi+DweprOmi1z95PjH63XPtORTJpMR/UGXsBnA7/dijicEg34ikRDdbhuHRxyF05kMiYSDTr9Hv98nl8vz0ksvEYlGqdXqZLMZ9vb2iEQiLC8v8/Ef+3G+8IUvqBFTt9vF6/GzsXGKVCrFgwdbTIYmt269TdAfwhxZLMyvcPfuPa5cuozX5aTV7GFOx+gOQdxJpaM4XU66vRamOabdaRLwuBS3r9frKfutDH2RUI3NzU21m0iK0PHxsYrik/Vqr9djrE9xGC7cHh9OQ8BAHNZUpQ15PB6sqUmv3eHcxhk2N+9jmxM0y+bU2gq6rnPjxg0WFxfp93vKo7+/v084HMY0xZze7fJizoKBZV2s6/rMugwbGxt89rN/QDjgxWbKuXPnmE4ndPo90DUWFhYJhEMUTnIsZdP0xgJZ59Tg6mOP0Wg2WVtfJxiJU2u06e0fwlSMQD/87PP8i//lX/B3/+tPcOvGTVqtFr/8y7/MxYsX+fSnP81v//Zvq8Ceo6MjhcQbj8eKcBWLxeiOhIR9PHMaOp0G5tQm7A8o9P506mEyns5KOs+7KNwy/GU4HHJ4eEgsFlMaBTlql9Qmy7KUIe7hyVQikSCbzXJ0dCSus1nzeW5uTrFM5YlgNJqVN8GgCP+Nx5Xhbn5+Xp00NP09vii43e7ZzVcjEo0q6e/Ozo6AhkyndLpdUqkM85EEvV6PZGZRdGzDSU6fPo2u6xwcHGBoHhbm17ieu47XHyIYidPpjVkLZui02ixl50nF4/SaNQaDHj2vuMFqrSL7+4f80A/9MNs7+6QzUZaXF7l16xarq6u879oFtGFb9D1CHr7zza+iDdu879FH6XZFzNnv/M5v0Rh0FPxkMBiwtrbG1atXCQaDvPjii0SSHnaO7/LY40/x4MEDRpMBr77xBt9+6w3m0hk+8fEfZTQasbwQYGVlhVQmILIpLpylXC4zvygyDx57/Enefvtt0hknb775Jul4ikq+jtcvtAmd9pA337qD7nZy/8ED/MEAnd6QUChK1BEUwJNEGtu2KRdLZDMLVCoVHEOYz2RE46o3Ib0QoNxsk1lawh/ycmfrPsFgiOHUIleqCoHVrRt4fT5s3YE90XE6DVxTF7tHB3zgg8+ys3cAbjd6z4897hL2x5gMTH7mv/l7/NVf/SVzC1lyuSNOCiXOnz9P7sZNnn76abY27+OeTJmPJvDZDnrDCdn1BXweF7Vmg3Y1jzU8zb/73d+jPxqxtbvH8x/5CP6gwa/8z79CIBDgdz/zh9QbDU6vLYLLRalW5/9+4d8LDoLLSTIaZmdzi77fj2HoHBZKFKotzpzZmAUNh6g3WzhsJ4Ou4x3fQixKr98Fc0w4EaLcKDPVIjg9MQzLolLNEYvFOHPmigq6tSwxdZKBuEtLS8r0d/HiRaU3kAyQjY0NHjx4oHJEZMBxr9djbW3tXZg9j8ej/DZ7e3uYpok9mTJ0exn0evTtLqlYAoetgWmha+9x74M5s0TXajUWFxdxOp3s7e2JlbrbZX19fUbAzStyTS6XQ9d10um0mjTIiPlnnvkAR0dHjCZC03/tkSt0mi1Vp7VaLWKhEMFgkJ4h2AZTxoqOD6sAACAASURBVHz42Q9RPMnjc7qpVar81r/8TT7/+c8LoYhTI7uwyOVrj7Czs0N/NObilavEkilMG779ndcJhCM4g4L2JBs6o9GIF198UX0ejQqF2+3btzEMg0uXrvD2zRsKifbCCy8IqGm5KObSdwfUajVKlTqFglj5Y4kMb916m8ODIxHm0mhjTjSGE3Fq6XQ6lMpl9vf3sTSIJeIsLCzQ7or0pmZLuCLlbpTJZNja2uLHf/zHuX/nLvF4fEacTrC5ucmlS5cYDgdMrZGCtYSCEZpN0dsxZ27LWr1OKp0VwNBAgGw2qxpkkjAkX5NPfOITfOc731E06/F4zFNPPcUbb7zBx3/sx3jjjTeEN6LXxTB0XDoMxyNu3XqbRDRKJBzk4oWr/PsvfJE7Dx5guJyMrSkvv/oK2/tHhONxOsM+gVCE9Y3THOxv8ciVq+ho7O/v49Qd/ODf+SHyuRNCkTB3b99hZWUFl9MzY3L6OHV6g+6gj9vrY2t7m/5sciKTvWS5K65JB9hTXC4DdzyKxyOYFa+//rqaCHi9XnVjj0Yjhaz3+XxkMhkRR+dyCfHYTBUpaeaSlCXHyoCaTMi8z9FopDJBgsEghu4QorxZItj+4YFigdrfYyb5noCsaIjkoNOnT7/LzbW1tcXGxoZyRcpfSGq8h8OhqqXa7TaGYTA3NzfLPrDVG9ZqtYjH46rmCgaDnDlzhgsXLjCXyWCZJrY55f69e5QKRQ4PDnjkylX+2a//On/3p36K82fPks7McenyVYqlCqFwlKklqMR/9fUX8Xj9tNpdMlkR6ZbNZnn66ad58skn6Xa7rK6u8jM/8zP83M/9HOl0mt3dXQXFEFLYkAqFcbpcVKtVXnvtO7x6/TWK5QroDobjCW6Pj/5gRKFYYnNrl1qjycQEry9Ardul3u5QaTQ5LhQZmVN8wRD+QIj1tdMMB2OYanicXoXTz2QyqvmYyWSIx+McHR0Ri8WIRCKKATgYDBSApdvtquPo/8PcmwZJct/nmU9WVVZV1n1XV/V9d093YwZzAJgZAhgQBCiSokCQIlf3ilyJor0rWbIlOeSVvAxJQcV6l6uw5dUBWTZF0RQFS6IhkiABEAQHBDADzH10T0/fd9d931lVuR/+lQnAQVBa7YYD9QWY6YmensrKf/6O931e/bqoqkpDbVGpVg0BWrlcFgMwtwdzTyrudDp7MfY2fuZnfoann34an8/HpcuXmJycZHFxkSeffJLLly+L8J+eBkCAdToodictVcWqKFhtAu+/uLxMuVFjP3FIvlRkdXMLWRGsxmw+T6NVZ2Nrk7HRCV6/fIlKrcra2hrFStlox1qtFi6PG6fTSSAQYHh4GLdb4NJHR8eFSpE3w1nNVhFlqKdteb1e4vE4IG5U3enYbrc5PDwkk8kYwCA9Qbyvrw/gzaF5uUyhUGB9fZ1kMmnYp10uF4FAwAg1ajQahntWx+PpbZC+jrZYLPh8PpGH0rPW6zh/HSjb/QHW6XdJQtQffPY3/vn/Yqix6vW6YQ++evUqExMTbG5uks3mDOilnutQrVaNXe/m5iY+n4+21kW2yuwd7NPVuoRDYdbX1ikUcvjcbnweD1azwJ91220+9pEnqZYqpFNpJkbGsVvtjI2OUsqX+S9f+QqrK6uMz0zz0vnznHvve7l5e5H7HjjN2MQER+YXKJTKjE1MkCsU8Ps8xGJxtrd3SCaS9PcPkEgkWVxc4trVa6gtFbWlMjI2SaPZYunOEuPjE7g9bg4PE1jMFirVGl6vh2vXrrO8tk4ynWVze58r125Qb6rcXdnE4fSws3dAOltAtinkG3XqzRaFcoX9ZJJmq01XMqHYHUiY6OuLY5NtaF2w9OAr5WJJfKg9Xk4cP47ZbGZ0eIQrV64IvqHLi9vtottt02jUDVFYq6VSrdTI5fI9MpMgXrXUNrLNhkW2ksvnMZstDA2PsLW9g9PhYKA/9haIaYnFxUXW1td49NFHWVpa5Fd/9Vd57rnn0CQTtYogSLt7EXf7+3soDgculxvF6cBmV1jd2WZ1axNPIEA6X8Tp9dLqtDlMpwhFo7h9Xkq1CharBdlkYmt7hyNH5nG6nNhsdvZ2d5FtMjtb23Q6Xe7cXeaBs2c4du9xGs0me4cHVOt1Uuks6UyGZlOl2eNfunr8yVqtBlqHWCyGSRKbtFq1Ymy8nE6XIUDS4wrL5bJhknK73TgcYvvT6XRYWVkxoK+FQoFqtWpAi3Xpsl4pWCwW45DQU73eGrNY71XOSi8H0+VyGXOKZ188zz/7le+fOv2uqBSQBDUoEAhw4sQJgzNosViMYFidFKTruPUTUF/z6JNbh8NBpVI2AK+6Hz0Y9OP1eolGo704OdF7WyQTa8t3KRdLvOf0GdwOJ3Q1um0BPvU4XbTqDf72q8/wP/7sp7hw8Q2OHjuObLUjW+2kMzlsdgdmi5X3PPiwMUA6ceIEExMTXLp0yfBq6EDWfD5PJpPpYc26PPvss+zvC16iZBEp2LV6XfTpWDCZbdQbLba299g/SFIoVsjmCqTSeaw2hUq1TrlSo1xvIMlWFKcbyWzBZlNwuTy0mm3sNgeybEOWbcTjcYPV2N/fj9Vq5bXXXmNmZsaAjtZqtbf1t/o10GPwdLGN2+1GtlmpNepoEkbcnv6++3rVglNxGEE3kUiE5557zqhWlpeXOXbsGE8//bQxKJNlG1JPRl4slBkeGqVUKtNFQsNCrdniMJ0hVyqTyRfomiQk2Uqz3cHt89LoqHR7n6tmq8XtpTtMzc5w5+4ymUyGXCGPN+AHTEgWM9VGnbm5eUqlMmtra2xvb6OqHbLZrPAhNFq0NeGdsdrsxoDb6XQa1CidSaHTlgqFgtEe6C5JwEjx0mEroVCIYDBIJBKhv7/fGAhPTk7i9/vfhmjXv4+OVwOMp7+OH/D7/fT19SHbrMg2ETRbKBUpVcooTgdur4d2551Xku+KQ8HaExMlEgkuX75sEIn0fiqZTPLGG28YJVA4HDZ2svpk9/DwELvdztbWFhOTI/gDHhrNCu12g63tdSM38c6dO6ysrPSMRVVskpnNtXXajSYH27s0e2Xu4q3bxONxjh07xun3nOVTn/oUly9fJhKJEI1G+bEf+zFCoRAf+tCHDHJQMBjk6NF7UdUOiUSKfL7IwsJRHA4XNpuC1WrHbncQDkfJFopMzszS1rpIJgs7u/s4XG72dvfJ5PK0Wm1CoQiK202xWiWRyWGxK7S6EolMnoNUFllxgcWG0xugVK4Siw8QCIQYGBqm3YV4/yCTk9NIkplmvUWzoSJbbIbzU5/HZLNZ7rnnHl5++WVUVWVmZoaBAeErGBsbw+VyMTExYYBjK5WKQdpOJBJ0ul2SqRTRaJRStWLkO3hdbs6ePYvW6ZLLvJmJeeLECSRJMuYJDz/8MD/3cz9nOCjL5TJmq0wuV2A/kcSmONhPpmh1JZptjf1UhkK1iWS14wmGqakdhienqLdaDI+NYbZaCUfD7B/u4w/6abYamGUL+weH1BpN7qyusbyyxt2VNRrtDvlyBbvi5J7jJ1DbXSrVOoVyhUq1zvrGFvWmKmC5dgdWm93gIlitVjweD4VCwVB56i7JZDIp3KKNBslk0sjm0B2S+qag3W4byVH6gaqvKmu1GgMDAxweHhrZHPq1GxkZIRwOE41GmZyc7EUiFIxcER18rOdx6nGG29vbbGxsYOulS32/17ti0NhSVQ4PD3nfhz9MZnfXsMvq4Rj1ep2hoSG2t7cZHR0lHo8b6U9//ud/ztjYGIFAgHw+Ly5WPkunozIw0E86naFcqpDOJFFsDvp7se+6WMjWC+gwSaLH0mPUnG4XNruLTm8gs76+zsLCAsfuO45abRowDJ28s7q6yuuvv04+e2gAW/ULqNN+9ciuQCBA39AI58+f59y5c2w514zIOJtiN7BtktrC4/GRyWRot9uMjIwZ2oNGo8HMzBFsNhuHhwlmZ2bY29sjFovRF4myurSMq9cj9/f3Y7KYjXmGV/Eb76Heiy4vL3PixAnKvSj5U6dOUW+baDYFTj6dTtPuNEilUmi9UBRJEuEy2Wwai81KvlQ0Yux1ebTH6cJutVLprcJkWebMmTN84xtfM/IJpqen+dznPkcoFOrh43thtV3BkizXqihOF6GQg0q5iEm2Eo700c4mCYaE/j+bySNZzBTKoiVaX19HkiTjvZscnqRer7OzvUk4FKRcKOIPBvAF/BQLOUbGxzDJFmZmZlAUha3dPQ4TCQKBEKVKhVxBPGnNZpm+mBOrbDYkyzoZS3eiCiWizyAr6UNAnZmpU6R13qiOc3O5XG/jLS4vLxuuRkVRBEm6d5hYLBa2t7eNFa9ugtO9Eel0mlqjAaUSFqsVi9XK3sEBXSAQDP5/s07/93hZzGa8Xi8XvvMdgsEgg4ODxlQVYHNzs6ce0wwBhn5q/uiP/ii3bt3i2LFjbG1toSgKFbWKz+9lbn6ar/3dBl6v8JA77CLSO5fLYzeJC9Gwgi8oIsmbmoaGiXK9jiSb+eGf+ikONoRH3R0OQKtFvidZLRezWC1wsLfF4f4209PT9EUCzEyNGU+DtbU1pqamKJVKfPvb32Z4eJjr16/TaLRYunOXvlg/V65exaEoVBtNWo0Wit1OvlhC0zo4OgqZYpl4PC6YCLt7PV17i1azyfrqGmazWZSl9QaDoTBhn8h9WJidQTZJXLtyGbPZLA6LeJQ7d5d69mbNYD0GAgHaqsrx48fJptKsra0JRBrCIdnpdLh8+TJj40O9ktnFXvXAGB42u22cbhfVeg3ZYiNfFKnO9WqN0eER2i2VaDBEo1NndnaWJz7yAT772X8tsgo6Kq+99hqbm5ukUim8Xi+zs3P4e96QYi6PCtgdLhLpDOFAEIfDQbpQQXF5Wbp7l/HxUeYmJsnnRWamRod6vYbW6RLvjxEMBrnw2hsi6i8QRO3JmovVGodXr3P/qRP0x/txe3xIiDSutfV1TBYZk7WJ2uv/TRYZtbdetHgU0Zo0m9hkUYWWu23sdisCCUsvaMdk6Ap0MtPBwYGR0qRTyovFotFW6IeZfoDotmt9ZhAKhbh06RIgSEu61dpmszE5OWmY65xOp/Ez6oY4XQb9rsex6b1RvV43AjeTySRDQ0PIskw8HueNN95AkkwGxmtnZ4elpSWcTifT09O8+uqrWK1WSqUSuWoar9fP6dP3YzbJfO/li6TTKVwOF4pZRjaZ3zKVFW1IpwtOvx+Hy8NHH3scUw9EEYyG6XQ6JNbXuHjxIgBLS0tEIhEymYwRfxbyefnQ+x9neW2dRCJBMBhkdnaWxcVFUqmUoT8fGhoiGAzyvStX6XQ6LCwc5WtfewaP243VaqFeNyNbRKpUp9NhMNZHMnHYE3C56DQbRPxBOp0OQ3HheCuVSoR8HmrNBjYgn8ngslqxAKGgn3qzgcNpp6O1aXdVEokEk5OTmBFeiuRhgqnJSc6fP8/k2Dgmk4nDw0MKVZWFhTmuXb9MNBpld3cXr9dDo9HslboCctNsizJ4YGCIQr5EX1+celWs74ZGxYpycHAQr9vDxz/+cX7nt/93Q3r7W//6t/jUpz7FmTNnuHXrVi/A1sLW5rZRiiuKQrPVIRYfwG4XAa4Ws8z21iYT41MoDhvJgyQTE2MCRrJ0g8G+OIVCgYmRYV5//XWGR8dEpdaoIyGRSCUJBvy02iq+YIBIX5RkOkU+k8XldtMX72dlZQV373BK5fI4XS7sdgfegB9Tp24EvApPSg3sogXweVyGIGph4ZhQXRaLbGxskM1mmZmZoVgsGjRr3QRVrVYN09309DQAW1tbJBIJJEliamqqNzOrGFzIjY0N6vU6/f39tNttEomEoYCV7TbCjggOl/BSeHwCQhMIBQ2Z9fd7vStmCpqmCXoQGINAPdnG5/MZ5bge0Q4YZOJAIEAsFjNKbl1GOjExZhB1dU6dPqnVraiFQgHF5WR0bIyRsVEikQj+YID19XVye3uUc3kq9RovfvclTCbw+TxUq2X8fi+ZTIpIJMTExBjb25tcuvQ6Pp+HVDLDmdPvYXZmjqHBET765I/y3kfex8jwGNFIDJtVQbbYCAZCZPI5SqUS9933gOGgEweUAIKK1V6JcrnUk6mKAZ7Dae/tuxuGE3JjbR27WSYWitCo1jD3vCRTU1PYbDYajYaRnK3H0DebTex2u7F+1FWToVBIEIo6HdbW1oTiMxrF1dsE6KsufZKtdjsoLjEE1tsHnRysNsBpV1CsorSen5/nxRdfNNK/f/d3f1cEBt+9a+QoZHJZIwNDTz6Se9Fupp613WpXjOi0XCpHLBYjHA4L92NXM7ZT9WoNxWan1vPO6INgp9NJsdAL4+1AvdVkYWHBWNFOTExw7NgxUqkUSm/qHwiEsCp2sTru8R51F+5bV4SqqhqZoKqqIssyoVDICNxJJpOAAMnoSeI6el+vhPVUaX3wqw8c9VV2Pp9nbm7O0MTAmz4K3ewUCoWMvFLd86Ov6Vutd/mh0Gm3sVkk/B4nfeEAG6vLeJx2pK5Ks1YmebCL3+M0es7NzU2Gh4eN/u/GjRtMTEwY0VyF9SK59QJyy8Ls2BThSID4cJSx2VGaUpdyW6XQ6lLvWpFrJvyOINVinWA4imQ2oXaaBIZifPeFb/C3X/oCe8u3efbLXyG1uomlrtLvCzE/Oc/Q4ASjo0f48Z/+NL/wP/8q0cEpPv6JJ4lEA8wemWRmdoK7K4t0tRb3P3CC6Zlx5uanaXcaxP0e/uknfxZaDdw2mV/5pV/EjIRVsWNzOGkBtXab3Y19WtU2c1PzBD0hhmKDjA+N8fEnP8pgLI6mtnDarMycuof11C57+TSSw4bD48VidWDBznBsnFZJ4+zxh+kPDHPm4bMcpJJ0ZRstLBw/8zD5hkpDstBWbGxlkzj6/ExPTxvCo52dHZrNJrlcznBu6mhxh9WFWZNBs2A2y3S7GqlMGqfbheyAvsEYLr+b3Z1D7DYXhXyFbtfEr/3ab1Ap19G6JoKBCH5fCI/bT6taxmqGSNBH8mAXi9Qlm9pnY2OZTOYAn8/OrVuXcLhMaDRJ5RIUyiWWVza5tbhCvWUmV2owPj3HxSs36FpklB4qPZFI0Na62BQ7JqsZk1XmW9/5Nn/ztWfI1ypMTEwQCYfJpNK0Gk2cioNoMMLsxAxOmxO11iboCTEcHyISCOJWHJi7JqROl06jjQUJta4S8PrpC0colUoGXt/j8RCPxwmHw0bg7ZUrV4TWo1XH43YQCvoEJ/Rgl3wuTaNeYX5uBokOil2mkM/QaUv0RQe4s7RKrG+Q9z36QzQbHTzuAD5vCIvZjtvlxyrZcFpdtKoqtWKdwb4h7p0/js1kN7JCvt/rXdM+6AEm6XTa2Nm6XELiqyiK4BTuJY2+S2cG6Cz8dDoNCGrSUGgQVVXZONjBHwoyNTXB9165QDw+wEj/GJFQlJA/hMPm5KFHzvHC+ZeIjwxxcHDA5Ow00ckJvv5XT5PLZGn3shss9TbZfA5fIEij1cRuFWWs2+02VnDNpngavfDCC2QyGSKRCFtbW0Z4h6IojIyM9HT2KpevXCEYDPLaa6+RzmaYnZ3l0tUrdDodYv1xwzc/OTnJrVu3OH36NNVqlZWVFUOANDAwgM/n4/qd62JXbjIJ1aMvSK0q9tXLy8u4HG6+8Y1vGFZb3bxTKBYMnT9g5HY2m02iYeEgtdktlMtFtrbT2O02Y2qu8wJNVpuB4Bc6fCEiq1aroInqb3Nzk+npaeN6njgpeJEAZrP0to2S7pjVhUGaptHf38/29ja1Wo3bt29z5MgRHE4Lw0OjFApC8zA5MWP4X0KhEHfu3Hkz79Hc4x9KoiTXeYVFtWgoCRcXFzE1VEOhiUlUbhZZZWnlOi21YwwTd/f3OH7sXubm5nj55e+SzaVFSG29jtUiU6vVsFjMhKIi3bpYFH9PIBBgb2/P2Fro16PefVOcp1vT9UAhncSkV8c2m2Ig2d663dC1DZqmGQe3rrrUE7GsVquoIMzvfOu/K8RLf/SH//6zHzj3HjY3t3AoTkySmWKhhNYVpOdGo0k2m8NiFWsaXc1YKBQMoISec1gqlWhWmhw9fi8m2czu3g5Wm5WWqiLLFhq1Fq2mSkft4vX6aNZLeIJ+AtEwJ888QKvV5Ld/61/jUBRMXY0Pf/BDqM0W5VqTwbExvIEAIxNTxAYGmJ6dxmq1UK1VabUaPP30VzjY3+XGjRsMDw8bk/zBwUEWFxdZWlpieXm5F4W3R7FUor+/X6Dse8DNkbFRFEVhfWNdQDs9gi40Pj5uyGLHxsaoVqtEIhFjIt0F9vcPGBkZoVyqEvAFaTQaeN1eTpw4QbVS5tSp+7hy5QpDo/2EAiEiwSixaB9SF4IBP/Vqlf3dHVwOB9VymbGRKcxmE1evXsZkkgyyUCAQpNVUaTaFb7+ptnuo8zfnQ2KA5uFHPvwR/uIvvojVasNqs/OFL3yBsbExfuEzn+Zzn/scwWCAcFjs6Vtqk/2DffoikbcF7OrtTjAYZH5+3ijLO73DKxYTaLuhIYEfAwgEhZHN43Hh8/oJRyLs7OxQyBdwOh34vSKyHg0qlQqNRpOhoWFq9RqZXIH17U2y+Tz5Uhm106bT1fjJn/5pvvX8twhEQizMTuFyu1hZXaPVrOP3eelqXdA0FIcCmnhoub1ew9z31rZMzyk5ffq0eKglU2QyWSQkZNmK1WqjkC9gkkysr2/QqDeQZStul5v1jW1DR/LWdiOfzxOJRIw1p77d0TH0eoBzJBLhr7/2LL/0y7/8fcVL74pKQdM03D4v8UGhT1AcDkyyhZ39Pfr6+rDYrFQbdZxWq1Eh6CenPmXV34RgMIhdUshk0qiqSDCKRCKsr6+jaTAUH0NRxNOuUMrT7ISIRSIEQ2GajSZul4eQP0ghm2eof4B0IoVJk+gbEuiziZlZzGYJb8BPPpfD7nTwvdeeE4Rmh4iGP3nypBHH9v73v9/gTDocQsBTKpWo1Rp0ul0uXrxIKBQyJLcmWVwSi0UM8UanB2i1WmxsbxEKhag1G7S1LleuXyNXLDA0NERb63JwcMDQ0BAH+wkxoFO7nDhxgksXL5FMpohEIly69DpHjy4wPDDI9773KhIyo6NjdDoa1VIZqasRDYUpFvOEQgFWVlbodoV7NZ/PoqEaq7FQKEw2K3T2XcmExWzGKst02sIINjQwSLVSotvuYJZMlMolFKebYMiPyQxPPfUU0O2p+pzUGzUjWVkXpO3v7xuAUrfbbWj733jjDT7xiU+Qz6e5ffs2fX0DxPoEpWh4aBTJpJFOp7BarQwP92M2m0mmRGK3bBahOqbeASZJprcZ2FZXBVQnmUyiIaFpEm6bFYdk4pmvP8PZBx+k0Wxy5cpVBgZEnoZDsbG1sYLT6cDpEBVkSzVh7wUJ22w2o6rqdrt4vV6y2SzBYJBms8nAwADbmxsG5FZXIZpMJkMXoudDvlXarAfadrtdQ/XY6XQMY1Q6nTboXIqi0N8vhqeKotDutN/xfnxXHAr6BmF1dZXBwUHjHzI0NISmafT19YkPSkN9W1afLpl1u92cOnWKnZ0dnE4nQ7Fhsc/3OFHsVuoHFR48e5pkIs3tW3fJ5fL43EHKtSqNZonHnvywoYG/ePEiI8PDVMsV3nP/aXa3t5E6XdzhCIODg3Q7beGFT6dYXVmmWMxz/wMnqZXFAHRocJQvf/nLxCJRPvwLn+FrX/sah4eHXHjlVYaHh6kUSwwNDWG22uj2gkmXlpYIR8WTzBsQXMZWW3gKkslkz7Irk0gksNvFoCsejxsy2aWlJfz+IEtLy9x79DjXrt3g1/7Fr/Lss88SDUWZmBinXCpxZG5WBMEGQnz8iSe58NolGqVKT7kn2q+h4X4KqRSS2sFkN5FOZxkaGqJQyOF0ulDVFvl8gQfun2R62sLt27eRLOKp1e1igF1yuSzz8wtoCLJxJBLBapMZjPdjsVg43NvFaVeolAo0akIIJXU79IVDZDMZ/H6/sa7TU7B1O/iTTz7Jt771LT784Q8RiWSMNd2tm0uGMa5aKxGLR9nc3DaEWH3ROBJQrZYpZHPIspmO1sblclOv1/m7Z74GNrGqbrYErblWb3KYTTM8LD5TxWqFRqNBULGTTGcYGuinWi3jcHnw+jxYLWZMZpm+vvjbDrhUKoXL5TJ0K2azmVwuRzabxeVykU6JwNpyudqDrLiNGc74uEC7pVIpul2hiAyFQuTzeRYWFgiHw+zv7xstm67wtVqthqlQH8LHYjEODw+xyu8sXnpXtA9/8G9//7OPP3wGxeGgv3+AfKHA1NQ0xVKJbC6Hojgolcp4PKI6cLvdximoT1dDoZDR26ezGQ6Th5w6JcQ44aAfl8NNR+2QSmfxBwLIVivvffx9LJy4l3yxhMlkZmdrm/3dffoifaiNlmhhOhrTUzMMHz2CqrZZWlykpaqkUgkikTA+n5drly/j8XhYXLxFvdbk3Llz/N0zz7B4+zZ3l5fZ2triJ3/iJ7h58yYSoqctlMqGWUuSJGq9wJr+wQGhj6+Ip+bCkTmk3vop2tdHsVQy3HZ6rqTabqOqGqFgBNkiBEXNXpLxzvYWnW6beKyPSqVMs9nA5/Pw10//NW21Q9AfZO7IHB63m6XFJaamJohGwty8eR2H20+9XsNkglqtyt7eTi/Ny0elXKVcruB2u+mP9XG4v4/H5aZcLIKm4XG7mJs9QjwWY2tzA6ts4QMf+ADFQoF/8plf4PLl19G6HdwuJ8PDA6yu3OX4vfdSLhVoNJrMzMwAGFFpbrebS5cuceTIEZaXl1EUBZvNyubmNi6nB7PZQqOuEg5H6HY1oIvfJ7B5icQhVpuDcrnChz74AdLpDLLZzIkTJ8nnstRqdQqFPDarjVq3QxcwyzKYzJjMZoLhEJgkOloXVW0gmTTUegvZIlOpVjnznrNYzGbKpRKyTcbn8dFSVbp0DYmy2+2mhyTpugAAIABJREFUWq3S7XaFXwJxcx89epSBgQGKBZEHortXdSCLfhPr/MVCoYDZYjVEfbpKUudvejzCyLW/v0+5XDYozs1mE6fTyfj4OE6nk68++xy/9M++f/vwrtg+IEkEwxEyuTzJdIZcocjm9g6ZXJ7xySmaapu9g0ODlJvNCpGKPvRJJpPcvn2b3d1dw7UXiUS4du0arVZDRJG7nQQCPoJBPysrKzzyvkd58cUXMPXSenQY64kTJ7BbrUxOTvLGG2/w4PseJRiPsbchnmzWHgm63W5zcHDA2NgYI+NjjI6O8sgjjzI8PMx3v/tdw849OTmJ0+nk+eefByAWi/Hwww+LhOoeGEMfBnm9XiHYKRYNFWSukMcsW+iikcll0SRhIa43G9QadRqtJk21ZaC/Dg+TnD37INls3gBr6E8Om02m1Wrw6quvGrOMVqvF4aHwXUxOTtJut4nFYkZe5EMPPUQqlcLj8RhJ1uKGtBGNRo0VrziQO711ZafXcuS5efMmmibK29OnTzM4OMj3XjnP0NAQfr+faDRqxLFfuXKJra0tIpEIV69eNVB8mUyGvb09PvKRj7C0tMTMzAznzp3j/PnvMTIywszMLLVqw3AeBgIBHIoLj0fYlI8fP2kATq9dvUEkEmFgYIitrS1y2R6JSDLTaAi9SrujGSg0HVNnRsNmMeOw2XEpwsugdtrkiyWuXr3K6uoqUzPTtNUOO/t7gmFZbxkrSX2dWKlUDDSaoiiGRN9mU7DbHVitdoLBMHa7A5fLg6I4CQbDKIoTMBEIhAy0njBcOSmVRCJ4Lpdja2sLk8nEcC8bIxaLGRRp3Wnpcrl+YEKUpP2AL/73eh1bOKJ98+kv8NprrzE3NyegoZEI6XSa9fV1jhw5gqIoJA4OGR8fJ51Os729zQMPPMDi4iI7OzsMDw9zeHhIp9PhQ0/8CMnDQ1793suEw2HQusTj/XQ1M8urW/yb/+PzxAaHOThM4vMFeP/7HiOfyWLFxOz0DPefPCXKVq+btY11IUd1e3n11VeZnJxEVZvce+I47Xab3YN9bDZx0S9cuEBie5eBgQG+9KUvMTk5iSRJBAIBtra2BAuy57voyjKjY2O0Wi0h6241OTg4wB8KAuLGN5vN+JxuwyJut9uNQFKdiKzLY8slkdFw/Ni9ZDIZGvUahUKOe+bnqdUqOOwKSCJzsNlq0WyqPPieR9jc3EJRnGxtbYhJP23q9SomE2gWF7dv3yQY8rG2toLarqOqLebnF9jc2EaWBSFLQj/YxFxnZ3uPmZkZWq12T38hDscf/vCPUK1W+fVf/3VUtdWD1Epcu3aFubk50uk0/f0xMvmSYYnXNw96EK7+lB0bG8PtdlMuVUmnMyh2JyBs9+l0mqmpMZbvLjE6OsLlK28wNDzG448/zn/6sz/j1KlT3LpxTYTnFvLIsiwYB40aak+DoXV6wzqtI2z7ahNFTzFvt3E6fGidLmaLhKLYGOiPA106ap16tUY4EkJRbFgtJmZnZ/H5fIaGQJ+R6FSlSqVCJBSlXC5zcHBgAFOcTicbGxuG9XlxcVFI8+0O7r33XoaGhtjf3yeREOwNs9lsVNL5fL6Hnq8aYJjh4WEDy/aZX/9Nbi0tf1+x87uiUtA0WF1ZZ3JiGrfLS7OhkkpmqNeaxPr6CQbCVMo1Fo4eNaas/f397O3tGVBNXZji9/u5ePEiX/rylxkZGcHpUDBpkM9kaTXq5PNZFhYWWF1fY3x8nPn5eVKHCfLZHE5FODKz2SyrG+uY/D5qjQZDY6P816e/wsLsFM1qCa/bTTadYXt7G4fNTjw2xOFBmjcuXTOi2+bn54lEIoyMjLC+vk6tJqLLh4eHmZ2dZWJiwrCJ68IUPRfQarUyMjJCIBAgGo0iy7KBm9OHVrrQqFgskkqleM97HsJiEYGtLpeLvr4+IwpvcnKSvf0dY8hUbdRJ57KkshmSmTSZXA63z8t+4hCzLNOVQDMJZsXCwgLLy8uMjIwQi8UYGxtje3ubcDhsRPSpqorUS+KSZdkofXWXq90uoK5PPfUUX/ziFw1/iY7vn5qaIplMMjk5zv3332+ARvQMhJ2dHSwWC6urqxQKBVRVFR6BjLih1ZYA9eorvOHhYa5cuYKEmd3dXYaHRnE6nfze7/0eH//4J1heXmbuyEKvOvMb0QAmk/gc6WG8jVpNPIUVB16XG6/bg8vhxG6TeylUYDKLRKhSqcTIyAiTk9PEB/p7a3MM/Fk+nzeurdPpNKoHWZbx+/34fUGGh0bx+4LYbQ7aaheX04PNqtBpa6CZcDk9eD1+I3TZZDIZIUFer/fNIOZe/oNe2XV7yWhvXVF2f4BL8l0xU/h3//b3P/uJJz9MXyyGy+2m1VYJRcJIJhOr62tcv3EDn99P3/gYG3fuEA6HjQ/T+vq6YQXW33CT1UxLbWK3yszPzdFpqdy6dZt6o0lXEqaZUKSPw3SCB06e4ebVG9TKVdFTlqscO3GCI2ce4NqFCwyMjvCN577FI8fvxWYxo3U6HOztYrFYqdWbTNyzwHdeeIl6o8nP/+I/QeplNei8xHa7jcvlwmaz0dfXRyAQ4ODgAKvDQVfTDEGNXVGEVdvrFRSqXFY8lTodgqEQqXQayWSi0WxiMptRO22q9RqdbheT2cyVS9eZmZkhcZjE6/Xg9/k4ODjEbNLY29vh4YcewmyWaDYbxAYHeeKJj3Dr9iLz8wssLi3xI0/8CCurq3TpABrLd+9w+vRDfOlLf8Ho6DDBYIBGU+zeBwYGqJSrlEplstksEh0atQZej5u22uolYCep1arIFivxWIzpqUn29g9IJhOG8MlkhnA4SKvVYmpqgt3dXdLpNIpD6BNu377N448/TrVaJZ/PG6CcU6dOcf78eUZGRrl9+za2XtDu5ctXONg/JJvN8EM/9EO4XE6GhgTePh4fxOFw4lDshEJBquUKnW6b8bFxJAnDityRzEiA1AXZasGjOHC5FCRNo1Iu0qxW0TpdOpoFm83aSwaz09U65HNZEocHVCpluprYmkxNjhvbJd08VS6XDby7Dmfd2d57G++gXBZYP6X3uahUKgwMDBAIBGg0GwZBTPgrNAYHB8nlcgaXMR6PG+2jJElMTk6KyqhUwmw281+/+Ty/+A4zhXfF9gENw5Ou76Cj0SiZTIbh4WEjRHUwJnpGWZapVqvs7e0ZVCVVVbFYLAQCAeqdJo899hgbvVJ9Z2eHe+65h5u3l+iabZw5c4bf/3d/SLVR58aNGyQSCXxuD/FoH1NTU6J1Wd/k2rVrKF43bp+XSDhILl/k1o0bPPmxj1Go1Ak7HNAUUFWXy8W3n30RuV0lGo3yl3/5l4a33ePxUC6XuXFD9LOKotB+SxyY2Wym3mwYNnG73Y7b6zHWkpFIBJvNxvDwMHt7e3Q6HWPzommCMHXkyDxXrlzh/Y89zvLyEjarwNNPTo4BIoFIV9Z97Md/nOe+9QLVatX4sF67dk2U5lKHZFLExT/33HM89NBDtDtNw925s7ONz+fvYcdHuHDhgjhsGi0j0EXPLCwWiz0I7h7lcpm1zS2sViuVSoVA0GfYpG02G/v7+wbC/OTJk9y8eRO/388rr7xivEd6y/Tiiy8yNzfH4uIiTqcTv9/P0aP3MjY2wdLiHcqVEslkkuXlJcKRAG6323DYCqm0mf39fTLZFLLZQqUiID3xeJygWVQLtXIJi1nCabfRabeoVSs0qxU6Jk3Me8xCoShmW1Zk2YRit+PzuQgH/b0tQM2YGemCLJ3epM8WALxeL9sbe8b7pStF9fxI3fnYbrfZ3983Phu6vFmWZSMsWK8gdQjt7u4uo6Oj5PN5I3+iXq//QEPU3ztTkCTpPwI/DKQ0TZvv/d5ngZ8H0r0/9q80TXu297XfAP4noAP8kqZpz/19Z8LCkWnt6//5KbFWunULVVUNpkI0GmVxcRFN0ygVygZsRd/J6oq1vb09Tp8+Tb1eJ5FK0u12uXnzJrOzs4ZWvVAoGDbWmzdvoqoqV29v8cRHfpRMJsfZsw/i83i5ceUylUKesNfN5MgQ95w6RbtY4vUrV2l027S6Xaqqyoc/+jG+853v8thj7+fOnTtcv34dv9vF1NQUmiRx7doNnG4XaBKr62v4fAG+893vCq97R3gGvH4f127eQDKZsNllknsH2KxWIn4/dpuNZKmK1yfQdHbZysBAnN2dLaGvd4iniCjXMRiQ5XLZ2FVHo1HOnj3L2toaPp+PjY0N0okiVqsVu93KsWPHxHTf4+Kll17C7Xbz7W8/z0MPPUT6MGHo9qvVMorLSSKREG1Op2V4SaqVvHHAhcJREokETrebzZ1tAn6xP9ckmJua5/btm5hMgNQxhnnNRpehgVHCoTiZdJ5EclX4GGRFwEBMFtROF18wwNVr1/D5fMQHYrSKOaKRGHc2NnE4vewcJnH7vLQaNc7ef4JKuQBqTfwdXXGztxpNdre3GRsb42BvH6tZeCUURaFeq2GxS4ZgSh+WFgoF433W3Zs+t+tNu3JHpb+/n1APftJRmwadeWg4Rj6fF1ua/n7Dsq7ng5rNAqFfKecNTmd/f79BS1JVlVKphM/nw+VyiTWtx4HFLA4CEOa14eFRJEmirYq2wO12c5hM9hKqBQ/j/PmXKJVzqKrK55/6MmubO993pvCPjaIH+H1N0/7Pt/6GJElHgB8D5oA48G1JkqY0TXtnIBxgMQsjR6lUIhqNGjgpnUnn8/mMQYrdbieTyTA+Pt5TojUYHx+n3W5z8+ZNLBYLuz3RUywWo9FokE6LPXM0GqXZbDI5Ocng4CBLS0ts7GQpFnLEYlHq9SqlQp5SqcTs7AyPPPwQL379GdaXlljf2CJXyBMbGSKVSPDRT/wPXHn9DZL7e/zB5z/P4OAghxvbNEJeIpEQ3S4E/V7yRZE0dObsewiFQiQSB+TzRbpdiXgkbMA5KrUy4cgwa7VVJEmiXK1RLJapdTWOHj1Kt6PxxsULyLLM4OAw+XwWkwbhsGiZ+vsHWV9fp1QSxGkQ/ezBwYFhrvrgBz/I8ePH+fIX/4pEIoE5EGBjfb33ZyXe/9jjvPjii8wfWWBjbZMjM1Pk8/meuEfqZXaa2NnZMiC4arNFp6Viki3k83k6HRFqQlfDLluJBENs7e7Q6XT4zvPfxu0R1GSNNqFwmEajwdjsOMlkmu3rV+jri+P2KphljXZHPE1rdfHUy6Y26dQzdGwtknslLGqXO7ev4faFqVWKhAMBMIPL4SWRTuBU7Lz48isE/T5kq5N4PE4sFuPcQw9x4YJ4L4cHh8QB4PawsbHB+PgoHo/HkM3rZPHt7e2e6EwM7Er5nPG01TmKjUZDbBYkzchv0MOARbBuxdj2TE9P4/V6BVC3VKJUzLK1tUWz2SSRSBhqRb366nQ6RnucSiVBk3pSZ/B4PMLT0W7jcQsMnNlsJpPJoGliuLy+vso9R+dZWlrCbP4BMIV/yKHwDlH07/R6AviKpmlNYFOSpDXgPkTC1Du+zGaTMZyq1WpGhqJ+iuq9lq5ilCTJcJrpKb16KaZjsmdmZrh69SqVSoUf/+mfZmttjc3NTex2O5VKhVdeeYV2u82tW7c4Mr/A9tYG/bEBrl69ylC8n9XVVcJeN7LFxvDoCFaXi8uXL1OuVjgyN0cul2NosJ9cJktfIMT29i6zU5OMTI+wviYMW0okhNVu58knn2B5ZRWrTeaRh8+xtbNNq1njG998lnypSKgvSqGU5+rVq9x7770oVhvrd1do1OqoZgHTOHfuHKVC3hgaeb1+ZJOIFtMdi3quQl9fnzGACofDgMCSraysiHJWA7/Hi8NmZ6hfxJUNDg5w8eJFTvZo1fVKlXyxjMVqB0lDcTppV9rE43Hu3r3Tq7yEWcqEk06nQ7UhYtmV3kBL143orV2zWsGt2OlqXRSXQjgUIpkS8XabO7todKjUykQCAqK6u7tLJpNBtppxKg7UTgPFasEideg2qmCSObZwhEvXb3Lv8ftI5IvEBwfpYmJ4eIhkKsGP/8RPoCgKq8urrK2t0VZbJA8FC6KvL0pff4zdrW0cLgfNVsPYbnQ6HQOKopOYdQFQt9s1HJ1vnRNonY6oXjvCgaivHIvFIh6Px0C69/f34/P5jOAe3VWptwi6W7bbc8sWi0WDsah/fiPhKMFgkMPDZM9nYTV+Fh3wYzabMJksZDIZkslDRseGe0Nhcdi80+sftJLsHQpf/2/ah58FSsBl4F9ompaXJOnfAxc1TftS78/9GfBNTdP++gd9/6NzM9rffuH/xmazGYYZPehCN+jcuXOH0WEx+Z6bm+Pw8BCXy9ULJOkJf/r7KRQKpLMZQ+sdjUaZPXEC6nXUVovV1VWKxSIgpKIm2cV/+LM/54EzZ9nZEd6BkNfPwtwca3eXmJ+colgscljIsra2xqOPvY+m2haWWquNxOEhAaePbCqNbLHQNz5IMBTiuedewOVysXjnLmbZQigUYe/ggPFxQS1WHDJmi4WT951CM1u4fWeJl1/5HuViBY/Hg9NqRzaZKTaEcKevL0Ly8BBJkuiLRKhUS3RaKpKk4XQ6WVpaYmhoiJWVFUPAEggEWFtbM9Zoc3NzjIyM4LMLk823vvUtRkZGGBgY4OqVa3i9XuHDl2VmZo6QyKXY2toiFAxgMkGzJcQy2VSSQNBHuSyCaLRum2oPTGqxWDHJFvpiQl3n9vjY29vDZrPRLtSwKWI45/K68Pp9tNHY2d3HYrMTCIY5ODggdbCLx+0mlUpgkrpEQgEkrYsJMPWQQWbJRKfbolprMDM/z87ePidPP8jW3j6K28fVm7c4feYMVqsNWZa5e+0Gg4ODbG0JaM7m5iYWk9kQ9ug3pU2WjPCdYDBINps1Dl19M1Wv17FZzAZ2brA/htfrxdxb/ZUKOUDMCkJhL1NTU4yPjxths6FQCFVVOXLkCCsrK2INaTP32JSysbFwuVwUi0WKxaIxO5EkiWP3LvDC89/uZVM6yWQyxONiCJlJ54yE6f3DPdLptDHHUttNI5Lu53/lN1m8u/qPbh++3+uPgN9BBFr/DvB54FP8v4iilyTp08CnAWLRMPm8KNuPHDliZEjqrIDhkRFjX1sulwmHw4brUI9ir9fr5PN5mk3hdygWi4yOjrK/v8+rL7xANBolnU4zMDBAt9tlZWWFcDhMKnHA+vqquEjzR/H5fJw8dYqLr11ArZXZ2t2h1WqxtLLMqfvvo1SpIMtiZeaw2sgkU9SrZYb645w8cYKsWuVP//RP0TRoNGr0x6LYHApLd+4yPj7OztYGicQBjVqF0ckJLl68yOjUBE888QSzc0d46k/+A7LFQlNVaXSadDTo6+vj7t27+L2CRLW/vy+08WhkMlmsViuKojA2NobNJhyLly9fZnd315DU6v2oqqo8evYcW1tbWK0CBKpLxc1mM/fd9wBXrlzB4/EQ7hfuRpPFbKQeX7hwAZssUSmVkIByuSCemr2VJCC0FFWxgq1WKkaKVcjuQjZbMMsiqq9ea+Jwi8GyZpLYP9hGUZxoHROdtiSyIenSbKhYzRqybMVikumqbWw2BcXhpK/PhlmC8dERtrfWaTRUCqUK586dY/nuXSKxGHfv3iXuFolg7XaLO3cWBWG5WqXZqqOhEYmG8Pv93F1aNFgPeiaj3h7oSsNarYbVbDLYDHrb0FFVI6FLh7UCJJNJwuGwcS1u376N1+sFhHtScBCkN41evSollUoZzsh6vW4crktLS9Tr9V41kTYOGZ/PR6oX0KPLnGOxGA6n2Dr09fUZjJEflBD1j6oU3ulrvSEjmqb9Xu9rzwGf1TTtB7YP0+Mj2p9+/rcZHBwUFFpZ5vz58zidTqampoxQUrqS4ZK8desWQ0NDhg8iEAhw/vx5sYIxmxgfH8fr9fLSSy8Z4her1cr09DQej8cQw9TrTb7+zee5fv02P/zER6lW69hlO6dOnOSN117FabPi83mJDQ0imYQQJZVNY5Nlrl++SqVY4qd+8ifZXVmFdoer68tileRysrO9R6utIstW9vYPKZfLqN0Ofl+Qza1V2kjUmw1agE1RePCh93L16jW++MUv8hv/8l9xsLvH3mGCM2fO8PLLL2NG9OsBvxe/34cZQV1yuhSaTRFBVigUjPdVb8VCoRD1ep1oNEqlUmFhepZTp05x5co1PG4fu7u7TExMUq3WuX7tJufOnaNeryM7FeYXjvCFL/xHGvUaw0NxRoeGWb5zi43NVaSuhsvloFKpiX24BM2GimQ2iSe0zYbPFyCZTlGv1wk6RPJ3uVylg7C9x/v7yRVzpDJprFYZr88NbSc+nxeny0atkicY8NFuNpAAMzYsZituh5eqmmRkZIS9fRFcs59MMb9wlO+88iqlhorD7ePG4iLHj58kvbVBJpN5281RrlREBdNuG65DqdM2cjj0G1cPsNF6K2SbzUa1VDQYl32RELVajWw6TbVaxWLCCJSZnBoxWI2BQABN03j88cf54z/+Y4LBIHNzc+LvsJqIx+Ps7grxG2AAbo4fPy4+O6oqfk6Pg3yu0DuwPL1rLqTwDsXFyZMnuX37Nmq31gPeYAjBAn5hB/jIz3yaqzdu/f9XKUiSFHtLxPyTwO3e//8d8GVJkv4vxKBxEnjj7/t+mqYRjUYxm81sbwsM19mzZ41TWF+7RWIDuBoN8YTv8fz01U4qleL48eP09fWxub1lVBl+vx+Hw8H09DSVSsV4IuqDn1AoQDQcIhwOUsznqTdVAgMBnnrqKd7/6Htp1KscPXqMlfU1ZFvPRNLtcvfuXRSHjQ8+/jH+05/8EV63m6mJSSbHx0ikklgsVpKyEM843S4cig2bTSaRSLGyvITNYcPVYxPYrVZMZjOXLl2iVKnw0Y9+lGe//jW++tVvsLu7y/PPP8+pU6fIZ9Lk83kUxcbOzi7O3hpN0IVLxr9NVYWbUYfK6rMGfRW1tr3OxOwkIxOj7Ozska+UWNnY5IknnqBcb3Dt1m2OHz9OIptkc3tX4L3MFpoNlU5HRVHsSF2NbreNbLFgNovS1yLLdGXo9IZbojRvGZBStdvBJIv/Wm0KGiaWlpYZGR1gamyMrtYCk4mxkQW6Whu304Zs7adcLGCWXKhqG60to9idBH19yI5wj1cRF9DaaJS7y0tEQiFaqSx22cL46BgmJMqFPHTaeL1uWq0GZrOEbDXT6aoUyiLAOO6LEw+G31aNwpscxHq9bnAkTJogjauqanAeQoGAANpqYrbQ6XQMi7vubnS5XEYocLfbRVVVscb1udjb2zMqXr1S8fv9mEziIbe3t2d8D6fDRSaTIRaLiXmGJhk/q05v7tAw1p8Au7u7tJpi9tZsNt/5/v4HrCT/EjgHhIAk8L/1fn0M0RpsAb+gHxKSJP2viFaiDfyypmnf/PsOhYmRQe3f/OavGLiver2OoigsLy/zyU9+kvX1dRHG2ZWMXbXeZ01MTLC4uGhAJDRNwx8MGGVWIpEQISejo2xsbHD06FGcTiexWIxCocD1a1eoN9oUS1W++J//C2MTkwwPDIvdsEXGYpZwO13Ew1ExwFyY4/LlS4xNjPLG6xeg0+WRs2dJJhL43G6uLy1icyi0muLpU2+2SKVS7B0khD/BbmN3d49ao0apUgGLpVcpOHjg7MPcWlykWChjtyr09cX5zKd/gfvvX+Azn/nnLN66wZkzZ7hnfo4//pM/ROpqTE1Ncu3aNXx+lzHQs/Ys5oCRYahTfyORCJKsMTN9hFarjSzbuHVzEQkL8/P3YDbLIvZecVKpiw2QiQ52q4XLr1+gUSsxMz1Bs1aiXq9SKZVxOL2onXaPXt2i1mhgs9npHxzg8CAJZqGi8wTcdNtdTCYLrYZKV+0yNNBPwOdiaDCO221jZ2eLpqaitpvcf/9JHn3fgyJdqViiXlP53vnLrK5sUa10GRgYYHCwH5fdhtOpsLsjBsmJTJZcpcrdlTXKTQE8DThEcJBZtlCuCW2G8JQIMI9ZFlGEg6GouMFDIePprmMBdft7sVjE1cOypdNpKqUCbrcbp6IIcZAkWlun04nLbWNwcBCfz8fp06ffJlC6efMmtVpNIPOsb6LdC4XC24xfJ0+eJBwOc+HCBaFU9TpZWrzD5OQkmiYO/FQqQyqV4tH3PiYgv/v72J2m3kBUtI97ewcU8iVMJhP/9F9+lqWV7z9TeFd4H2YmxrS//JPP02yKVGF9s+DxeMjlckiSJKK8HW5UVTUQ3kePHuVv/uZv+MQnPsHGxgalUon5+XlKFREso1tJt7a2GBsbY2VlxbAi6/vglaXbmKx28oUKf/XXz2Cy2OjvH2Rve4f3PvIIz/7dM4yNjXHP+Cx2uxVJtjAwNMDNpZuMjAyRThwyP3eE5MEhit1Ot7dG9Xi8HCQTKHYnuUKey5evkisWKORFqEq9WaPR7oBJoqy2aXc1PP4w991/ho2NDVRVo1wsIfXIRZ/85CdZvHWDdDrNxtoqd+/eFe5Pl4tCoYDDKQNvkpMajQaqqhIMBtne3jYw4sFgkGC/cNv19cWRLQrz8/dQLtVIp7MMD43y4IMP8dWvPsPx48d46cVv0203CQV8lAs58tkkVjNUKwUsJolsLoPF4hD5iiZxKJgsFpT/h7k3j7HsTM/7fme7+75X3drXruqu6m6S3RxuPRzbw5nRSNHi8SjeHUuIYdkeCAgEyXaQCIhtyQakRLKFOPIYiTRRZFmakUajmdGIbFLchks3m72wu/auveru+3buPUv++O49khJJCWIj4AUIEmywq1n31nfe73mf5/d4fciqgtvlRVIV6vU6TaNJMpnG7wnill0E/SHS0QjzM5Pkz0+Q7R5PP32NxReXwDTpVs6xZBNFU9EHFrbt4vS0xuFBjrffvs9s9jLTU1PkTw9JxcPsbT8SSPh2i/uPNlE9XrZ29hlYFpgdYrEYuXyeUrWCruvMzs/R7nXR+31CoRDReIzGeRld14nHBRw3k8nQaDRbfebVAAAgAElEQVQAEWYb8QpcikyhUBDAn06LcrmMjBCvvW5h9fZ6vWguHILUiHswMSFclnNzc3zuc5/j4cOHuF2y0+1ZKBRIJpPOxFetCjv3yJcTT0Qo5IssLi5ydHSCZVmk02Ok02nOTnPU63UqlQora7O0mh0KhQJjY+MYhkXuvIBp2vyTn/l5Nnf3/tRD4WNhc/6lf/OLP/3F7/+c4/oKBsVKKp1OO803uVyOZqPJxYsXuXPnDl6vl60tId51u11qtRqLi4sUi0UurFwgFouxubmJqqrU63VOTk5IpVL0ej1nIjk/P6eYzzE7v0Cr1eGt777LwDQ4OjphbnaWfC7H5bVLdDodarkSLrcLC+jpPWRVRpIgGotSq1RoNhp4PC62t3ecuGwoGCSZSuNyuzBNi8zYGNgSH3zwAZpLxR8MgQSBYAjV7UYfmIQjUU5Pz8lkxqhVa4SCguv367/+63zhL/8Qzz33HL/9ta+JFqlhtt/n8zEY9BzY7Si1ONIRKhWhho/uxbOLc0PmQRVNczM/v0Cj3qTZbHHp0hqPHz8ml8vjcmmcnZ6QTqWRJRvJtqhWSujdDpYlcPSmZdLrCUqSqqmAhM/vR5ZlenqPYCAEsiSgrkE3tmmDLbF64RJ+n494JMKje/doNur8zb/2w4yvr9Ipb8Oghzvmx+WRURQb3TAxzQG27MEfCNEfWGw8OKJcrpCKR3nn3XeQsWg3mvQHA6KJOOVSlezkNMV8nvFMkmgsyuO9PaSh3wUJ2p0OHq9X6AimQeE0h67rjnjdbredcpVKRXgTer0eiiwJoKymEQoGaLfbuIfofFnCyU+AuEKM+KGj+vpRF+fe3h5nZ2fUaxXHGTtCt6mqSqUitgkjyEo4HCYUDuL3+cnn81iWoJJvbGwOSUtJTk5OxDq036JQyKNpgj0yNzc/5DYEufnmO/z9f/APPr42Z1FBpnB0dMiNGzfY3Nyk220TDsPJiUBIra2tcX5+TrPdYnp2hieeeIIHDx44d2p7B+LJBLFE3Gngefz4MUdHR+RyOf7KX/krvP3220xMTLCyssL774segKPTU84KJWZnZ3n+mad45513CPk9FAonNFsdNLdCo91E1Q2CnTBzY3Hu3LlNMBJkff2S8AN0WiiqwsL6Go8+OiAVn2TpwhIHx0d84/d+n1gyQaPT5vD4CG/Az+KlZdqmB08kwuneHoupaVYmJykWi2zcvYvX6yUTDSIP0sheL9/6g99jZmaGf/Yv/zmmafLijU/y4z/+4/zSL/5r7t69S6VS4fqTlxkMBpSLJcbSGVRF4vCwR+74gHQsTLNeJxT00e222b23gc8fJOD1Ew/F2NncJlcocf3pZ3jju2+RnZxidnmeD997ky9+8YdJxFOkUhlef/U1en2J/qDD9s4GyeksbVnDq/RQvV5sy0JSIBaOYpgDJNPE7AnXXsSt0tTbeDUfab+fkOzC7Pe5srTA01eyZGdiNLpbYBTwhNzItsmg1kZzhZFkN2GfDJJFNNLGwkDxhqBaZm/7Pju5R0wFIxh9C8XvZbuc56xWFkUsnQqRpI+TfAXzrEg0mRnSigxqtQpe1YVqW+SOj2g0GrhdorUqOlyHd3WdeCqJiY2kKvRNA1O36Zw1mZqaolwuYiKRSMTpdrs0mjUqzSaaLA3BM5ozzUWjUcePM7rqjQ6LSDRJNBoFYDw7TblSF1dYb5BcvsjJqXDpxmKiwKarN5mcFlu5k7NTZudnWFxe4Pbt22gemYHRo3w8zEaEFCKhGDIST1y9PCSG/9nkpY/FpPDv/u2//env/fSLTsZ8tKcdrddUVRgw1tfXCYVCnJ+fOzDQCxcuOH2Toz3v/fv3aQxhJHNzcywtLZHL5Zibm+Pk5ESg3b1eDg8PqddrhELhYUmGaEwuV2ooiophmEOxTuGZYZx6Z3cbv99PqVJC13uAKBUdIeFM3SYYCvLyzZuc5/PsHTymVCnTNwwKpTKn5+dUKmV0Q/4TBh/RKynurPl8fthlOABFodFoMDk5SW3Y6/i5z36WL3/5y/ydv/23RTmpqnF8fCCeQENRr9cV/ZXVilhZSuBkJjS3h57eR9VcBIIhgqEQSDKJZIrDoyMCfj+X1tZoNSrsPX6MMTB5/HifUqEoCnos8dQuFvPYlolliESkEB1lNFVF1VQG/T6KIjtCpKRKBL1+QoEwyWiEcinPU0+vM/nECkrAi2x1MS0bW5FRNDeWYSFZMpJLAySwbPS+gWkrDEyFwpGIB3eqbdLJNH3TxpZl2pZBriQQdKptYw9M1q88xerqKvG48G40GnVsWwCDDVOIfe12G5fL4zQwybLs1M6PNIXRk94aTgm1moDKVIcBtlarKfQcWVDKZUVyVptut9tBv48szaM4840bN8hms464WK1WCQQCSJJEpVJxvraqqqTSomV9BL5dX193QCu2bXPt2jW2t7eZGDIzRgyMkRVdkiR+5Te+yj/4h1/6+E4KsiJElk984hO89tprfOELX3DwY+12m2w2SygU4sGDB2QyGV789Kd54+ZN1tfX2d7eplAoUCqVePLJJ5046ugNaDabgiEw3B3ncjlM02R9fZ10Os3hwWPCEdH1MOpBGNV0pdJjQ7NHgEBYqMXXn/kErVYLc1tEeqvVKpYt7pntVguNIEdn5+RKZe5/9IAf/Ms/xHu3b1Gv1plZWKLWqIs7bCTt2GRH+YJut0ulUuHixYvkcjlKpRJer5cbN25wdHjI6uoqRweH3Lx5k0a1xj//H/4ZLpeLH/uxH+Nn/sVPMz4+zrkueAszMzPD8hPh/R/VkEciEaThE2p8LMNkdgyvP0il1mB7a4OV5SV29h6TfLzHrXsfMjczx+beDi/9xZfw+XxsPdpgcmKCdqNKr1nDq7npI/bqPq9X5BqGsdxRSnSUQAx6w1iDAbOT4zz46LssLy8ytpqlUzym1qhju1UebWzw1NPrKK4Aqs9CUmWwDLBsUDQwwpiWyqDvJpw5x+XzcuvtO6huN9FImnAiQcA9Ts8QT+JqvUkmJsjOzWaTldXl4YNGplwuOhmQkVlJU71EIhGHsTBqwdra2nKIV+Pj47hVhfffe49gMMj4eAbDsqkWC2BLKKqKaRhYw5hyp9P5E4CaWq1GLBYjGo2yubmJx+Ph3r17joYwOztLa7gurdfr6LpOJBKh0Wj8iZbp0Ybtww8/5KmnnuLo6Ijr169TrVaZnZ1lLJ1xXJjBoNDjHj58KK423d6f+fP4sTgU2q02KysrbGxs8Pzzz3NwcEAoFHJ+kBOJBJZlEY1GSSaT9NttksmkU0oyCo/s7+/jHd4P/X4/rVaLTqfD5OQkR0dHTp681WpRq9WcN+ns7MxZHVWr1WEnZUeszWybdDrA9va200T18OFDnn32E0SjgqfodbuwLRu3qrGxsUevr9Pp98mMZ/n9V24SCATY2t6l1e7i8XlJpDPO/8v+/j6PHj0iEonQ7/eZnZ11at0+//nPU2k1iMViFAs5zk9PGAx0tjYeous645kxQkqIw6N9AgHxZxxLp1BVld3dXVZXV50DsdvtOuQdj6Y4OPJOp0On1ycU8LG1s0cylaHb7bK7u8tLn/ss1UqNv/3X/xZf/uV/T8DtJZ1OM56MoWKxt/UITQK3z+/Uo4OwmstDXcU07T+aFCwFvdOgWi0TjvhYv7IItFFdCt5gkN3DM97/YJOLV67jGXiQ7B4elwtkG7s/QFI0XF4fiqmhKeAK+Kg3G6ApdPQeWruN7dLIXlhi0NOpNku0KlUYmAwGopi4WCw6n5kR+HfEkRwlMUcHwshyXK8LVFoikXCe3o8ebRKJxrFtk05H2KPjsQS2KQjTnXYT+KPpbFT9NhgMnFDfCBYrScKuXq/XndKiUdhqJIqPUPejUttRYfLk5KTDa7x27Rq+dJrNzU1mZ2fp90SuZkTyKhQKznpS+rh3SWqaxltvvcULL7zgfDMSiQSAszEIBALE43Hu3LnD7PKy0xEw6kNMp9MO3nvkSBvVnj9+/JjP/OAP8uZ3voPb7WZ9fd2p8ZqemhCU5E6HzFicarXKpUuXqFRqvPrqq7zwwgucnZ2xef8Bt+98QL/fc0pApyeyVCoVsjMzbGxsEA6GKNfFjrlwUiKVSTOQZDwBPxcuXabZbLK1d8jdR9uMp0SaMJVKOVy+arXqMPyTySSPHj3i5ddfE1gwVaQ808kkf+Ov/XVarRb3P7xLvVrjy//LL6OoYkd9fn4+FMJwKsXa7TaWYeD3ixan5NDdmc/nxVipqAxsiexYmvOzE6LhEEsL86hBjVg8wW/+1m8RTyS4dvkqr998lU69QrtWYTyVod/rYCF8/tg2Ho8Lj+ai2WqgKSqGIVBxvW6XeqlFdjLJzvYG//LnfhJ/xEu3cUJDV1C0AJYW4Z1be6ytN1m5kGF+cQIoATqS1gfJxrZ6DAwD3egytTDH48MDcKl0zAEhVabdEwddwO+nmMsT8HhRLYhGo5TLZSanssOV3TGRSGhISBZZBY/Hg8/rc6zAqqo6HESvVzRS9ft9dnd3sWWJdq/L9MQkJydHjGUnsG2TerUGikw0JlyGjaqoEBzF4INDlP+oTl7XdZaXlzFNk3g8jiRJjjA56oAY5UcGg4EDsG02m6ytrVEqlZiZmaFcLou4+fGx0+ExWturqsr8/DztdptSqSSIVx/33od/+z//0k//xJf+Pqenp84I3263KRaLqKrKzMyME2GNxWK889ZblMtl2u02Y2OiQLRUKpHJZGg2hQDk8XhQFMVRjWvFolPdNcKYtVotIpEwlmVzenrK6sU1sbXY2qZWq6NpwjOxsbEpuIymQTqTIhIOoyoyg75OwO+n3W4Rj0Qp5PO0+wNa3Rb+QIB6XVSp64M+Xp+fgWkSDId56aXP8qlP3nDCLpZlMTs7y6VLlxxl+t69ewJ37/cSCgVp1GpMT00J0apa5aN79zg9PaVaKeP1eJBkMa436rUhFl2MnoO+PuxeVJwwT6NexzJNIpEwsiLU83v3H5BMpVBUbRhQCzIw+xwcHIJpk0wkqZbKxKIxxtMpHj38iEDAR3+gEx3ixQVNSCYRj9Pv64xlMsjyELvv8VCrNoklQoxlE9z4zLMg65iyheYLgOLlNN/G5YsSdF9iYmIey7DxBTSwDaCLJfWRJBtJsVBVm7NSiZnpGY62D7BNi3g0ycA0Oc6dUygWMQ0DxbaxDBNXOEIqlaLRqA8fPCrt4fam3Wk5qU+/P+j0dBweHjpJ3dHVdrQ1CIej1OsNznI5Aj4/nW4P73AD49JcuNxuDMvAGvQwTdMpb8lkMs6Db3x8HMBpUFcUhWq1it/vJxQKOetP0zRJp9OOv6ZYFJHo8/PzYfI250BZqtUqV68KJJ9lmmxsbBCPx7Esi3K5zMTEBGtra/wfX/tdfuwf/qOPr6agDM0V2WyWhaUl9nZ2hj0Ft5ifn8ftdrOyssJrr71GIBDgmWee4eWXX3aKOU9PTzk9PXXuXSJDHnRO33K5LNJ7Xi+VSsW5b49gLbl8kbGhR36Ew15YWKDRbDu7Y0XTCHi9gv4TixOPRZAsE8s0GQw9Aa1mk3giiSRJ7B8e0Wo3SCZi1IeR24GuUyiV+LVf+zVSsaiTmvP5fBweHnJ2diZy+cMxVZZl6ucnjKczlPIFoY8oKhG/4PuFgkG0WEyIZZbtJEgHgwHdrtjqjNajtinS66NR3jAM6vU6tiQOi3g0TL/XI+TxgCwzOzNFtVPj6OCI7PQY6VSK1/7gFZ66+oRwkdoWsgUuzx9ZgEW010ur1RK7dUU8aUc7e8O2sGUbWZOxDQMp6MNjKrQNFUlSSCYTzM5NM5OYJZuFvu7CNrtIkgqoyBggmUOHpClaxHt9R0caDAbUmw0axgBJlkGW6LZ7eF0iR2CaJmPjae7evYvH43L6M/2BGTwejzM5ja6WoykuFAqxt7fnjO26ruP1BXAPk4sut5tOs0G+UODaU0/R7/fYePjI6az4416gUc4kEomg67oD0LEsi+npabrdLs2mIFr98d6HbrfrXHsqlYqzqszlcpydnTExMUGvJ9bSlUpFPGwMk5mZGRRFoVar4XIJLF46ncYYfMx7H0CEfKampnjt5k2CwSBHR0fOuJbLCdjHxYsXabfb7O3tsba25ryRMzMzxONx5ufnnQrver3O1NQUGxsbTtnpnTt3HG7D3NycmDCKecbGxggEAuzsHjhI8WbzjHK57JzwkiJj2haxZILFhUUCXg+1khjBq8PsfSwSpdxrcHBwgNvjI+D3kMvn8AfDVIs53F4fvU6HTCLumGNGyvLk5KSjgWxubjpvejQURNe7zMxMERgKXue5U/Reh2QyiWWYBHxejs9PKZfLpBLi9x0l8hRJwFTNoatRlmUkW5hg9G6XttYG4PP/xQ/y/u07JBIJh2S1+2iTs4MjlibneOv1N5idnQVg//iI7PQU1VoRr0um1+2TTqeJRaOcnh7jdYkfKL3bc75mq9kkEPdhqbB/eozkDdKtV/EEfWiqC1nSyIwF0dwujna3ePMdg+tPrQynBEBygamAjADSKBKJaIybf/AyxmDAQO9zWDkkkkxgDfpoPg8BRaau9zBkcKkuBzozOzvL9PQk5bIAAFcqFecp7dJ8TsBsFDR69913SafT9Pt956Gyv78/JCkJ0tHANIgEQxweHVEpl8nnC4TDQSJRgZ4bmccqlQqqqnL//n0Bixn/o36IS5cukU6nyefzZLNZ0XY2PDhG9K5sNkuheIZlWbhcLoLBINevX+fk5IRWq4XL5WJ3d5dAIOAQrD0ej8MhsW172Af6ZyNOPhbgVk1TnZNzbm6OUCjE3Nyc03coyzJTc3Pk83mnCSeRSPDBBx+wtLRELBbD7/cjDSGup6en4g32+ZxvzNWrVwXqPRRy4CyDwYBEIsHq6qqTnR+tRXVdp9frOSk5VVVJp9MOG2+Uthz0dMbGxhzIaKvZQO91abcaNKoV6tUq9WpZZDA8bq6uX0aSxH1/1PmwsLBAMBgU4Z7hm9toNJxy16mpKSzTFIh7l9sBm47WSyN4qqZpDoMgFos5U8PICTfqGFSHeQXLsuj3OrRaLYrFIrVKyTHoHDzeJZNM8dQTT7C0sMjy4hKNas2BrtYadcYnsoxPTRKLxXC5XI6xZ9Q1ORLqRpZrb8jLwBw+xTUPpiVjWyI85VJUPC6FSNiLJZcolbax7TqDQRfMAdga4AbLDaaGbGlUSmWODw4Z9HRHuR+BdGrNBq1Om75h0Ol1CQ/Zl1tbWw5WvlwuO6tHXddJp9PDz6PGxMQE09PT7O/vO27EWCxGJpMRus/4GJOTk0KgTqeZmJiiUq/x8OEG9Xqd9fV1Mplxzs7OqFarTufDqP15NPKPrpDz8/MEhsyFqakpACfzM/pvDMNwBPF4PO4cXqMJIZlM0mq1iMfjQlcJBCgWi2xvbzsw4HK5LMJSf86k8LHQFH753/3yT//Uf/eP2d/cdLrwRqLYlStXUFWV7c1NLn/iE9y7fdtpnw4Gg9RqNbrdLqFQiI/u3v0TpJq33niDsbEx6vW6syk4Pz/n0qVLDtAlEgmzvbNLLBajVhNsv5nZORRFxe0Ro3CpVKZcq3J6fML8/BxYNvfufkjA58XoDzCMAZWS2FM3OzUazSaSLIudvcdDMBDEtCwGA4Pt7W3GxzPYyM6HLBaLOahuAT3NOWRi0xyws71NLBbDrWrYtk27KWy1rUbTgdAk0ylRi6aqhEIh2sN9udslFGzvcNXqcrmwTANVVbFskBUFyxYQllg8jq73WVhc5OzsjPzJGZIFnXaH8cw4169f55133mFmdgrDGtDptpEVCZ/Ly87OztBX4qXZaNBsNQkGAvh8fxTNrnTrnOVOuLS2xuXVFXx+P5VqDduWaLTadPs6LpfK6lKa1ISfWNiHZXRQPB6wFLBUMFWwNIyBxP/+H36N85NTxmIZJMOiXmuxd7CPFgpQbzVpd9qEgmLMd3kCTE9Pc3p6gsvlIpc7ZzAQT/5WW9zHxXUhzoULF3jjjTc4PT11KNqjg+P09FRU2PUtcoU8yUSCTqdLX++hKDIet5v+oE9xqPQnIgHnST3KnrhcLgKBAKlUiieffJJGo0EoFOJgf9+hYo/CgIuLi7hcLvb29hzaWCwewev1Oh6Eubk5oZvVas46Utd1vB4v8/PzhEIhTk5OnMNieXmZX/2PX+MffeljDG6tVyp89N3vYhgG3W6X/f19BxUu8FHi6V05P6PWqNPudtAHfQzLZGVlhaOjIz68d1eEfXo9FtOL7O7uks1mnaftyDCSSqU4OTkRvL5+H9nuI1sS3337Dfz+APFYiIFhcXntAkdHj3G7wO2SUAOiU+DdD94hEY0RC4SIBPycnp5iGybWwEDv9mjoAwJKiEqjTqvT43t/6AcIhsN0jD5dfcDOwWMePXrEWDTFQG+ROzvk4QNh2/b5fBTzJj6PgiIZVEolJpLTLE0sUszn6ZsDFEXC61FR5CC2ZOJTPBh2i26zQSCoYRpubBMi4TQKEjISmmqhqoBtoPe7yJpIiXpdHTo9Hc0l0241SKTStAc2kfQkar5BOiQ6CZ74xHPk8mccnZ/StweUqhU0tw+fN4gkQb1UJJudRNe7mKaBooJPESagVqtNIp6hXu0j9SVWli9iWiD5NSrdJrHxCBIWPlNDb/eRMWg3NYKaD5CRZRdGp4fqcoOmgq7TrFZ57ZWb1PZyRN3iA19vtkSjk19DxiQTS4jSYa/A3VumTrF0yurqBR4+3KDZ6JJJZ2nWLRaX58nn81y7+ml29m/xh6+/wsRkRkwSmkxPF56B/qBHMOTFsvv0m01k26ZcEJHr1nBaSyQSjGeTHB0d0Ww2KTQGzM/P4/F4GEulCQT9BHx+mq06wZCbe/dvEQ6H6XRFW3SrXSGZTNI9rxMIurh7Tzhvs9ksxyd74lq3K5iPAAG/h9OTQ6Ymx1lanOPWrVvkc4K30Wg06Pf7zM/PMxgMODg4YGlpiYcPH2Iaf/b14WNxKLhcbnK5nLN5uHRJYBvOz88FuiqT4cGtWxSLRV588UXeeustms0mwWDQaQ8yTVMorpaF3hUUJsBp43n8+DH9ft/Z+5pD4a1azIsatFabZCJDMp2iWhPuyHQmxa3b75NIRqn3dFRZol5r0u/20YNdzJ5Bu97A1IVBxO/1Mp6d4CyfEw3D9SavvvoqtUYDU5FIpscIR8Upf3BwwOzsrNOaPaL87uyI7MTa2hqapnGWP3M2KYIr0WFgWPSNAbZtIssmqqrQH4jdtoSBYdq43BoyNgGfB1W2kBUby7SwbBnLEvd8l8sFsoKqubFUzxCGKzwMmWSCZETQih98dI90Oo0sw7Vr12g2apTyBVbW1vjoowdomoLXG6bVtGk0BL+h0Whg9AUu3jQHmKaB7FUZSDbRZIrDkwKz81P0bR3JtpAwkT0uZBtckoSiSNhGB0m2UdxuwKZ6ekjQH6LX6/DBB7doNi36fYNmW5TTev0B3F43oVCYSCyB2yt8Kc1mE6OvUypVUFUPxkB0ICwszg3zBj7c7gk8Xrco0un1HPfgyFkoGrbcBAKBYd1fw9kk6LpOPl9genqaWq1OrVan2+0RDIZwaxYSLixTodnoYQwkZqcXkCSNcChJtVqmWmmSSKTY39/H5/PhdnsZDEx0vY2quohEYrjdAtJr2zbxWMIpBWo2BA5A7/WRJYWpyWnH03Pv3gMH9DKqqO90OqTT6WFO5U9/fSw0BaQ/gkCM1iqj2uxarcZHt287iuzIVNJqtbjywgvOODcas0bpSIHylh0Pwqh8JJlMsnrxIslkknQ6ze7OIacnedwuv1OjtnxhkVK5wGDQZWIyhWX3nDthJBIhkUhwaViScpbLYUsQDIfw+HwcnZ5weHjIg0cP6QyZha1Wi+eeeZZENMbGxgaqJDsiqqZpzlXBtm1mZma4fPkyS0tLvPjii1xcWyGZjgu/vyYzjM0jSyqS7MK0ZFrtHqlEEsWWyI6PsbgwQyTsITMWI5mK4PFJaC7weGUCQSG4jWy3I/emW1Mo5nOsXVrl1T/4fVyawsMHH5Edzwjc+7e+zZUrV9jfe4zH42FmZpoHD+6zv78vqtSLRbHzH/QEWarXQde7DkdA0zTOyucUajWqHZ2zos5p0cSUMlhyHN0OILl8mC4NiRbdTgFJNWg2inRqeaxeg0g0yP37d/nyl7/MrTsfYJoWjUaTVquDhYRpS1i2RCqZQVE0DvaPCEfjTE7PsjB/kanJedqtHvF4glQqzb17d+npbf7uj/xN2p0av/07/4Hzszy2JSFLKudneSLhGLKkEgpG6OsG7VYXVXFhGgqNeo9atUNfh/GxGUxDoa+DaSj4vBFsS8MceKhVBjRqJnpXxhy4ODupEA2PYVsuAv4knbZJsSBEzlg0RbczoFJuEAkn8HqCnJ8V2dnep9Pu43b5kSTJaa22bZtyueysm9vtNuFw2BGqW60WDx8+ZGVlxakQtCwLRVb+zB/Hj8WkYFtCUJmdnaXb7ToGixFEZX9/n2vXrhFLxLl16xbLy8vCgDJsLhoJNoYhsgujVCDgtPL4fD6HkzcyoxSLRcbGsoJnmEyxu7vNydkpzXaLTCZFKCxalkulIqbtcdZCqiowZn/xpU9jDQyqxZL4d24Py2NrvHfrfVrdDpKssnd4wNzCAqVSibPzPBPjWc5y58xkp50/WyaTIRwOi1XRMPb88OHDYcJT2LQ1t0qtUcU0TYEVN0Dv9JxOgKA/hGTLeDQhmHY6HfRuD/dYUnQHYtPTW/QNkWh0uVxItiWqz2SQFA3dGBAJBdjc2iEzXmBg6A7E9ZlnnuZ3vvbbIpQUCtHv97l+7RqRcJDWsHrN7VYJBAI0qpWhqCmETYEqs3B7XIRDUY4OT3n2+Ri722f4PHG8XplBX8KrqmiSCi4DyxBTRjgcBtVDq1gBZG7efJ3Dw2NWV9Zp1Qbow3YqVXEhSUVhGiwAACAASURBVAogCZZAIMzVq1fxDWEky7MrmIaEbZ0BDSzL4oknnuDe/Q/56td+g+2dR1y/fp2dnS1HhB4BWQOBgHOdVRRFdFFmZsjnBTS1OxT1ksk42GIKSyaTeDwe4hHRdBVPRIlHorjdGpoqMzY2BpZotopGw5iWTjIpsISZzBjj48Jk1el0SSREWMq2xSZJkVWnxt7lcjmaw+TkpEN38vv9+P1BcYX6Yzb/EVxlJP7+aa+PxaGguQTYY2Jign6/7xST9Pt9stks169fx7IsPvzwQ4LBoFNP/vjxYyKRCMVikZmZGe7evcvMzAyBYaz0ypUrjqBoGAaZ8XESiQRbW1s0m038fj+X15/g4cMHJIfW46ULy3x47zaf//z34PG7KZXP8fo0tnbLQ21D1JX9xm/8JqlEkngsxuVLa6QSSfL5PGPZcS711ykUi+K+7vWgud34PF68Hg87m1usX72CKqlcuHAB27Z5/30Bpxp1WIyuN+l0mlgy5vQDyDYCbJo/F74AVcM0bRq6ztaDNouLiyh4UGWVJy5fo5DLiRyCLKaCaCTlXLNcmoC59jptJEVFNyySsRDtepVLK4s0qiXmpufY3dpkeXkZv9eHafRp5aq8/vrr/MD3f58DBdk8OSKeiFIonIsJodsWh5fiwjLBssUmwmp2ubd3m5XVy7z826/w3/73/w2DPmgSVFs69UYJzWWhKTqy5KZ4VCQYiHDr/bf41V/5dRqNFkFfFFUNcbTfcLoxQ+E4vYEIeEWicSLxFLsHh0xOTGHZsH75Cu+9foeTkyMSyTitZodgyM/Tn7jG73/n93B7JKamx3n9jVeYmpxnairjuGXT6bSz0UqlUkPLuE7A46PfN/H5gnzf9/0AL730ElNTU9y9e5c7d+5w8+ZNLMuiFspxcipISy5VQVEkVleWeePNl5mayBKJhFheXsa2Ily4eAk8HrrDsuNkIu1EqwN+cRC3223QbAzDYmJCmPRM0+T09BS32zvMa4gJdGxM/NkNw3CKgNrtNqurqx//Q8G2hACYHhvj4YMHXL9+nXK5zMLCAltbWxQKBad6ze12c3x8TCqVYnx8HJ/PRyaT4Y033uDatWu0220mJiYwDIOdoQmqWCzyzDPPcHp87EBEs9ks+/v7tOyewx+4evUqRyfHfPrTn+bmzZv0zT7j4+M8fvzYWZcWCgVkG6ZmZ3DLKj1dZ3NnW0BLZYmBZbK0tMTM7Cyvv/kWvV6PRqvFzt4efUPYWyvFEpVKjUKhQC6XY3V1VRSCtFpOcGlkp5Vdwn6bjAnXZqNeRZUlZFnB6Is+hKA/QDycplau0aw18fu9BH3C/dZuCwOWhI3X48IcTgqSJIl1ocuFaYMiCXyYYRjIyDx59TIXV9eIxSIc7h/QdjVYW71I7vSUqcms6EGo1fH5PcQTUSqV8tBS3aLf64jEoeom4A9hWSZenxt3XcaveejUWnSbx/z4f/1PubS2zt/9kR/mjVf+ENsskUyEqLeE3fvg4IjjoxyDvkmnPSAQiOAPxBn0TRTVRO8LPmW5XMbrD5AYSxEKR1lYXqE3sIjH4+SLJY6P38PjEk9OUS8o87nv+Qz/8l/9CxYXFymVc0iSqLAbHz44vvWtbzm+mK2tLRYXF53E5IsvvojPFWZhYYHLly/z7rvv8hM/8RN4PB6xzWi1SKfTgsnQEZsvVZPwRkX/Y7VWIBT2Eon6UFWbQumYgDfDnfffZ2Fhgf39fSYmJohnsyxeuOAcNqP3LBKJOIVIhUKBTqfDE088weHhIQCpVIqtrS0UReHRo0eEQiGWlpY4ORFAlnv37iEr/wkNUf9/vC5dWLLf/OZvUiwWMQzRLZDP59nd3eXq1avD8RdCkbDTN7i1tcWzzz5LNpvl/v37Do/w6eefJ390jNvt5vz8fFjfJcb+YDDI1aee4vzkhEajweLiIo/ubYg78vwc+fw5iVScWqPO7dvvMz45wfn5GW+//Ta5gk6j0eDVV1/Fo7lwqRrTk5OCnNsSVXEXLlzgU5/6JOfn50xOT3F0dMLJ2Rm5QoGtnR0kSWFze4uVlRUazbZzyI3o1deuXWN8fJx6vc7W1pYQwYIeFElmY+MRvW6bVr3BzPQkoYCP+dlZvB7B+zd0kcKLREMA1BoiS58vlIhGksiaC4/bj9vtRVHqYuXVbWP0xfq23mxh2RJXrj9Lt9dncfkCXd0Y8v9sJsezHBzsI2Hh9/oYzwoikYJELn/C8fER9VqJfr+HKotDzTZtbFvC7wsTi8QYi0W592CT/sDGH0rj8/pxedyEw24kBqhyh2a9wt6pKLPJZifpD2x6XR1kF7at0Gr3MAaWoD7LwjeRnZxmfnGBWr2NbgwIR+I8cf1pHj3c5OHGJnNzc3zjP36d559/Hq/PxeHhHpZtsL2zQTgcpFA8I5sd5/DwkIX5i3i9XidA1+0KIO7nP/95fvRHfxRZlvnc5z6HSxZRZIBKpUKjIYhaIw1lfHx8OO2eDUViH+lklEDARzwWxh/wsnZxmWpVmJkurbxANpt1glfHx8dMT0/jC4W4e/s2V556il6rhScep3K0T6VScZySuq47dKhRPkhVVebmRDwgkUhwcHDAD3zhC5SHrVHf+9d/lI3tP5289LE4FC4uL9rvvfx1ut0uyUyG1155hU997/ey/eGHZLNZJ/xULJdEEOSJJ8gdH1Ov1zFN0zEaxWIxisUiQb9Qi0d39Z2dHSYnJymXy+TzeWZnZ53159zUJGdnOeLD0hSPz0swEefhh/dpdtrs7OwA8PVvvMrh4SHhcJjNR4/IZrNUyxV8Ph9TU1OCLCQrXH1inWAwSG/Q58rlJ2g0Gjzc2ODevXvMzswTCIf49re/jS8YcrogR52EI63DNE0H7NltiPScpijMz04yPZUlEvbTalTpNKqEI0EmshmWVtZF5XivTafTodnpYtkS5VKL3d0TkDW8niiqoqG6+lhGH8sc0G42MAd9fIEgfcMkOT6FLxBic2uH5z75F0knkhweHggnXLnI2toa3U6LwvmZswHqD7psb29SLJxhmAN8bsGI9Lp9SJKMhIbfG8AluQhHI5SrVU5yORKpFItL81SKBdwuF7FgyImP981hLaAkocgaXb2PommomhiRS6Uymldsl5KpDKurl3jhU3+Bubl5/sd//W/Q+wbn+QKX168QikbYf7jB2NgYd+/eYXw8w8NHD6hUi0NnoMr5+SkTExOMZaZRFIVQKMSVK1f44he/yDe/+U2++c1vOiag+fl5Bj2dszNRKhOPx8nlcpTLZcbHx9F1nWKxKDIOygDNpeLzeUglIkQiYcbHkgRDfi6uLHB8fMjM7BTxyAzFYtERgROJBOfn58zNzTE1NcXZ2ZlzFc6OiUrFcDhMrVZz7NnVatUBIBeLRUxLdzSrkZ9namqKXq/HX/qhv8GDja3/rL0P/1lfHo/bISznz87w+Xyc7YguhrOzM6cEY2xsjEajQe742MFrn5+fOzHUTqcjeAQrqxwcHDin/UggqlarjjEERBBlY+MRsVicN996nWc+8Rz37t2jPzCJRqOMj0/Q6/Ud2+hovE4mkyiKgi/gxzYtBwjTaDTY2dkhnkry1FNP8Z3vfIcLFy44Tj/TNPnw9gesrKyQK5acGPeIuByNRh3YysipqBgGbs3FwtwskbAXr8fFvTu3iIb8vPjisywtzPPUE+vYXhVJlunrOp1ul26/j4RCudzlrbfucHpeolJuo+ttgqoI5FgyaIqMZKuOgFkbMjEb9SpbjzYwF/pMT09TKZd57dVX0BQB+fB4PE6t+UjkHbkm//hfsixhWzbtdpumPSAxkSWoQOd4l3pXwVanaOkt9k+KxENxopEIkmzjUVRMFNGNKNt4PCp9c+CsiyMJPz6fgNU+99xzBEJhvvrVr5KdnGR8fIJqrUG92cLj9xEKhXjxxRusr69zenpIdmKM/YM9BoMwsgLn56cEg2FKpQpul4Cg/OzP/iypVIqXXnpJWIsLBWKxGPV6nTfffBO/x8u1a9eQZZmTE2GImp2ddTZkoqjFS6/dQpGV4VpSxTIVZMlNr2vQbvVJJsfwesL09A61eoW5uTkCgQAzMzNoLoVINES702T/YE9E4V2K0/41qlIcfb5G2Z/R5Dk7N+lMCbIsk0qlnAJb+0+vYwE+JodCpyOw1qOcQyQScehIAI1GQ+QEhj2PoxErFouRSqWo1Wo88clPcvu117hx44ZYpQ2pM6MRL53JkJ6aAsPg3p07pNNpHjx4QCzs4Tx3QigU5PBon93dXVTNTTAYZtA3mJ6aQ1M9FEpt1tfX2dzcZG5mhq9//esiU4BNpycOmaULy6RTcR49euT4Db7xjW+QTKd5/PgxHrePWq1Gp9OhPRg4dtWRA3NkNpEkaSgcuVnMTjA5OUmpmEPvgd518T/93L9C77UY9Op4PRqV4gnelEtsFYJuVLeJ1rOwJYn0+BTTszP4AlFefeUdvvMHr2AZForLhd7rOLSqo5MTxsbGKDeqFEqlYZHOCamUmKCikRAej4eT0yMk2yQQEBHj+/fuoWiS8/6ZlkFfQtyn2z08Hi+hYAxzYKHbNsVGjXgyQigTRDfbnNWOMD0mql+l2ungjcTwKDaqqmCYJrYt4LZ6r4ttmciq+P5YtAmHs4yNjbGzs0d6LMPFi5c4y52zdnmF/TfeRJFVNM3N2tplfvIf/X3hELUGPNr4yHG+ttttxjKTIFn84i/+Il/76u/wzjvv8PM///OOJfz+/fuOgzCXE1HogM/D2blgIfYHPRRVYm39Ip/97Gfpdrt85StfAaCca9Hv9zD6Fq2GiUuzaTUHIJmUik10vcNAl3F7FC5cWBpOvBG63TaJRIxEIsY3vvENrly5gqJI+HweOk3x2RHBt65TNf/mm2861XMj89Lu7i7LQ9TA7u6u43n5824IH4tDweP14vL5iaXS9I0BjVqVubk5Bn1BnHG7NdA07AFEQkJX0Ls9FElGkRXOTk7pdbpcXFnl6OiItdk5vv3tb/PiX/iU6CDwuIf+eYW9nQ36gy6Hx/vMzE2haAHOHz1CklQKxzkuXLosbKfRCIWi4DgkklGuXJzn6OiYQa/O737jq8wuLLG8uoplws0/fB1fwE/LlAjaMrbHz3v3H4pDzefjrFIhNTXF5uFj8QTQNKRel3BCIL7GJ8fZ2dmhVCogIUbidCpBNBwh4gqiSQrzC5P0jQpPf3KNrlLG9hr4fBqWYdPtD1B0HdMcEIhlaLTr1Bt9klEfg26BQMiF7Woz90yY//LSZ/jKz/4KhZJB2JcCU0WWIRUPINFDkwf09QGF0yIrC+PkDzfwzs9huG0qxROaNRe63mZyekY8cTSFTqOKioRuymAqdAYmtq1h2DI93UTVuqJ/oNfgLGfg9rrwqVFcVoBOUSIaiqP6fITSorqt35cxLAs0iWaljG2BrIVQNJmAV2xNLl+9wv7jIyw0Wl2LCVeIXLFBT5f45re+w9zCDO8cvcfzn3yK3/zNr3Dt+pO8++67+P1+6rUm09PTglvgC7G+vs6P/MiP8Ku/8qucHh/Tqrepliqi10HvMjUxTrfbpl6vkkoGUFUTmx4Hhyd4PB4B9Ql4uXvvPd7+7qtYlsXP/MzPcPHiRX73d17md7/+28O+SD++oIeT3DnZsQybO/u88PyzFAo5FucWkfHTarSJhNNsb2+TTqe488F9el2DWq1BtVrnwoULpLMh8Hq58/rrLC2JWsPNnYcYts7y6iV2dnbo9XqUilUmsuM0GzWWlpZoNqKOx+HPe30sNIW11Qv2d1/+PQKBAL12i+Mj0ffXqFdZXltj76OPRFpRFv6ATCbD+fm5cyc/PT3lxo0b5HI5cZdFolQq4Xa78fh99I0BkXhMQEd6PVqdNteuXePx48c8/cwnOTo6olAoODXjIzTXxIQoXV1YWCB/ckYgFOSd997n/fdv88G9+5TKNSxbIp5Kow/6uDQPsWhwyOproeu6GL0rFbxeL8lk0hk1D4+PCIVCwtraaBKJRKhXqviHTMpUKoVbcxGQ3ESjYertPH/zv/ohZJeNRAdZMvFrbsz+AKtvMZBVXF4vCytPkS/XsC2LsEclGpDRQh5sSaIhqViyyltff4Obr7xJrzogGgpTKpxj0QYsyrUOA0PC7QoRTwSwJMFpsC2Jw+MjDMOkbxh4fH6HLZCKBp2n1sgrMgqTjSrrAoEAXVOi2WigaRrJZJJ2U9iH/R4R6omEwwQCAUKRoOP9j8aT1Go1Nrd2WF1dRXW52dvb4yd+6icpnpcIBoN8eO+hSLyWa5RrVVweNwtLgs15eLLPz/3czxHR/EQiEWKxGIPBgOXlZT7zmc8wvzDL3/t7f49qtcpgMCAZiw/JW+I96Q96WJZBtVp2RFzbtikUCg4IZWRsGzE2R4U8k5OTvPfuh6xfWsPt1kilE/ylv/Apnn/hORRsdna3KOZzNJp1PJrYbIiMjmfovxGCcDgisIJer3t4RWgxNTX1JwpqR5iA09NTp/RItgVNKp/PO9qXZVkUCgX+1pf+MR9tbP9/0xQkSZpE1NBnAAv4Zdu2f0GSpBjwG8AMohDmi8OSWQn4BeB7gA7wd2zbvvP/8DUoFcu4NDfb27t0Oy2CwTDHR6ekU2PUagJTlZmYBHCYd6NRKBAIcHx87OyTn776JOOTUxweH+H3+ykeHeEPR4jFkwTDIW7dusX+4TGa20un2RIpu56O1+VGlWS2t7ZhYQFNVggHghh6n4ODA9YuC2JTPB4XLkC3wKuNjCoXVlfQux3efPNN1tbWnGvAyKFZKBQ4OztjcXGRTkeAVX0+n/NhGE9nMIYY8BHfcHn9Mq1Wg0ZPRvO4UVQL0+4jWRJ6v4/e7WMPLI4LbZCaRDMWXd2Dz6UwMGwGAwvNdCEpCqrswrJVZpcu4n//Ic1KEUuSkV1uZEwGhhhFZUmYyXLFgrMH73R1seFRBbdg0Gw6acv6EJo7+nAOBgPM4dXNBhHbVhQiwRCuYWPRKJ34x9ejvZ6IWqfG0/QNg2Q4jD8YQtFUZgYGB0eHJDNjfN8PfD/f/v0/IOwLcuNTL9JoNATP0iecrY8P9vn0pz/NV77yFX7zt36d9StX8NlupqenCYfDHB7us7S0xKXLK/yv//5/4+7dD8lkMiQSCZ577llnDT4xOc7RkQDi1utVp2THtoWNeHQAigi1eGB1Oh2nBj6VSnHp0iq1WgWXWwXJ4Dvf+Q5vvf06k9kx0ukk83OzhMJBshkBC4qNjXG0s0Mw6Gd8bpLTx49RFAmPRxw+Dx48YGJiinK57NCkTFPg5DRNY3FxkZdffplkMomh95wrdKVSIRwOMzU1haZpqH8Oeen/zfXBQLRK35EkKQh8IEnSy4jW6Zu2bf+sJEk/BfwU8JPA5xB1cYvA04gy2qf/vC+gKCqzCxd4cPcOsWiS0NTMEFN1kUajw5PPfpJmsUilWSUcDhOZmkIvFh2kWjwep9frkcvluHLlCqeFMnNzc5SqTVrdAbMLyzQ7bWYXL4jp4NkbNJtNzs/P2dx8RK1WQ1EUjo8PCQQC/NW/+sPs7e2Rz5+jKApnZydcu/4kt2/f5pmnr/N73/o2E2PjeH0But0e/W6HVCrB/bv3CAQEWXpkrz4/P3ecaCMT0snw/t5qtfD5fMSjMSzLcjBdgIgiI3H37h0uX10nZERoNJu4fAqm3aff7WD1dRRJRUPjOKdy995DUvOfZnx8EhOdQjGP2TXIejSUUAif5qVnGCxf+QSzH+wxMHY43tthLJmgUTtmYFhYtoFpWrRaFboDcfi63G4MwxIuTQRXAsnCHHIN6/WWo92M/g4S2GAbJi7TQvUIjmb6j3EwR7ZybfhrI+I0qoytSCQzY/QGfYLRGP52j4VYHF8whKS5CEUjBDx+vvnNbyJJmgMfKRaL/MIv/Sw3brzE4tISX/ihv0yn0+H2Wx/idvlQFI3l5RW+9KUv8U/+6U8xNTXJ7t42Y+NJ4okwb739Br1ej1argSSbdDpi4puamiKdSTpIM1Vx02q1REZCUSkWisOadyEYT03O4HZ5OT87IOD3MzMzRaNRp1orobkSHB0dMDaWQte71Gpl+t0O+fw53Q9ucf3ppzg6PiDRbQx/vSoszRjIiujgHInw5XLZST6OWCJO9kTvDQXzcapDEnipVBLoAP0/Adw6rIM7H/5zU5KkDSALfD+iPg7gV4A/HB4K3w/8qi3uJe9KkhT5v3RP/t9ehmGC4qLZbBP0BQmnMhSOj/H7xAQQDhQ5OzvD5Re8gM3NTeLxuPjmT03R7XZZX19ndXWV/f19PP4I5XodSdOQXS4kRcXt8vCtb/8+N27c4P79+/h8Pp588ike3HmfdCrB2NgYp6enRCMhPrj9vmiV9gofQUnvEvB5WZxfwDBtPvnC86yvt7h99x7FUoV7Dx7AIUQTcf5P5t47SNL7Pu/8vG+//XbOuXt6ws7OzszOZuwCi0hEERLFIFEMEinJFJ1UCuezJYvS+SxKtq/sOlmlk8+6s3S6stKJokmKIiEBIAACWGAXwOa8s5PzTOec33B//HpesSxSdtlXV+gq1G71zs42evr9vd/wPJ9neXkZXdd57bXXaLfbFndh/6DodDoWAEVVVRwOB+OjY+zu7g6t0iI8JBgMMpLOMJ5Ic3Bqkin7GK1uB8XtoT8Y0OkPcNqdOJ1uuo0OB2eP8/alW/hCEabmUjRKLbRemXDEjc0OeruJ5pJwONzsVrscPvEgP/B9n+CX/oefpVhtgGGgGfpwE2LS7bVRHHb6gwHVZgOn042m62haH1MC05AwZYGTt9lt9IaeFHHI2yx2gGEYyA47PUPDaLUwh8O7breL1y0EOPseDH24wbh15x6nTp1Ctqv02m0RJGwIzcPJU6fodnvkSyU8Hg/9fp+x0SyBQICJA1M8+PBRfvYf/iJHD8/RaDQo7O6xtLTEL/zCL/HE06f58A/8CN2u8MIcmBynUMjzsY99BE3TKJfLNOo1gsEgPp/HSnzelwnfuX3POtgNQx5i/UycThdjY37hmDVNGo0OdruLblcjEolQr1VIp9P4fF72drdJpRPkd/fY2t6gkN8hm81aP3uP18Xe3h6qqpDL5ZiaOohh6FRrZUvhGw4luHPnjkUDP3jwILu7u7jdblqtFrdv3+a5556jVi7h8/lYWFgQ4bLhsKWBMPT/jyArw4Tpk8B7QGL/Qh/+Gh9+WQbY/I6/tjV87j//Xn9fkqTLkiRdrjUavP3aayIcdnUVBgMhjBlmQO73SfvAlGQyiWEYrK2tceXKFZLJJAyBI1NzcwTDIbx+HwtLixiYuL0eisUip06cJJhKc/DAJEF/gPxeztp2lIYfslAoZPWdDoeDSCQiZgzpNIah0e21KRdLFAo5nHZVsP2RsCkSm2vrVh/t94v+U/SnIpNxd3fXChGt1wWleX+N5B4CYfbR7v1+H6fTKUi95TKNhuhxB70+qurA5XbT6XRpNtrYFBW7CkgDllfusrNbp9OtYtCh3amAU8bmd2AywDAHRIJeHnhglkKxzG4+hzlMNGo0GnS6Xbp9gapTFHHP2I8s21+d2mw2HG6Xlaws2xRsih3FrmJXHdhVBwNNx6bYkWQb/YGGbFMsD4Gu60SjUYsx0O/3rRwDsUsfJxQSsNNGvUWxUCafL+L3+/nqV7/GV77yFYrFIlevX6M36HNoZppAKMjpU0f5h5//R3hcbgI+Pz/4Ax9ic32DH//MZxkfH+W3f/N3KZVKpFIpQqGQIGQ5HBSLZfp9zWpnEokE9Xqd69evW87ExcVlarUWkmSn0egI2XFPo9vp06i3KJeqtJodfN4A0Ugcu+IAUx5ejFFeeukllpaWBEJtVyh0W80ObrcXw4BkMkmxWOTObYGiBxmfz8fW1jbdbpdEPGUFCNvtdtxuscnad9YC5POi3Xv++eepVqtMTExY6/rDhw9b2ZfiZ2v/ntf5f/X2QZIkL/BVRGhs/a/LxL/5pd/lub8xzTRN83eB3wU4eeyoOXdklm996yVGUmlqlRK6PiAQj7K2sECzKS6a7byg2MzNzZFMJrl586YQE83Pk2k0SB46RHNnB5vDTblc4rnnnsXr8XDz5g2mD06xt7fHrbffpl6v8+gTT9Cq1zl65DDtloj5nj5zhl61SioZx+P3s7W+zoXzbzE1NcVffuXLfOgHP8K//53/k2g8hmSaRKIi1doE1tc3qJSLqG4xfKpUKjidTrLZLO122wq/3acq+Xw+RkZGyOfzLC0uAaD1BHfR4XBYbD/FMChVytx59wY/GHoWj8+Jqes4VSem08TQTBwON5gVPvujTzE1HWZn6wqS0SQZ9uBw6mA0QO9jmA76Oiwu1ohHkhiDPuFAkEIuj6p00U1TbGpkg4Gm0RnKqPvaAEwZA2Fykm0SkmFgYKL1dVxOFdMw0IazhEG/L2LjZRnF4SAcChEMBMimstSq1b82demiZSoXiqiqSjwep9PpUMoX0PsDZFnh2MkTeNw+Op0e5UKJ40ePoSgqKysrHDhwYJijmCAYDPLRj36C559/Hr/Xy/z8HR596CwzByf4jd/4Df7wD/54yN4cZ2trA13XCQUjjI+PAVAqlSjkqwx6bUrFGslkkpnpI9TrDdqtPbyeEAF/VKyPB3lGR8doNBroum4FIh8/fsLSKuyzPZeW7zM+msDnDeByOzC0AR5PgOzICKpDoVouEQpF2NjYRlEcKIqDdqtPJOwkEg6h6X12d3e5ePEKc3OzaAPhc+h2uxZJaWRkxEKz7WMNo9Eo/U7bSvwul8si2m4Yi2Ca/53eB0mS7MMD4U9M0/za8OncflsgSVIKyA+f3wKy3/HXR4Cdv+37dzodQtEwhw/P0G23OXfuTcbGxrh15RKpVIrlZg2H0z4Eg3rY3d1le3sbj8dDNBolEAhQLBYJ5HJ402ly6+t4PS46nQ6bm0Wy6RT+WARZMvG6PVy4cIF74r7/VwAAIABJREFU169RqVQIx4NEIhHhXVBVHLEY82+9RSwWw+PxWAowh8PBq6+8zKc+9QmuXbuBYndQqtTpD3RMw8BuF7i2RqdrlcPhcJiJiQkkSbJYgNVq1bJ/r62tDfMABT9x/y7a7XYtAG3K6UHSDdr1Bg7Fjt2mgAyyJCMjmIV2m4qi6PiyYZxqn0DQQ6/RQbXrOOyApGNqGvlSi+5Ap7Crs7u2xc1Lt9C1Ph6PC0NvY/ZFv9rtabS7A/q6ANkAyJKEarej6waGBKYEyjAnAcNElhTsisMSLemyjmITiDaH6kKWBMTV4XBYqsVIKGwFm2iahjEcmPnsTor5Es888wzVYpWKWSGdFOTjGzdvW4dppVQgHA4ze2SSX/1n/4pf+7Vfo9fp8MILL/Avfv3XkV3wS//0H2O32xkbz7KyssJbb7/J0aNHabdEv722uoHH46Neb3LgwAGq5Tw+n2/4szCR5Q6tZncIpnXi8QR45pkTeLwqY2NjJBIJkQTt91OpVMhms5baEKBYzLG4sMD8/F3W1lbotJuUimVcqoNwOIjNZscmq4yPHRi+B9BoNNnbyw0TqKpkMiOsrW6QyxVwuVxiTR6NWgpYl0sQwlwuF08/+yx4PNy7eBFFwqo6Q6GQ9TkOBoPYVfW//VAYbhN+H7hnmuZvfscffQP4SeBfD3/9i+94/mclSfoSYsBY+9vmCSAYjTevXyYYDLK0cA/VbuPg1Djffu0VNrdW8bnd7O1tozjdlntQlH1FRkdHyefz9Ho9oUFfWyMYDrCxty2SkkbHiCbiYAzoteoUtjfJRIf20mSM0YMHuD8/L2jPqoN+v08qniCfz6NpGidOn2ZrbY1es83MzAwenx+Px0W3NyCZjHN/cYmdnS1kWSEcDhFziAjy/Yn6nTt3LL/7PkFK0zQ2hzJt15AQ3Ww2aVRrBPx+/H4/qVRKpFPXGiiSzEgiRbveJuB34w8E0NFxyE5skg2Xw4vfbxBLJJBdXuz+ANVCD7/Thqz16DZadLU+3Z6dRtvgxsW3ufTeVVbvb5KIBAkG3LR7shj8aToDw8S02ZAlG4ox5DxiIMsSIKMNBtgQYcCqy4mqg6bY6ck9S/VpSjLGQMOUZfrtDrntHdqNJvIwumw/Acw0Taanp+l0OqytrorPXFWwK20mKJLM1vYW66vr+P1BMokkRn+ArEv86E98hiefeoy3Xn+PM2fO8Prrr/Pg6dP8yhd+mc/+2GcEHLc/4MjsYd689AadTod0JoFpGkwenKDb0XC7/YyNiorj7bcv8NCZYyiKcLCePfsIUzPjoEGnAy+++C2uXbvGxsYG7U6Je3fvMxgMrE3YPtErGo1aUYa5/K5AzKsqY+MjYJg8+dRjTB+c5LHHH+Hu7du0Wi3m7y2TSifJZidYWlrC5fRRKlaHODgn4bBQ0Rq6jVarxdbWFpOTk+zu7gqAryEMYJcvXuT0ww8z++CDlJaXrC3Xfgzhfsz93yJo/K+qFB4Ffhy4JUnS9eFzvzI8DL4sSdLngQ3gE8M/+yvEOnIJsZL83H/pHxCZfXZGJ8YYnZ3i/F+9yI0b14hGo1SrFcrlsrCxZrIWE2E/dmtrawvTNJmZmaFarVKv11FUma2tTVxOJ71+l1qpyKDbw+N2Uy0WCYRC9DrCM2/oGuIdMqnXa8PU3w4+n5ft7W3u37ktPPU+D4GJCW6/fd4CvBqyjMflZmRkhGazLQCaIbc1VZckiXA4zMjIiHU49HoitWega4RCIQKBAKVCUQiWhmx/RVGsXT8IZ6PL6WR1eZlozD+0TaugShiGCaZMp1GkLBt4oklsChj9Dpqsokomva5Bs6uzuVWiUK6zvryE2e9jDvoYuoZTVWi1BuIuL4kyQNc1kMQ2wZSAoZ5lv6Kx2exgEzoF2ZCsweL+f/v/D4ClHgzIMsaQbKxpIkkpFApZeZp2u+hzEzFBL75z+x4HDx5kbu4I6+vrOF0eioUisXiSbDrDk08+xq/88j/nUz/yo+zs7PDTP/3TNOt1zp49SyadYHdrG7sq8eKLLzI6myGZTLJwfwUJm0D+KR4C/iBXrlwjFotx5vRD/NzP/V1GsimwA3341//yt3jzzbeIRGLYZIV8Pi/mQVEn29vb1Go1ZFkmm82ytbVlUZoGgwHNZhOvx0+71RKE8WqdVrPJn33pP3FgfJSbN28yms3w5JNPUi4UrdSn0ewYkmTDNHV03aCQL4EpUy5V8frcHJ6bQpZlYWn3eKwt3OqQ8Xj90iXK5TInjx1lcXGRdDrNgQMHmJ+fp9vtWq/vv/lQME3zbb77nADgme/y9SbwM/+l7/udDxkTqddm/e4t+v0+iUiIg4cOcefWLbqtFg8+fppr165RrlXxeV3IUoxAIMDly5d57LHHWFlZwdD7+H1uJHSmTj1ALBYXAhOvD7uqUqpW2cwJMGo4HufunTvE43F29krUm0JktLW1BRQplUo897GPUW/2UJ1eciubxJIhFq9dIRiP0traJZ5O0+lq6Gs7zEzNcuPWHWxuJ5Mjk+zm9mhV9/B6vWxtbtPpCCipLMvopoY2FPrs7GyxtraCx+XF4/EQicTY2drlk5/8JIOBTrfdodwQ8WOqK8i9O/PUqk1+5NMfJhD0sNtZJRD0ItvL+N1hMQ23NTEGHdwOKJZL+HwZ2l2VTtPgja+9QqVcQ+tV0Ro1wgEFf0BFlw08wTQ4gnh8AkrS3dvDwI4sSQyafVRVoVVt4fV68Tnc2GUbhm6g1Tt4UyGRPdFqEwqFGHTFLEJVBXDELZs40anv7jE9dxi7Q2V9Y4NOv4eLID1TQsOGxx3C63Dh9PpIZEZQVDuVapWtpfuUG2JIpmPSunqBV779KjfPL+A2/NgNhU996of4xz//P9Ltdjh0VPT7piShuD20ahr1kpNes4PPkSEcCjAykubo7Cxnzz5IKBMGE/7NP/sX/Ktf+18oV0qEQgFUVWFndxOvx6RSuUelWkZRZA7NTHD73gKKYieZ8VAp19DNJplslEFfp1IVwzxVdZJv7eJ1ezAljb3KBl6Xi26vS62hktt1YfSr/PbVC6THxsR76/Px0EMPEQgEeO+99wiHwzTaDbLjWSLtCA6Hg2a1iWzIdJtddjZ2iMfjzE7NYrfbmZ+fJ7edIxaLsby6zQNnHiWfz9Pq6Hj9UYLhJKVKC+P9LnOWJJnNzS1GRkaQZZmRkSxXLl1GVVXOnn2YjY0NkskUDrebUqnMoTNnWL1+nUceeZR79+aHO1gdt9tNuVzhzoV3RIthV2k3W2wU1/H7/STjCQxNp9tqMz11CJuioHkNer2exdFvtVpks1kuvPIKmUyGeDxOt9vFH/TQbrfZ2tjk5q07PPTwY1y/fhtN64s98dQk5Wodl9tBsZi32huv102v10GWZSv4ZZ+WtJ+qNBiI1OPl5WUwJC5evEg6PUIkFEZXbIBBr6+RTGeo1Iq8/vpbJBIRDh85QKPaI54I0+2YqHYbNkOi1emjGyaSYef1V98kEpnihW+8gqkL0rLbJRMMhbCrKnt7e3T7PcLRKHaHyszMDIVCgbt37+ILhCyWo8PhwD7kSIIwk+0r97SBgWp34nIbGAaYpoTT6UYe3ks0A1qtDoOegIe6vR4xFygVURU7oVCIbCpDca+A3+PF5nWRTKcIBoM0hjj+8+fPC+LRSIb/4/d+h4//8Cc5EJvkV3/1V/n83/8cU1OTLC8vMXVoEkqwt1sgkx2h2egSDEQ5NH2Qxx9/lKc/8CQOVaFSKfPv//ff5mtf+wq1ahlVVVhcXMRUXKgOhXxRdLw2BbLZDG6vi0gsiizLbGxu4HYJcKquSfR6OpgKpgmtVpt+X8Pt9qLanegDg8JeAY/XRSaeEO1jv4PT4UbXTDweLzabwurqKsePH0eSJF5++WWefvppHnzwQZF8NjkJus5X/viPOX36NIZpUK3XWNtYFzMfWSKZTmEYhkX1zhcLmMgWxWx/JalpmuXG/F6P98Wh0OmKwdM+CLM+TFQ6cOAATp+PZFKQdbHJLC0tWWuxnZ0dYUjp963sg/2Vjd/vF6isTgdlmLIsyl6bVa4CQwhnzZKu7lthH3n8cZAkNleFd3329HG6lQrr65uMjIxQq1SYmTnEK6+8hqbp5HJ50RvOL/DgQw/xh3/0H5mensZld1oqP03T0IcILrfbbYldOm3hDTAxOXXiAYrFIidOnCKTSvP6yy8QjUZRbODyuDGlCG++cR6f30U09mmSySh+d5hKpYo5UHD7/GAKV6Jm63Lzxh3u33sF01DRdReBQAhdG2CaEtgU/IEQjl6Pfl/D5fHSqDVpNTsE/CEGw8Hf/ipyf4Oynwa1P8mutWvWmsw0DHCoqDZF0H0M02q3up2emCc4VJwOB94hWLVaroDfsFqQeDxOKpUSB+XSEoVCgWQsTqlY4t/91v/Gay+8QiVfRAuP8k9+4R8Ri0UYDERuQ7lcxjQk3C4v2gBOnTrN4dk5PvaRH0JVFTa31vnTP/kTavUKd2/fotPp4HEJl24ymSRXqeF0qkOQro3MSHrINYSNje1hgHEISVY4evT4MLl8k83NLarVKoqiEg7FhxuCXUYOCD6GXZFptTq0Wy2S8Rh2uwNJstHva7RaHSv+7fDhw2iaxrVr1/B6vYTDYe7cucPJkyd55JFHxGdVE23X/tB9b2/Pcv5KkmRpYro9MUPYb0UNw6BQKAz9RI7veT2+Lw4Fj8/HJ/7u59man+fOnTvMzc1hSBAazXLn0iVGRkZwetw43C6Lt5iZnuatF1/E4XBYPVIwGBRBmu22ta7c97Y7HA4ymYzlj9hnQUYCYUqFHIoMAZ+HUyeOoes6L33zLzhz5gz1apl0Mk6vUmF3aOtW+houl5Nut8cDD5zkm9/8S8DA6/WQG/rYT5w4RrfbpVDMYVdt0GU4fLSh6wPa7bZVNfiGB9/m2qa1riwWi+gDjdhoBptNolwsMTd2CGerwVHlQQb9Hm+8cpF+t4Nit1nJQ8GwD0VRyJfyNBotNE1G1x1IyIyPZajXGwQiYYvjWKnXGFR1BoO+5QoMBgIiebkrmAZ22WapMnVdR0Z88PZTm2OJhKiyGk1yuRwyEgMM9GEMuiLbUFUJfyhIuVpBlmX84Qhjo6OCTN0VB+bM7CzhUIhSo8KVK5colUrDwJc1fuC5Z/n0pz/Nb/7Gv6XZbJL0+CiVd5AkE28ghmI36Q/arKys8dgTT/FnX/oa1VqbxYVV/sN/+F2+9Kd/DMDYSJZTD5wgFPaxubmO0y1Wpjabje3tLUIhH+FwGEVRaDabLNxfJBKJUC6XCQXj2O12KpUKsmJy6+Y8d22LtJoidyQRz3LyhDhEPvvZnxTVqlsh6PcDBndu36JcLNBpNcDUkQwdWVJRbCpTU1OkUimq1Sq9Xo+RkRE2Nzex2Wwi8CibZXthQWzEsjPsbm2haRoPnjlLLpezVI6YMslEGk3TCAaDVtbJvr5nn8a1f4h8t8f74lDotFoUVzcIh6IcmTtGtVolFIywvbCMx+3D5fTQ64rS0263E48lWbp2k35PYyQziq7rVv6foUMoGOTGjRu4nE5Mw+DQ1BSKotBqNokOw043NzeZPnSIwl7BuijX19dZWVnh1EMPceTIESLRKKurq6LEHnRZXxOJvsV6mSc/+AOce/VVErEITzzxGJ1OjzfeeIOHHznLnbt3yOX2SKczSDbZwoYbhoEp7WPnRe7jfj6gaZqcPHkSl8PN3Nwc5XKVarWKP+4D3UCqVOgONAzThmHasCkO2rU+ToeXfruLxyUEV3s7NUx0TNlEtXvwenzk8hWOHZ1lZXmLUChCMBIWsestJ5Iiysh6s2GFrAL4vF66g76V0LX/0HUdh121xEyKohDwi0xPm2ynVmuIu9AQ2sqQN9EfaCBLuN1udNNke3OLYDhEIp7Crbqt+Pd6o0EsIQJTqtUqy8vL2G02IqEw/9M//QKXLgq16cTYOMVOTUB4HDKJZIxqvcYnPvEJPvHJz/Lt197k9//vP2R3p4iu60wdyuJw2EnG45TLZfb29shmhb1+ZWVFgGxlG76AH6/fRyaTodfrsbKyJrIyUUimssiyTDAUwzQlRkZGrGSvs2fPEolEcfqG79VwClfNN5i/f5dKqUwkFOHo3BH8XicOu0osGhRmq1KZUNzP6uoqMzMzPPTQQ1y+fBlJkpidnWVzc5PS+fPWgTQ6MY4pQa1RJxQJ0xnKmYPBIHt7e+KGo4jK2DAMvF4vBw4cGFay81bk/fd6vC9cknPTU+bFV7/B5uYmmUyGjY0NK1pe0zROnDhBs9lkaWHRuvuvra3x/PPPI7lcbCws4PP5rDXf+sYqjz32GNeuXePUqVNkMhlr/bdPy5EkSUyNk2kkSaJardJoNCwU3He2I/1+38oQ2NjaIplMMzKaZWN9C0W1c/KB07z11lu88sordAYab5x7k0BA2FQDwTAbG5vUW01ssp1Wp40k2ZAkcVH5fD4CPpGE7ff4WV5cYWZmhnK5ytTkQfzpAIlojH63x8riEqrdjt/hpdfpUCtViIUj5Pb2SGSEIk62Qb1ew0DoHXyBIKFIHNOQUFUn09OzNPvCkFQoFKjX66RSKS5fvozNZiMQCKCqKvfu3WO3KD5gsXBEtD5D0nQiFicWFmlD4XCYvVoVr9dL0Cci+eLRmIi28/up1WpsrK4BUK4ViUQijI2N4XC4WF5YJByOkspkh9FswvMxMpri4sWLKDYbboeT7c0ttjc3sUkybqeLXrtDOBSiYgiceXZsVKzbag1sNgfVWoe93QoDTSIYENyBeExCVVVrjqMoCru5HJVKxWqLgsEg8WiYbrfPkSNHOHnyJNOHZglEvBh9kEX8BK++dI6bN26ztbVFq9Wycht1XUe2YVVUAOGAD03TKJUKlAo5IpEwbpeDbrdNJpUgkYhhVxWe/9Cz3L17V2xzZJlTp07h9XoJDKu2e/fuMXvkCO+eP49zSFMCLPXlK6+8wuzsLJqmcejQIYrFItmZae5eElqfe/fuWbmSkUiE7/uRH+PazdvvZ/KSk3qjhepwcfvOPY4dO4amaVRrAmaaL5SGwzk3u7s5gsEgrVaH9fXN4YW+R7e7RiaTwe32YuoDnHaVkVSaV156mZ/6qZ+iUa3htKu4HU6+9eJLHDsm9tH24eHQ7/dJJBN0um10Q2NxSZRqZ86codlssrW9RzabZcQw6Pb7JA5OWXbbr3/tq9jtdp547FHOvfcu8XiURqOFaUrkFgTUtdVqCTGPTcZmE+7C/fKuXm1Qq9W4snmFo3PHSKfTzM0dZSSd4cLNd3C73XRbXcbGJlhfXaPaaxCPxsCQyJdrFMp12pqGJInciIFm0Bv0GU+JfENJVjg0PU2z0WZ1bY3ZE3NsbGwQjsaIxhNDUlCI3nC20O32SSbTDNDI5XKWcs+hqpYzdX+uI2zQCUu7f3JqWhC0dvc4ND1Lo1ZHtTu5ePEiqZE0jVqder3OqeMH8brc3Lp1B6/XP3T6AbKE6gCvR4SfbG+s02o2yWRSDHp9bJKM3W6j2+/g9DpptVpsbGzgdDqpVOu0Wj3CkZSInW+I9Zugdo1Sr9cFlMRmw9AM2u0ukmQjEApz/PhJPve5z+F1u4ZDZxlJgnq9x+rKDl6PsIe73W6e/b4nePaDT6B1QXHDoAV2D6BBs9FH13UCQRemAXpnQLMlZmSL9+fpD3oUiyL4aHN9mXKlhNfrZX5+3or1CwQCpFIpzp07ZylfU6kUtXJZbCMaDYLhsFiBdjogy0TjcWx2O+FolKvXrwvi2NYWiUSCYrHIkSNHuHDhAtFoVFRlvf73vB7fF4dCfzAgFotZuuxer2d57gOBAPfv3+fAgQPW/CAcDvOhD32ImzdvYpom0WiU9fV1NjY2eOihhzC0LlevXmVvb4+nn36ad999F0mSSKfTpCcmKBaFLuDo0aPcGHonVEXh1vUb1nQ96POTz+fJ7+6RTqcJzIb5+te/zg//yMe5cuUK9Dr0Om3iyQRgUCqVaHVaTEyMsrWzRbk8j6IoRKIhtIHBwDAY9HV0E5HjaPSHuPAOjZow2eyj286fP08mk6VarhANxllb2sDn9RL2hfD4/LgcburtDsVqjUQywdzx45RrRYrFIpVWC380zub2NrulOrNzR6jV67QHGtnJA9h2dri7cJ/Dhw8jSRKLCwvYkBjompD6FgrYJFkItTwe4QPpClGSfWiVBiyfQCgUwh1NEI1GOXbkKJqm4bSrTH9ymnffeYf79xdptNoEg2E2tjZxqg5KpRK1apWN9XUcNgWv24Pb7SYYjaEbBqX8Drqm0Wm28Pt82GQZ2a4gmQYGgC7j8QUw7Lahb6KJrpucOnUaj8dHMJTgz7/2V3S7LSLhJI8++jg/9JEPEAgG6fc1nB4FSYH8njhQJJud8fFxAmEF2QAMmfV1sYERytKyJU/fy+1iGAaZxCiXL19GloXtvd1pCoy7aicUClAoFMjn85jt5rDVkshmMzicdjqdFpOTE3S6bUZHR8hmM5x56AwgEP7BYNCKSwRYX1/n0Sef5NUXX2Rubg5VdVKp1KhW67TbXbrdLo888hjVanVo7Y8NM1DF5kGWZW7duoXHIxgYKysr9Aff+1B4X7QPp0+fMv/T7/+Opc1OJpN4vV7u3btHIpGwvOuqZKNULHLz5k28XhHcCVicwHq9zsmTJzn37ZeZmJggk8lw7Zrwyq+trTE5OYkyDGC9cuUK3//9349ig8uXLmEYBvF4XISZ1OuWR/7evXt4PB5ye1W+/0Mf4qWX/0r43qMRytUqjz7+CNhs/Lvf+i1GR0e5v7HOtes3KRRKVMpVEqk0lUoNZDvtVpdOr49iU+kPmlYis8shWhNTMxnLjg8TjqOsr67x8GOPCtORLJNOpwkGg7TbbaFQ03pWXPrNG1cIhUKk0iOEw1G2d3MEgyFu3rrDsZMn8Pv9wxi0EtMzh1haWhKrKk0nv5djY3WNTrvN9uYWPp9PbEWMFpVKhWpJDDFDwSBOpxOXw8nE6NhwfTzC+JETHDl82BIl5fdyXL16lXajSa/TtXI8dKVD0OfH6GvMTR/Godh56823GT0wSTyZwOH1YUgQcwnWQqlaYWVlhXK1gup0UiqVCEdF+zE9O8OB7AyGofHmW+dYXl6k0WoiSTZmDh/lJ3/i75HOjJLPlYnHo0haD7fbgeyCv/rmOe4vLPD6ubfo9frYVSfNdktQnxpiAOx0qezu7ojsTreDbq+FzSbCZh9//FHee+uKEFQ5nXzpz/4fyuUSr776LS5dfm+4rRAbJr/NRrfbpVoVr8Pr9yHJBoGAj3a7STIjNm5LS0uMjo7yxBNPkBji+x5++GGRL1oQgNl9F2at0WR6etoSyYVCIXI5UUErikIoFGJ3d5dyfg8QLUa73SYSibC4uEgikeCjP/55rt649f5tH7R+n2w2ixIIsLcsQjTv379Ps9nk8NGjYLezMz+P1u4yNjZGs9nE6XQSCAS4cuUKkUiEWCzG7u4uOzs7jI6OIssyu7u7FqNgbGzMYiGmDx6k2WzSbrfxhwP4fD5KpRJOp5NGo0EkEiEQj7O+sMDBgwcZHR3l3t0V9nZ2mJubs/pQw9S4dfMmhWH0e7lSotFo4A94abVa6LoP0zTxer00Wl3r99rAoNPVrXUqYN0VvvCFL/Ctb32L+fkFPvrRj7K5tU0qkWJza4PtbUEcVhSFXCknErQ6bXTDIBQJYrPJLK4s480XkG0qTz/7LIrTxQ9+5MPcunWLe/fusbW1RSKVoFKtitdcK7O7u4vf78fldFLI5anVaqK18tqsIaOiKFb2htftsWC6Ho+Hvb080WicaknE2J97Q3hXRkaEBH0w0On3NVSnIjI2EECVntGxlIzBYJCOpg+9H5o1id83T/V6PcLRCCcfOEUoFCKWTPB7v/d/4XI5KVcFaGTm8GE8Hg9PPv0c07PjIIPLGaXTgRdeeIHNzU3yhRKbO7tUqnXcPh9uj4NWu4tNtuP3BTFVH6ap43G7GBsbx+dzE4mGWF1bQlUVBoMe7753gYA/xvT0NP1Bly984ZfI5Xap1+v8z//8l9nd3eW1117F5/OidPs0m3ULdNtq1vEHherR5/dgYtBqN3n44YepVCriNebzBINBrl+/bg1gT58+zfb2NoVCgbHxg3Q7fWHLrtdFvF0wSCqZEQFJgTD5XBGvy8nC8DN88+bNYSUj4uu/c3j8nz/eF5XCyWNz5rXL52jkBBPxvffes7IlDx48yObmJvfv3yeaEGhrVVUZG81y4cIFUvEYvV6PZEIMt1wOJ2++dY6HH36Yd955h9OnT3P9+nV8PtETJhIJC53lcDiYnhlndVVYnjeG24WZqWkqlQo+X4Dl5WXcThf1bptYLMbq6iper1fIUUfFgOvixYt4PB6Rfn3nDuFQlLv372OaJusbO9hkOwbgdnmpNVsiJDQQY2e44tzPATQMwwrCqdWEUy+ezIhdfrXK5OQkFy5cYHJykna7zeHDgkn5wAMP4Pb6ePfddzlz5gxXL1/C5/MxPTXJ/Pw90qkUKytLjKTFh8au2oTibXmZkydPWqasQCDA7du3uX79OpOTk4zPiAtzeWGZXqfP7KE5XKqLiZEDJONpAoEAMjZ2ew3cbje1eoV0MsXVq1fQen3GRke4desW3/rWS0yMj2N3KERCYXxuD5sbGxY56MiJ48wcnmVjbwdd17ENhOW83W7TbrcBkaMAQldSKonDNxgRlUs8nqTRbmHoMuFolN7AJBZN4vUFmJiYFA7MkSAejw+/x4upG2BIBIJ2zD688Bcvs7G2LpytniiKojA1dQCX20G5nEd12Jmbm2by0DjmUGfSbDa5du0ajUaDVrPL7Vt3KZUqbGxs4fX4aDbbzM3N8bM/8zl+8Rf+yTC5qY026PHAA8fptts4nXZssrCtj0+mLUFYPBpjZ2eP8ey4mNvYxGB0fFTc2FJjY5imyeZ+1c0aAAAgAElEQVTmNpGICMdZX1+nVqvz3Mc+xsK1Gxyanub1N15ldHSUUNDPjRvXyKQStFpN2q0GP/2FX+Xmnfn3b6Wg6zqtQsGyGO9juVRVpVgsMjIyAoDdKfzkly5dwuV0MDk5SToRZ3FRbCUajQaqTyUSiVipzna7nbm5OYEX29sTWLfh+rFarTJ96gjlchmbJIg1DocwRe2z81VVJZaIY28KuXEuJySkk5OTgiEYCjEzM0Or1SKfzwuM+NauFdWlGzLtfhdTkhj0dZweL36/n92tXULhAIqicPbsWfx+P+fOneOdd8/T6/U4ceIEJjq3b9/G4/Hw4IMPWrvnbreLx+NhYjgfkWXZmrvE42KQVK2VWVkRtKfl5UVLyebz+eh0W+RyOWsmsO+wGwwG1Go1/EM2hdfrxRiI9alhiGRsh8NBvdVELhboDfo4FCdrObE18nm9uFwugbBzChfo+vo6sViM8fFxEinBnUQ3yOdymKZJKpWy8Px+rw9ZsVHY3LMQ5vsMhv1sTVmWLWdlzB6zeJrT07OcOHWadDqDPxAAGSQJen3oduH6rYsUCjeplitMjI/j8wZIRkXO5oc//kFhf+mBDtgcMOhAu6Oj6z2uXb/Kl7/8ZY4dn0PTNL72518hEokwNzfH5IEpnnv2IX7oYx/H5VPJbVcxDIM//IM/YmFhiS9+8Yv8+q//Os1mk3ffvUC5VOD+/TsEfD4cDgWHQ/wMQqEQOzs7OBwOJsYO4PU2GQwG5HI5Zg5N43Z7WFtbE05KRQjDRkezVKt1NrdE+FE8HqO8ucnYWJZyqcBTH/oQ969d4YUXXuDhhx8CQ7OMee/7SuH4kVnzxS//RyqVCqVSiYmJCUuSGRgZoZPPiw2BLlMoFAS5yOUkFothakL40mk3BTI9kWRzdYWNjQ28Xq+ljLty5QozMzNWurPf72dlZYV6rUgymaRWa2AYBqVSWbAMNKHcm52Zw+FwUKgWmT5+nHo+L+62djvZbJZWq8X29rb1A9NkmZXlNdY2N9na2mIvV6LXHeD1CyiHwy3k0npfGJAikYj1PiwsLBCLxXA4HESjUeG2tIkoso985CNcv36daFRIbVOpFC6Xi4WFBR5//HGuXr9mId3mZg+j6xr1SpVYPML66gqxWIzbt0Q0eSaTYX5+3oJwOBwilLbX6/Hmm29afEF/xM766gbNZpux0Qn6/QEg4/eEiMeT2GwK9XqdsalJZFkWrcIwnPXE8aO88MILbKyv8sgjjxCLxRgMhKJR7w9YWlwE3UDHZPTABE63CxQRvVfZLVIfch/3FXr7wNv9bMdAIIDDpWK32wkFIzidbpqtDq1WmzMPPcoHn38e1QXFXId8Pk+puGuFBu3t7dFqtdjd2kZVnfT7gllgs9moNzvD6kNYkze3Nuh0WgSDfgaaQMI7nU567Q7JZHJoBe9ZKc+lUglDh5MnT3LkyBHOPHiSw8fnGLS6bG6uc/G9dwiFfLz3zjtUqyUCftGS2R1i1pXJpOl1uwQCAZYX7pPJZDg8Oyta0FqVGzduYFNdli6h1+vjdrvZ3cnx9NNPU6s1uHNHkMSn5w7T6/XI50RbfeTwDM1mg8X7C/ziv/w33Lhz7/1bKQCsrq7idrtJpVLcvHmTbDZrrfLC4TBLS0vMnX2czc1NTp06xcb6GisrK7TqNR5//HG2NgUPcWH+PmcfeZhCoUC1WsXtFsKYj3zkI+Tzwiu/srJCPp/nxBNP8O7LLwxVhjrJZJJsdpRyqUomk6FUqhCMhKnX6yJIo1y2cgU3NzcpFosUhhVOr9dDkiRcHg+RSIT1YW6f3W6n2xH8hH3AJkAgEKDVatHr9ahUKuIAmp0lFosRDot/c2Njg3hyhGq1wgsvfNNy5D300EMUi4Xh1Plhvv3t13j40Ue5fPkyjUadnZ1tzl94C8kwURSZVCLJ1vYGU5MHKZVKDAYDJicnh7mKKvV6HYfDQaVSGQaTpsSAN+oCQ2JlZY1IJMLOzi5IYHc5CEbCYn0WFi2AqqqUCwU6nQ6pZFwARTVBj3IodrwuJzV9QLUkmBKdYRtlmqbQQZgGhiKjqHbMoMC67ezsiPfU5WJmZsZ6r/aFNycmTnD8+HGe/MDT9LUBqt0FThmzC92BQb2kEQi4CIfHWLjTo1qtIhsmE6NjGIbBT3zms7jdblZXV7l69Sob20KDYrfbrcjBdEZkQt6+fZNQKEI8JtKW3KqX9fVNq3pTFGWYUC3s/esby+zsbnDr9jX+zk/+BN1ul50dsSJ86qnHee6ZZ/j6179Koy5kyKGIoHC53W5UxcapB05Sr4j09FdeeRnD0Hji8cc5OHUA1eUmk85y/vx5KpUaExMTqA6F3b1tlpdWh+BfeOONNxgdHeXQ1CTVatWaJ4yPj9N/v4uXjs5Omy995Q+E8q3ft5hz+0O/XC7H0WPHuHj5Bpom8g3HRrMoisLBiXHefPNN3C4Hx44dY21lFckm02g0OHToEAsLC5w8eRI5EKCTz7O0tEQqlbJ4iXduXCOVEnvtcrlCrdlgZ3uPUCiCZJMZyYwSHhvj5oU38fl8lMtl/H4/r776Kk8++SSKopBKpURuYy7HbqnE8tIqS6ur1Ot1Nrf2qJRrlCoVtIGBZiIESwFhqNk3p7jdbrrdLrOzs9ZKqtPpkE4LBmUymbSCZ8+cOWPNWU6cOIGiKHS6fY4dO8b6+irf/MY3OHnyOINuj4WFeWLRKD6fh0xK6PDdbr9l6+52u2QyGatPvnpVgLedTifF/KYQi2k6it1OtV5HdbqpN1sMdGGPHp+Y5OjBaQxdH4p5GnRabaJhoa4zDQ2fz8czzzxDPJ3i6qXLrK2u4lDs9DpdkukUE1MHWd/axOX1UG3UMbqa5avYV+jlcjk8Hg9TU1PioO12GXQHwlDW1/EFA3Q6XZaWl/noRz/OyVOn6ff7XLp6hUK+SDufp1qtslfIo9jtyHYZySaTTKd48OxZHE47pVKJra1NUqkUH/zg8zidTu7fv8/y0irXrl3DMMT68dChQ4yNjHH06FG8Xi/Ly4ucv/Am6+vr9Ps9XG4HLpdIDNvZLiBLYpCczWYoFnL8g3/weSqlEnfv3uIzP/ZpwtksX/2jLxEOh4nFojTqVSYmsmyur1Ao5hjNpmm3m+Rzu0QiEbJjk6ytrWEYJul0Gl03KRbKlMtlRkfHUVVhbLu/vCq8ErrG2UceYXVxkXw+h6Hp/OTP/wILK6vv3yzJ0yePmZcvn+Py668zNTXFzo4YOM3OzrK8vGx9QManDjPo9Th//jxPPv2UMP5UK8LlqAvzx4HxCeRwiEGpZEWlr6+vk06nLXNULBaj0WiwurqKx26n3W5z9oMfZPPuPSq1GrKssL27w9zhoyTTAui6trrI+Pg4Y+PjbG9tsbOzY7kd93MaookEuWKRjfUtvvr1r2Oz2bh85QY723uYkoQ2MNARqcHNdoNut2uVwvuchXA4jH34mux2OzZE2Eg4HKZUKqFpmpWGXCqVrJyBVCZNsVik1+uR29uh0+mQTacYHx+n3WoIRZtTgGhDoRhut5tYLDY8JNzDbYnOlStXyGQyuFwuVhfvgSzhdHuYnp6mXKuL4WggQLsrtimyYsNjOEin02ysrVCr1bBJQpk4PjpCv98nn9vlAx/4AO2Bxu7ODt1WG1M38PmETwO7Da/Px04hh01RcNqdVhXRbDYtJaLIPnBZK7eQbzg7OjiJ0+miVq9z6tRpXnntVTrtHuWaSOPSNA2lpYk1s2pDk8RGw+5S8QcD1FsNUdG4VDLp5PCQ9qKqKjvbe+RyOR544DQPnjnL2toad+/eJRqIiVSvRhXD0DAMjUg0zHPPPcXExARXrl6iUqmwtLTF9WtX0TSNeDyKNuhx5MgMi/fv8/TTH+Dw7DTr6+v88Mc/zcsvv8xTTz1JtVJibW2JSinPkaOHqZQLuFwOLl18l09/5jPM353H7/fTbLZxOBxUK7UhXt8cgoIhHA5z5eYtstksGHDu3Dk+9YlP8PbbbzOWHeWH/s7f4/b8d8+StH3xi1/8//kI+JuP3/y3/+sXZ0cSPProo6ytrQkDlNOJN5Gg22iQnZlB1nVy+eJfk22cTuq1Gv5IBIeiUK0KhHW9VicUDFAtlaxU52q1SigUAsSkd21tjYMHDzI2OUktl6dYLtEqVYhEo4wfmkVRZMKhKB6fl35/gKI6CPq9GIZBq9m0YuNTqRR+vx+HwyEGcx4P3lCIeDTG1nB9pBtQKVcZaBqmCSZCUm1T7BiGic2mEAqF8Xp99Hp9XC433W4PSZKFHdzltfIB9/bEAG6fBr2PdEun05hIQzZgA5/HR6VSpV6rUa1WeObpZ+n1umxubOJwOHE6XZaJzOv1WlmE+2SodDrN7u4u9WoFXRO5mv5AAFV1kEgmKZdL+P0BksP9dy1fJBwKDrmLmpjiqwqqYkfX+6iqyrEjR6nW65TLZSQgEY8Tj8ZwOB20Wi0KpRK+oBi8ypIYgu2HAO+7NJ1OJ3Nzc0xNTdHv90mmRpCGs5D+YECpVGJja4tao8G9+/dottt4fV78gQCKIaE6VPr6AE3XsKk2QmGhKG11m+iGRrvdtMJiK5UqHo+HI0fnwJS4desW+UKOWq3K8ePHcNkdFAp5RjJpJiZGadRr7O7ssL29yY3r19EGfc6cPs3jTzxNtysqvUajTrVS5siRw4yPjfHNb34Dh2qnXq+TzmQ5efIk7733LslEnEQiRiQcIhwJcf3aVXw+L5o2wOt2Mz5+gPXVNdqtDqlkiuWlZbTBAK/by6HpaUqFIoV8nlgqxcjICP1+j+xolnZTZE86HQ7+5Kt/zs/83M//2ne7Ht8XMwUJifHxcavfrlQqwi49DIgFEbftdrvZ2NggEonQaDSEvNWuUCqVyOfzHDp0CJfDSWs4S3AlEtDvMzc8GHq9ntDoB4PYg0HodDA0kwcfeJArV65w9ANPUVxcJDo+QbdeQzfB4XIK7cPICNubm2RmZ7n33ntiXRiPc/PmTc4+8wz0ety6do2ZY8f48pe/gmEYPPHEE9xfWCEUjHD95k3qtSadviDyODx+ZMWGZFOoN7tiah+K4XC5kGx9a+oe8kTodDoW0Wef6z8YDEilUjjUeRyql5XldZHO3TPY3VrD4/HgcthJxDN8+ctfI5/Pc/rUSSsEt9VqWZJaTdMsUdd+aR4KhTAHghWh9XV2t3ap1WocP36cZx99AtUlJMbPP/kUr730bV5//TXcQzqzU7HR7/ZotxqC1CTLNGs1kZxVqzPo9dF7AyqlspUJGksmuHXvLqpTTN+/k4qtqiqLi4sYhsE777xDMBjE6/Xy1oV3ADhy7JiYHXk8dLtdRiYnOH76FJValcXFRXRdJz4qWB3tTpNmu4HdbqNcLWFv1ZFlA5fTBTaVTqeHoqgUCoVhcLCdZqtKIOhie2eVUqnEXm6dmD/B8ePH2dzcZHdvi2q1TDIZp9lsUi5VKRUrzN9bIhSN4/W4OX36ND/2Y59me2uDd955i/zengDSDAaMjY3xp1/6Q1wuFx/+8Ic5d+7bnDx1gtFDU2AY1GstbLKKods49+Y7AvsXi+F0ulhYWMTt8g6RbPCX3/xLJiYmcThcbG1vEItHSI2Psr6wZIXBNGrNv/V6fF8cCkgSBw4coNlsEovFLLNOIpHg8uXLREslotEowazQBfT7fasH7/V6KIqC0+mk3W7TrDdIZEfY2djAFY2CJvT72aFLbGFhgUOHDoGmsT10Sq5vCCjmlW+9gs2uojhduIcp04o/iKNUwdA0MhMTlFZXmX3wQYqrq7j9fqLRKPT7DIZ9f71eZ2pqik6/z8rKiliTqqoV6rkP3dRMxSLwptNpwuEwk5OTOBwOfD6fCImJRIgGEni9opTdt7s2GoI+nc8L0dDp06eJJeLE4xEkCVaXN9jYWEPr9ckX9tjdFuxAv89naTb2cye63S4+n498Ps/o6CgHDhyg1+tx7do1Al6xN9c0DY/NRrfT4f78PJVCXkTSV6vQ6+H3urHbbMLj73JSLBZxOgTTwj5cIZbLZXomwiVpV4ciKLdI2m418Ph9QpjWbrG+vv7/MvfeUXaf9b3u89u99zJtT++jkUa9WJa7ZXDDNoZjCKbYYB8CmOQeICShZOViIJwAoYSSY1MOwWAH4gI2xl0SsiWrjaZpet8zu/defuePd88O68ZwcnLvXcuzlpdtyTOSR7Pf+b3f7+fzPPU5SyqVqq8dt3Tr+XyeQCDAvfd/lNXVVY4dOwZABVkM/txO+gYFquyOO28nl8vx8x88xsLiPNdeezWyXGFpeYFKKY9KpcBo1KPWKEVSdGWzfoULBoO8+GKAoaEB+vp7ePXVkzicVhxOK1okzpw+yS233MJvf/s8hVyOdDKJXq+nkBW7TZ/Px/KGnyOXH+ZXv/oVP/iBn21DA3zoQx9gbmaGiYmLVCslzp07h9vrwuVycP78GcxmE3Nzc2iUChoaGrj55lvFatpgpq21A0mu1J2Q5XKVVCpFR2sHm5ubFHNFVJKCjtY2HGXhIdm+/4C4hinV9TDUH4apvUlmCrtHhuXv//3fUiwWMRqFIMRqtdI1MMDJl1+mqUkEOxzuJpR6PVQqFLMZQqEQqXgMj8eDvgbGWFlaBoVE1/btYkFtMJDZ3GRxcZGhoSGR+KoJPgKBAKp8mcefeIpmXwuhSIw//eQnmLp4kYH9+0gEgpQq4g9gc3kWo9GIx+NBp9OxsLDA6uoquVyO/fv34/R4iIXD2Ds6eOXpZ9EaDPT19TE9s4Db5UWt1aJUqFn1b/D6668TTRTrgSG9Xo9ara5/0edyOSYmJoSpKCqyG5lMpj6Jz+fztLa2cvLkSVpbW0W+o/YYmkqlcNjsqNVKFEClUkarEcSngb5+KpUS3kYbra2tKJVKnn32WSFaNRpxuwUcNJ/Pi1SjJKrR+VwGqSqTTYs5RntLMzqNuDIdPnyY8bl5Zi5NU6mUhF+xxnfQ1+jbZpMBk8lEKJmhUhLCl3ztUVapVOLraKdYLpHIZ6kik05m6oeCwLppxK/b3i4O1HKZsbExkiUFvX19TE1N0d3Tyb0f/CBjY2OcPHWSEydF3qO7u1toCf1xcvks1XKJO26/hW3DQwTWhUM0n01SKZUIhUL4NzNksincbhcmswGLxYDH60KlkpiYHEOn05BOp3HoHEiSAqPRSHdXLwMDQzz22C+YmZ5Dq9XR0tKKJEkU5BI333QjExMTXLhwDovZiMViYGlhgTvvvJ233HA98XiccMzP888/z549e/CvbdDX18dg3yBLS0sU8wVAwuNy1+LmBs6fP08ikWDnyG4uXryI2+0lGBCbsNZWIf/dccVuUrEYo+cvAtDX3YdKqSWXzfLWu97DhfE3bkm+KQ6Fof4e+YmffJ9SqVSvsFosFqrVal1Jn8lk0JuEqCUWi1Es5PF6vVw4ewaLxYLH7cRoNJLP5lCqxXpoa3C3VWy57IormBobo7e3l1gsxtraGvlwHKVKgFsKlSq7Dh4Qs4qmRsrZHOFolGq1ik4SgppSqUR7ezszMzP1x2ydTofRaAQglEjQ2NBMrraNMJpsrK36OfX662z4A8wuLDI/P49KI0AnNputPqNQq9V1eYckSWKNmRcVaIPBgF6vr0tjmpubmZmZobm5mXA4THOLOBwkhUwxX0CtVmLU6ymXS+g0WhxOG73dPSwsLFAoiarzVr23UqkQCATo7e1lfX2dVCrFwMAA+YwYdlKVyaaTGPUG1lZWKeQyNHuFezGXySCZLciVKrGYsBnrtGoqxRKpVBKzyURbmw+NRkO2AtWyOGRzKVEUSiQS5MslfG2tFCWZaDRKuVyth6dUKpWQDdfgM1sHmMViYWYtRDQa5cCBA2wGA5w69SpdvT285S1H+d2rJ5mYmMAf2MRg0JNLlFEqFditZhq8TixmE/FokEavhz27Rsim0xw7doxovEIymWTHyDZsdguFQoadu3aQSsWJxUNotRrOnTtHPrplRNeRTKQpl6tcd91RTr32OoVCEaPRjNPppH/7IKsryxSLRcxmI6VinlBogwP79jEzM8WVV1xOe3s70YSYF0WjUYx6A9lsnpHhEdbX1ynkRHHusoOH0BqNjJ45SUNDAyqleHpUq7Vo1NpahTtRJy2dmjglvpnanFSrVTrbOrHbXCTicW69+/2cuTD65j0U+ro65Ue+/012XXEFkaUlIpEIvX19jF28SENDA+72dmbOn0dRKdaDR6lUql7c2djYoLW1VfgGanKOUqlER0cHCrOZcg0qsQUFSSaTxGIx0TeoKLHabczOzjK0fZi19XXUWiEmyeRzSFvk5nyJqakpHC4nVqsVZY06tBEQd0Ob08HGxgbBxVWqyFitdlQqFdMzc8JTsRHA7/dz7MQJnE4nY9N+vF63IC9ZjPVVViaToloVZOd4IorL3kapVMLpstfDN11dnYTDwrjscjuYnZ3F47KI0phaVJvDwQjpdBa1UkNbSyulUkWEpewOQhtzYksRDNPa3obJaqFcER0ET2MDCqWSfL5IPplEoVDQ1t2OLMvMzc2QTCbJp9NIlSoKScbjdFGQFGi1WsoFsVJ2OZ1kMhnma5Kbq45cIbIX6aw4jORqHYG3RcAqFAoYzeKgUteSkUgSuVwOjU54G0vViqAImYwUCgXSyRJ/8zd/w6OPPlrvkOzfvx+Hw8HFixfx+/3ceeedNd7ACzXRrwhBWaymGglZbCisVjMul4vm9lb8fj+BDVEmctlE2UglKZArVbRqUR+vFsNsBkXbVqHU4nQ3IClUHDx0hAMHDjK/uExPTw+P/exH4grnX8XX7Aa5SnOjmx3D2/nXX/ySbQPbWF9f57qbb8Fms+Hz+Ugmk0xOTiJJEkNDQn/ndrvJZrPIskzPzh2ceeUV9BphMEvE4qhVKpqamlhdWiYYDIpymqbM/v37OX9ulFwuh8fTgMfTQDAQ4va772Vy+o2t02+K7cP3v/edz//tlx9ErunTtkCqkiSRyWRIxwTCy2Yx0dLRgX91ldbWVqxuN+VCQXwyVlfrwzlPXx9GhcgqqGQZtVZLqVhkdHSU1vZ2VpaXazx9NVqdgXA4THt7OxfHxuju7kZVWwlabeKw8G9soET8ATV4G1CqlKytrmIym4lGooTCYUqFIrFIlGqpQDgcoaHBw8LCPJvBDcKRIJVqhc1Nfw24EUapNWC3W9HqNMTiYZqaGimXi6hUAqFus1sE+l4nYbXpqcpFlEpwOCxYrSYBUqmWicWieDxuKhUVmWyRYr5MOpUjncyi1xlIp9I4XR462ttRqVTEEwmq5QJICjQ6LYlUhnKpQjKVJJ/P09TSTLFYZGVlGb1GiyxBMp2mVClRqcqolLW2ptnMjuEdKCUlZQmSySTJRAKr1YrX4xF4uZUVkfAri2CYSW8UiLZKhWKxSCadJl87DJRaNflikWK5TFUWc5NKjdlYKpexWCw43aIPk0ylaG9vx9fSwU9/+tP6NwqDwcDm5iYXLlyol4nSaaFt1+sNyHKF97znPWRzIo/R29tDqVRi27ZBotEoBoOB4OYapUKeSDDAYH8vPZ0d5DNpVBKUSwUUVKmUi2RzaWQU6PQG9EYzJouFtrZ2PN5GXnzxRbK5PLOzs+SzKQwGPdVqmXIpj0KSWF1ZYmF+nr179tDb3cvevXupIpFJp1EqFJiMRtwuF/sPHuT4K6/gcbvxr6/j9XjY8PuZnZrE5/PhsAnBSzaTQYI6wi+bzbKyskJTSwPBQIBgIMjVV13FytIKZqMZvU7PTx79Bf/1Tz/yhtuH/yOX5P9fb+l0Gv/0NJLBwMLCAkajEavdXpN1ilOyvbcXk8UCCgV2pxMUCvLpNAqVimK5jFxLE1rsdoKzs0TjcSqyTGGLlLy4yMDQEBcvXqShqYmp6WlKlQre9nYCgQDrm0Lwevr0aZxuN3a7XURF+/po9fmwWaz1gM/y4hIajYa1tTU6OztF+WhwkI6ODg5edQWDQ/0YjDqisTAGg55du3Zit1sFkadawmQ20NfXy/LKIoWi0L9rtWqcTnvtIBCpQofDgdGoI5WKMzDQTyQaZHVtmWw2i04nIr8eTwNebyMryxsgq+nsHsDlbCRXKJJOZ2lpbsXr9YJCgV6vpaHBg85gFIp3pYCtblXTC+USqVSKcDhMR0cHKpUGWZYJhUJEI2JF5/J4xe/L/G/V9a3O/la2oFAo1GcgitrhnM/nKWZzaJQq9CoNUk0+C4BSgaRQIKmUKNRi9l0ul0kkEhQKhfp2ZGumUq2K4ZpOo8VutRGPxoiEwug0WoYGBnnm109z6823YDGZeemFF/ncZz7L2OgFbBYr+WyO/t4+3nf3e3E5nLidLixmc/2v6UuTRIMB1EqJarnI0uI8dquFcrlIqZCjKpdRSDKFYrkGtRVQYJtVcB01Gg3XXnstBoOhrrW7cOFCPYnZ3NyM2+1meHiYeDxONBplaWmpFkYSIuKtKPqpkyc5cuQIsixz+MiRuk9027Zt5HI5nnvuOSKRCDMzM0QiEQKBAJVKhUOHDnH48GEB6a0IiO/42CSZmn8inU5R/SPauP/t9UGSJB/wY6ABqALfl2X5HyRJ+jzwQSBU+0//Upblp2vv82ngHkS/5GOyLD/7x36Nwb4e+cmfPCzy9s3NUCiwvrhYfxGGQkKXpdeo67y5rZlBuVwW9KKau69YLKLX60XKryZy7evrIxKJ4PT5SGxs1A1OmUyG+flFdu7axerKCuVKRcSph4ZoamtDLpdYXFxkdnaWvu4ewVUIBNh22WXkAgFiCaGAU9aGfGq1mt7BHlI1zFk6nSVXyDM5cQmFWkMqleJXv/41qVSa42fGMer1KJVKvvzlL/PII48IRNjmOgqFgu7uboLBICDT29vL6dOvs3fPQZxON/mcwKpfvDiO19tIT3cvXd2DdHV1MbJjWKwXzQqQYfT8BC+9+FtUKhVD2wZEmzESwWKx0CT9maEAACAASURBVNHVzhNPPMGZM2fEgVR7QW5xLcqFMlVAZ9CjUAAKiUI+S6VUpsnpRK1SYdQbqKoUzMzMoFEKBLxBrxd4vOUVNjc3mb00TVtbG51eH3aXU0Sr8+JzU6QqOg9qJVqdjngqiV6pFYalVKp+3VheXkal1VAoFHB53AIIsxnj/vvv5/nnn0ehULC0tIRer2dtbY39+/cTiUQYGBjg2LFjZNI53G43rW1ib69UKrn2uqtZX1/nxIljeL1e+vv7UVNmdHRUQFOR6psjrVZLOllzcGg0aM0mACwWC/39gwwMbkOWJcwmK5cuTRNLJgBwWAzEE1GGBvv4nz/6J7KZNDqNkAht3zaMXJYF4l8W6cStOdWePXto6Onh7Msv4/WKqLWmhuQ3WS34/X5cdgeFQoH+3j5ePXmSoaEhGj2iGyLZbBz/7dMolUqamppQKsXwN58vsmvXLoYvu4pLs/P/6e5DGfi/ZFk+J0mSGTgrSdJztZ/7mizL//3/cYgMAv8FGAKagOclSeqVZfkPuq9LpRLdPT3Mz80xU+Mt2mw2crkc3d3dNDU1sby8jNPlACAUCaNWqzE3NBFfW0Ot1ZDKpOs9hH379omwi0FPOpthMxgQK5z1NWw2G7/73e/YvXs3/s0NWtvamJubQ6EQ2jSz2SyGhuUygY1N9Fodne0dNHoEPrytrY2p116ju0bf3djYwGA2MT8/zxVXXAGlIul0mkuXLgmoxfwCXq+XUDRSL3udO3eOg/v3Y7fbefDBB7nnnnvqzomurq66a1GlUuFyNlDIV/G1dJFOFYhFlkmlcnR39XDwwJXsHNnNW996I1a7RLkMv/zlb5ibmWVpeY5oKMz1113N+z5wD1arGUlX8zAkcoyNjfG5z/4Nu3bt4tbbbiMUCjE2PkowGMTtdrO+vorX2UxzSzNGs4FwNEIul0FSqFAqZTR6HalYnGK+gMEmcGp6k4hub+Ht1Gq1gOnWYCCBDTFM0+h1yAqJbKlAWQEmpx2zwYBKp6UcixKJp+stPoVCQalUrr8YFxcXUdRgs7tHdvKjh39Qb3ru2bmLaDSKQgapKlMuFLl4/gJXHbmCl19+GZ1GxfzMLJIEHo+Hs6df5+jRowT868zPz5NOJHGYtQT86zQ3iBdioVAgnU7S2NCNUoGocktVtDrRqTGZLSApSSRSHDhwgNdePU1jYwNtbW0kk0lMRg2RaIinn366jrGTJAmPx0M4HKbJ20QymcRotaFSKHE5hPBldXmFaDiC1Sx8JamUSF2WCkXCiRgdHR2YDaKuPzo6Sm9vLz6fj+DGJpubm2IGkcmI2VRM/PelYhGTQSISCv/RF/x/xBC1AWwp51OSJE3xBmr533u7FfiZLMsFYFGSpDlgH/DqH3oHnVZHqVjEYrHUQSdmswCUrK+v07ljhyDOJBJEIhHMZrN45E2kyOWLVGMJqrKETm8kEAzz/Asv0d7eTiaTobu7m0KhwPr6Gjt37kRpd9DU7CMciaFSa9EZ9FRjUVKpJDuGt9fLQZjNmFMpofZqbSWbTaPXa1lfWaa7twf/+irexgYCm352tu1n3+5dTI5dxGrW09QsFGWPPPJzhndsZ2J8isuOXMGxY1+kUq3y7W//I9mKmo9+9KPceuutgmkYCOByeaiUJZQKLRazBZPJhMUoyDx2S5X3v++DeDweDHozKyt+Pvzhj7C2HOd/fP9nPPDJ+9BoNNxyyw0oFDcQi6b5p3/6Hh1dXZjMFk6ffp3f/OZpCoUCw8M76O3tRmMw8cxzz6HXaQkGN9HqRLYgFg6hU2uoSlCuVlhZXUepVVKsCNO0WqUhm82jUKrJ5gpozWJmsLEmjMdytYrf7yebzgg3Z2MjbW1t6CpKMvmcwL7rdKipYjQZAElIfmtXhOhmmGg0irrWipxfXMDlchGJx+js7GR1fQ23282ZM68jSRIdHe1YLGaOHz9GIpGgtbWV+fm5uhNydXUFl8tFIhFHo1HjaxVwYKfLylNPPYFer+Xeez/AsWPHiG1uMDy0XcwjshkWFxcpFstMTk0jqQRX0+V2ky0ruPzwFbjdboYGB9HrxCr98OHDKJVKTp9+nVOnThGPBZGpYLOaamlOGYdN9CdWl1fw+/3Y7XZ27xZcC7dLbMt27drFhn8Ni8WCXC2ztrZGqVTi0KFDZIriaSIeEZux9vZ28rkcc3Nz9AwM4u3vh3icpu4uxs+eZW5ujpFde1GgJBjcJBwKIP2RnML/UXhJkqR2YCdwCuGY/IgkSXcDZxBPE7HagfHa773bGm9wiEiS9CHgQwBNDV7UJhPampX49++kbrebciyGo7GxDt7Ytm2bKOyEBR14ixXQ2dlZ3+NvO3iQ2XPn2NjYqJN9JEmiEo/XtxBbM4uGhgampqZYWVlh+/btnD59mo72dhr7+6mcP8/U+ASNXk89XffS8y/Q5GvBbLWwc/9+EjWzL4g0ZlWW0Gq13H777fz66d9gNArS9MiOnbR1tHPvvfei0NuZnJzEZLKQzxdxu93o9UYi4YT4wnN6BBimoGHfvkPcdONNbGwEefLJXzM5McPk5CRdnd20tLRwzz0f5PA1g6RSRX7w43/mwtlzmMwG7v6Td6NWq7ntttvp7e0lGglx5MgRiqUSX/ryV3C5HaKSm06KR2KNjnQiTlGjYWhoiHS2gt3mIJVOY7XY0enEI2xwfZ219XXkahWpXEVt+DegazqdFlr6shh4ZTKZuo9DUZRBIb4YNQY9uUKe9t5ussWCKEMlE2i1Whan58V2Aur9iC3M2JY52e/3o5XENWN1ZYWhoSE6aqviDb9f9EnyeQr5PCajUbgwZYE0UypArVSxvLiEwSi6JU8+8QRXXnmE30UjnD9/Ho1OfB1aLBZaO9pFszOfR6PV4nS5GGzrpX9oG26HE29zI/lUnsXFRcIBUbp78cWXBGpPp2Tdv0pzkxe3283mhh+LxcL09DQWk5mu/i4MBgPj4+P09/czPDyMcDpTb9FuMTueffZZTDYb8soKU1NTbBsYrM9dHA6hDdxcXqZarbK2tsbwjhF0Wj0NDQ1Ui0W0WsHHdLlcKJX/H4SXJEkyAa8AX5Bl+ZeSJHmBMAJP8bdAoyzLH5Ak6dvAq7Is/6T2fg8BT8uy/Is/9LG3DfTJv3n0J6RSqbpmfG1tjcbGRsLhMJZactBud6A1Gjl76lSdy18sihBQPp9n+/btLCwsCBpNqVRn1+n1enFHrtGWtnL/RqORqiTXH+sUMsxcmmZtdZVDhw4R3BAdg0ZvAxfHzmEwGDAajbS0tTI3O8vE1BT79+8nlUmL35/TyeriCqGwQJw1NDSwUHNVvO097+XvPvc5FpdW2NjYII/4fUSjURx2FxaLFYvFwsEDl3HXXe/GZrPy7LPP8zeffxCXy0V7ezsOh4O9e/ZzzTVXYbLB177yMIFAQBSrTFW2bdvGDUePsr62wZ898AA33ngjH//YA4RDEWanp1msNTdfeOVlLCYzWp2GXEYUmLK5FFRl1EqhF8tkU1jtzbg8bjL5HDqDjlAohEQVh9VGPpmEqoxSkqhKYhCoVogKeiGfp1KpkEokKRQKDPUP0NHRQUuTD5/PR0WukisUhJ/AZMRoNhGMhLkwOopSqeTixCQ6nY7mlhbW19epIrgT65uCeaDV63jyySfZP7K3nl3weDxMT08Ti8UIh8P09/ej1WrR6/VUKhUkSUlvbzfj4+M4HDbC4TBKlVTrxQjiVF9fH4M9A7hcLp5/6UUqlQrFcgmtTofOaBCy4FYfIyMjWB2N6HTC/mXQ6WmsEb1eeuEFNtf9zMzMsL62Rji8yb79ewgFN7js4G4K+RypRISWpmZCgSCVYgWfz4dGq2JkZES0P0slLl26xG233cb58+dZWFhg//79BAIBLl68yI79B3G5XGSS4krhtDuYm50VV1+dQPyVy2WikUQt9NVKOBxGo1WTSMQwW4z817/8WyZm5v7zPAVJktTAL4B/lmX5lwCyLAd+7+f/CfhV7V/XAN/vvXsL4P9jH1+r1VIqCWvS5uameHEcPMjSkpjyt7S0iLRfIkFydZXG5mamZ2cZHBzEptHU75+jY2N4vV4ytTt5vlikpaWF+fl5kskkNpuNarVKd28vAKvLy/i6O8VvQq0mFwjWXQ8Gg4G2tjae/tWv8fl8JGJhcDjq2XuDSQwrT5w4wYWLoxSLRY4ePcrKop8b3voWnE5PzZWwzOrKCv/3X3wGq9XK2tqGIBAXijQ1NWG3ufj4A3+O2+3mm9/8No//669ZWw2QyeTw+Xw8/IPv4PV62dzc5POf/yzTMxd4/Kn/id1uZ2BgAK3BytGj7+Dvvv5VItFNQpENdu8d4IP330MmmUKtBbfbydRUleWageru93+At7/9KL9+6gV+/shP2b5tkEI+w/mzZ7j++usoFousri2j1joplcTVIBAS7MY9e/aQjsdIlEsYdXqUMmQL4hBwNzYRDAZr2xEdg4ODZDIZ2traBLa/Ck6vB4PJWL8jb6n6csk0lCts+DdQqVTMzMyIirNCQTQqroypVAqr1UqxWMTj8VAti4OnWCyyvLhEg8eL2WgSbohcnlwmi8Ihsg65XI7lxQUaGxuZnJigo6ODlZUlisU8pUKejrZ2xscuMntpicbGRm6743aWV1coVso0NTXR3d8notZGA2azmUpFWe+K5GpPRJFIhFwuz9raGvNzc7jdbgYGerA7rLT6mrh06RIjO7bT39vJhXPn2b1zF0adkVAohK+1GZ1O9GzUajVXXnklzzzzDLe8612srKxgsViIx+McOXIEg0MQwvIZoUV0djsx1UjNZ0+/zoHLLyefStHVqSaXy3Hy5AkCgQBWm4XGRi/5QpZS+f+FdVoSzzIPAVOyLH/19368sTZvALgNGK/985PATyVJ+ipi0NgDnP5jv8YWT1+j0dS9i8laZsHhcLC8vCyGKMEg20dGOHP6NFdcfz2vvvwyPT09FArCI9jY2Ii3s5NSPE5zdzcbCwtItS2E1WrF5XJhsdtZX1mp04sWZ2Zoa20lF4uxtrKCVqvFaDTy4nPPI0nCAqTRaNBoNCQSCfbt20coFGJ9w08wHCYej+PxeAiFQnzjG98gFk4xMTWJVivWSguLy1itVk6cfI3GxkYMBoN4hGvq4IorrqS7u5sf//jHLCwsoVSqGegfpFyu8ld/9Vd4PFa++rWvcvHiRfQGLc0tjXR3dwk0mVqir7+T5eVlfvij/8HHHvgIfX19PProo0xNTvLOd96JXJb5ylf+gTOnzpDN5hkeHGL//v3ceONRfvvbVzl16hR33HEHt97xVv7bR/8Mr1f0LE6ePIlWowJFiWK5VK932+3b6zYuYblSUi0Kg/aWqxOo9zysVmv90Pf5fEQSSVQaNdSkujqdTqj1akAcrVqDXBFU7UQigcPhYGZmhkQiIXIjDlEgyqVTNDc3k46JpqrNZuP06dN1EO5WiC2RSNRAsPm6+3IrKen3+3E6nVQqpfrHHxoagqoWtVasmwcHB8kVCxhq6Lstc5Vao0GtUpJOl+pr1UothRoKheju7uaaq6/m/PnzrKws0Nbuo621GUkuYDab62zMTCaDXiM2ZcP793PqpZe47PLLWVtZIRQSS73nH38cnU4n/ky0oqJuNpuZnp7GZhYhvmq1Wl/dNjQ0sDw3RzQaJZcto9drUShUXHXVVWRzGTo62nj+hd8iV//wDeE/spI8DBwHxhArSYC/BO4CRhDXhyXgvq1DQpKkvwI+gNhcfFyW5Wf+2K+xZ/cu+czx50nUklhGux20WmIrK1QqFaJR8Ti+c+dOisUiDodDFKZaWxmtacS2zEblcpmSArGaWl6hr6+PWDQqBogqsdI0GYx1ClK5IqrUbrdIF7obGylkMmxsiFbg1mEQ3ghhMpk4N3qB7u5ukpk0y2vrXBwbQ28yEo3HSKVSrG8IPHyhIGjNpWKVheUlfI0dqFUavvCFL6JSafjBD/6JpaUlfD4fOp2O/fv38yd/8id861vfYnx8vL4KUxkU+P1+BgYGatCVJt72trfR2tqKyWQiEAjw8ssv8+53v5tMJsePf/QTGhsbOXHid0xNTdPY0MzOnbt517vejVar5p//+RFi4SUGBgYYHh7m77/yZbq6urj/vg/x7nffVZ9+J5IxfC1tdHR0MH5pEpfXw8FDhxgdHWXD76fR5WH0/AVaW1qoKJTodDrSqRSBQACtWsOBAweIBEOiZNXRIf5fW700NTVhMZqIhgWBee7SNLlMVnyhT04JYG6rj7GxMXr6ejl37hw2h108WRgN2Gw2krWSWSaeQV17miiViqRSKcqVYq2mLKS3lYqQ+FZKeUwmE71d3XUTUz4rCmbV2gFnMpmw+9qQJDH47Onp4ciRIyiVSiH5rbERFUol2UoerVpXJ2rls2IOlk6kmZubY3pqWhymuhyrq6vIckWIcz1eZFlmz549nPjdMXp7eynk8vjaWknXDNv9/f0sLi7W6U86na5+2JjNZihX67MalUolREZeIfVJp4XPs6WlhUg0SaVSYffVV7F+6RKexgYuXbpELB7nw5/4a8Yn/5PgVlmWT/DGlaqn/8j7fAH4wv/uY9ffKmVS4TDWlhbyoRAUi4y+/rpoMyLw4n6/uIGYzWby+Twej4eNpaV6vNnu9UK5TKVUwh8J1Vdiy8vLFAuFOqRUo1LXAaWFQgGLVbQRZVnsi6nBPLY4+z6fD5PJxMi1O3j00UdRq9U8/uQT3HLrbZx+/XFMJhMTk1M4nU7CoQgbG2EOHTrM2NiEaFkqtfR29nLDDTcxODDEj3/8Y4rFMqOjZ7nxxhtpb2/nbW97G2q1mgcffLCOe1teXiYSidDc0czIyC7y+Tx33vlODh48iM2m47XXLrC5ucnQ0BC33nobf//f/wGlUsmlS5eYmJgUEBK7neuvv56bb74Zqw0++pHPsm3bNj7xqb8gGU9w//0fYtfIdgYGBnjggQcwGEz1oVdvby9erxej0Ugmk0GdSPDSSy/Vg06xWKw+z5EUEga9lrnZaSQZVCoFk+MXsVms5LJpCoUcNrMJJRKZZAqpKtcxcNF4nHQySaFUJJPPkcpm8BoMgsZ96jXRa/F48Hq9BCNhIpEIhaKwMOmUOgKBQC2AZROyEyU1P4JITY6MbCedTrO6MIdUFU8vW0+iZrMZtVpdD0X5fD6s3ibRyK2h0YLBIG01enK5XK73UraeELY6KqlUilwux6uvvsrCwgL+NYGSk/MbNchviXy+iEavw26xMjo6CoBeqyOwsVlnR77rvvtYnZxksH+AZDxRl+c4bHYSsTilQhGz0VRvBycSCQEeViqJRCLo9Xp6e3tFBH8zzL5rryXj32BmZganRwB0WyqVeu/ljd7eFNXpcqVS/yLbqgdvfdePx+PMzMzUdVmRSISzZ8/y9ne9i7W1NeDfnARbp6rP1wpaLeuzszQ3NfH666/T4PaIZF02h9lsxmwyUSmX6/h0tVpNKpViYWGB5uZm2traCIVCjI+PE4lEOMZxGhoaUOsNNDa1MDYxSWNLC7lsgfe+/wO8/vrrnD1/ERRKLo6PYbXaKRbLvO3229i7Zz9f/eo3+PUzTzM0uI2rrrma7z70jzz44IM8+cyv+OE//xij0VhnRsw+9xs0Gg07d+7ku9/9HkajmrGxaX75y1+Sz5W47fbrMZtsPPjQl4lEIhw6dIhz5y7gcDjo6OjgyJEjXH31FSgU8PDDP8Jqh9WVKJ/7/KcpFot8/ON/zqVLl7juumuIR2OcPXueufklrrvmamZmZti9Zz9qlZL5+XkCoSB9gwOUymWKlTI2p3ikTyeStLa3MTU9Tb6QFTZwrSAm+RobSKfTxKNh5EoJs15sJkr5DAspoZbX1OAqWw6N6cX5einsxRdfRK/Xc+XVV3Hx4kWy2SzJZJJCuVQbGorgWTwbr1foY7EYDoeDdI3p2dTUQLFYZHp6WhC3iiUy5RThYBiFQklXTy+FkqB2W+3iADBaLbS0+mhqaqK5uVmshC0WgPpBoJAExk2v0aOUxIDaYrEgyaIjc6J6oo7rr1Qq9HZ2EQyJYXlXVxc6nYELFy4I7J7VTKFQYGpqiuuuu45qtcry+DhtbW2g1da3Zs3NzVQqFZ599lm6u7uJRaIMDw8zMTHByMgIbW1tbGxsoNVq61SxM2fOUC5XGX9VzBMsFgvlQh5JqaBcKqCvpVHf6O1NcShUKpU63n0rv77FSBgfH+fw4cN1U07H9u0olUqOPf88hw8fZmlJAEWy2Wz97lguFIgHAmjUalAq6evuEad2pUq2mqFaM0pVKhXC4Si9O3czf/EixWIZk8lCMBimWCxTLlex28WwzeNyc+zEcW66+VYkpYKXT5wgkytQqlT51a+eRq3VMjA0TDKVB1nBtm3ba2m647z4wstsbgbZvXsvd999N2fOnOHa668jnRakH1sNfhoKhejq6qK1vY3vfe97tLf7WFsJ8NhjL+FwOHjPe97LysoKf/npL3Lu3DkSiURt1hLGZLRw2aHL+cAH3g9AoVBmcXGeD3/4vZx6bYy2dh9/9ucfE/mBZA6zxcTb3/4OEjHhJxwbG2N6do6DBw7Q1dXFc889h1ZvQK3WEgyEMZpN+AObdHZ2UypVKOdLKJVq0ukspUIKs8eDz9fMzPS08D94G1hfX0enUbOxsU4ikWCor78e5dWV9RQKBVKZNDqjAZfXg8Yg2rAdHR1IksTMzAzlchmHyynCT2shGhsbMZnFi8llddW6JBEcDjs+n49QOMDs7CyFQq4uUw2Hw5QLQtW+ZVvSaDRoDKLd6utoF41MrVjFejweEaWXJORyGUmphN+3bysUSFK1fgXd0hFUq1U+8IEPkEgkCGyIJ5h4eAH/2po4vLIZgoEQzc0+UqkU115zFeFgiBuuP4rb62FtbY3z58+zubmJ0Whk92WXgUYDpRKRtTX27dvHnssv5/RLLxOPC7jwyy+/THNzcz0MFYlE6OzspKenB7vdybFjxyhVylx55ZWs+/209vRgMpv/6JPCm6IluWfXiPzqb57k1KlT9ahnNBpl165dLCws0NTUhFarZW5uTvT1a08RRqORWC2tFQqFaubiKoVyCU9bG+tzcwT8GwwNDREJhdFqtWjUYiIbj9QKMLEQPp8Pd3MzawsL+P1+RkdH68OuQCBAd3c3kWgUi8XGiZOvksllsTk8PPGrX2Oz2YkmhX69UqnQ0TXAvffeyze+8Q3m5xa47LLLBW16zc8Pf/hDqhUE0ceorQ/atFote/fu5TOf+QzpdJrR0VGq1Sq33347agx88pOf5KWXXqoTmFwuF9lsloMHDzI8PMw997yfY8dOcuTIIUwmuPnmd5PNpWlo8PD1f/h79u7djVIpknSlUontw3v51re+RSIR5/4PfYj29laGBgaRZCEVKZeLtDQ1UyoXMZnNJLJprA475UqFzs5Onn/uOUrZPJViiUq5zMriFLt37yafzTE0NMSZU2KurFap6OnpgaroQ5j0Joy1QZvJYiYcjZDMZti+c4RILEq8JsBxWFy1erma9fV1imWxEZIVohGr1mgYHh4mGhCOx5aWFpxOBxMTE2xsrnPVVVexsrJEMBjE6xWOUjmVw+awMzyyA6PVglKtYtuuEZpbfbS1tyMpha9SVRHf8aXaAZCIx+tagK0fk6tVUAKysEsrlUqiYUHCDm0KBUF7a7vI2BRiGPR6UEAmEUOlULK2skiDx0s+lyIeDZNKpejq6cNkMvHYY4/VQ3xbw3CNRrR2t3ypTU1N9PX11ZH/drvIvGi12to8q0BPTw9TExNIksT+gweZnJxElsDb2EAqleJt77mPsck3ZjS+KQ6FncPb5F898kNKpRKxWAyfz0cul6tLStqHhyGdJlN7vFQqlYTDIqq51UEfHBwknRYd/S3+viRJGAwG0skUmXSazs5OpsYnkGW57jpApax7FmKxGIGaper48ePkcjmuuOIKVlZWCETDnDp9mmyhwI7tO0llCzz9m+dIZbK4PA0olGo+85nP8MF7Psjhw4fp7+/n6NGjPPDAn9XTaHa7nUKhJO7oOjVHjhzh6NGj7Nu3jy984Qvcdttt3HjjjTz00EN897vfpVqtsji/htPurPseUqkUX/rSl+pPT8WiQKa95YYbicfjuNwOvF4vX//6V3nggY8xOSX28qWSCLjc8JajHDp0NZ///Ocp1zwM/T3dHL3+Wl577TX8/nUcVgFhOXv2HAq1imK1wuHDh5menWF4eJiVpWVmp6dRIFHI5qiWxaowEYthMBhYXlwS8JSmZtrb2wXMVaHAbLJSqogikcFsIhqLodaJVKnBaCQUFfh5p8nJ4qKgcptMJpLpFLGYIG23tbWRroV6bEYbR44c4eTJk8zOzqDX67HZLfh8Prxed+06JkJug109eBsaKMtVegf6MdusmOxWtDodRpOJKlCWK2iqyn/39bkVJvr9N1khgywOWlmWKeSK6PRa4uEE1WqVkydOMjs7y8rSNGaTidbWFrq7OtGqlMQjATQqFQ6rEblSpqOjg2Q6w+rqKmazmebmZiYnJwXgt/Ya2Ll3L5fGxzl16hQ7du5kfHycVCrF7t27iUQEx2JgYICJiQlMJhMNDQ3kMhmsVqswmtVKZemsAPTe8p77/mD34U1xKAwP9suPPfSduhvP7XZjcbsZP3uW1tZWDAYDS0tLdfHs1lDHbDaTzWaJRCJ4vd76tiAQCLBj926Cfj8rS8sMDw+zWlvzlGsK7q2o6QvHX+HChQsMDg7S39+P1+vla1/7GiMjI8zOztbbehaXKJ8sr/pZXfcTjSVJZPL09g+i0ep517vezUc/9nGGt4m25LFjxygWy/X1nUKhECWkmrXqnnvu4R3vuJNPfeov2LZtG5dffjlf+tKXeOqpp2qk3rSAw3rayGazVKtVvvrVr+LxeIQ3sLGR48eP09rayr333ksul8Ng0PHOd76T02dRrwAAIABJREFU3bt386lPfVIIaipFiuU8bqebf/mXRxkZGWFo2wg2mw2dXkOjt4Fqtcx/+/M/4+Mfe4Dh7UOMjY0xMrydUrFKWa6iMegZ2bWTXEE81Zx+7RTVYon52TnymSzd3S31hGg4GEKJWOX29/XV5zQKGbQGPRaLBVPtz83ucqLWCpKRy+1mYmJCxHfDgiBldzrIZrOYLKKPcm70gliFqlTs3LmTQrrA5qbQujc1icSrTq8hFovR39/L8PAwPl+zQOS7G7Db7YQjETp6u3G4nEhKpeBkKhSUZZHC1KnU/7EvWklGrv7bgVHMC0DQ0rzI1hTzRTEvUcusryyTy2aRqyVcdhtKypgMBqwmHRsrKyiUEp6mFiqVCouLi2i1Wg4dOkS5XGZuTrAVm5qaOHv2LNlsFptDJFFNJhOvvPIKXV1ddHV1ibax34/D4SCXy1HMCrdGe2cH6XSaXLFAT2+viGPf+A4mLs2+eQ+FkW1D8hM/eaju0lOpVHWTtNVqJRKJEIvF6O7uFrtmpRK5NocAMJpMIEkk40KsoVaq6pkHo8lEMh5HIQvhjMkgpulOp5PG/n7W52ZpHhjg5Sef5MKFCzidTqampkROXZLqwhSN1cjC4hIXLo4JeQxq2jt7afG1cfbcKGazldvuuJNXXvwtL774IuVyGZ/Px2wtaWYyiTTkI488wvve9z46fR187nOfIxKJ8Mwzz/DYY4+RSqUoFgW0dSu66vI0MTIywr333suOHX1ks1Uefvhhent7ueuuu0imk3S0ddDU7GHv3r389Kc/xePxMDExhdVqpbGxkW9/+9sMDQ2xtLjCgYMH0BjE/1c8GuMzn/0r7nrnf+HmG9+CUqnEZjHX+QT5rEQ6m6Grt4emlmYSySQHDhxgYnycYr6A2WDk4oVRwnE/VrOlvi9vaRStvL6eXlEuk2WWl5eRFaIJGAgE6ko4jVot6NZKZb04ZdRZCAaDNPuELlCj03Ly5Ekcblc9J7B//35avC01jPocwWCAXbt24d9YI51OA1UOHDjA5ZdfRrlcxltTD2r1ekCAgLV6MWz7Ywo1gDd8jUgy1YpcLzhVSlVUKiW5tAhyqRQqdCYtVCGVTJDPpKmW8lCtoKiWcLsdhNZXWF9ZJp1KsvfgZYyNjdWLcVtrdmEgF3j/8fFxdDod/duGGB0dRafTceDAAU6dOsWVR48SDwRYXFxEVzN0d7W1UiyKVa1Gp6V3aIhMjZtxxa3vYnzqjSErb4pBo1KppK23FxQKqFYppdMsLCzQ0NDAysoKvcPDNNW4gVuhGdELT2O1WonHYthq24lqtYpKocRitbKyvCx4jx4P46dOiz1uVVwdLEYTVGWCwSAzMzMYjUY6OzvZtm0ba2tr+Hw+nnvuOWZnZ4W/UVklFBRXFqvdyfzCMn9+x51897vfw2y2c811R/nrv/5rPA475VIVp8vJzMxMnQd5zz33cPXVV3PXXXfxiU98gpuuv4H77rsPt9vNE088QSgaoq+7j3w+j81mY319HbfLwV/85adwuVw0NHo4dNmVpFIpvvjFL/Kpv/gESFV6uruIRqP0mtv40H338NRTTzAxMcaRI1cyNjZGX18fvpY2vvTFv+OXv/xXPG4vyVyQSCREY0MD73znnbz//e8lk8+QSSZYWSnR1NTE2voyrc1CLx8IBUEpvpvmS0Vi8Tg3XHc9P//pI2I+k0yjUGko5cV1JFcs0dfXSSgSZXF5hTZfK+v+Tfq29xFJxomlk+zZtZszZ85g1ImBoyzLNHi8ddN0pVJBo9Hw6quv4mkQq9GttKmyWq1fnarVKkajkf7+frGhSidwu910dLTVvZMNDQ0oNKKxCSIsp9b+WxKWqizEk/DHeKb/7m3rsNhC0JfLFfQmcdAE1oKcPTuH0WwkFg2TiMYwaFXYrSZKuTSlfAtz01NYjQaam5vrsuHBgwehVGKt1hbecnwqFAqam5upVqusrq5y7bXXilxEOo3FYiG0tla7nooBusfjIRIMkc5lBcpPq2NydBSzTTBB3+hKtPX2pnhSGOzrkV999qn6TGHru7zZbK7LSrxer7iLq9XMzc3h9XpxOp1sbGzUWHnaOoptaWFRhDyAttZWMpkM2VSafDbHiy++iNvtJrgh4tQFhSDWHDhwgJ///Od0dXVx5swZbr75Zp544ol6N/9fnnmSYqGEzmBGUqp5xzvfxYuvvEpjczPzC2K6nkilUEvy733Cq9xxxx3cdNNN/Ovjv2Dnzp089dRTJBJxtGWJ+fn5euhqfn6+vrZqaWnh/vvvZ2xsjLfedhsf/ehHOX36NB/+8IeRZZlvfvObQkOfTmMymfjTP/1Tvvb1L1EuV2uQkxJXXnEV119/AydOnKSjvZvHH3+cVEqIZdXGAnq9ngce+Chf/MKD6A1a5EqVfD5HS1MTKyviqqbGQaFURG3QsXffPhRqIb159JGfUS4UaW5opJgvoDLWAkS1EE0sHOHw4cMENwOsrq7icbq4/vrrefhnD9Pe3o7ZZEKn1jA3N0dXaztrq6tYTGYqxZI4sG0umpqamLw0xcbGBulsje8gCzmqRqvlwIEDBNeDddQ+yKJUZtDS1taGSiVKb11dHWQyGVQ174dGqaBaFcNClUowJ4D63+U3eGiQ+fevEQmZSllkFVQqFVtggGJOzHgKOaERdHncnDt3llg0TGuTl2qxQDoeZuf2YU6dfIW25kZ8HZ3k8+IqpFAoaG1vZ/ziRex2O8ViUXwcl4tCQajv9GaRyNxzzTW8/MQTdQXhoUOHCIfDzM3NiVxFNo3P5yOWFHMOnV5PJB4jk8nw3/72a0zNLrx5nxTUKhVWtx3KZZQK8YneiqQaDW7W19eJaxTo1Soq+TzDu7cTWF5iauI8rW1tqJQVMtkYhXJJiFKMWsqVPNlslmBYzcKCqN6ura2htWgpUKC1X3gmZs6PIVdlLpw+hcfhoFjI097ZwWtnXicny2DQ88KrJ1n0pxgaHCKdTjOyfYSfPfpL3vKWt1CtVvn1k49jMBhqeQkHxWKRoaEhuru7aW/18eMfPMzll1/OU48/zuTkJH19feiMRoorC4wtzNDS0oLDJ+K6R2+/hcOHD7OwuMjIZfu54S3Xsb6+zu7du9FolXznO99BpZYoFLMYTTqMJh3FUo5UUjy2Op1OTEYVd999NwMDA3zjG19neXmeldVZNBoNOr2MUqFDhYY9I/toavCxvLyI2WJEpzMSicUxmm2kMnmqlU3xCFvJsrYySyKRoKenh5tvvJbp6WmxG9drqeaL2J1OUuUqgTVxp3U7XSzMzYv1n17Hq6dPQapMfDWMrd2EUWtAj45KQaZaklheWhdtvkKF9cU5xmYv0d7ejslho6pSsL6+jkYjjOJKpZLR0VG8nham5xd45XcnMZlMHD58GI/Hg7uhikVrQlKpkRU6NHotUqFUK76JxQEKBXKhgqQWg8VKoYRSq6ZcydevBJIkISEhvwGlSCEXxKGCAuQKkqQAWYFapUCjUhPLxgiHovz8pz/A5XKglBSU0zFUSolsKsny0gLXXH0Vr544TkNrG3Pnx4QCripz/DfPoTMZBb2pv4/l5SWC8SgoJJq72okFQvR2d7N68SKRUIhGr5dwMEg+m8VsNKJVq2lqaiIe8DMxdhGz2YpOb2B6aZY73v4Ojv3uJPl88Q++Ht8UTwo7tw/JLz/xUyKRCD6fT2TodTqKSVF2qdSYfm6bg2AgQDQeEzxGnQBXSgoFSrudc8deoaOjg6WF1TrrsaOjgxdeeKEuJd2KiwqZho7oRpjZeQEynZyZIZPLEk9nyORyBMMRylXxKFtRCDvzfffdx2c/+1luuukmTp06xeLioujGr66KarXayDve8Q48Hg/r66usrq4yOioKU1qdhqamJo4fP47RZK5bnrq7u/F4PHz84x+nvb2dr3zlKzz99NNCH5dJc9ttt3H8+HFSqVQdOGuz2bj//vuZmZnhoYcewu3yEI1Gueeee9ixYwdf/OIXWVha4B+/9Y98+tOfZmRkhM3NTUKhEKVykeuvv55nn32m1krdRKXewqmJb3myLFOtiG+bRqORkZERxsfH62Ehi8WCLMtsbGygVxno7+8Xa0SVqv443NHRgd/vp6enRxzs4UDdSCWiyKl6IaqhoYFcTqDp1CY9qVSq/vmRJIl0Oo1SqcRoNNar1NFIql6DL9UMUVv8BrPZjE6no6enB5vNxkc+/OH6VU6tViOpJfF0UAEkKBWFvVxnE1eMraeDP/T6UFIEqbapqEhi6KjSMH5hguXlFeIxgVXbt2uAFl8zi3PzTI6P4XE7KeayBAMb7N2zm7npS+TyGdwGAarxNjUiyzIdO7YzNzmORqejdXgb5USchaUlrFYrSzMLFAoFBgcHWV5eJp/P43K56OzsFFdrq5Uf/a/23jzIsqu+8/yce+/bX77cMysrMytr36WSCslaLANCGgQE3XgdHGaM3XaE23aPu3GEY5qxewyN7Qg3Ed0d3e6ecXTbPWDCDNCAw6ZZbGBAMmAESCWVVPuWyqzc98y3v3vvmT/O/d133q0sgQ2SKoY8ES/ee/fdd8/+O7/f97f9p//EkYkxFhYWGBndjcKh3vLJF7roHRjk7f/LL3H+8h0MNN519LD+9J/+R1ZWVjh+3PiIK6UYO3iQ5uZmZLaq2Vrd5K57TvHCCy+YHAUpj81ymZmZGY4eP8bFixd54xvfyNe/8S1u3LjB4KBRS83Pz8fBWc6dO8ejjz7KF77wBeM16cPi0hKtULNVLtMMQlZWV6k1GqxvbZLJ5slms5y+70G01qytrXHy5Ek+85nP0Gwag5h0Ok1PTw9Hjx7lp3/qnVy/fp0/+7M/w3Vd5uZnOX78OFtbW4yPm0zB3d3dtHyfVCrFoUOHeN/73seZM2d4z3veQ29vL4tLi/T1mqzO//J/+y3+5E/+hFqtRhAETE1P8VM/+VM8/vjj/O7v/i71ej0y3qqbfIiR3FypVDh9+jRf+vKXGB4aZmFxgULe4CbvfOc7efTRR/nRRx4CYHT3CC2/cQtRCHyTpSkVRa7u6enB933uv/9+nnrqqTglX6vW5OTJk1y6ZOz9x8bGuHLlCvv378dxnDj9W0+P8SqcmZmJcaF8Ps/CwkKcvaurqwvHceLwdmEYkslk4vgaAkg2Gg2KhZ742UCcV1PkasEcuru7OX78BKdPn+bnfu7nmJiYwHHNRg7DMM68VSjkwQxfHG9SzJqTpVrZiPJWpHCUBzh4KZepyfkoJGCBeq1JMd3g/PkXWV5colGrkk653H3iOFub60zeuE4xlyXUPrv7hzh16hTPnX2edC5LrpAnnTfOUhuVMlNTU2ZzK0VPrseEp/M8Tpw4QSaT4fLly/FYiTv96IAh3Ckvzcr6GoODw2yVqxQKBX7uPf+S7zzz7LZE4Y4I3Koche+3aDYbrK6uEAQ+jqPYWlqkXq9RKnXhOIqRkVHOnT2HDhUD/UP4jYBCtkA+X+Qv/+Kv6O3tZ2lphXqrSbG7xOLKMi9eOG9Ch1UrVOo1evr7+NrffYNyrcr80iIzC4uU6w3wUmxWayyvrOLjUOjqZnjXbrRyabQCnChn4dGjR/nSl74Ugzz1ej1K2WXwg7/54l9z8dIF5uZnqVTLZLNZLl68GLtw57J5FheWaDQanDp1il/6pV9ibm6OD33oQxw5coRMJsPEngkGBwd55JFH+OhHPxprWaamp3jowYc4ceIEH/zgB1laXmLfvn3ML8zH/huiwRBvusOHDpPJZBjdPcqBAweoVCo8/vjjvOMd7+DQwUMcPnQ4NsuVDSABV3VkxSfBUzKZDFtbW5GDj2ZycjLekELIa7VanPZ8ZWWFRqMRv5erFfwwwE151Bp1tiplLl+9wvDILrp7e6g3G1RqVRqNRpwDpNVqdXze3NykWjWJVcvlchwXQ/JY1Ot1/IjgSn6IfD7P4sIy169Ncu3qDbY2K7QaIa1mgOs6dPUUKZTyoEEH5kWoIFQo7Wz7SmdyeKkcyvEINLT8kNXVLdY21ilXajz3/At86i8+zUc/+lEcx4ltb8SDVMy1xadiaX2VqbkZZhfmGZ/YA1F4wOXVFQYHB3nzW56gWCzSPzRIo9Vi99gYuUKBQGvWNzc5ePgwZ198kb97+mkeeOghxvbsYXNji77eftK5LMeOneDg4cM4jsOXv/xlVpcWb78f7wRO4ejBffrD//b3qdeNJ9vwsIlJFwRBrF5ZXV2lv2+EY8eO8eyzz1JrGNnP1yHz8/MsLC5y6NAhY1dQq/PlL3/Z6OKzWRqNBrt27TIGMZHzi0mbXmFpvcxGeYt8rshWpUyh0EW92cT3QxzPZWSXCTSyubbKL/7iL/L+97/foPM3b8a+/Y899hgPPPAAH//4x5mcvB5bWwaBjizTvDjVm+t47Nmzh5/4yX/M0NAQv/EbvxFHrF5bWyMMo2Apb3kLH/7wh6nVKvGGP3DgAG9961v5vd/7PaMGi6zpzIlInDoP4P777+fChQsEQcDY2Bg3b97k9a9/PW94wxv47d/+V4yMjABhZDOfAhVGxICYKLhOJs5+LVmqisUiWmvy+byJh+g49HaZEymXy5mISFFcRhEz5PTuHugBoFarmfD7kc9KPcpgnc0ar8N0qKhWq+RyuZgASDtE/DCZo7Kx6hoMDiUBcyRNgOcZ2KzeUHGwnYmJCXp6ejh27JjBiO65h1OnTjE2NkYmb+wUjEYhWqDbnKctHeAog1FobV6OAyvLZZRSTE/PcPnyZX7irT/GZz/7GVzlcO3KZfp6uylkM7gOsfiwVd7gH/3ETzAV5TzJFfLgGF+L4w88QH1t1cSmdBwmJiZ44dlz9PT0EARBbLczPT1tco/2GnPvmZkZmlvrDAwMMDMzw7333su1a9e4ev0aPT09/Nrv/D4Xr24PNN4ReR/+w7//d+//sfvvIZfPkUqncVyHow8/xFB3idm5OYaGh6hUK1y/NsXK6ipLS8tsrG8wOz/PtavXqDcarK6uMTn1EjOzs7iZLN09PdyYnKTl+3SVSpx57jmqtRrlSoXllRXWovBaTQ0aBz/wCXFo+T6VWh0NFPJdFLqKHDlyhK5igbNnz7K0tGQ2Qm8vlUqFvXv38va3v50zZ87wzDPP0GhWcV2H9fUNPM8lk8mSTqdYXzfq1Hy+wK//+q8zPDzI+973vlj8kDDmo6OjbG1tce3aNQA2NtbZ2tpCa82pU6f42Mc+ZvTgkZ+I60bRjhpNBgYGaDabeJ5HX19fHA5NApo8+uijfOQjH8GJIiTV65HrcGhOTHsjhGGI75tNJUFthWuQ084QvoCg1YojW0lMA/EHkOK6Ls2gs69yYoZhGNuneJ6HCgyBAWLuRUx4RewwDkqGe5DNrpSJvqyj8PFyCgdBgMaLr4l78dTUlDHyaTaZn58nCAK6S10UigVDB1wM5gCEfkgYhDiRxsL1HFqtgCAIUcohlYK1tQq5XJae7izNZsDo6G6+/uSXeN3rTrOxvk46lSKTSdPd1cX6+hrra2scP3aUo0ePMD1zk2qtZszKNza4+5FHuHj2LDnPIwxMAtxszjiczd2c5+TJkzQajViVubq6yvr6OhMTE8zOzlKpVAhbPpcuXWbP3j3U6nVQirSXIgxC/uqLX+E3/sV7ts37cEdwCof2Tej/8IH/g7U1oy4ZHx/H900E35mZmdiI6dBBA6ycP3+ebD6H7/u8dNOwsrUoNPZmpcz6lrEG3NraIpVKmdRk9TqAtaAMotxUxiFL62g3aAfHcwlDc/1/evwJKpUK58+9QCplNBmpCN39mZ/5GR555BF+8zd/M4770N0j/gxZstk8zYbP0tIK/f2DDA0O8973vpd//s/fg6MaJsdDJhMnys3n8+zatYsnnniCP/zDPzTJa11i24Xe3l4TkSgKcCqyrtaadCpLq9WKDa6azSazs7MMDQ1RKBSYnp6mp6cnUnGl0Frjuio6XVWMKQRBq20nkMrfUo9sUtn0QRDgYa41m8047L4k85F7lVLgGKMosUsQmT+fz8cnfiqVopDKxM/IZrMRgfLjBD7Sfwk7Jmy4EJdUKhV/F44hoG2oJNyEhGsrFArkcjmGh4fp7e5icHAwzuexvr6O53kcOXKEo0ePGq1RrcbkzRlGR0fZ2NhgaWmJQ4cOMzs7G4OZ3/jGNxgZGeGFZ7/J3NwMzXqDsd0jnLr7JI1qBXTA4sI8B/ZOsLm1TkuHvBAlI0qlUlQqFU6cOMHVq1d5+OGHcV2Xja1Nw51Wm3GC4XK5zN69e5mZmWFsbMwYj+3bx/z0NMvLqya58u4RxsfHOX/hRRq1OvV6nV/97Q9weXLqzlVJeqk0M7MLbGxsGLvvC5d57LHHWFlZYXnFsErnL1ymt2+YVD5LV59Z3OvlLWZmZ8kVCzSbTVa3TKSdgcHh+DQNw5CVlZWOvIn2QvX9FmEUhUYpF6VCquU6nueZRJ1+k0bdmFKPjo7S3d0dE62JiQn+4A/+gNnZWUZGoph9YYtQ++RyWZQyrPL997+ORiPg/vt+hOvXJ82G9Nw463OjYQjE4uIijz/+OJ/97Gdj+V07Jp3b8ePH+drXvkatVouRf9l4gsBLuLJCoRBbRi4tLZFKpbjvvvt49lkTZzKVSkeoehgRgvYG1rqd1AXa6Lv8LsRUCBBATE+j/9mxBuwS+D6B7xMGBqNBaxQQBgE6DHGUwon+I4ZFdv1A7JIMhvuw67VDqAsgKQROR/eF2kdHa6C+WaVaK7NV3sDzPNbWV8hLkF8dxv4wjuNwc+olXjz7fOxWXWn4fOC//msOHTrEE088wX//+MfjEHTVapWVpSU2o2Qvb3/723n6775JJp3iK1/5Cp6Ce07dxbFjx2hUK2xubpLOZnnogQdjn5xr166xOL/AgX37mZm+ie/7nLjvPr715JO0Gia35H333cfNm00KuQyFXIbF+VnK5TKXLpzj0KFDPPfcc2SzWUZGRoz7uOdR8X3C0N/W9kLKHcEp7B4e1r/+C+9mbm4ujg9w8+ZNXNdlbW3NeNUVi/jaoKtb5XJ8WszOz9EKTVLQ3n5j800YmbFGSHy9Xo9ZR8MVtPscOBF/GPnDO9o4UVWrdfbu3ctgv/FO26qZsGFyqv38z/88X/3qV3n++edjp5ONjQ2y+YBUKkV//yBbmxWCAJoNnz//84/zT3/lV1ldNQlkerrScYYlMJtMIhdPTU2ZtgUBw2NDrK+v8+CDD/LUU0+ZoKqVSrzg5fR0nUwcU6C7u5vFxcX4NM/lcjz88MN88pOfjMQKw947DhH77uMHzRhTALOBXCcTt0+Ij8jp9Xo9FiPSro5xBKWUCSRrcTNCgOtbBniV8HtioRhEREIs7aQOyTbleV78fOmzhO0T7YbRHhQ6rAztwCgtdMxxxFxiJGqJmlNrTVobsUwIS29vL7VazfyWThvT7HSarmIvx48fp7+/nxfPnaVcLjMxMcHGxhqZTIaXXnrJxNE8cZwXXniee0/dQ7NeY3lpgT2ju6nXKjQbdQ7t30c6Y8Sm/v5+5ufn2djYYGBggAP79tNoNFhaWmJjY4OJMeNyfeK+u6mtrXHmzJlYVLx69Srj4+MMDAwwPD5OZW2N+bU6169fp1Y1gW0X52bJZT3Srsc//Vd/wMXrk3cup9BstvjC33zZBOJotbj4oY/Q3d1NNps1UYIzedY3Kyyvm5iIxWKRUJmNX65UTJCLVIqVNeN81KobGVfTihaqY+iiAjdKJNKOoiOsLhBqtHJxHYcwaLF3zwSf/x+fNQFQcDhw4ACvf/3rOXbsGB/4wAdwXZf+/v4Y6DLtrZGLMj9ls1nuuuseBgeGede73kWr6RNGZtZdXXnW19cBYpCuWMwzNzeH5zl0d3ezubnJ4uIiJ06c4Itf/KJJKhNly4L26Wk2VUA645FKu5S6i1SqW2xtbTGxe5xcLsf6xirZXJpyZZNctjs6QSXpbhonEG6grYrT4a16ekkNL2HQtNY4KojtSdLpdAwYJksmnQatjTWh6+JEbH+xUIj9HlKpFJ7r4kd2JV0RsCligGAbAKnIalGHPkppPNfgDHKvjJFSKuIUQsIwsH4zr2w2E4c18+tNmk0nJjq1WiXmTMTEvl6vMzwwwuWL5yPQs86+ffv4ypXLZLIpBgcH6e3uJuUq5ufneeihh1iYm2d5cYGuoknT99LGGsePH2dzbRWNcY2em5vjwL79XLhwgdGR3Xzz69/g4MGDpJXLxO4x/GaLVqNJdWmRfHc3lU1DPDZWVziwd8J4BocBzz/7DEeOHKHsm6hSTpQdanBwkEzaoV6pbjs/Uu4IouCHAU7OoxyBYlpr6uvNmJIPDg7S8lsEWpHO5qk3I+rfCkh7GerVRgebmc5l0UArNFxBq9nqOLmUUngZA4LppkuoQ3TY1kcX8l0sLRpVULG7ZAyn+ntYX17g8P4J/vJTn0AFTRQuuZRDLpWDoEnGhWbNpe77pLQxdx3q7eebX/8aYbNCIZulUqlSKpTY2NiI2XyJc3D69Gk+8YlPxHb+XV1dpIIWBw8e5urV66yurpNOZ2NzZumvUq7BFLwAR3lsbpQJAygWSszOzPP444/z13/91+hQkcsWCHUdTYgmwA80RAShkwAoUCFi/6uBlu+DCmn5DbyUF528LULHIZvNknIcMl7KENxQGZBSG5bfcz3qnnlOKp+mHmiUckhn0tSkP26Kplb4UVq3XC5HEBGewHUIFeA6aMeJNqqi1miaZLnpNIHrgQuOcgharXgTe56HqrVwMYdDIzQqTpSHH8DqZjnmqJopzVa1bPCMlAnQ2opsHlSoSSmHQqmbpU0Tv8PFJVABV6evU6/XmZiYoNJqEFZMyjt3rcm18y9RLm9y6MABSqUiy4trdBV7mXppmt6+HjK5Ll6aX8Xz8jx36TpaeaxVG2S6e1nc2qRZb1BsGW1brVXH1yFnnztj3NoDPzaBHpvYY5LcDA2uyxfKAAAgAElEQVTy0s1p8j27efwtT3DxhRfitAZHTpxkYWEBN3V7b9A7gig0GiY+nVBwUTlpranX63HshGqlHlsmyiaXU0NYyzAM8UMDPsk9AjzZcrIQANeSXYVgbGyYoJ8LCwu0osUVhiFvfvOb+eAHP2gs36IAKcJmSltyuRzZbJY3vOENHDhwgD/6oz8CDBehlIpjHnqeF+e+FIRfvOTEIGlra4sDRw/z4osvGlVdFN0HOuV1GScg8hA09VUqFXbv3s3MzAx9fX0sLCwYTio2VGr3eTsx0gYVY7DQ+s3+T8zah4ZlL+ZNCHyCMLYzEA7Ctn8QEcR+yXjIaR3jAtHv8pvMr9QtBFY4Ba11HINRxAMBI7U2iWmUUgSRAdPm5iaFQiEm1s26sbFIe2b9pBw37qvv+ywuLppwblbQ4GvXrpFOpzl27BiDg4MM9g6ahDTFIi+eP8/wYD9+0KCn1MXwrn5WVlYol8tcjixje0oljh07ydnnnqdS3uT06dPs3mVyWoyPmzDwjgqpNpoMDO9iZWWF7lBz8MhR0t3daMcQwWq1yo2pJa5euBCHIxDPSgPGpm+Zbyl3BFEIw7bsZ5+AMnmysVvNILq/vTHshSnsrHinCKuZXMzJuu0NIhtMXFilHfv27TP5GjY3KRaLrK2txWowqSOWnSODpk9/+tMxqx2GIeUICxGATNojsr9gCQIS+r5PsVjkxo0b8f02VmKPgZyIEurbRDg2BG1qaipmzz3P68g4nAT07GJzVjYBkbHd7lqowg5RwIHYtDiIuA5bvWnXL5hEOp2J65d6tgM/bXwoSeTk/1IEu7B/b0ZgqXba4KZoRLTWOBjbh9CP8AuP2ChqaHggHuv19XUmJyfjvCKe53H9+nUTsMe7Rv+AccYqFQvMLS7gEJD2XC5dWiWT8hjeNUQxn8NzFDenptja2CCVdkmlXLq7CmQKObq7imysrbPcarGytgLKZWp6xlj2emm8VAZw6O7pM2Clu85DDx3k4sWLccaooaGhGGfxv5+8D69O2R6xloUiiT4zUYx83/djsE02o5wIWmt0ZKgZBEGssrJ95u2F5AS3mrIGQRAbJklYrOHhYZ555hl6e3tjz01ZlLb6LZvN8sQTT/C5z32OUqkUJ7np7e2Nre7ErFZOONE+aK3jDS+nnsiwUp+t+7c3lNgGAHEmrK6uLhYXF2NNQSqVMgFAWu0+C5cjHJhdxPBHNlwQBDGBS2pxRN4PIyOoeNwtWqOdNtch9fq+H3MD0idJwSdWjBJTMamJEKDR1kKACfqb/E3G255rWUutVlvd2Wg0TFSnnh5SjrHk7O4qGS/cZot6vW5iT+bSMafjeZ7JKVIqxWMqnEMtrFEup+ju7mJ2foaRXbuYm5tjfHyUk3cd52//9knG9ozz+GOP4jgOA339PPnkV1hbKnPvvadYWVpkY2WJs2fP0tVVMNzEwC6CIGBpbYtS3xDleoONSoNuL8vaVo3hfIlizwCVrUqcL+XEiROsrq6STpvM3TbIfcu83/aXqCilssBTGKtwD/ik1vp9Sql9wMeAPuBZ4Oe11k2lVAaTuv51wArwTq315HepJV5o9mIVQiFsc6VSiVRqqVh/bS/O2FxX6Vs2a7wwE6eOfRq21ZR+h85bIgwrZaIIix2ArR+XjTE7O8ulS5eiVPTlmJXb2NiIg8f09vbGC8dxHGq1Gr7vMzY2FoeDE8KzsLAQ+xiIBaA4DtknNCqK/Rjl4mw2m/T09LCwsMDx48e5efNmrLd33LbdgT1+yWL/ZosQNisv4LCw9C7SJnNPjCl4HvVWMzZCstWXQhRsQmGtvw4RQ4rYMMhvIooJIRAOTBLU6FabSwl1GM+d53m4TtuuQdbf+vo6LioO/ZfJZMilM/E4ifgiRB4wwUzSaZRSMeFPqSqV6gY35zTDA4PUGlXS2SyXrpisZc2W5vLlq/gtQ/iXeky+0p/8xXeztrAISvP8s2c4dOgAExMTzM/OMbb/GOvr6+QLy5S6+0zWq/PnqdaarK1vMTo2QTafwnNSXLlivGOfffZZ7r7bJM5dXFyMwfHtyvfi+9AA3qS1PoVJ/vIWpdSDwL/BpKI/BKwBvxzd/8vAmtb6IPDvo/u+p2Lr3GXhyUKRzWlYnzaAJItVFrjNGcjvwC2EwF7otpUcGJaxVquxtLQUG/8MDQ2ZwK/RCSDou/38IAgYHR2NFwjQYeQjEyF9qFQqcV9KpVIccWltzXiBbkZeooVCIYreVIzVffKSkzAMwyj5SRAv7q0tk0nJ932GhoZib0J7fOS0k5dtByD3ybiK3C4ETbgGUQvKeAuHIUTVcRyq1WqH/C/Ps+uTefQ8L+6LtEEMlaRddjYxW80o4xtzLtbzkyKGTeSEY5E+2GKTEBZps3CE4v8iHFilUomfJZaS1XolVr1WG1UWFhaYm5ujVqtRrVZZX1+nUCyxvLrCPafvRWtjlPXStRs0Wk1aTZ++wQE2Nrb47Gc/y/rmBpcvX6ZSqXDy5Mk4f8nY2BjZbDZWpy4tLjI9Pc3GxgaHjx/n8OHDpAYGIJejp6cH1709P/BdiYI2pRx9TUUvDbwJ+GR0/cPAj0ef3xF9J/r9MWUf1bcpyYmSd3uzJydLTiDbDFcWavL19ylSx+bmZnwiCZGSzSgnmywI2VBa69iDbXFxkVrNZGoulUr09JiEJVKH4ChAbOPf398fs3Zy6ku/t7a2YmIoxEApY9MvYKo8UxamxHoUq1CT3ToXG8nIphGiYHMgNqGU8ZZoQALy2ZydnNACEoszExC3TzZys9mk0WjE/7XnVoiF/bKJoG0SLXUmxU8BA8WTVcQQITxyv31YyG9J7ELepd5UKkW9XieXy8Wqc9/3Y/FBgE3ThiaNVp1ao2rGynXx0ilqjTrXJ6fo6u5lcuomjpvmc5//G144f5Hd43tZXtvi0pUb/N23v8PlK9fJFLo4ec9pxvcdIGj5LM4vQKjp7e7h+tVr9I7voVTsYm5mFrerxEs3JpmZmaFSqfC1r37V5FSZn+dClBpACPd25XtNMOsCzwAHgf8MXAPWtdbC59np5keB6WgwfaXUBtCPyVB9m9IpKyY/C3vuOp2yI9CxCeR/2jLASd7/vRZBsYUrSHIdQHyC2JZzImIIFpDL5W7hUmRDAR1cjqDfrVYr5ggkwU2xWIwXuIhOguprrUmns/F32ViyueRZQgiEfRfia8vZSVDRZt9FBpdxt/MexAQk6ourInFOtTkOza1AoLD5SbxAPtuHQ7xabgGL28Rju/44jkO9Vr8FUE4+65Z2JdpqEz8vlY3rVMpolcRqEIi5Ka1DHEcBGj/0CUKfoV0j9JRKNGp1qlFyorUtE0XLdTyy+QIH9u3jG9/4OvlCN6pLMzl1k/7+XvLFEuNjZqvNztyMCdxLZ583VrjjY3zqQ/83pVKJmZkZJiYm4oxe+bxJuzeyZw+NRv22a/97IgraONnfo5TqAf4COLbdbTK2L/ObPQG/AvwKGLWgzbLa2IL9MhFuOifbnmDbKMVq+y2LKtGS7fqLUirOzRcEAfl8HiA+dRzHia36JOy8cBSCCYiRkbjzysYUMUhOSJnYy5cvs3v3bvr6+pienjYenqEfb+q+vj601lQqlQ48ICnnx9iKtZGNIU4t6nLYOa60CZyMrc25xcZCqVQMAgK3iBxhGOLoNheUSqVic9owDHHTqY5TWcQJmyM0Y+J2qCxlrEEMtZx4fux22mtAvgsRLJVKMffUahlOBkd1EOwkdqGQddceF3lvtZpxoGERB2VuRbwx7t1bccRox3FM5Gjf59KVKwz09dHX14fruswurOLPLDA8PMzHP/VXTEyM09vdxcrKCrt3DTM0Ok61XOaprz/NqSNHGBoaYixKCJwrFFhdNvkjsuk0r7v7bs6dO8fExASP/viPszltgv08++yzMadjz3ey/L3iKWit14GvAg8CPUopISp2uvk4FX30ezewus2z/ovW+j6t9X2yOGwQMAkIyoQncQHppLDwSUJiE46Xe3aibR2ybLVajd24Bdyy2VQboPJ9P85XKGa7chraQJrN2UB7Ea+vr0cnv5HZZaHJYhez3Hw+H7sKC1cgz5F+2aeW7ce/XbFtAaRd0jb5TYhhcnxlzJJsuDzHFhvkZcv9yfndbn5sMSZ5CMgaEAJiE1ohiPJfW2Nlz7fUcTvR026TPMMu4rUqoqJk8EaFKKfNvQmxHBwcNEFx55dYWV1neGQXfQMDtFo+6xubBIFmdX2TrmI3xVI3k5NTOF6a4ydPkstnuHzlIpqA9Y1VLpx/gb6RIUbHRtAE7D11kp5eI65W5+bQWrOwsEAYhpRKJWZnZxF/n+3K95J1ehBoaa3XlVI54G8w4OEvAJ/SWn9MKfXHwFmt9f+plPpnwF1a619VSv0s8JNa6//55epIpzw90FOKvycXlUyArZGQyc9kMh2Lzpar7Qm3F4rNXuptABdb3pL7u3ImqpEEiK1Wqx14h9Qh3IAATXb7pQ9J2wm5J4yMaLTW9PX1GZfYjRr1ej3K65CPQb2krj9bNCo7SZ8np67I0kKQtNYo3Ykl2CKCtM11XZyoX/ZmFflZnpnNZmODKZtQ2GNss9l2n6GNNdicoet1qkq11h0YivRbNAASj0FANgFTZU3YMr5wV0A8b9vhCHZdMh4iRqZSKTzl4Ech3DKZDP29Ji/IoQMHGBgY4MWzLxg8qlhgcnKSbDYbq6gLhULMKebzJsFxV58BmatlI3oW8zkKxRwnjx0nlfLo6+3l6tXLdHd309NtUuFtrK1x7NhRGrU6w0MD1Ot16tVyzE129ZqAxtlslq4uY2AV+Jre3l4efOIfce7SPzzE+wjw4QhXcIBPaK3/h1LqPPAxpdTvA2eAP43u/1PgI0qpqxgO4We/exUqRqlt6myza0C8QOwJs++1T2Kb+9jOAMY+BZNFNoftpttoNOLFJwTJ5k6kniAwGarkXgGfbNTd5hLsdgOx0dLq6ipra2v09A/T1WXY1Hb481aHPK+Uot60jIrCkLQX+SYEIYEGxzDDhFH7BaRLntj25ojVeYmNYos9tVpt2/tsdbAAdPb4Sn1J9aOZ0zY7Lye62GdIW+X0t4mN3GuHcpc22QTAnnN7fch4JteC1GOLuBpFJjKNzufzcZQnx3HiyFStVgu/XObIkSMEQcDi4iLFYpEDBw7gOA7Xr19neHg4Tm7caDSobBk1diblkU53RzhSEwXMzS0wP7/IsaOp2AFr165dBC2fQwf388wzz3D16lXe9a538bWvfY19+/bxmc98hne/+91Uq3UqlQoju0a/K8b2vaSiPwvcu83168CPbHO9DvzMd3tu4l8dBGA79ixJIKK6OjiHpGwo98h7cjCUUuiXYaPsemxZXU5JmxOQk07Ui67rxtqLpEbF7oe9KB3HiQOXyAm/vLwcx0csFosdRM9mi32/vWBvJ0LJ70l038Zd7PGyCa78X9SaSdDVHqcOTszCPgTgtO+339uahE4cyHGcjr5K24TQJLkxez7sa/Y60RHeIu2T8b+dpsoWG4womYvFKlEZb21tUa1W2draioPc9A8Psbi4SLVqMnN7nkkf39PTY/wkKhUWFxfJFo1GSNTOpVKJlGfiLV65coWebpNdbGhoiI31Tfbt24fnGJ+TPXcdZumlG1QqFfbs2cP58+e59957OXv+HG9/+9spjIxQvnKNmZkZUl4mjmF5u3JHWDRq3fbPtyl2cnHZJ+p2eEPSz94mDiJS2LjE7SimzV7KPSnV9rewCYQsdsE1yuUy8/PzsRgDWACaEy8MWYwi90ofRN1XKpnovkFoFmolip7keR59PT20Wq0OF+rQWtAydrbNhs3RBEFb7JF22W2ICYrlOyIET8ZEZPhYM2RZFdqii/TxdriRLRLGdVvgpMyjAIzSFntNJLlBuz4pwokqpWJX+uTGsPsh3+3DxuYy1tbWKBW7YnFyaWnJRLqKxkX+f/ny5VgUtAH0RqNBoVDg2rVrpFIpulImB+aesXGmp6eZvHGNy5cvk89mKRRyNKI0dBsbG+RzBW7cuEGpWKTZbLC8uITfanD//fdTr5a5ceMGy8vLvPFtb+OpL3whWgshP/rWt7J6YypWK9+u3BFEQalbjYtsVNrGFJJEISkOQCdLaf/XZgXb/7sVa7XBqHhB0LbZhzamIYtLrkto8dXV1TiSkG1kJc+3zYrttgu6L3U3LWLZaNRwnFwEPBo3ZwjNy/gGm3ZbhCvmFpRtGdg+8ZJig7QneeLbokA2m40XVblc7uB0kpsyOT82ZyX9vGU+LS7l1rXSOS82R2QTattJzeYSbK5iu2ck8Y3tuAebixIxIfSN1qmrUDCxMssmcdGePXvQWrO5uYnWBpNZWlqKCWxvby9DQ0Ps3jOG7/tcvHgxxoWEsAdBQKVhDJkcx8FPGfB0aWmJnp5uMpkMx48d4XOf+xx9PSV27dpl1lGrRalUoru7m2vXbjB/+TKBb7AX9/u1U3jlS5tC2xZ50CnD2gZCNtWFW+VZaC8CWXjJid5OpJD77IUuz7SJlDzH1m6Ij4aoDuWEE8Q9ufDk1LNPdOEcBJdQumVYKa0Jw4DKlkmVl0mlaaVNRGOlIQg7VZKivZDQZ7Y9gdZtbMMeHynyHDEYs8dORCdJemuLMknCbPs0yCawN6tcFzFAtBLaIspyX5wyzlIbCmGTe2wVrWAlUr+tgrP7K/iKzKNYnYoBlmAZ0n4wKub+nt7YbqSrq4tsLmPS0UVqWzFGG9g1jOd5DA8PU61WaTab9PWZhEFHjhxhZmaG1dVVAmXSB/hNI5pVq3VSKZfBgWG2yhsErYChoV3RgbNsOJ9Uije96U2ce+FFsoUCBw8eZHnRBGl54Md+jIWbN6nVakxPT3P6jW/kha9/nZMn7jZexwnx3C53BFFQSsWDLwtY9NJyLXniJPXSdrE5guT9yROLsPM0vF3ZjiPZTgxJsp9CWOxTy2ZD7bbIJpPTJwgCNLLQ23X6QRMXl1TaJZc3MR4ztC0a0aB9E1TUjZhxpTE2BGFnnMWkPL5dv+1xTH6+HWH+bqKa1GurQSFyUgqat4gCMecU+Tckwc1kn+z/2/iB3T4RcSTgbE9PD4uLi/i+T1dXF0opVldXOyIxSdt934ewk/CLVkrUxul0mvX19Ti6ssRvlH5ev36d9fV1stksN6dnDSeRMQfFWJQQt9Vq0V3qRYc+L774IrlcjoGBPvbu3cuVS5fY2tpieXmZhdlZgiBgYGCAarXK6vx8HIptZWWF9akpDh06RLPZNFzInY4pQHuTCHgjKqTk4oJbWcZkSSLdssnku/2bUp0b43bPFJk06W+RJCg2lyGfbXk2SZwEZ7CfZftwqFDjOJ3xAJo1E8chm81SKhRRoabW8uN2QlvUStpDyG82lmBvdHuThbrtoixjJP4B2xG/5P/tuRJOLzn+tlm6EAjbg0/uFy5RIjzZ4y/jbZtuJ+u3OUt7fuX+er3O4uIi4+PjtFotJicnY58RSTcgY5vL5XA05PO5eBylD+IwNzQwiFKKzWqFSqXCoUOHKJfLrK2t0dvby+rqKhsbG4yMmIxQDX8V3/eZm1ugu7ubPWPjFIp5Ctkcly5dYGN9nV27dgEOq6urXLx4ESKO8PTp06yvrRjVdMb4jJw5c4ZAwe7duykUCiwuLpJOp9k1vDsGi29X7gii4EQoqi1rJ08WG7izicJ2ZTu77iSSLq9ay98WpEoWYY/tk0ueIWKA4ziUSiW2trbik0U2t83yJgmBLCrxBZDFb54hMreAmm2vwM3NjXhzFnL5mAOJOQ7AVZ1YBlp3iGHyntTYhGFIaM2DbRORHMvtAERbtLKNyoQI2eMieTjlerNV73i+zKkQwiAIYlsMe2yhrXq01cZKqThOQhLbsQlWOp3m+vXr5PN5Dhw4QBAEzM3NxaBqV1dXbGbuoigVu2LNiKvMM3IRQVtbWzP1RuHflpeXGRoaMvhApUK1arJBv/TSSwwNDfHmN7+FmZkZbly/GuXLTHHt6nXWV1c4dOgQhw8dYnV1NSI+TRNerb+fixcvUip28cLZ5+jv7yc90MfGxgbj4+MM7R6hWCxy7tw5yuU1wxW12jYrtyt3BFEQSh0vxgT4leyAfardbgNDp6mrjQXYJ7btWfhyahpZQPEJrtpYh7TJdU0IMbGBFxPjpBwscrSceMKC2gtUio2u25tSTnmR+72EijCJf9jFVknaWgn7//LZHuPt1JD2vUnikFx8ttXkdn1NXrPnaTvOwx4ze93YbU/OuzzDHiObG/E8L85bKSHgBc8QrkYphed6HSpRWWPCTUgwnGKxyPLyMl1dXWxubsYh/bPZLN3d3aRSKXK5HJubmyaAT6FEqVRieXEpUruaBDiiSgQ4fvxIHMDmqaee4vQ995LP5xkYGKC7u4vp6WlGR0cp9HRzc3o6Ar/zsaFVvV6/8zkFrYlZVR29HMeJw32be0w48OTiSIKKNsGwN5wsNBuolP+5joODRqFjW30VRePxxU5eOziOQjkuCuOc5SiTGKTVDAhdCANMpOnIjFVrTS4dRSFutY2EXF/TbNVju4NGo4ECMp4hUJ5yDAagFGk38i50Ik2C46CUiVPoaE0QhgRgQstHuvtcOkcQpGNbh5jYqUh9qRQ44HjRKY8mGtwYu1AKghAg2piui/YcFA5h7PwFjqNohZEBkmPuV8ohCEPclItyXUIid+ZmI4pf4MQq3Gw2a/wRfBOXERXG+JK9aYUA2B6POmqochyc6H43is2RchyUVqSVEXXKtTKhirKZuxE+QURcgwA/CKjWauQzWbKpNM1anUa1FhM3gMqmyWpFEFJr1qhVqm0i77gxhhAEAdm0AR6ddIaBAeN+L6nlJSze7t1daG28cRdmp2nVaywvLXL50jnuuecelDK5N1tByNrWFs3AHGJXr71Ed6lId3cXI8O78FIOi/OzlPIZVuam6e8ucOXcWSZO3o92cqyurTA02E9lY52wtkYqCFH6jscU6OAObOptX9sO0LKRZPu+JCubfK6wowISQVsOt01hY1Y77OROkmKGPFvCgQcRYNis1TsWuSygINCxW7R9+tsqNdd1SbmGUIg6SkVtR0faEUsel5PfPh2TYKC0I8lR3K4kxYLbnfT22CbnUopgEVKniAFyAiZNrbebb5t7CK0+iMORF2FEqch8PeUZ1r9QKBBEYeiCBFeRVIsmOR5b82SvF4fO+Ze+K6ViexMZn2azyfq6Ce+/tLTE2NgYy8vLaK3ZtWsXMzPTcdax+++/n9XVVUZGRjoiZ42OjjIxMcHayiJhYCJ6DQ30s7CwwNjYGHML84yPjHDy5Mk4KfP43j1MTV6L4kWWuHbpEq1GvYNDS5Y7hijIIrA3bXJBkvhuZOzOkGH2Z/kuZq+2Xl7AP9u6K0lQZNG7rkso6SGsjSHPEjHAcRwaUdTdpsjoQZRrwG9vJs9x0a6KA79KUFeRq2U8HMeJjWNCK2Sd4zhGq6A1WMZBQlRsDsEWd6Q4KHPCKky8xpg9uNV6U/4n8n4srnjtFG42ECn326pluSaxJIIgiJPI2gZQMl9J70epQ4q0UbAcpVSsxrQxDHuugiAg0G1xSSlju+F5XmyDEgTtTNW24Zr0V8ZE4k+mXC8+cIIwoFar4eRypNPpOFpYo2E4oEajEWfSHhoaolarMTExwerqKpOTkxw9fgzf9zl6/ATFUjd+qJmZm+fAgQN4nsfS0hIra+ssLC1TyLiUK5sQanKZNCnXY9fQIJNnnmFsdDeZYonhYZ8rU5P0jY+ya2iYWq3G6uIcSqk4UNDtyh1BFJSClGUtaANfNuW2T/DkqWSfIPYilWcI8bAtG4FYvSWLIolStxfnrVGH7RMxBrG8zlByjmr7PcREBB+8tgajXq/HYJYUexMC8UQGWqz+Og2KXEuuFmKQBASTHFeSWCRBwyQWsR1QZ5+k9oazn5N0Aku2JWknIWNqE+kOoibPsgiW1GckHYt7wVpDtI27zPMiLtKqM2g1b8EnbM7FXnehskRX2gCyzFWj0cBJtxPbyNh1dXXFfXJdl7GxMS5fvszAwACnT5+mr6+Pz3/+80xMTOA4DpVKJY47GYYh/UO72O3tZmV5ka6uEksLC1GIPheFw8LNmyilqFerPPvkk2ysreE6e+JoX61WA61v1bBJuUOIQhvBh04W3T79hbW3N2SShYdOpFxOpaQoIc8WIxW7Lba40S63stg2Yi+LJg58Em2UbCody+SxSKIcWrrTmlD05baTlai4HMfBS0enYiQz+6FhvUPdjgZlP0eebW9I6bcX9U/kcVvccJQigDi1W3I8tuMIkr75QoRtAut5XgzA2uMqOIjMhT2utk+CZIgSIu44DtUoVqXMeSqVIuUYgNCLiLgXxWbIZrP4EbvXCsz4tPzIDNtqj68N8Qis+fYck908DCMRMOWhNB1gXS6T7QgZuFHfMGOn24ZXpVIpdoXPZs39p0+fplqtUq5V6e3r49vf+Q6nTp1iYHCQb3372wwPDzM+Pk4lsn8Y37OHlZUlqtUyuwaHmJ2fZ9fQEEsrq4yMjjIzN0u5skWz2aTSgJ/6J/+Er332M1y4cI69e8ao1GukHBfPu32I9zsibVw2k9Z7hoc62EVhIcGKrKNudSSyF5DNRidlXMEQkqecrRqz9d1J2TKdageKlfaIWNLRbt/Ix3KSO5qOxam1Np6LqpMQAbFrtN1Ov96Mnmus5ZRrOIJmYIKv6Oj/2WjTiB9GtVqN7etFpIg3XcaozcQCTxycpH1yykmxLQ6Tp76w8RKgNgzDbaNNOY6DR1utLOKHPcZSZHxl09kilhAEgEYUL9LzPAPKptOkXc+oIbXhCpWmLSbqyIu1qwjA8tqqCT4TiXE2IZN6BaiGNoF1XZeM6xG0jGapWCyiAxO2zxPbDz8wmbhRjIyM0NPTE3MIMifSx1wuh6+hUqmwvr7OvhYVd38AAA/XSURBVH372NjY4J577uHZZ5/lrrvuYmxsjOeee46hoSHm56ZRaEZGhqmWN2k16hw5cICl5QUKmTTVqokbOTq+D9dVJiSg57GyssT+vftQDrzz136Li9fu4LRxrmNUeUm59VZwrNPIxmZD5R75TUoSAJJiy7s2WwttXbct18p3223YBiiTHI198oLJWtTmUnRsf2DXbwdVFaDKI4pQZHmS2uwyqm0rYW9QOVWT+IBSCi/y99DKAHNaRY7VBrbBxdwTbMMd2RxIUixJjrldhJVPGn3JRtxOJWyPvz1OybHOZDKxb4eiU8zwHLftyBXSQRzt+5Ki6nbrwi6+75Py2klrsmkTpTopCEl4PfF9EELoui49PT0sLS2ZpDI5k/n62Mm7mJqa4s1vfjNra2vsO3iIQqmbxZVVyrU66a0yynU4sG8fUy+9RL26SV9PL0sryxQKBaYmb3Dk0CGWlhbo7+1mdnaWI0eO8PzzZ+IDcM/4njsfU5DTE60xPj56W1zATbkdEyUcgpSkbGrLgHJf0gbC1qUnN2dHgFQ6ZUphkYWQCSrtppyO53oRMfAcK+6CE+DTKRpprWODJmGlfd+nr9RjTsO6CRbaaJnrfhBFFo7YZhFb5PSR+JJiKxGGYUwwgkicFA4g6f0pTk+1ZjsnY3I87TG04wwI2GljQrE4SKftgg3UClGwny/ci2xaux2e55GPwqF5nkcQhVpTkSu8g7mnVOxq2xi02r4sdqAaIUytVsukplPgug5aKUIFTioCvYFQRYZkITipduQvyR/qRxyuqFxFpLCBSjn4yuUy+XyesbExljaMuvOhhx4inU4zOjoat+nKlSvk83nGx8dN9OZ6i8nJl+jv7+P5qUnOnDnDQ/ffx4ED+1lYWOKRRx5haWWFG9eu8thjj/Hkk08yMb6HUqnEyOhurl+/Tub7yfvwahQZKLhV/dTxnuAekovudv+z77XvSf5HvouMbINcSRHDPom3e952JeYgXFCO2wEMJomUcCLlsslz6LiRFaSKuJ6wsy7bQnI7AM8WcfyWFeRWQELHiU7yWz0F7fG18Q6Zu+1O8lsxmfY82J/t4LM2lrTdnMhmE+tDHT2jXq+bFPdhGGtlVMTmC95ig9BBwnjHnjdbfLsdJyQco3C0MvY2mCz1Sn/klAbjUFUulxkeHmbv3r3U63WOn7iL7u5uvvDXX+Sxxx6j0fS5eOkKIyMjPPDgw1y9epUXXjyP67o88Lq7qVS3ePrpb1GtbLJreDeZXI5vf/vbPPSjD3Pp0hWGh4fxVMhTf/skW1tbPP/88+zfv590NsPy8nIHsb9lnd4JmEIundYHdu9GqbbdgO0vEJ/gTqetgs1GxwYtuhNdl3d7M0Nn4FAbiLtdcZTXQRSkTluk8DwPP2zFYoNSKk6OkvZSbT29Bu3e6rQjPh92e1o1437teCZnoZsyQTpqzYZJxgtRKvpbw9/DrZvYcRyajbafhIy1vRGE2yg3ah2cmP0Mew6ELRbOI8ldxL4WYad2R+Zb7ktyBbYIKf+ziadr1acwmEw2ZVD6TMoYRuWzubivlVqVWq1GiCEkwgk1o7UThiHK63TPT3KiMaaA4f5SqRRdXV1kUiYPBRGRzaRM3AyVSsdqTuEa8vk8xWKRbDZLs9lkYmKC/t176Ovrw/M8pqenjRt2lHRobm4OgNHRUUqlEi+c/Q6Xzl/gwMF9FHM5pqYmyaUcZm/eZO+ePezbu4discjMjSvs37+fWrNhIj7tP0i5WiGXK/CPf+FXuTZ1887FFELddtO1T4ukDKncToDLZldtim7Lz7C9hiL5PQl0yf+SrK59zXZSgkgV6iRUpnIKul7MViulaFhAqjzTDhkvv4mHXr0Z6fVTXrwB7T7b9gOyEW1sQ56rdZuFTrLnMp5JjKZjrhJE1YmAtduNa7IN9vzYxk/JZ9r/s2Vx4SxEdJJnyhi0MPYfSEStUMcbstYw/hJeuq3+vR1XI+3cToyVuc5lsrGnZT6KxGT3NQgCmq1qHCdR5rdYLFIul2m1Whw9ejQOqFOtGqJ1+PBhpqenmZ2dpVAoMDY2xtDQEOVymampKVqtFqOjo6ytreFi7HBajTo9PT3Mz8/z8EMPUK1WGR0dpV6vs7pugrM88CMP4m2mmJ6ewUvd6fEUFLRccByMTXnYDsuFbk9u3W/cslBFdk3KqslJttk6+x5bRZbEK+zroW472tjso0YTismoBqVv3UiO41DzmzihgxO0bgHb3AivcC3z5iizGw3d5oAqtSrlaiVmUyULcjqVphn4sRwrRjjSfuE+5N3NGbuMzc3NeHNIRChpb7PZpDubwfddGo0mrTBA+yEpz4TqFGZAKY9UqhNvSRJksf+gJb4KXsd8xT4MKvKMxcjt9vwGgeT3COI+Nfw29uM4Ls1Wy2gkHAc/DNDNRmzXUQtbsQWlaiSIJmbMlePQDMTQXpaeMSs33xVhCM2mj+84hFHo/YKr2KqUSaU8gmYTE/QmbVLmKYfA0bgqJHSVicKdy5LKZhgdHad/ZBdBoAkaPt2DRTzPY+rmDAPDwyxdusLh4/tIexme/rtv4tdaJixfVz8Te/uZn5vhwoUL9Ja6KFd90qk8u/aN87fffpGxsTHSbop02uPu+45w9oXn+MYzT5PLmAA5Ke8OT0UPbZbX1yb/oLGDt7AA3Zk0RN7FBkFYb8/zOmIzJDe3farYrGhHa26zwLcD2ZJlO6cqWwsg/7UJQ5urCA1hUO2EMUHkVyCoubRHnK+kLyKa2DYL4vMhbZLTqlFvR0hOjoXYAxQKBTxHRCQHNwwIU9BoNQmCED8+7RWaThEgOV7xWPnt6NHCoSS5OGlPklNMEvowDAl00DG2KVH7hp1OdUoZOwNoa5ZscaSDSIe3zl9ynqT+VkRo0AG+08B1HTKuRzodYQlBgPJMm/L5PMVSN1ob8/aW75vwbZUKmUzOsPszM/QODRiv0bSxdzh/4QJry2sM9Q9w7wP3MDc3R+A2+OY3v8n01CRjY2ORM1QfxUKBzc11VpdXcF2X0V39NBo1MpkMg4ODJhaFcFIvU+4QomCK1saHXxH5H2iLKIQax7vVXtvGC2zWVH5LssRStgMJ7UUi7bF/s+vcjrWW536vfW0/V7Jlg52bRohDTDQssSjZZkWb2AjR0NpoNOyYhHa/RTMBdOAjvu+TzWbJpMzGbbV8s1di7uZWkcsmANuNt9baOJ5ZLyFY23Fq24F90EnAbW5L6vU8z4CnYZv9B+KM1/aYJef05TAle77iZ9AGyR2lCUNDFKQdKIdMoUixWKSnpwcvnYmjXxeijF9CvJrNJr4OTYi1vn7CMCSfzzM1NYUKFccOH8HLpE0CmlyewcFB9u8zFo/PP/sMBw7so1arMTc3RyGXZ2tri0UnYGxsN7Ozs8zOzrJ3YsyIUbUazVbztn29I4iCUpasaa4AUVjyeHGATyf7bi8YSfqRBIfM89W2Cw7okPNt4hJvNqVuWXz291v7cuv17dSeHRvKGggZhxjAy7TRdjEOEkcq4SY8z2R0lv/YGYCS2gytNTo0YyDJZMIwjEPJgSEQPT09lIo5qtUq1WoNgnam5TD0Y0DNcRxC3clZ2UZASU4tyXlJxCJ7Lm1swRb3kv/NeJm4r1prClkTEblSLhO22hwBgON2+mrIM+3x9n0ftonZuR3xcBwnnjhDIHSHP4gZdye2idDaOMvVajXWNjbJ5fMMDAyxsbFBvd5kz/hehkZ2MbZvgoXFJZp+i30HD3D06FEeeuBhFhcWuHzuEqdPn+bM2acBYwPxzDPPcPDgQZaWFih1dbG6usrxh49RLBZ56folzp07x2OPvp63vvWtTN64GoeQf7lyR2gflFJLQIWXzTf5ipaB17DuH/b6f5j7/lrWP6G1HtzuhzuCKAAopb6jtb7vh63uH/b6f5j7fifUv135e+WS3Ck7Zaf8/7/sEIWdslN2Ske5k4jCf/khrfuHvf4f5r7fCfXfUu4YTGGn7JSdcmeUO4lT2Ck7ZafcAeU1JwpKqbcopS4ppa4qpd77KtU5qZR6QSn1nFLqO9G1PqXUF5VSV6L33h9gff9NKbWolHrRurZtfcqU/xiNx1ml1OlXoO73K6Vmov4/p5R6m/Xb/x7VfUkp9cT3U3f0vHGl1FeUUheUUueUUv8iuv6K9/9l6n5V+q+UyiqlvqWUej6q/19H1/cppZ6O+v5xpVQ6up6Jvl+Nft/7/dT/Dy5JY51X8wW4wDVgP5AGngeOvwr1TgIDiWsfBN4bfX4v8G9+gPW9HjgNvPjd6gPeBnweY8H1IPD0K1D3+4Hf2ube49EcZIB90dy432f9I8Dp6HMXcDmq5xXv/8vU/ar0P+pDMfqcAp6O+vQJ4Gej638M/Fr0+deBP44+/yzw8Vd6L2z3eq05hR8Brmqtr2utm8DHgHe8Rm15B/Dh6POHgR//QT1Ya/0UsPo91vcO4M+0Kd8EepRSIz/gum9X3gF8TGvd0FrfAK5i5ugfXLTWc1rrZ6PPW8AFYJRXof8vU/ftyg+0/1EfytHXVPTSwJuAT0bXk32XMfkk8Ji6nensK1hea6IwCkxb32/y8pP2gyoa+Bul1DNKqV+Jrg1rrefALCZg6BVuw+3qe7XG5H+N2PP/ZolKr2jdETt8L+bEfFX7n6gbXqX+K6VcpdRzwCLwRQz3sa61lnhodh1x/dHvG0D/91P/P6S81kRhOyr4aqhDflRrfRp4K/DPlFKvfxXq/F7LqzEm/xdwALgHmAP+7Stdt1KqCHwKeI/WevPlbv1Bt2Gbul+1/mutA631PcAYhus49jJ1vFb7oaO81kThJjBufR8DZl/pSrXWs9H7IvAXmMlaEDY1el98hZtxu/pe8THRWi9EizUE/ittFvkVqVsplcJsyj/XWn86uvyq9H+7ul/t/kd1rgNfxWAKPUop8Uqy64jrj37v5nsX/X5g5bUmCt8GDkVobBoDrvzVK1mhUqqglOqSz8CbgRejen8huu0XgL98JdvxMvX9FfDuCIV/ENgQNvsHVRIy+k9g+i91/2yEgu8DDgHf+j7rUsCfAhe01v/O+ukV7//t6n61+q+UGlRK9USfc8DjGFzjK8BPR7cl+y5j8tPA/6sj1PFVLa8FuplAaN+GQYWvAb/zKtS3H4MwPw+ckzoxstuXgSvRe98PsM7/B8OmtjCnwS/frj4MC/mfo/F4AbjvFaj7I9Gzz2IW4oh1/+9EdV8C3voD6PsjGBb4LPBc9Hrbq9H/l6n7Vek/cDdwJqrnReB3rTX4LQyQ+d+BTHQ9G32/Gv2+/5XeD9u9diwad8pO2Skd5bUWH3bKTtkpd1jZIQo7ZafslI6yQxR2yk7ZKR1lhyjslJ2yUzrKDlHYKTtlp3SUHaKwU3bKTukoO0Rhp+yUndJRdojCTtkpO6Wj/H/CPyt+k5pxYgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [ - "# Testing event\n", - "cat_image_url = 'https://s3.amazonaws.com/iguazio-sample-data/images/catanddog/cat.102.jpg'\n", - "response = requests.get(cat_image_url)\n", - "cat_image = response.content\n", - "img = Image.open(BytesIO(cat_image))\n", + "# URL event\n", + "event_body = json.dumps({\"data_url\": cat_image_url})\n", + "print(f'Sending event: {event_body}')\n", "\n", - "print('Test image:')\n", - "plt.imshow(img)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Test the deployed function on the cluster" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Test the deployed function (with URL)" + "headers = {'Content-type': 'application/json'}\n", + "response = requests.post(url=addr + f'/{model_name}/predict', data=event_body, headers=headers)\n", + "response.__dict__" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -460,19 +479,19 @@ " '_content_consumed': True,\n", " '_next': None,\n", " 'status_code': 200,\n", - " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 15:31:11 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", - " 'raw': ,\n", - " 'url': 'http://3.18.11.15:32575/cat_vs_dogs_v1/predict',\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Sun, 29 Dec 2019 15:25:04 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32575/cats_vs_dogs_v1/predict',\n", " 'encoding': None,\n", " 'history': [],\n", " 'reason': 'OK',\n", " 'cookies': ,\n", - " 'elapsed': datetime.timedelta(0, 2, 653137),\n", + " 'elapsed': datetime.timedelta(0, 1, 190536),\n", " 'request': ,\n", - " 'connection': }" + " 'connection': }" ] }, - "execution_count": 12, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -482,9 +501,6 @@ "event_body = json.dumps({\"data_url\": cat_image_url})\n", "print(f'Sending event: {event_body}')\n", "\n", - "# Set model to query\n", - "model_name = 'cat_vs_dogs_v1'\n", - "\n", "headers = {'Content-type': 'text/plain'}\n", "response = requests.post(url=addr + f'/{model_name}/predict', data=event_body, headers=headers)\n", "response.__dict__" @@ -499,7 +515,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -516,19 +532,19 @@ " '_content_consumed': True,\n", " '_next': None,\n", " 'status_code': 200,\n", - " 'headers': {'Server': 'nuclio', 'Date': 'Fri, 27 Dec 2019 15:31:13 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", - " 'raw': ,\n", - " 'url': 'http://3.18.11.15:32575/cat_vs_dogs_v1/predict/',\n", + " 'headers': {'Server': 'nuclio', 'Date': 'Sun, 29 Dec 2019 15:25:05 GMT', 'Content-Type': 'application/json', 'Content-Length': '49'},\n", + " 'raw': ,\n", + " 'url': 'http://3.18.11.15:32575/cats_vs_dogs_v1/predict/',\n", " 'encoding': None,\n", " 'history': [],\n", " 'reason': 'OK',\n", " 'cookies': ,\n", - " 'elapsed': datetime.timedelta(0, 2, 381281),\n", + " 'elapsed': datetime.timedelta(0, 1, 117661),\n", " 'request': ,\n", - " 'connection': }" + " 'connection': }" ] }, - "execution_count": 13, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, @@ -550,13 +566,18 @@ "event_body = cat_image\n", "print(f'Sending image from {cat_image_url}')\n", "plt.imshow(img)\n", - "# Set model to query\n", - "model_name = 'cat_vs_dogs_v1'\n", "\n", "headers = {'Content-type': 'image/jpeg'}\n", "response = requests.post(url=addr + f'/{model_name}/predict/', data=event_body, headers=headers)\n", "response.__dict__" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": {