From b457556b9ed71c29120f56bae56364b66901356c Mon Sep 17 00:00:00 2001 From: d33bs Date: Fri, 12 Sep 2025 08:34:22 -0600 Subject: [PATCH] fix sqlite plot x-axis ordering --- ...able_and_pycytominer_analysis_sqlite.ipynb | 2082 +++++------------ ...totable_and_pycytominer_analysis_sqlite.py | 156 +- ...omparisons-join-completion-time-sqlite.png | Bin 73537 -> 75380 bytes ...omparisons-join-completion-time-sqlite.svg | 2 +- ...er-comparisons-join-memory-size-sqlite.png | Bin 75534 -> 77820 bytes ...er-comparisons-join-memory-size-sqlite.svg | 2 +- 6 files changed, 612 insertions(+), 1630 deletions(-) diff --git a/notebooks/cytotable_and_pycytominer_analysis_sqlite.ipynb b/notebooks/cytotable_and_pycytominer_analysis_sqlite.ipynb index 845f921..ddffe0d 100644 --- a/notebooks/cytotable_and_pycytominer_analysis_sqlite.ipynb +++ b/notebooks/cytotable_and_pycytominer_analysis_sqlite.ipynb @@ -24,12 +24,6 @@ "execution_count": 1, "id": "d2e47e7d-0629-45e3-b1bd-bce07843ae4c", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:51.314989Z", - "iopub.status.busy": "2025-05-14T17:09:51.314666Z", - "iopub.status.idle": "2025-05-14T17:09:52.095052Z", - "shell.execute_reply": "2025-05-14T17:09:52.094071Z" - }, "papermill": { "duration": 0.788424, "end_time": "2025-05-14T17:09:52.097250", @@ -45,1191 +39,194 @@ "import pathlib\n", "import re\n", "import subprocess\n", - "\n", - "import pandas as pd\n", - "import plotly.express as px\n", - "import plotly.io as pio\n", - "from IPython.display import Image\n", - "from utilities import (\n", - " get_memory_peak_and_time_duration,\n", - " get_parsl_peak_memory,\n", - " get_system_info,\n", - ")\n", - "\n", - "# set plotly default theme\n", - "pio.templates.default = \"simple_white\"\n", - "# monitoring database for parsl multiprocessing work\n", - "db_file = \"runinfo/monitoring.db\"" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "id": "b1d56430-c859-4790-b57a-d81cb0622daa", - "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:52.110791Z", - "iopub.status.busy": "2025-05-14T17:09:52.110501Z", - "iopub.status.idle": "2025-05-14T17:09:52.117022Z", - "shell.execute_reply": "2025-05-14T17:09:52.116214Z" - }, - "papermill": { - "duration": 0.014269, - "end_time": "2025-05-14T17:09:52.118742", - "exception": false, - "start_time": "2025-05-14T17:09:52.104473", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", - "System Information:\n", - "Operating System: Linux\n", - "Machine Type: x86_64\n", - "Processor: x86_64\n", - "CPU Cores (Logical): 16\n", - "CPU Cores (Physical): 8\n", - "Total RAM (GB): 62.68\n", - "Python Version: 3.11.9\n" - ] - } - ], - "source": [ - "# show the system information\n", - "_ = get_system_info(show_output=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "id": "bdc968d0-a9e9-48df-9f4b-67d1f8a7a33c", - "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:52.130359Z", - "iopub.status.busy": "2025-05-14T17:09:52.130098Z", - "iopub.status.idle": "2025-05-14T17:09:52.141271Z", - "shell.execute_reply": "2025-05-14T17:09:52.140312Z" - }, - "papermill": { - "duration": 0.01906, - "end_time": "2025-05-14T17:09:52.143028", - "exception": false, - "start_time": "2025-05-14T17:09:52.123968", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "data": { - "text/plain": [ - "'cytotable-benchmarks-2FApAEcz-py3.11/bin/python'" - ] - }, - "execution_count": 3, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# observe the virtual env for dependency inheritance with memray\n", - "# from subprocedure calls\n", - "\"/\".join(\n", - " subprocess.run(\n", - " [\n", - " \"which\",\n", - " \"python\",\n", - " ],\n", - " capture_output=True,\n", - " check=True,\n", - " )\n", - " # decode bytestring as utf-8\n", - " .stdout.decode(\"utf-8\")\n", - " # remove personal file structure\n", - " .split(\"/\")[6:]\n", - " # replace final newline\n", - ").replace(\"\\n\", \"\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "id": "8d6efd13-0dce-4baa-b779-f5ec62dc535e", - "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:52.154528Z", - "iopub.status.busy": "2025-05-14T17:09:52.154171Z", - "iopub.status.idle": "2025-05-14T17:09:52.159791Z", - "shell.execute_reply": "2025-05-14T17:09:52.158976Z" - }, - "papermill": { - "duration": 0.013054, - "end_time": "2025-05-14T17:09:52.161343", - "exception": false, - "start_time": "2025-05-14T17:09:52.148289", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# target file or table names\n", - "image_dir = \"images\"\n", - "examples_dir = \"examples\"\n", - "join_read_time_image = (\n", - " f\"{image_dir}/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.png\"\n", - ")\n", - "join_mem_size_image = (\n", - " f\"{image_dir}/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.png\"\n", - ")\n", - "example_files_list = [\n", - " f\"{examples_dir}/cytotable_convert_nf1_multiprocess_sqlite.py\",\n", - " f\"{examples_dir}/cytotable_convert_nf1_multithread_sqlite.py\",\n", - " f\"{examples_dir}/pycytominer_merge_nf1_sqlite.py\",\n", - "]\n", - "example_data_list = [\n", - " f\"{examples_dir}/data/all_cellprofiler.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x2.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x4.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x8.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x16.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x32.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x64.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x128.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x256.sqlite\",\n", - " f\"{examples_dir}/data/all_cellprofiler-x512.sqlite\",\n", - "]\n", - "\n", - "# format for memray time strings\n", - "tformat = \"%Y-%m-%d %H:%M:%S.%f%z\"" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "4346167e-7a0a-406a-9ed0-11592b3e9294", - "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:52.173329Z", - "iopub.status.busy": "2025-05-14T17:09:52.172983Z", - "iopub.status.idle": "2025-05-14T17:09:52.178255Z", - "shell.execute_reply": "2025-05-14T17:09:52.177096Z" - }, - "papermill": { - "duration": 0.013426, - "end_time": "2025-05-14T17:09:52.179933", - "exception": false, - "start_time": "2025-05-14T17:09:52.166507", - "status": "completed" - }, - "tags": [] - }, - "outputs": [], - "source": [ - "# Define the Parquet file path\n", - "results_parquet_file = \"cytotable_pycytominer_results.parquet\"\n", - "\n", - "# Load existing results if available\n", - "if pathlib.Path(results_parquet_file).exists():\n", - " df_results = pd.read_parquet(results_parquet_file)\n", - " results = df_results.to_dict(orient=\"records\")\n", - "else:\n", - " results = []" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "id": "a33736e4-306b-45c4-affe-cef6e20eeddf", - "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T17:09:52.192072Z", - "iopub.status.busy": "2025-05-14T17:09:52.191522Z", - "iopub.status.idle": "2025-05-14T18:13:56.418449Z", - "shell.execute_reply": "2025-05-14T18:13:56.417244Z" - }, - "papermill": { - "duration": 3844.269619, - "end_time": "2025-05-14T18:13:56.454944", - "exception": false, - "start_time": "2025-05-14T17:09:52.185325", - "status": "completed" - }, - "tags": [] - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multiprocess_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x2.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x4.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x8.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x16.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x32.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x64.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x128.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 2.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 3.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 4.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 5.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x256.sqlite, iteration 5.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 0.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 0.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 1.\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 1.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 2.\n" - ] + "\n", + "import pandas as pd\n", + "import plotly.express as px\n", + "import plotly.io as pio\n", + "from IPython.display import Image\n", + "from utilities import (\n", + " get_memory_peak_and_time_duration,\n", + " get_parsl_peak_memory,\n", + " get_system_info,\n", + ")\n", + "\n", + "# set plotly default theme\n", + "pio.templates.default = \"simple_white\"\n", + "# monitoring database for parsl multiprocessing work\n", + "db_file = \"runinfo/monitoring.db\"" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "b1d56430-c859-4790-b57a-d81cb0622daa", + "metadata": { + "papermill": { + "duration": 0.014269, + "end_time": "2025-05-14T17:09:52.118742", + "exception": false, + "start_time": "2025-05-14T17:09:52.104473", + "status": "completed" }, + "tags": [] + }, + "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 2.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 3.\n" + "\n", + "System Information:\n", + "Operating System: Darwin\n", + "Machine Type: arm64\n", + "Processor: arm\n", + "CPU Cores (Logical): 12\n", + "CPU Cores (Physical): 12\n", + "Total RAM (GB): 48.0\n", + "Python Version: 3.12.2\n" ] + } + ], + "source": [ + "# show the system information\n", + "_ = get_system_info(show_output=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "bdc968d0-a9e9-48df-9f4b-67d1f8a7a33c", + "metadata": { + "papermill": { + "duration": 0.01906, + "end_time": "2025-05-14T17:09:52.143028", + "exception": false, + "start_time": "2025-05-14T17:09:52.123968", + "status": "completed" }, + "tags": [] + }, + "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 3.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 4.\n" - ] + "data": { + "text/plain": [ + "'virtualenvs/cytotable-benchmarks-t7y5cEfp-py3.12/bin/python'" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# observe the virtual env for dependency inheritance with memray\n", + "# from subprocedure calls\n", + "\"/\".join(\n", + " subprocess.run(\n", + " [\n", + " \"which\",\n", + " \"python\",\n", + " ],\n", + " capture_output=True,\n", + " check=True,\n", + " )\n", + " # decode bytestring as utf-8\n", + " .stdout.decode(\"utf-8\")\n", + " # remove personal file structure\n", + " .split(\"/\")[6:]\n", + " # replace final newline\n", + ").replace(\"\\n\", \"\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8d6efd13-0dce-4baa-b779-f5ec62dc535e", + "metadata": { + "papermill": { + "duration": 0.013054, + "end_time": "2025-05-14T17:09:52.161343", + "exception": false, + "start_time": "2025-05-14T17:09:52.148289", + "status": "completed" }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 4.\n", - "Starting examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 5.\n" - ] + "tags": [] + }, + "outputs": [], + "source": [ + "# target file or table names\n", + "image_dir = \"images\"\n", + "examples_dir = \"examples\"\n", + "join_read_time_image = (\n", + " f\"{image_dir}/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.png\"\n", + ")\n", + "join_mem_size_image = (\n", + " f\"{image_dir}/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.png\"\n", + ")\n", + "example_files_list = [\n", + " f\"{examples_dir}/cytotable_convert_nf1_multiprocess_sqlite.py\",\n", + " f\"{examples_dir}/cytotable_convert_nf1_multithread_sqlite.py\",\n", + " f\"{examples_dir}/pycytominer_merge_nf1_sqlite.py\",\n", + "]\n", + "example_data_list = [\n", + " f\"{examples_dir}/data/all_cellprofiler.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x2.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x4.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x8.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x16.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x32.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x64.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x128.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x256.sqlite\",\n", + " f\"{examples_dir}/data/all_cellprofiler-x512.sqlite\",\n", + "]\n", + "\n", + "# format for memray time strings\n", + "tformat = \"%Y-%m-%d %H:%M:%S.%f%z\"" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "4346167e-7a0a-406a-9ed0-11592b3e9294", + "metadata": { + "papermill": { + "duration": 0.013426, + "end_time": "2025-05-14T17:09:52.179933", + "exception": false, + "start_time": "2025-05-14T17:09:52.166507", + "status": "completed" }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished examples/cytotable_convert_nf1_multithread_sqlite.py with examples/data/all_cellprofiler-x512.sqlite, iteration 5.\n", - "Starting examples/pycytominer_merge_nf1_sqlite.py with examples/data/all_cellprofiler.sqlite, iteration 0.\n" - ] + "tags": [] + }, + "outputs": [], + "source": [ + "# Define the Parquet file path\n", + "results_parquet_file = \"cytotable_pycytominer_results.parquet\"\n", + "\n", + "# Load existing results if available\n", + "if pathlib.Path(results_parquet_file).exists():\n", + " df_results = pd.read_parquet(results_parquet_file)\n", + " results = df_results.to_dict(orient=\"records\")\n", + "else:\n", + " results = []" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a33736e4-306b-45c4-affe-cef6e20eeddf", + "metadata": { + "papermill": { + "duration": 3844.269619, + "end_time": "2025-05-14T18:13:56.454944", + "exception": false, + "start_time": "2025-05-14T17:09:52.185325", + "status": "completed" }, + "tags": [] + }, + "outputs": [ { "name": "stderr", "output_type": "stream", @@ -2192,82 +1189,85 @@ } ], "source": [ - "# Number of iterations for each combination\n", - "num_iterations = 6\n", + "# only run if we don't already have results\n", + "if not pathlib.Path(results_parquet_file).exists():\n", + " # Number of iterations for each combination\n", + " num_iterations = 6\n", "\n", - "# Loop through each combination of example file and data file\n", - "for example_file, example_data in itertools.product(\n", - " example_files_list, example_data_list\n", - "):\n", - " for iteration in range(num_iterations):\n", - " print(f\"Starting {example_file} with {example_data}, iteration {iteration}.\")\n", - " # Skip if this combination and iteration are already processed\n", - " if any(\n", - " result[\"file_input\"] == example_file\n", - " and result[\"data_input\"] == example_data\n", - " and result[\"iteration\"] == iteration\n", - " for result in results\n", - " ):\n", + " # Loop through each combination of example file and data file\n", + " for example_file, example_data in itertools.product(\n", + " example_files_list, example_data_list\n", + " ):\n", + " for iteration in range(num_iterations):\n", " print(\n", - " f\"Skipping already processed: {example_file} with {example_data}, iteration {iteration}\"\n", + " f\"Starting {example_file} with {example_data}, iteration {iteration}.\"\n", " )\n", - " continue\n", + " # Skip if this combination and iteration are already processed\n", + " if any(\n", + " result[\"file_input\"] == example_file\n", + " and result[\"data_input\"] == example_data\n", + " and result[\"iteration\"] == iteration\n", + " for result in results\n", + " ):\n", + " print(\n", + " f\"Skipping already processed: {example_file} with {example_data}, iteration {iteration}\"\n", + " )\n", + " continue\n", "\n", - " try:\n", - " # gather memory peak and time duration\n", - " memory_peak, time_duration = get_memory_peak_and_time_duration(\n", - " cmd=[\n", - " \"python\",\n", - " example_file,\n", - " example_data,\n", - " ],\n", - " polling_pause_seconds=0.1,\n", - " # if we have a multiprocessed parsl process skip memory\n", - " # (we will check this via parsl monitoring).\n", - " skip_memory_check=(\"multiprocess\" in example_file),\n", - " )\n", - "\n", - " # Append the result\n", - " results.append(\n", - " {\n", - " \"file_input\": example_file.replace(f\"{examples_dir}/\", \"\"),\n", - " \"data_input\": example_data,\n", - " \"iteration\": iteration,\n", - " \"time_duration (secs)\": time_duration,\n", - " \"peak_memory (bytes)\": (\n", - " memory_peak\n", - " # if we have a multiprocessed parsl result we must\n", - " # gather the peak memory using parsl's monitoring\n", - " # database.\n", - " if \"multiprocess\" not in example_file\n", - " else get_parsl_peak_memory(db_file=db_file)\n", - " ),\n", - " }\n", - " )\n", + " try:\n", + " # gather memory peak and time duration\n", + " memory_peak, time_duration = get_memory_peak_and_time_duration(\n", + " cmd=[\n", + " \"python\",\n", + " example_file,\n", + " example_data,\n", + " ],\n", + " polling_pause_seconds=0.1,\n", + " # if we have a multiprocessed parsl process skip memory\n", + " # (we will check this via parsl monitoring).\n", + " skip_memory_check=(\"multiprocess\" in example_file),\n", + " )\n", "\n", - " # Save intermediate results to Parquet\n", - " df_results = pd.DataFrame(results)\n", - " df_results.to_parquet(results_parquet_file, index=False)\n", + " # Append the result\n", + " results.append(\n", + " {\n", + " \"file_input\": example_file.replace(f\"{examples_dir}/\", \"\"),\n", + " \"data_input\": example_data,\n", + " \"iteration\": iteration,\n", + " \"time_duration (secs)\": time_duration,\n", + " \"peak_memory (bytes)\": (\n", + " memory_peak\n", + " # if we have a multiprocessed parsl result we must\n", + " # gather the peak memory using parsl's monitoring\n", + " # database.\n", + " if \"multiprocess\" not in example_file\n", + " else get_parsl_peak_memory(db_file=db_file)\n", + " ),\n", + " }\n", + " )\n", "\n", - " except Exception as e:\n", - " print(\n", - " f\"Error processing {example_file} with {example_data}, iteration {iteration}: {e}\"\n", - " )\n", + " # Save intermediate results to Parquet\n", + " df_results = pd.DataFrame(results)\n", + " df_results.to_parquet(results_parquet_file, index=False)\n", "\n", - " finally:\n", - " # remove monitoring database if present from parsl processing\n", - " if pathlib.Path(db_file).is_file():\n", - " pathlib.Path(db_file).unlink()\n", - " print(\n", - " f\"Finished {example_file} with {example_data}, iteration {iteration}.\"\n", - " )\n", + " except Exception as e:\n", + " print(\n", + " f\"Error processing {example_file} with {example_data}, iteration {iteration}: {e}\"\n", + " )\n", "\n", + " finally:\n", + " # remove monitoring database if present from parsl processing\n", + " if pathlib.Path(db_file).is_file():\n", + " pathlib.Path(db_file).unlink()\n", + " print(\n", + " f\"Finished {example_file} with {example_data}, iteration {iteration}.\"\n", + " )\n", "\n", - "# Final save to Parquet\n", - "df_results = pd.DataFrame(results)\n", - "df_results.to_parquet(results_parquet_file, index=False)\n", + " # Final save to Parquet\n", + " df_results = pd.DataFrame(results)\n", + " df_results.to_parquet(results_parquet_file, index=False)\n", "\n", - "print(f\"Processing complete. Results saved to '{results_parquet_file}'.\")" + " print(f\"Processing complete. Results saved to '{results_parquet_file}'.\")" ] }, { @@ -2275,12 +1275,6 @@ "execution_count": 7, "id": "d7812972-0470-4892-b47e-b90074a473c4", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T18:13:56.500538Z", - "iopub.status.busy": "2025-05-14T18:13:56.499659Z", - "iopub.status.idle": "2025-05-14T18:13:56.539182Z", - "shell.execute_reply": "2025-05-14T18:13:56.538229Z" - }, "papermill": { "duration": 0.060065, "end_time": "2025-05-14T18:13:56.540533", @@ -2327,62 +1321,62 @@ " \n", " 0\n", " cytotable_convert_nf1_multiprocess_sqlite.py\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 0\n", " 21.384496\n", " 3.631473e+08\n", " 0.338207\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " \n", " \n", " 1\n", " cytotable_convert_nf1_multiprocess_sqlite.py\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 1\n", " 21.018959\n", " 3.596739e+08\n", " 0.334972\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " \n", " \n", " 2\n", " cytotable_convert_nf1_multiprocess_sqlite.py\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 2\n", " 21.405169\n", " 3.521085e+08\n", " 0.327927\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " \n", " \n", " 3\n", " cytotable_convert_nf1_multiprocess_sqlite.py\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 3\n", " 21.244814\n", " 3.731005e+08\n", " 0.347477\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " \n", " \n", " 4\n", " cytotable_convert_nf1_multiprocess_sqlite.py\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 4\n", " 21.363728\n", " 3.641754e+08\n", " 0.339165\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " \n", " \n", " ...\n", @@ -2476,11 +1470,11 @@ "179 pycytominer_merge_nf1_sqlite.py \n", "\n", " data_input iteration \\\n", - "0 examples/data/all_cellprofiler.sqlite 0 \n", - "1 examples/data/all_cellprofiler.sqlite 1 \n", - "2 examples/data/all_cellprofiler.sqlite 2 \n", - "3 examples/data/all_cellprofiler.sqlite 3 \n", - "4 examples/data/all_cellprofiler.sqlite 4 \n", + "0 examples/data/all_cellprofiler-x1.sqlite 0 \n", + "1 examples/data/all_cellprofiler-x1.sqlite 1 \n", + "2 examples/data/all_cellprofiler-x1.sqlite 2 \n", + "3 examples/data/all_cellprofiler-x1.sqlite 3 \n", + "4 examples/data/all_cellprofiler-x1.sqlite 4 \n", ".. ... ... \n", "175 examples/data/all_cellprofiler-x512.sqlite 1 \n", "176 examples/data/all_cellprofiler-x512.sqlite 2 \n", @@ -2502,11 +1496,11 @@ "179 139.114694 8.660046e+09 8.065296 \n", "\n", " data_input_size_mb data_input_with_size \\\n", - "0 3.843750 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "1 3.843750 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "2 3.843750 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "3 3.843750 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "4 3.843750 examples/data/all_cellprofiler.sqlite (4 MB) \n", + "0 3.843750 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "1 3.843750 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "2 3.843750 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "3 3.843750 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "4 3.843750 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", ".. ... ... \n", "175 1909.335938 examples/data/all_cellprofiler-x512.sqlite (19... \n", "176 1909.335938 examples/data/all_cellprofiler-x512.sqlite (19... \n", @@ -2515,11 +1509,11 @@ "179 1909.335938 examples/data/all_cellprofiler-x512.sqlite (19... \n", "\n", " data_input_renamed \n", - "0 input.sqlite (4 MB) \n", - "1 input.sqlite (4 MB) \n", - "2 input.sqlite (4 MB) \n", - "3 input.sqlite (4 MB) \n", - "4 input.sqlite (4 MB) \n", + "0 input-x1.sqlite (4 MB) \n", + "1 input-x1.sqlite (4 MB) \n", + "2 input-x1.sqlite (4 MB) \n", + "3 input-x1.sqlite (4 MB) \n", + "4 input-x1.sqlite (4 MB) \n", ".. ... \n", "175 input-x512.sqlite (1909 MB) \n", "176 input-x512.sqlite (1909 MB) \n", @@ -2536,9 +1530,13 @@ } ], "source": [ - "# add columns for data understandability in plots\n", + "# replace filename for clarity and later x-axis sorting\n", + "df_results.loc[\n", + " df_results[\"data_input\"] == \"examples/data/all_cellprofiler.sqlite\", \"data_input\"\n", + "] = \"examples/data/all_cellprofiler-x1.sqlite\"\n", "\n", "\n", + "# add columns for data understandability in plots\n", "def get_file_size_mb(file_path):\n", " \"\"\"\n", " Gather filesize given a file_path\n", @@ -2575,12 +1573,6 @@ "execution_count": 8, "id": "6f96b829-7d8f-438d-9f65-62f62ec264b3", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T18:13:56.578199Z", - "iopub.status.busy": "2025-05-14T18:13:56.577854Z", - "iopub.status.idle": "2025-05-14T18:13:56.638481Z", - "shell.execute_reply": "2025-05-14T18:13:56.637822Z" - }, "papermill": { "duration": 0.080586, "end_time": "2025-05-14T18:13:56.639422", @@ -2629,12 +1621,12 @@ " \n", " \n", " 0\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 0\n", " 3.631473e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.384496\n", " 0.338207\n", " 3.382802\n", @@ -2644,12 +1636,12 @@ " \n", " \n", " 1\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 1\n", " 3.596739e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.018959\n", " 0.334972\n", " 3.359946\n", @@ -2659,12 +1651,12 @@ " \n", " \n", " 2\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 2\n", " 3.521085e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.405169\n", " 0.327927\n", " 3.406309\n", @@ -2674,12 +1666,12 @@ " \n", " \n", " 3\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 3\n", " 3.731005e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.244814\n", " 0.347477\n", " 3.450309\n", @@ -2689,12 +1681,12 @@ " \n", " \n", " 4\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 4\n", " 3.641754e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.363728\n", " 0.339165\n", " 3.344983\n", @@ -2704,12 +1696,12 @@ " \n", " \n", " 5\n", - " examples/data/all_cellprofiler.sqlite\n", + " examples/data/all_cellprofiler-x1.sqlite\n", " 5\n", " 3.526410e+08\n", " 3.843750\n", - " examples/data/all_cellprofiler.sqlite (4 MB)\n", - " input.sqlite (4 MB)\n", + " examples/data/all_cellprofiler-x1.sqlite (4 MB)\n", + " input-x1.sqlite (4 MB)\n", " 21.729096\n", " 0.328423\n", " 3.339835\n", @@ -3533,12 +2525,12 @@ ], "text/plain": [ " data_input iteration \\\n", - "0 examples/data/all_cellprofiler.sqlite 0 \n", - "1 examples/data/all_cellprofiler.sqlite 1 \n", - "2 examples/data/all_cellprofiler.sqlite 2 \n", - "3 examples/data/all_cellprofiler.sqlite 3 \n", - "4 examples/data/all_cellprofiler.sqlite 4 \n", - "5 examples/data/all_cellprofiler.sqlite 5 \n", + "0 examples/data/all_cellprofiler-x1.sqlite 0 \n", + "1 examples/data/all_cellprofiler-x1.sqlite 1 \n", + "2 examples/data/all_cellprofiler-x1.sqlite 2 \n", + "3 examples/data/all_cellprofiler-x1.sqlite 3 \n", + "4 examples/data/all_cellprofiler-x1.sqlite 4 \n", + "5 examples/data/all_cellprofiler-x1.sqlite 5 \n", "6 examples/data/all_cellprofiler-x2.sqlite 0 \n", "7 examples/data/all_cellprofiler-x2.sqlite 1 \n", "8 examples/data/all_cellprofiler-x2.sqlite 2 \n", @@ -3657,12 +2649,12 @@ "59 2.997576e+09 1909.335938 \n", "\n", " data_input_with_size \\\n", - "0 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "1 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "2 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "3 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "4 examples/data/all_cellprofiler.sqlite (4 MB) \n", - "5 examples/data/all_cellprofiler.sqlite (4 MB) \n", + "0 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "1 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "2 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "3 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "4 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", + "5 examples/data/all_cellprofiler-x1.sqlite (4 MB) \n", "6 examples/data/all_cellprofiler-x2.sqlite (8 MB) \n", "7 examples/data/all_cellprofiler-x2.sqlite (8 MB) \n", "8 examples/data/all_cellprofiler-x2.sqlite (8 MB) \n", @@ -3719,12 +2711,12 @@ "59 examples/data/all_cellprofiler-x512.sqlite (19... \n", "\n", " data_input_renamed \\\n", - "0 input.sqlite (4 MB) \n", - "1 input.sqlite (4 MB) \n", - "2 input.sqlite (4 MB) \n", - "3 input.sqlite (4 MB) \n", - "4 input.sqlite (4 MB) \n", - "5 input.sqlite (4 MB) \n", + "0 input-x1.sqlite (4 MB) \n", + "1 input-x1.sqlite (4 MB) \n", + "2 input-x1.sqlite (4 MB) \n", + "3 input-x1.sqlite (4 MB) \n", + "4 input-x1.sqlite (4 MB) \n", + "5 input-x1.sqlite (4 MB) \n", "6 input-x2.sqlite (8 MB) \n", "7 input-x2.sqlite (8 MB) \n", "8 input-x2.sqlite (8 MB) \n", @@ -4129,12 +3121,6 @@ "execution_count": 9, "id": "2e088609-d453-459e-b78e-4e2f07ec1af7", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T18:13:56.680698Z", - "iopub.status.busy": "2025-05-14T18:13:56.680078Z", - "iopub.status.idle": "2025-05-14T18:13:56.712561Z", - "shell.execute_reply": "2025-05-14T18:13:56.711638Z" - }, "papermill": { "duration": 0.054746, "end_time": "2025-05-14T18:13:56.713702", @@ -4189,7 +3175,29 @@ " \n", " \n", " \n", - " 2\n", + " 0\n", + " input-x1.sqlite (4 MB)\n", + " 21.357710\n", + " 21.018959\n", + " 21.729096\n", + " 3.380697\n", + " 3.339835\n", + " 3.450309\n", + " 1.769097\n", + " 1.743157\n", + " 1.778455\n", + " 0.336028\n", + " 0.327927\n", + " 0.347477\n", + " 0.314100\n", + " 0.301388\n", + " 0.333794\n", + " 0.207040\n", + " 0.206005\n", + " 0.207531\n", + " \n", + " \n", + " 3\n", " input-x2.sqlite (8 MB)\n", " 21.482275\n", " 21.235337\n", @@ -4211,7 +3219,7 @@ " 0.226254\n", " \n", " \n", - " 5\n", + " 6\n", " input-x4.sqlite (15 MB)\n", " 21.367945\n", " 21.169588\n", @@ -4234,28 +3242,6 @@ " \n", " \n", " 9\n", - " input.sqlite (4 MB)\n", - " 21.357710\n", - " 21.018959\n", - " 21.729096\n", - " 3.380697\n", - " 3.339835\n", - " 3.450309\n", - " 1.769097\n", - " 1.743157\n", - " 1.778455\n", - " 0.336028\n", - " 0.327927\n", - " 0.347477\n", - " 0.314100\n", - " 0.301388\n", - " 0.333794\n", - " 0.207040\n", - " 0.206005\n", - " 0.207531\n", - " \n", - " \n", - " 8\n", " input-x8.sqlite (30 MB)\n", " 21.676985\n", " 21.540652\n", @@ -4277,7 +3263,7 @@ " 0.315948\n", " \n", " \n", - " 1\n", + " 2\n", " input-x16.sqlite (60 MB)\n", " 22.113636\n", " 21.928231\n", @@ -4299,7 +3285,7 @@ " 0.438606\n", " \n", " \n", - " 4\n", + " 5\n", " input-x32.sqlite (119 MB)\n", " 22.984812\n", " 22.647534\n", @@ -4321,7 +3307,7 @@ " 0.684231\n", " \n", " \n", - " 7\n", + " 8\n", " input-x64.sqlite (239 MB)\n", " 24.656177\n", " 24.081396\n", @@ -4343,7 +3329,7 @@ " 1.173416\n", " \n", " \n", - " 0\n", + " 1\n", " input-x128.sqlite (477 MB)\n", " 28.494632\n", " 28.198151\n", @@ -4365,7 +3351,7 @@ " 2.156483\n", " \n", " \n", - " 3\n", + " 4\n", " input-x256.sqlite (955 MB)\n", " 34.579539\n", " 34.270991\n", @@ -4387,7 +3373,7 @@ " 4.125107\n", " \n", " \n", - " 6\n", + " 7\n", " input-x512.sqlite (1909 MB)\n", " 49.147961\n", " 47.990966\n", @@ -4414,220 +3400,220 @@ ], "text/plain": [ " data_input_renamed \\\n", - "2 input-x2.sqlite (8 MB) \n", - "5 input-x4.sqlite (15 MB) \n", - "9 input.sqlite (4 MB) \n", - "8 input-x8.sqlite (30 MB) \n", - "1 input-x16.sqlite (60 MB) \n", - "4 input-x32.sqlite (119 MB) \n", - "7 input-x64.sqlite (239 MB) \n", - "0 input-x128.sqlite (477 MB) \n", - "3 input-x256.sqlite (955 MB) \n", - "6 input-x512.sqlite (1909 MB) \n", + "0 input-x1.sqlite (4 MB) \n", + "3 input-x2.sqlite (8 MB) \n", + "6 input-x4.sqlite (15 MB) \n", + "9 input-x8.sqlite (30 MB) \n", + "2 input-x16.sqlite (60 MB) \n", + "5 input-x32.sqlite (119 MB) \n", + "8 input-x64.sqlite (239 MB) \n", + "1 input-x128.sqlite (477 MB) \n", + "4 input-x256.sqlite (955 MB) \n", + "7 input-x512.sqlite (1909 MB) \n", "\n", " cytotable_time_duration (multiprocess) (secs) (mean) \\\n", - "2 21.482275 \n", - "5 21.367945 \n", - "9 21.357710 \n", - "8 21.676985 \n", - "1 22.113636 \n", - "4 22.984812 \n", - "7 24.656177 \n", - "0 28.494632 \n", - "3 34.579539 \n", - "6 49.147961 \n", + "0 21.357710 \n", + "3 21.482275 \n", + "6 21.367945 \n", + "9 21.676985 \n", + "2 22.113636 \n", + "5 22.984812 \n", + "8 24.656177 \n", + "1 28.494632 \n", + "4 34.579539 \n", + "7 49.147961 \n", "\n", " cytotable_time_duration (multiprocess) (secs) (min) \\\n", - "2 21.235337 \n", - "5 21.169588 \n", - "9 21.018959 \n", - "8 21.540652 \n", - "1 21.928231 \n", - "4 22.647534 \n", - "7 24.081396 \n", - "0 28.198151 \n", - "3 34.270991 \n", - "6 47.990966 \n", + "0 21.018959 \n", + "3 21.235337 \n", + "6 21.169588 \n", + "9 21.540652 \n", + "2 21.928231 \n", + "5 22.647534 \n", + "8 24.081396 \n", + "1 28.198151 \n", + "4 34.270991 \n", + "7 47.990966 \n", "\n", " cytotable_time_duration (multiprocess) (secs) (max) \\\n", - "2 21.973524 \n", - "5 21.693600 \n", - "9 21.729096 \n", - "8 21.770709 \n", - "1 22.404097 \n", - "4 23.631211 \n", - "7 24.936935 \n", - "0 28.863461 \n", - "3 34.833079 \n", - "6 49.685872 \n", + "0 21.729096 \n", + "3 21.973524 \n", + "6 21.693600 \n", + "9 21.770709 \n", + "2 22.404097 \n", + "5 23.631211 \n", + "8 24.936935 \n", + "1 28.863461 \n", + "4 34.833079 \n", + "7 49.685872 \n", "\n", " cytotable_time_duration (multithread) (secs) (mean) \\\n", - "2 3.443471 \n", - "5 3.637143 \n", - "9 3.380697 \n", - "8 4.040147 \n", - "1 4.456335 \n", - "4 5.366532 \n", - "7 7.268257 \n", - "0 10.957092 \n", - "3 17.813752 \n", - "6 34.111594 \n", + "0 3.380697 \n", + "3 3.443471 \n", + "6 3.637143 \n", + "9 4.040147 \n", + "2 4.456335 \n", + "5 5.366532 \n", + "8 7.268257 \n", + "1 10.957092 \n", + "4 17.813752 \n", + "7 34.111594 \n", "\n", " cytotable_time_duration (multithread) (secs) (min) \\\n", - "2 3.400347 \n", - "5 3.587915 \n", - "9 3.339835 \n", - "8 3.985098 \n", - "1 4.346780 \n", - "4 5.205241 \n", - "7 6.922514 \n", - "0 10.596211 \n", - "3 16.877595 \n", - "6 33.528387 \n", + "0 3.339835 \n", + "3 3.400347 \n", + "6 3.587915 \n", + "9 3.985098 \n", + "2 4.346780 \n", + "5 5.205241 \n", + "8 6.922514 \n", + "1 10.596211 \n", + "4 16.877595 \n", + "7 33.528387 \n", "\n", " cytotable_time_duration (multithread) (secs) (max) \\\n", - "2 3.500978 \n", - "5 3.670504 \n", - "9 3.450309 \n", - "8 4.078631 \n", - "1 4.700246 \n", - "4 5.560186 \n", - "7 7.560812 \n", - "0 11.667468 \n", - "3 19.243667 \n", - "6 34.684057 \n", + "0 3.450309 \n", + "3 3.500978 \n", + "6 3.670504 \n", + "9 4.078631 \n", + "2 4.700246 \n", + "5 5.560186 \n", + "8 7.560812 \n", + "1 11.667468 \n", + "4 19.243667 \n", + "7 34.684057 \n", "\n", " pycytominer_time_duration (secs) (mean) \\\n", - "2 1.982614 \n", - "5 2.346181 \n", - "9 1.769097 \n", - "8 3.185581 \n", - "1 4.984013 \n", - "4 8.516205 \n", - "7 16.226874 \n", - "0 33.751474 \n", - "3 66.865408 \n", - "6 138.606760 \n", + "0 1.769097 \n", + "3 1.982614 \n", + "6 2.346181 \n", + "9 3.185581 \n", + "2 4.984013 \n", + "5 8.516205 \n", + "8 16.226874 \n", + "1 33.751474 \n", + "4 66.865408 \n", + "7 138.606760 \n", "\n", " pycytominer_time_duration (secs) (min) \\\n", - "2 1.955712 \n", - "5 2.331016 \n", - "9 1.743157 \n", - "8 3.146029 \n", - "1 4.942839 \n", - "4 8.265502 \n", - "7 15.793225 \n", - "0 33.527879 \n", - "3 66.421230 \n", - "6 137.958207 \n", + "0 1.743157 \n", + "3 1.955712 \n", + "6 2.331016 \n", + "9 3.146029 \n", + "2 4.942839 \n", + "5 8.265502 \n", + "8 15.793225 \n", + "1 33.527879 \n", + "4 66.421230 \n", + "7 137.958207 \n", "\n", " pycytominer_time_duration (secs) (max) \\\n", - "2 2.037822 \n", - "5 2.367945 \n", - "9 1.778455 \n", - "8 3.263625 \n", - "1 5.044000 \n", - "4 8.703588 \n", - "7 16.534453 \n", - "0 34.400265 \n", - "3 67.363990 \n", - "6 139.114694 \n", + "0 1.778455 \n", + "3 2.037822 \n", + "6 2.367945 \n", + "9 3.263625 \n", + "2 5.044000 \n", + "5 8.703588 \n", + "8 16.534453 \n", + "1 34.400265 \n", + "4 67.363990 \n", + "7 139.114694 \n", "\n", " cytotable_peak_memory (multiprocess) (GB) (mean) \\\n", - "2 0.340949 \n", - "5 0.356510 \n", - "9 0.336028 \n", - "8 0.429759 \n", - "1 0.516483 \n", - "4 0.670774 \n", - "7 0.934532 \n", - "0 1.338342 \n", - "3 1.846376 \n", - "6 2.838564 \n", + "0 0.336028 \n", + "3 0.340949 \n", + "6 0.356510 \n", + "9 0.429759 \n", + "2 0.516483 \n", + "5 0.670774 \n", + "8 0.934532 \n", + "1 1.338342 \n", + "4 1.846376 \n", + "7 2.838564 \n", "\n", " cytotable_peak_memory (multiprocess) (GB) (min) \\\n", - "2 0.331703 \n", - "5 0.351368 \n", - "9 0.327927 \n", - "8 0.408226 \n", - "1 0.466084 \n", - "4 0.611977 \n", - "7 0.769905 \n", - "0 1.261059 \n", - "3 1.794670 \n", - "6 2.769634 \n", + "0 0.327927 \n", + "3 0.331703 \n", + "6 0.351368 \n", + "9 0.408226 \n", + "2 0.466084 \n", + "5 0.611977 \n", + "8 0.769905 \n", + "1 1.261059 \n", + "4 1.794670 \n", + "7 2.769634 \n", "\n", " cytotable_peak_memory (multiprocess) (GB) (max) \\\n", - "2 0.365635 \n", - "5 0.371887 \n", - "9 0.347477 \n", - "8 0.483082 \n", - "1 0.560818 \n", - "4 0.723980 \n", - "7 1.067928 \n", - "0 1.390713 \n", - "3 1.903576 \n", - "6 3.045765 \n", + "0 0.347477 \n", + "3 0.365635 \n", + "6 0.371887 \n", + "9 0.483082 \n", + "2 0.560818 \n", + "5 0.723980 \n", + "8 1.067928 \n", + "1 1.390713 \n", + "4 1.903576 \n", + "7 3.045765 \n", "\n", " cytotable_peak_memory (multithread) (GB) (mean) \\\n", - "2 0.329437 \n", - "5 0.381286 \n", - "9 0.314100 \n", - "8 0.443315 \n", - "1 0.561344 \n", - "4 0.686238 \n", - "7 1.017760 \n", - "0 1.680670 \n", - "3 2.656963 \n", - "6 4.170724 \n", + "0 0.314100 \n", + "3 0.329437 \n", + "6 0.381286 \n", + "9 0.443315 \n", + "2 0.561344 \n", + "5 0.686238 \n", + "8 1.017760 \n", + "1 1.680670 \n", + "4 2.656963 \n", + "7 4.170724 \n", "\n", " cytotable_peak_memory (multithread) (GB) (min) \\\n", - "2 0.301991 \n", - "5 0.351509 \n", - "9 0.301388 \n", - "8 0.409195 \n", - "1 0.532894 \n", - "4 0.605682 \n", - "7 0.919926 \n", - "0 1.608109 \n", - "3 2.558720 \n", - "6 3.942654 \n", + "0 0.301388 \n", + "3 0.301991 \n", + "6 0.351509 \n", + "9 0.409195 \n", + "2 0.532894 \n", + "5 0.605682 \n", + "8 0.919926 \n", + "1 1.608109 \n", + "4 2.558720 \n", + "7 3.942654 \n", "\n", " cytotable_peak_memory (multithread) (GB) (max) \\\n", - "2 0.350273 \n", - "5 0.414268 \n", - "9 0.333794 \n", - "8 0.470730 \n", - "1 0.584862 \n", - "4 0.751198 \n", - "7 1.154560 \n", - "0 1.791695 \n", - "3 2.700455 \n", - "6 4.279091 \n", + "0 0.333794 \n", + "3 0.350273 \n", + "6 0.414268 \n", + "9 0.470730 \n", + "2 0.584862 \n", + "5 0.751198 \n", + "8 1.154560 \n", + "1 1.791695 \n", + "4 2.700455 \n", + "7 4.279091 \n", "\n", " pycytominer_peak_memory (GB) (mean) pycytominer_peak_memory (GB) (min) \\\n", - "2 0.221341 0.215111 \n", - "5 0.251218 0.250782 \n", - "9 0.207040 0.206005 \n", - "8 0.309583 0.304459 \n", - "1 0.436341 0.434032 \n", - "4 0.684088 0.683960 \n", - "7 1.173052 1.172638 \n", - "0 2.156260 2.156013 \n", - "3 4.124838 4.124538 \n", - "6 8.064796 8.064404 \n", + "0 0.207040 0.206005 \n", + "3 0.221341 0.215111 \n", + "6 0.251218 0.250782 \n", + "9 0.309583 0.304459 \n", + "2 0.436341 0.434032 \n", + "5 0.684088 0.683960 \n", + "8 1.173052 1.172638 \n", + "1 2.156260 2.156013 \n", + "4 4.124838 4.124538 \n", + "7 8.064796 8.064404 \n", "\n", " pycytominer_peak_memory (GB) (max) \n", - "2 0.226254 \n", - "5 0.251541 \n", - "9 0.207531 \n", - "8 0.315948 \n", - "1 0.438606 \n", - "4 0.684231 \n", - "7 1.173416 \n", - "0 2.156483 \n", - "3 4.125107 \n", - "6 8.065300 " + "0 0.207531 \n", + "3 0.226254 \n", + "6 0.251541 \n", + "9 0.315948 \n", + "2 0.438606 \n", + "5 0.684231 \n", + "8 1.173416 \n", + "1 2.156483 \n", + "4 4.125107 \n", + "7 8.065300 " ] }, "execution_count": 9, @@ -4675,12 +3661,6 @@ "execution_count": 10, "id": "f2dec74d-bf23-40da-989d-3d45049e17b2", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T18:13:56.757227Z", - "iopub.status.busy": "2025-05-14T18:13:56.756124Z", - "iopub.status.idle": "2025-05-14T18:13:58.103882Z", - "shell.execute_reply": "2025-05-14T18:13:58.102855Z" - }, "papermill": { "duration": 1.370439, "end_time": "2025-05-14T18:13:58.105031", @@ -4780,12 +3760,6 @@ "execution_count": 11, "id": "47984c80-edfa-4bab-87f2-3f6034ff7e84", "metadata": { - "execution": { - "iopub.execute_input": "2025-05-14T18:13:58.151710Z", - "iopub.status.busy": "2025-05-14T18:13:58.150867Z", - "iopub.status.idle": "2025-05-14T18:13:58.481671Z", - "shell.execute_reply": "2025-05-14T18:13:58.480880Z" - }, "papermill": { "duration": 0.35601, "end_time": "2025-05-14T18:13:58.483154", @@ -4900,7 +3874,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.9" + "version": "3.12.2" }, "papermill": { "default_parameters": {}, diff --git a/notebooks/cytotable_and_pycytominer_analysis_sqlite.py b/notebooks/cytotable_and_pycytominer_analysis_sqlite.py index 1c07fef..9a0bc53 100644 --- a/notebooks/cytotable_and_pycytominer_analysis_sqlite.py +++ b/notebooks/cytotable_and_pycytominer_analysis_sqlite.py @@ -105,85 +105,93 @@ results = [] # + papermill={"duration": 3844.269619, "end_time": "2025-05-14T18:13:56.454944", "exception": false, "start_time": "2025-05-14T17:09:52.185325", "status": "completed"} -# Number of iterations for each combination -num_iterations = 6 - -# Loop through each combination of example file and data file -for example_file, example_data in itertools.product( - example_files_list, example_data_list -): - for iteration in range(num_iterations): - print(f"Starting {example_file} with {example_data}, iteration {iteration}.") - # Skip if this combination and iteration are already processed - if any( - result["file_input"] == example_file - and result["data_input"] == example_data - and result["iteration"] == iteration - for result in results - ): - print( - f"Skipping already processed: {example_file} with {example_data}, iteration {iteration}" - ) - continue - - try: - # gather memory peak and time duration - memory_peak, time_duration = get_memory_peak_and_time_duration( - cmd=[ - "python", - example_file, - example_data, - ], - polling_pause_seconds=0.1, - # if we have a multiprocessed parsl process skip memory - # (we will check this via parsl monitoring). - skip_memory_check=("multiprocess" in example_file), - ) - - # Append the result - results.append( - { - "file_input": example_file.replace(f"{examples_dir}/", ""), - "data_input": example_data, - "iteration": iteration, - "time_duration (secs)": time_duration, - "peak_memory (bytes)": ( - memory_peak - # if we have a multiprocessed parsl result we must - # gather the peak memory using parsl's monitoring - # database. - if "multiprocess" not in example_file - else get_parsl_peak_memory(db_file=db_file) - ), - } - ) - - # Save intermediate results to Parquet - df_results = pd.DataFrame(results) - df_results.to_parquet(results_parquet_file, index=False) - - except Exception as e: - print( - f"Error processing {example_file} with {example_data}, iteration {iteration}: {e}" - ) - - finally: - # remove monitoring database if present from parsl processing - if pathlib.Path(db_file).is_file(): - pathlib.Path(db_file).unlink() +# only run if we don't already have results +if not pathlib.Path(results_parquet_file).exists(): + # Number of iterations for each combination + num_iterations = 6 + + # Loop through each combination of example file and data file + for example_file, example_data in itertools.product( + example_files_list, example_data_list + ): + for iteration in range(num_iterations): print( - f"Finished {example_file} with {example_data}, iteration {iteration}." + f"Starting {example_file} with {example_data}, iteration {iteration}." ) + # Skip if this combination and iteration are already processed + if any( + result["file_input"] == example_file + and result["data_input"] == example_data + and result["iteration"] == iteration + for result in results + ): + print( + f"Skipping already processed: {example_file} with {example_data}, iteration {iteration}" + ) + continue + + try: + # gather memory peak and time duration + memory_peak, time_duration = get_memory_peak_and_time_duration( + cmd=[ + "python", + example_file, + example_data, + ], + polling_pause_seconds=0.1, + # if we have a multiprocessed parsl process skip memory + # (we will check this via parsl monitoring). + skip_memory_check=("multiprocess" in example_file), + ) + + # Append the result + results.append( + { + "file_input": example_file.replace(f"{examples_dir}/", ""), + "data_input": example_data, + "iteration": iteration, + "time_duration (secs)": time_duration, + "peak_memory (bytes)": ( + memory_peak + # if we have a multiprocessed parsl result we must + # gather the peak memory using parsl's monitoring + # database. + if "multiprocess" not in example_file + else get_parsl_peak_memory(db_file=db_file) + ), + } + ) + + # Save intermediate results to Parquet + df_results = pd.DataFrame(results) + df_results.to_parquet(results_parquet_file, index=False) + + except Exception as e: + print( + f"Error processing {example_file} with {example_data}, iteration {iteration}: {e}" + ) + + finally: + # remove monitoring database if present from parsl processing + if pathlib.Path(db_file).is_file(): + pathlib.Path(db_file).unlink() + print( + f"Finished {example_file} with {example_data}, iteration {iteration}." + ) + + # Final save to Parquet + df_results = pd.DataFrame(results) + df_results.to_parquet(results_parquet_file, index=False) + + print(f"Processing complete. Results saved to '{results_parquet_file}'.") - -# Final save to Parquet -df_results = pd.DataFrame(results) -df_results.to_parquet(results_parquet_file, index=False) - -print(f"Processing complete. Results saved to '{results_parquet_file}'.") +# + papermill={"duration": 0.060065, "end_time": "2025-05-14T18:13:56.540533", "exception": false, "start_time": "2025-05-14T18:13:56.480468", "status": "completed"} +# replace filename for clarity and later x-axis sorting +df_results.loc[ + df_results["data_input"] == "examples/data/all_cellprofiler.sqlite", "data_input" +] = "examples/data/all_cellprofiler-x1.sqlite" -# + papermill={"duration": 0.060065, "end_time": "2025-05-14T18:13:56.540533", "exception": false, "start_time": "2025-05-14T18:13:56.480468", "status": "completed"} # add columns for data understandability in plots def get_file_size_mb(file_path): """ diff --git a/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.png b/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.png index 65a02390e6cb543622711e646a55043d665c6145..6bc80ac722fab81aea8abfb503f9deb5257ad43b 100644 GIT binary patch literal 75380 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 zȊ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 C_NUK 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 literal 73537 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

481TrzAw^@*1_({W%9VTV5T`^;9V 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 E11AUUQ2+n{ diff --git a/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.svg b/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.svg index c6cd828..3cf213c 100644 --- a/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.svg +++ b/notebooks/images/cytotable-and-pycytominer-comparisons-join-completion-time-sqlite.svg @@ -1 +1 @@ -input-x2.sqlite (8 MB)input-x4.sqlite (15 MB)input.sqlite (4 MB)input-x8.sqlite (30 MB)input-x16.sqlite (60 MB)input-x32.sqlite (119 MB)input-x64.sqlite (239 MB)input-x128.sqlite (477 MB)input-x256.sqlite (955 MB)input-x512.sqlite (1909 MB)050100CytoTable (multiprocess)CytoTable (multithread)PycytominerCytoTable and Pycytominer SQLite Processing Time with Min/Max ErrorsInput FileSeconds +input-x1.sqlite (4 MB)input-x2.sqlite (8 MB)input-x4.sqlite (15 MB)input-x8.sqlite (30 MB)input-x16.sqlite (60 MB)input-x32.sqlite (119 MB)input-x64.sqlite (239 MB)input-x128.sqlite (477 MB)input-x256.sqlite (955 MB)input-x512.sqlite (1909 MB)050100CytoTable (multiprocess)CytoTable (multithread)PycytominerCytoTable and Pycytominer SQLite Processing Time with Min/Max ErrorsInput FileSeconds \ No newline at end of file diff --git a/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.png b/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.png index cb95046790b18620e8bed82c25e02edf4e69fbfe..9ff111b538f979afa2b9e2ff55a1ebce22551717 100644 GIT binary patch literal 77820 zcmeFZXE>bQ*Z-Y}GKd%?NVL&=kCI?82%?5y^iD)4x*-@{^cpQulc+;C=k`?{Xz<@4q_j{7*~h2tDf``ml2wb%OY&pJa@m1PO=p5WcNbB91)PFn5G zoqNbTckUj6uz@S)hfBkE?m+IyOH00XH`q$Ysn%#42_mbPL-`YUNnma1Z$0sPnmA74 zrLYx9PS1wIe59~7Gd}Pp;>8Dj={904icjxBc%+!2{t}oAH~k_vn-)8(@ra#gr_;{6 z=c^vxzr0Q|#18wmCJukT|*aBTH+rc2G9u3zb;9CdWkCs*0gFVnEb~G{|s323-n*(hG1yCl<+ToNntQT z`piV3o*akk*EJY(Oby5Xw*@{EOFSqzpp$N~Wm5rI&stW6|;`z&JCgGgT6;iVtiP+~{* z{9UK#uGen8B|a$!Xsm_b(DP)%(srRau(JJ$HPZJ9|Ic)hG3eD^%X69e^v!XU>3rq5 zNw|Q;{??>*NfDLr<6woDMc&|D>Lta>qY*8`K(xfhP_9CDl@{y9oZi7FDi1A>l5fa?BetYEecKRw21wlVtx#S zT>Z|DD)ha*5wz${j&NDc6<&^(+R|#cNGPg1=(eghtHbu=u^H!?dXxQOYpmhMrT%cA z;_>(3`;XNepeka=uj|DZb!{sWcxkH-y4h{}#ZDEEZIG@FKG)3^+;w~YMc;>Be%-O& zAiLhS_bqqs7ZWNC@|b)#?btC9&W%pqcVZforE+*sTzx_Dk8Zo_1?(x~U@90z0$rP_GWy21 z@h;AIXAFIdsnE>3VF+D3TR( zmj>?!Wf%*h8>Y;Xy&IN-c`OD`MbkYuzMf3Y-Bh03mX8#fVF}=ePlpV#7gsl*0QM4n zobEQO9Xv5*-(ag>>-zHyZdkZaqYZyM^TUNT93ES@DA<)?{5gDrku{CastogE9b`G+ zx%=MyB=$TO+-tky11{0M4ZsMkeMNqM3b2`P^gFiWz&61qLq7EXHs0C_iCYQ9eTYjt zRpY!SL*0T?hi=yN=Rp)aVh34?7k-8709HYCv;X~gRCnrw&@BA2NyYHnfxf&)3Quf? z&&9ft#<%5ny}TXc3f%R-mYHinj-+W|!3@E1qW~kK)=NM6?yZS(YhUMZ|J%DI_b{X8 z`srGODD22D=uS=Lk1vTBLtbRMdr}`iLUzf2QW@YvpDmU`v?3qk!#L91)#rKnJPwwh zN8N53-s%X(JQ1({j78gTBFT`Ec6mtT55iU@eXl+u$r)HZ%TFPvac1&sqq@>vHO4{dvUtOt5G*!z2T+N1$K@cEm5TyJd*v zp`=pd5}UXFrN&nA+@~Tt)h(s7F{J}^Ik9$;yA8KKzZF`72}@jf4~Z{Yqi-#*gf|Pz zH$YI$1Hd%5bl6?<9P?BqlRqe%;x~_H`vs-|RyUz6vi*Hho`$l=_A7TV#H=Y4*PV}+ z4NR870O~n4AUn)?Nre36hYDz`623ldxUKjpI8_*#{1UI(WFvFcz%50o?=aRs8Wr!z z|1577n8R@L`)vB)yyJPf7L~COiMU6|!_}YVGj4NYTfr?Z8!46h8pv?sUluFwb9FX<8O5?-4>(2n@tC1FTs}4w-B>OU5Ag-UcxhO7 z*aD&W6?ojfYR2{1#BkKC$6ES;fdU6g`i;to`{JmsVbWj@B*#1c11{9uRN$bvb_dV4 zac;e1tF|-Vn?|}ov&d$~Wvs{M z2C`+N8q@fwf&aSz)$}>9Wu6prtu-$DdHwx%Ez_4egHWpQ_No1v%AYRGC{o66a+b}la} z>pP+t#LngeK8v?~jdn8f$T1w^CJ#XI?TNj=XLqtaRb`0j3zd|kXpWMe%A1f~<;t!; zy;-8U1)U!3LJ=3gpqcwkrymaOr{|qFJN&?OQUdEtd+Uw_q|aU(cBYbYRatqaj{WgeQA>x6?G_&Z~S>luk!f?{JqyX z;Fpx`;bVrr^?k4~?hHPQ{rb=13|Pi_KlXdgZWnIX#g9lbWN2Jf5^T%?dr!5eo^1%G z_WaV9{M$deY%s}PD=yr~J$@g3uyuVpC%!BR_z!IM)ZHM~x`fMAcnQ^D`b=c%_7?v8 ztk<^7gZMgfZAjBQn>_0L#j02EqCK2;4$&QbrMxFJiG0SfYq52XO}4sqLoxSumD@q> zEjfmgCYVoRv0vHblQd)9AVTS=Arh9Z=%D6 zf6Smj4G-46RNS$1)8f-CH0w^UsF?D};^mRlg|`|5kGrXiCy;xP)c{@ui^OH43y^MD zZb?z(b<>MYxxeaEl4pO8Ni%Ah;bGCvH*f;DgHO6lP<8zo0lv?cvckjzv7-Tq1>k!> zCg<-srhGjllBIl=|K$5M;&g`WB&sb@JCo&=0h8M)kkZf{uNj;QhWMJP$;|N8SP@mf zuYbOeVA*E-B=XS%VvrQf9Sh?K$eZ=JjhZ7w!>? z8m*gaq{yxr4{ zOi_e%m4qHsCwrCw{Z-LM>>0(4xU1>%EkcEAj;Wabybe1Nn#Wx9qYJ&d>%qIEmv^)2 zdx*MY0LOW}yR;u`{~Pd!!@Zls4=d^23?TlI50@1c`@4jFYvvNkrq@R`=4xQl12jFKpGcA@4W1jHPgm(0Q?M zGNU2-#-{jlLyuGueqNS0sgHe2|lf zKfCjLM`8l{p%+)wcrsm2%{=QB@%(jPA`N>Shs0Se(!q%1eTi&oc=m*2y079= zS;sZ!2Z$NQR-EGn-mb>vm*%5qWYQ>>zLOo)8BEu>!Xh&>AI3~64@B-mZ^CxzoLcvo zP@hec@4rmtppxVbDvsY*F5+7{ye^n~e`muZzEm}kL^Q$U#mq^N)Fa88ctinuH2AQ| zX0j2{JKB1d?XQrpm?S%wGh7`v?}ux+-vif^NzTuSqm8L;`AEeKIuv)UuWpDcKH`=~ zaYqDhsYe#AaqOJA|6F8Vy1%kCwP=b-O&Xz;F;wUKtE(tCg%l&s)EHeOQ`h*uvxTCK zgqpOJPT%+XSW=kLS4welRH>WcBm9%O;)z&O7Z&yfr!7%!*yUNMi{PAalC6zgB-WOK zdEqCe#Tt@X?S{*lUD#8FRq9_Ts6P)E&fNV~rVxF@>7S1t&yZ>G*EDqagA*gx>ry#Z zQJIN>ko$N?xTJ9@4a+1*t2wt-Wp|rB(TlU}D5y?t@&~M$dzXVMeZor--b$}__fsgA zcJ1Yac0lN3H{p11TrlkzRXyxBR3;5;&B}7 ze7gIP>v7$cw_Yrb3AS_Qayz@*zC;HeO(LgZQ~NQ|tK~&xS6%*iU>GiWmUtw~Ds7@Dxlt+mO86$f7&9*G33!R$Q%%Ks!aew={W(gJ{A^zI2$$X{b>kbg?92a2*U| zetP7%D`Is5=0hFbQRoWg?x#IqX7%Y`JXyS6Y1#UWLX{rIxDrLB5^paS>>Lq5K{+`Z z+<=9e$FP*_oRFU0ot1}s9PkEJ8fSrPyJ@R^4^!um3PiO#&?hS0$piCzUG~*-Lnokd zZ?0_l%_rM^!9+>?H+~wG*(7?MC>`b7&ZIK!jPOUun`v(^5QWM8E@sgFywRev317Hs zk^QsMoI@_gD(bzRJ)hxKN`0x!!+3cxUrhTCSrb$sG*cy{)s_ONIE=bvSkbZ^CTCS0 zGAcu`&Ya9$3`ArXdw6<=1N)&*-}1;zm#Ji@Kju=AZr=G$8%C%ns$?X}FRbC&RaMlz zEobw=_l~jlY~}}!Q8Fxrm=W9&KT8ki0ILSs7qgpj^qx|CENfPqax%8f%3b+VMnvw? zX9Zuh&Gp%6eutfa4+>%JHQp|VsQ2h5x`J8@6I=`BrEpbf`{kgfeA1vdDXhCmM2g0^ z?p;u|Bt2#)S%17)SOc#6Bm>zLFfOR%t*_zPYHGJgM_S1Kd*3qL=8L*r$3pzu)nOrU z7+izsON8t>8sD*g_{HN7^^vjosNQ~-dvgy-Ey2z1wK*QaEcSm)n1+G@Jc2Im&B8Ke zY9}G|Ot^p1ruSeMV-ljS`pNqm-mu0zV21TsyZ z=uFsx^E7~l9-pXrP8HUQ5 zLEecz*L@=S8}VqLXt&^)uhgj*C$T9rikH>UYk$ykXp8ih8RCt?<1O62vBimw^;nXZoG$G6`%M(X^A%Ax$FmRE@RA&&asW#5gR}`+y?h zArjtx_2t3zNHUo0W2`?uLf!i=twFAvWT$YLoB~tTteFnT z{BGxIKWcuBnvlcn!jVm0Nbw-5Vc1>Q2$w$B<936ebk&;B@OyZ}HP?H0t(n@k0CE)f zz?{Bl+VrFjo+P|eIH|1(MfHbC=2b>l_&D-pe0l0 z#a+9rV#dsvRjP0OZkcOmS8@AcGP%oHT3bHpdPd5_S}sbCm>&xv?-pWzVsX)sLL<=4 zkKIIXRoi{8Gqj+RzsN{+7{;q##_PnY@~ zm*8&BnhH76cvY-~{d_@Nv2oh`{^uBbXLM5P-9!z;NszUrlkelP1=v!63Dl3s*Lw*< z;$x>@_l=^QT@!4v8K8(pg|&GxI(9XG2$QBUyM4@hBi!cIY_h34DHocem%A>tvl#af zevWBehe55(L4~4?7=u@HxYNcS^3fG6Z|D8(XJHd-}W*03<-U}hwb^^-=te| z>IzUZ?uS22>1$T<$u^OcyF7PeIlo!C3~Fm&#-eRFhXoswaUYlyBO_{eCRI}Su{@0z z@6WlTm@*-~Cuq+aZ*K3cghkSy?zF5^ZhQtuikCN!o&&}ZK90A%gc_sRB`CBEc_+%| z3g~c?2^z+obE3aPy7$0*|6E^ry_QXbaYmyWGFh`+3{!JfWY%^-cJS zqE|_fH^vG&D_1Fnavsu+HWZUJf*&9Z+y;8BHfi&IJxG-uyhlisNMOl{1qrgof0Cir zlW0ucymcE45R0Hr%~G%l9KtAW*UG=&{&j1Lmmqup+e z_$N#%5=Qtle=!!7+S&FU#qhY78% zS|^GGSYlw~-Bm?2TrOw!OMS3jtZ(7PCslDb^j;7pVAfYB_hVuQiNVN5l&opxvqEQ% zN=x^RO+Q(HEwj?@mjGsT5zHB>MPo!PQF|(G*%8-`vA+XF9DwA_dXyR~jw|u4Y z{S1U6oV`@E{W6tBss__oDuNaTF-x28yw~35?&}cijOZrPjhVn{t$nz=Zc*mCSyYur zjEoO%gt|X?Smrjc83Uvwe!2Q7jf|I4O!&rE&_hJmBZ5@abktkc1V}`7;N>Fu;!KpT zTxAN5blB;)M+Y~L_(=0SxF?uj4zPDCgK5#>)P=0Bl9uRZI^xSDZTDt^VfAO2#+97Z z6C26EB0Bqzn`ekVc?q^~Vs&BX$a;c`W(8u19+~WAWYi##K5ky3y;2rW!y9<3Xw~cx zv!}2Q%Z#Mm+Rc^T(+4A`wJJAOn6zU=JW*mu`}$)|TOLMk!`#fdG>gJ7zpQ~s9-$>( zPDK+#_X^ej356Heq38sfm zAH|SpA%Kk+_F&oe-bTstu(@rslyFv0-S0h_oQ8 z9Vd)Xqq4;tb$=1>r7D=4Zko$L~TV_iXmqE%#VkVdS!|hf8>!{HcLF z59FGb`KA_{;UAsSgI8A~nVlS$U)+ju$+B`FG3||{gzi11i8u2)3(irkTK4WxUVh@e zXoTmZpC?znpV4B&ZgJ#QIOOgD>ZmHqIGBKI;m(rxZc7P9xq9BDT&#uJ!No6KDM{7>NbairE184SV z`DJ~%ZYEIqN(|?h2yVFrSokqps)hjdFa->J@d`U$d>C2)?`>PF{Vxx-3O9QgG|zt8|Z)=ClNRmI^V8RWK8|E#32D4rAn| zqT##Qj+?gek8a=}v^>TqtrqcU6>bH^DM9^1suXeZnQP5$?&eUz#RAyR>4zK}-qEV# zNs{AW7!fO9PauDqrAB=S&g0I9NbAkh?+!ASb83m*$KhnB~R_v+6@G ziyL$)4W_CGsmuFw5@ccr@Ao#MmJbhNl&HM7=L5#h6x>^i9sDXS@dqPxR9av;*SgO(;Dtfh}mr0X~-`2ZUeX4 zft_*A9%%4*hAA<~R={vL2aA@V<4$+ulVHm=tfi%d`x84j_DmGhGwkPHL;2!pL08_D z-4Nc4ro$^K>dc;?Qj-;&&%cQzQao-FW4XV>uKQl(56d-zT~+s<%#IIU2D_5&ba_{BM+Djohmqu`hAF-e>ov8 zgoH+uCbKqWx8*gfe{_`KtG-2a@2n1{Bjr9nw3hd0$J03+X7%@R$p~-Xyx+yuM+0__ z^N)9$h|?mZdl?1;@Y>Gv2&{KZWdtS3@$Vn3>6@5Dj2jzsJgZ@8BUhur2hupAOyl(> z%3Eb0H(T{HAPLHNx!aRLp3H9yvA>@ys%kH>I)tqWa! z2ACTzTR%h<$Zj27opl`mI;sr{YDKof-dhIdagvv1Y;t!AIc9_tv7xg~v z$a&e@CffkF8m@hJDgnu%82n5gJtc>lW zEMgZ&`ER|@CxD(R_SX17k3X}Mspe9eMK@l`ZTs*J*iq~&#ZJ$bp|MI;MSmsn5axyb`d@*kw5h3rW5ne6?2a67#0a~?zeJrTw4IZ&fo1|(hTn?W zIc}wfsSgoU#hZdOImF#cRL8PlJx#56{qfcI1G`ofq~Mfg#(O7cqXCLIwuk8b^gTg^ zP32WnWgR#5x!LG#I8OVkb|_O*mvmRmaf|mDf4Hs|y(=0=A$VFl#nNzit<)#02e!cb)Lbob`Ge)?;EZ|=$Swr> zR=%Z1VOd>fMPYTd_1d`fjQR4-tX&HYPb7BzC>75*mlqt{Sw2PyX&q1k$6RitHWR6x z4E z;Q7G3XD8;p0=&3`r!h?U+c`c)A_YC((y?*3dgsRLjVAAV*hlYW?T;`oYKTgxT4GC# zt7j;p=dCt6=dna~@(K8zmGM>MBmt%7ueSfL%GLX&|zup%bo{57ZlA&KB20T zy%xH*5n8j)njuTFShm!z`6HTO z&15#|DI$>In4@zqvN^-mT$FXWCW65Gjg>gGvaqs!tuvQZ7B!}doe{N$z0$u*EknaL zLawHmg3pR$`_#A@2}Xwg$o=p|Pw~9lh1gOKmVAC&VeT&LNb3#^^iL+?{8 z)<$8)+EY8@5<5Qtc7mswUkEpY(D@U%%`m_74VNcl0kFf-V>(q9ztdSS?yUeu)LJ*8 z73b4Ty)hc+US3)@x`M{uQ&z(EmyiR&;0(=e%qzWIn}yNv6_VWmBVMGO z+shHDM#7i<%R2ovD$kFqJTG7sW3Nq(hqvyccg5!tKjvwRB zGRf{@$l0XXh1Am`t1QI9sY9U_UtiZ_3O^6H_T1_*iQ*cZj+g$V1A4{C^MUNjgAF z6Da{8Ii~0g+dpI0z;6IY4}XJ!+e|mVuK5oh9qjjl8TcD%5@5J@RjR`NNt-`?4q)H> zsUmL06;{LTI#qW1ssX?+A{EH~MXJ9h_xtt;DSmU7Jp*uOt{qfv<64G@M<30%E5<6- zm7ld$0&wr^pA3@8cyV0B|M!voVu|29mgtI&@jSD0R(hf@t{58ZppqXOY_$tP6gI(B zuB8AaGn1#3Y60wZB}y5h6E_!Q4U?q0HZfK9a^O{&9Q^+_xld-8Of%4-Rd2yz&*M3@ ztWvYr39l+hzPyx#tE-!CmNfXhxfGi79-geQCcC+;7&9oJyIK{hyuG=cVocJD{eQV3 z1130N?tUia!Nx##fwZyw7d8?io`RQ>!uGSGn*jA(RMyRQvQ^%%6HdwrGfd_+4YK{Q zp7-ZjCvuYvK34huKZeMHQ4alRr=I!5eh#tclI}g}vS}vvV8c{@Y}?@V%@1wNZ|M>m zc(5neztmMK02pG(b<&DiWG&6PP&SI%^$#yQ-xRP7FsW5VRkP3S=b|CK;c{gEy%|Zo z!hAuwpFE*refoGf$ZbpGKQ|r0YrefXZE(F<&z}O8i0ne5#Gu}0YaG=++bni6ZW`mm zYc-T3a}$(IDemK4zA1%I#`QgsQ&;fZlSs_uBZmIVSRqw~xv)O9a0m7=Pq~Yed`vZ=uX(tUeYYp{3 zj`9)PFN(`!VpTcA3f~v5n%~H&Q(5{z?8msyn*G#Mwk)+Ui9q5nI+DWgeyajZv%QF`}5iUE>V8iDMef0A=y_iw;Ku5NBZ( zB&`%=DsTgU&Z$hBugB^DXx0@Vil+>`w#}3DUA47kPTt?WXVV!?d$JHr6SVXioU0Di!gtCSE=wLTk#)neyWWz=X>?xL;do| zmr+zvJNqg?{?RaynUm1FCCbFIrxAAc0{k;dJJ2SQUt2%w2@rT-5%odW6 z)Fg>#Jz182_t0ELN&IYna_KP7lX|)CHu}R_q#&h1!bFuy8uO*xCpIkFL>>+w%S=Qi z6_B^OIM6}B#CFl67w^PQ|Bu z-TD)Z2L>?npw}p+^Qkx1V+h{O<4d2DB{%U-zVU&91Yh8c{iS5cKoeV86E?*!A_~Br zi);bPvx%)u;QVATK??kX{Kz0Qq4aeYc5JUk-^atTs+^)asbI^J8d%BLILSqa6rtGbHMNt6v%my3v0aw)FvIl4A~FqsiKAZ_$;Sp&}QS#1FvSCt!HZ)km1-meFK z)*V+5P31I4tR!f`w5t=n>oU(=;;{yyCaobxR?NaA>vOj^Zl%vntnv`^%2ccY%*B>X z3+wrr54_wRM`q39l$!Us(YyRgB9Qr=ADdj+;wC9U*8ny6Hki^$&i$7x4dP*P{b8So zp!I0sz)3Z(dWXCH8W6zk8g7nDwyzHRg<3zy{<&=b8~$;1++8}pL{m1 zI7Djf?|0A$O^Xm=j_Elof%Vf?e*5qJ>40!ZS+-XkCwi}VVtfq*Z5*w^x$7Ob@ObW| zz&!v>tpuL*m*AYYv#v#o`4&J+5N2Vb{N`=u(1;=kgDEC1S2KVh8L-e~WjZs9xNedA zmoS`yFS72A(Ynfu67HV^yTrs3YqK?R^X`XJcD37ES>asY>c`lF1xW9{SR5zmj`HHv zV-ex1i;ojSl)mUC+QXDog6*m8xXmG|9+WIY8{uH$r@^=R>2E|xVRE4FK&!&D>XCLY zkQFys8D$HG$cEy@^{%h|U;Q2S4ShX78;Eq{37R6^b0X`kuc#bxRVLF#iTd;cSn~R| zG}46~O<0((3D|u;x;li5yJSPD8Ga9|h!dFmtpg}HF>(=oxkCYOj$fmb)`zI)W8sq` z>&rQ~?mv0Tax9XE|96h{B&e~vsbr#XaM)(ONUJh|u)iKM#lxstOgC_a`#KkrqfK-d z9$L!bZc-K|{0wN*QO8PPc@0*k;B5p4S`iN>SUc$@@1CBGnhVwqknSE2GeDJ-^qfLx z0A{?&{2{w>G1AD`B&u!2AD;`9bb@G9 zaVVg?*iVg7Cd5$=Z5O{uVH`35mYErFX4>3O&5OALu=13J1^_PF6a;pS@8Oi&Drev( zC5lZPs-ETwIy((xFNWtUbAi?^nbRC#pt=?eEKS}a0AkgmI9fSh%Oo6Y?fCRd7TnA_ zM%`@V4}SG~RJB38GNTsKI_Uwh?>I5Cu;1IIEe|An)o?KG#*{uZaar=*X?xNQyMvE) zB%|Vx3AACkyMA=tb820TKnV&i+rkNQJrE=a5Tg%?ja_DX9>1 zg2A>{pULl5l8wd$FmgK}$IuSwR>j%yw}y}o>!B zWC-Z077k5u6xZzJMxW7DTY5G(S1d(}1l6a5q|}~aEmS)$ZE!?TdMw9$_O7mX-5f0% zg(cVZwb75&;unnJ?uXt92sp*n6GLe-sZY8#wwUZ|J8D>L%5E(upZ$f0uRYWo)M zz$izw(?3BMIz$HSpa=f<=yQE&T|WOEj0`ZueZ;w|!?=>g<}^i&O?6F{Rt{&g|Kz9} zvY$4vjIT?t-)VjJFNOABEQn{@b{}3&G@q9jny2bQo*K{zWQ(ED9 zqWX2TVPGD3#dvtz@+@%V6p~77ms`Ew?)8X>431k9b&YfcjuZ7GOi-}8R}YX>n(5yD z1KGVl%=uYCj_hqk33dGG@>Lt(3b@LGxw(W$*-vnoW}eqDr9zfF3G}p0C6l|HCX)T5 zm*64Yn_T5~DGGQnvT4h77flD;44`8$`Y_!skxt1OJGEv`80UjEY9hBn}xmB#gpu$mM_e5?5+sr0muv) zevdj?L7R^qS@;jKo-p*Pl|RbIoZva;i3U{#0HpVt(4D`BT-B zEk)+FnxmJCRE68I;@jC;KvndH{7>=c0MJAnSs~Bt&HW=2?)SWAVyE?!0KWw>>tV_( z?%`5OnKb`Im!8#0>TP%8D`-(F#mdEQ)kHt^9o>%>OiW zc_L&wYKrxmSxKa{iX>@m{GgZaUN`~#G7)ZqtLwR*Ykluf)zwh+Q^Wk^6Xpx-YaM{} ze7pP#{l`$E(;J&T@NJH048MB}ufd}NE_JG?v`Dy!z<$_Ff9l%#JTB1JAF__i4Jlvv z*DdWIjncN_!ywS)+0$T0M4nWi{+#VH1adiaiB4D$rd_hKX_h@MWw z;*`^>zH}lqLHQ2^T+TD~#L&VAg*U1#o@K~fzcJ0iA(0LV1aZX22O`3cuFc{H1M$hQ9hGuk$voyXarpI@q@b#TktWnx z69AMCZ>`fCl)gcHkGnhAh98*GT`>&+ z956SLxFj1}w7svn4xq=s)HmTJV0E~d*U8pnBsr@U?XrD{#m0vzW?Z)g{yt%P5X`^u zte)!#{4>OeSW>4njmUgNolCM4X!!{VMbJKF>^iPf!lvrfN2GyFFw@tzH2oc zPu!PBytgH0aP3-6?uDYId8jcNce<)S5I_61*(?Au#^fGr3$?~oyeD2b_VVxGv_j8w zdYB?;(WqKZ%4xHWUsdsd{T=IE%P|Ad7n8rV7$0XMWaJ%`AE?PGV1xi)fv={s+hXK! zbFDvzmcXYtFv#F^~;qSAgH7y|~KD$}2*dv9mw&qIJW{oA3-%zpIw zW?|fF;Er^F6Q}tyZ&@` zAwmpe`{COzYYy}X3+VccWZH7V{tGZJAQGrTF%B(y2`nFs_8PtsyR^4T_u|w?2XD#) zUort=74sKC$P0*-!QG00k_Vax=J9{3d>Tsg9lL8-T7y{SYg2DK z?9CKx%3vCYsw*;|P=6#t$$v?PpT6NL{;Tm4ywO4(mf%Gc_hj9= zb76-hqG(FFK!XuSLkE*BP$C-_mPJmCiVeuI>`QwLJGlJ3Knb6H7>jAF{)RE()qj-D zPq83}S;*Q0SNPY0B9|M%(JYzpmuwl`bQl`4p9=k>TYfxihz$4vRLk3irGKQ7DL^pU z>ZAwu^hDia6N=m#yk;PZ>GULWvL|{?`a3FOuk|=C-@7$a0Nw@QyAAZw|Mb$ITx%cO z_wGhbSfnN#J6!OZwvPj?u~umXTHgq5bux|@UUz#5ZT1`zZb#5FwntJ~ z_i#6OYf$CBdYRX)@Mp*`WsG*#_-%XNf2OUiz_9~FmfvdM3KOCLqZPvi(gZZ1`?dRx zDfY_!dE0<(^+HhPVi@}qj6I+{6zUVF5cjD=02O@2$e)*mY!65gR*V+uj+KWIxak4` zAua9{XrvzrBA~Fye(|AfqTEt9idxJjoU^hNP@XzQ4SlbFWtl8@#s~sug${;5_o-S- z$4l>Vs|&#IvuKQ`}bU73L7h8wbfw>03a3s`T2aVU7>$+6T%wYYO{1N6nay)CMty6yfl>A$gf}Iq@pn`yToBf=8 zd)6UdsFZq;Q4s$S3A{+5!sq&8qKi4xhB^J68kIK=rGo@mxlcfsB5x%n&-Tf|#~jGA zwxRcape;~LxDH6-Of>r4qd3^_{`(y&5PZL{{fecmgppsq$bo*>>7?dQ4BC+UuTS@XYvAa=aGs^Wa|%;>WRG z<^G;=UG=@MKC$>M^|w0EYhu4L5KIsBSCPW;f;T5W!?T;Kdfs0rTqE}m&`>XZpZdBH zNAP5GVzgk&#C6IKp}>Ua$b8kt?L)*7pcu=)P0>0M9V)2FC~Z9S!{2Kc5S|Ixhk>Od zVOj#D-clu@neUoES17E)dXjIUapm-VdcXNwlq5Nt7%+cbUMX-TA3y;9+jtASDfn zKIDAch%cmjf#YSd)SA((YhNz_H%IxKA{dRI0k0q_-v+waQMJ41DezMDb_Sr9SFUAv zjau9_oZJT9QSc>>dxef=_}N+-$qmpVQMkneQJF3WjwX&BegbldMZ?8N2`v4}0BKVx zm!+8_hmg$csA0;`Q+;2&*oOSG=l7f5%n#b9y z-wnM8@o}HG*t(<|{?6^vIP;iPwB@i_<1v0!ZN&30+T|7#*c3KKe>w}n!T+6c*zH*h zS|2^t{WkZqvO8uoX}8G}kh3HVFbKFnDLlo%se;VzT{EY?R#dE-6n-=OzGuAxD;|ye z{9WKqht130z{GWiRswJQI051-CK0&mo@QGIjqkL>E+wytbZH~cIgoQ+TTi9cXM;dD zLGPtmz{`QxdYEL*8b@wGHyvGnKO@KO)(fx+$A#Rqt@Qu_lgR5T&|6~vBq!#gl`h146olc;gIg7m zLDvvE;%0KkhjTsrYGSV z9*u+eQY&z7Lwo^ZRl0Pd@)$aGaA~g~AA?Wg*vU(F9+&z8@+6y`N%34a94fC0yj&Xmyoc-)rd#$txQ_2iL`>f-G{d_BUC$ZJZ=e}IgQ_kF*3}IF{UxOSS%XaOdic&e0PH|c zqQ|e~p+%}>S_xaVn?=W~f;T)tf~mo`B&;<7MA;$|_Y6uAiR}>d7Iazs_bJrB($5Jz zF4Rz6KIOtIcDk}C|8&U92W{!!u_Kgnu0j6SeD%}_txT6rf_WDS{p`r z#e8so&yIdKUfbn0;}3JDEY10=$g9#jOwqP9!$!YyHDqs;H$SFtU!|49)1CY;7O$i& z)lceF#m3=H(R4B72U<`Mz$bIKxjG5#;*5Ug(`UUbmM5|jAM~Qr{DC5r0!3qVG{J~B znfg+-9%ffSX8E=z+-SGkprM7$U%40<3styQl=Rk&(IzMCHsLzI0asV?$~vyyj9_Vg z2kjiG2!mM=BE^V)gGjTUo+ts1(8Fm`kqsd&kE>0c+vu+qp^N8lgM^i8JGy)PbHZwW zOnq|#jWiT4^%=bA7DG*FXYW@cX$o(-5^d*m5TAWR9;vAM>E%FL4M)d6rg`vI-*YAU zF;y3w9>C?!{2ZcJe@oS=xmLRSTVs%7sx#`$rHG_X^WJ)yYr(rG4@G9J0K%k4(KUnwd>-6S`FtYzC1O)R z&qwh@^Lb+RV_Y07iEz{s0hv?;rUX}`mEi?I@0oYbSHAbjiH&5yg^BmIGN&m(< zX0qf{N1rulXy?GKP)~Y)m|?_2l_B^MBB%>3d-(?v-JI6q z!noYJM?_W9YODf&HU?Rc@%lA%vu;i^`;rB|s5~i&u)jHzL+FFo4s;PhYRKdlJy4ge zN#WBlQhwg*5rFMN7lvosuR%T>=x&PK)J&n=l}GFoc}{tU$6;|pr%0;|lC>Pt+$I%Z zL>Jvdr9hadNtt53`p9|B@&L2CC(e)Or_1eJMiJ|l&ESKWkEL;m>yz?jPt9{vhEuOn7{^ zL%q+TG$F8u1Zb|lsle=Mo{iJ<+KumUP*jxQQU;qUF`ey9MqPO0MN2?EIC>@IoAX1D zol)`B!b5a#egLG`hn{Aqey`<_G{tX|oy2y>CvYtm*_iyC+9K?0D`V^>^dYHHOgiTi zd}#wVfa5@5h20QEKYaaIGy!z3~PD@|ZkqtM;F*aiyedsCQ2W}hll<|CSoJZZNRD&3bF0TAw!P-*1t4fM_W z%GrVk#E*VaHoODK|3DRkk!Mp#RpprUm-qZ+o`E3Ch880ZWeXOAw7ceC&hN-%oJBm@ z|5_5??HjK|#f!e$t6cj^wha@(H`c$)E+yzmx3(~1L3@kBDUk@{0ZbzN3+*Y^nOi ze}Evdl6#u3&t`F*OM{|%-a7+FwU+ny$&>C1M9V@cRC$Wozl$d1X)e2O-WoGOLM`-$RE^v7|A zg~5N4${cEzqeL{$l@^6@hxKp(D{p@?N><7746?lkFlSnLEugZU=+=oxGuIRS40^7& zisSdlV)LD0Cy!^fAw1q-Me)Y6;m#BD`yA;iUw}MB%{4B=i31ZsGkub|=UVx=lFu!A~vui3-;dzW>)diKfP^Mra+6%Xb z5b5vV#f^euF6eLe z%_~v-&d8a2lC`mF!#_0Wj+rU%*wFUb6&W6UsxbxO2Zji+zojEu&b@K$ann-HamT^u z4XI^73l7$qSYG>EeI2d*GM+3J#pW>o;X*;9qPZ7utBf?y_7DMtu`Bb9$=h4HUdVQ zgYxj(nCB)8so)uCb-WC!mE8BuWLMt#LpiF=*wA|C_6Q>FqmcNIb@W&m@dfDvix+9< z6TF3^W8)7>!YW=(W}=OYhyxo@5XbA!ek5;$K4=O5$;?O*U^A$1l){$hUF5_b_Brl4 zi#{eX`2wfstRk%Ly?F#7%Df-*@!u5Z;3iz0$q=#YzM}c@JM7uz9a0pyfdy29&o5vQ z6iJ+3!O2oC$6GZ)uo=4%+07J%YJd;@RvfV-u@4e7fI@Hj-xas^5FBnrN!t}3Sfs)fFXh zVM$Va1N`pFx5;i!1NpBGM=F7<*EjkLFu;YmI!7xF+pb3#^xI%y+kh&@MbUJ;F-BiK z?69u*ogV=>Q^vf9J3Rt$Wg4(0w2K{Re|!LFUHf<76bg#XX+-?rQ38IZZm|CZ3UzL` zRME9qkYXhXcmtC}V%nBQVdPE#l106p0BFH$P&_A)V~(q49g>IQGiefZmjkeI5-?%R zfb&~rBD)D{l?uZPi|I;P<$lorcRQrUA~Y&U`y5=cp<2ry%LJKRI*V_*d^Ac}umBhZ zCcu}jgghyN=SPAPgOt4jaP(6g6FvKLI)vVUAQJ|HOx&*^v(Vcz{(iVGK8fh|*i+;r zBKQDrO#=?pmM@k-iC$ZPzq?D#Fkokx2;Q6x_{N%!<|^3tGceqDb2R9SnS(QOJTIo_ z%mG+ZaBu*QQ~B2wKsWllxAY}GUzPAc_-;7K;~Bi(_f{k>b`{!JRSbzVy$>O@$d<{~ zr;CbpvkucJ(%|+@H3iyb?e}c@vsb_!bqhcx5Md{1v~}wSufx_vvvssAXDOT=nQ?Wn z@}?d8DKe{+H5u~7u=LGxz~X?hjdw#1mcXg*#AZ!5U4dUi8r-3$5OA3mrWV=)rvW%- zx_ks^M?Ko0>9_01FbbIgo?%p~WKYA13Gr^hjSit#<0F7=LU>NQ(>>aCz_?T>PFTxXV<6LIhmnXZg%= z19e-eTk{W8edl3`Zok__`puh4-D5ZSonfBG=yET?mkGf9xk`ve*nW-F(5iMgn}~Gny2e_$A|)W2S2dtylTx(T?G_8(@NbIpLvSlo_Pr(i+g@gQ=r&ghaUy6 z@`O?J7*MY!bME1OgGqqUYy+0wr&-bJ);simrU!SC7gyqSNRM4@!ynziYD*rD6hku^ z)jvaSBK#BmblbOM{85l;_2;w_)DoKY`>?62yJ~e0yd=mxPBSVjXKSB(K%VShfD%@e z5Zfh4Sx)suo?x5_K|KJ0h2=YUhPM>l)-nQ3dqfhA`;v^r>i$$`P;aS6EbGTn$9=n9 z<9Vx!8s&<553N2yROo$7Oie5~F_O%wkr>(+ z=73U}(J-k3ZQ}PXjKWoPoE67WHzt5X!)G1IrvRvvoDV!*yNv?JG zP_xB(@kvl@J*dHp3Oap6fF-g6j(b7$H#o58S4xdc`Q;NgAlRw001~Cs_6wOK&NYhP zIb-L;|LV4|iQTuT>b>a?x9qiDp9Jwchg=>{SW*F76*;`+eoVUpma4lXQ7=1i_u#YUf zbuZww8%@?{suh4RRc3vOs=#HF*sdPLA_B1}X+dp~a{Q*{=)Y-027qwawwr?!8CqEZ zP}tp&e3P0{x~XqROeBL!$ta;R1EdHuqskB-?3KeS{`7 z0@yeu3Bt1jzzS>kCRH1lbCuwa`z}|*9(FV0$^H$kxrT`7tIQ=stBtP?J`9xJKly1f z>&WPC9w=4R1j@KEp>#l6N>EKJ0vuKG8CH_VMM*&|0g#8$<}x!RfFjeQ8+_Pc`j13u z>MO0=sFVxqjn~?6cC%b<++p#h%cb2 zW*#g0?7~u@2i7es*a$%vRIYcQ!8vIqJ{>#pU1d34)Iihxb2eSrx3%10lkMUR?2{Lp z!%3j*I4qU_;uCrN#e#sIbSKRpBI2my4uYRKfRV6T9If&D#vQSfs*|Olcq0b(#lO-H zp&GQmm8n^in~8?&yu)~A4jy~YEGod=A3ydkyCYJ3H`=L?9XJs`vu+ag+r{$9)Q<*O45*cM-{5>P))JDfYP^4v24Qh!Jqc!R#_Z<_$b` zQ-FiD89eKNXi^F%)Vgkn{613>59P~CIt7Tidm+}}u2u`C-`+OX*|KQY-xvaC>Jbc{ zTX3~067PngFwdnnp6?2kSob2n&WTmIBP=@n0obp6UZFh%RU5hUg#eGFy#(f8F2Hqi zGhYy~+*Z#r1af>x4nZSrPvt+pkK^Tkm6d9{vh-AY-X)lb+Etos#=33(t@C0qHEO{_ zpD3DCG2RaQSjqR**OdTp96}~nu|mAR5a$9qfEvID`!1C#i=NORN#-QjCR5V(4ZpXE z0W{&f7dd%kbP8r38D*y_1%jz z=s~tQp2&G%30B7K>;(pqb}Cv6c|uJS9=s0UZtI_)Uyt}mGk*Ed9(;hAP+@PC(W$K@kjRZQ-+XfYtjvr~a6<^cvxOD_3tLkf$2 zJ;Ou4U04Z{wUJ6+os%zu*Q~@JcE*d$Pi_F!3u9cEp)DxgP%0TqSO;Vcs??^`&UzeT zZVsRm`EYzyglD-f)gxr$;m{m+-iYPy>Bx0M?43l)qYy z?Ih%DtLXY+ddvwwX?v7Bkvl+U6ndq%MIw54(U{;Tt(l?a!rs_J2#<6mO(NjEewqbD z=c7)Ye76m)TeF}z{GD7!#x{p?eVAz1kWlTx{PYQq_uGH0%mj+Q!Cth-)i6J@C^4QC zqMpb!uCLg*TNt7Q`s*zu(1JTrPfLZ)>;V}$h@4`ne3mXpHXmRyD;-zgX1O+}QFFRK zHV%CI!)^n=m52tNy!5>unDm)EXv2Of#`TNLbq%kiNS5Ha92~`*SY5e2Y9iX3%1WWq zY0|H({zfSpwwwSJI|ng<5VN4zicVSJ$h~m~@OOT{5b;$;cX*p}J9#1c(~E(e!f!t> z(4xT{#X@NcV0Isf<*z}mJ$bsfsI7GO+v#ayJtM=(Y^t zk2P2TGyTu-&O1;@fs*7n5zaccPg(>zgmR0@$q$*yPklrBa{y}Rh2(|tsp016 z8(O%I0{&NFh$;?1Kml4?ky_R*C=OrA1O2E@+sLkUvG@-o;aLp43=F*48OjRe2i0K( zUb~bzJzA@j`TbY`Xa3%^Fx>xu9-DE$5Up9Z5O}=ug2d=RF$q|j0TQVX_kD+Y!j)&A zD#q0_XiEr~fYL~q;X62Y$H4M-8k{b*QlLCjEtSpk`Hf(KzaR!c5FOpD0r#OFvS|kN zTXk`ab*?K`eF{i`ml_i&G|A`(x1!|-RE*>6i=P^Sm?Ur=Aef0dHNei_j(SRpR?#UE zG`0(x+h`YP^c>HiDyBWTn&9Jq|6}zYAbVh-!_V=3ig|8wywO_2Y$!kH)-To+OdiZn z9gQV$Bt6eP+L`4GY6SF^nQ-pKAQnh-%+*3JY+w<0f4z2aA#e@4Ye`jU>2CetX z?L!zL%V=Sz`KN=b(r|iaCQkTI%1ftj`Rszcwj7kYtYQSSporP(B(nMp$SJqEhQm0| z*NIa=HT7NFX#r(Py{KRmOiCVOmhHbu5lT1K3v=hTPUySZ;@hlTG96!>#W3{UMW^1k!t`duM&}oFIS=1}&b#%_2U~#U@)^|9gPh-;mOzUzo=Hn25kdtt z6rc?2hUY_3)(ekmobjEJFmoox zJeR)(`2i)%-~KzGXIoU@a$0)aR|*5$PD&(w2zdbnYYX7rUj=s7D4@CU@c}rx5O7R5 zZI>mJxot9!HpY73+2uPaP9-WFKMZk|vwyP5d!o7k;qn6#R!epkEp>Zuq26<{j=Wr(akjS%Q1K^$akBYku+9%+GX+jC!^wUwr;GQfBx_;rc!By`^B=0A4@4 zI)u4yi>(f5_qKsBr;6j7CcD+62b(|u+euNp`fs%!qPblU5?pNL?Tve!^;aJIPpgNh zFrxelLHjr~b+CG%AJ_sztuQNY7zf;|cyZ(fu))pXDMw!_|MYjz?Y9ZFwc>=%SAjOE=Qw_`GrV-kzj95$^|_6Jc>hipT8?|jOVaDRq-&^JXZ!R``g0(e_CTnY2A%-fH@*% z753q5e>&;lQ!P0DH1a)v6F#NQ;MlZY0et1oki?wxD#;Sf9ZgZ5AP+dbW4wjaVoJ&F z0K6&XhMVX0JJeAO7NYegvwo9!e^5ULD4T+O?r%1SS3gqL!yBDqFh*|)V8o2B+Vu?t zN!!g_^S}SuC0Z!aWm4Y*{=T@0SI!#S?P1BD{>q}@?7qVV)9(h-a}nerP*`-sAEOAp zPqB74a2Q~#v-h_->4a7HuXFGIi!+Ki341^8B|9BJ%qBA`j%o~Vn~hYsck?BW8*yRY zz@G)ezH`+Ufo|~wOK^%Uq~g=3_C1ZmSL*i_UyG-=!cP+XNeKt|doo$n08iZxddS{SqQK_b;?nCntTv{P;T`F8Woa6F= z!7qARMnxP(K>#)H2$c&fvvnnB*uISTz=YTEdd=RUz^ zbH2VjI|c`3S{z^N-t{GbTGaus@&WM*cpYaOs5~J9JOH}g_QQQHc_f3@s+3?C^=D58 z386u%2@3o2#nCt2_m0QG8zzswHrSRY90BRrxi^;i*0=J_du4CxR2(+F-7WeoV_l8y zR}_`I#O6JJH5x<~fd-2v=prMK)D-@jfbhxa>S9+k^>nK14x#0Wxft+5k{{*&vteL} z7~;Ah3*~hFN^^1io*Ca+>(No4uDqFMnSp*{ee*+R z8srcbEj}pllRpXcgAau#py{#y=}a`BIqfEx6MoilVBK`@3P0*^dS{g);M%CgW0%R# zW1Mv5shK#nc&us6T6dM+7?2|m@74Y)3zin)FLFrS8)^biDvg($44lW;f8_%&jy&Z9 zT5Jr*A^4kE%auR^39{EN<*I*j`}c&&1lF4M-I`)T5AJA+vv_H(a~j7`Wj6`@(XfY~sT3gQw+9vcP~KAOTYCB%bMT_p zF2ZgkAe+YN4LRq{jZaSHmRX62F`QdF&rUW? zJ=cq2KkbxL#HqVF_UX$aiTP}g$6N064cg=`wuvou?fa$-h(`E+$T8$4z2G$nJpgKj zR9NX;v%j&{ffGiyfnvN0U|D=61Jn?B+gf~T4M&MqQu_i?}-OTUD0+w zx=*h9D^5}m-jA%cHZ?JJ2GUE7Ik_4=Tu6E?YP}XzpB`I*b5GHfA{@(&P`wweT@z}m zA4(}JE!_qPhgocH#~`ya_7%LjJYaP_Ht$VfrK}#<*f0g)DLw&@?ZeIpvIzKXjfA?D zklp~Wf6gm7YAgl_Nv36#qO%&g)sh3=j_SSnTBVn5or=r?efm!8NiCWO}Ahwi{ z^xQKLqa%HWWF$lkO7+7TmK9C{#?d;M!8%P7-78P57+E?b`m}ffL?n`tnt*Np&;a&e zNb3YiZW;C88Q6Q?yt=2iwAmwnJm$hNniA|jN-X?F@zQ9h(9(9v+v?j=!^-vUVC&(- z%kB9VZi?_HX?q^^-KUFzLJ@aFFtXYfnn5)afUoT&?7Tif@LVcl0W?6~0?M%X`)WvQ zE@d1E~r@$RAi({I+(N4?BaY1Scz@L7ebigy&}xAUA%qWc6w2;tN#4c<1w^dCLGT>KtgD z9EtAbex&k|mm804{5z{GmwAd2N!i(f|PTf;Ip%j43)uWDxbku zc+uB){w&>^Gh$y3hU&qt8+YYsiy?bKJ8Mn!`LWxV+S1!i7R6r}(~4eWlXh=qh#tJC zvtcfy1(RRvE7XfZjy}RJ7LzCz!MDS0XlQ8nh1Q@si{*!PB2AP%eWQZ-}=OCG?H3 zs*XCYMjz)u|(5R=+ z_D*(&x1C-&uyUJ3E@XUszUC|VlX)RSqO#zSpA`aPO@O|Ixp{k~#k9P(c6e{E%v}PO zTX}h%XpaDIoPatwRPoQ?g&ra&@Y~HUp(|9C5wjq;hm-k#{}Qg``9)Mic`E&FPw|9G zaX`6i+TB=wrB>0UmRhy|G1wrbkM+n0Stp=B-UInSrQQ?pBBUnh5Du0&yiUXIAx52S#DeTZtc6wz=*Cu*< zA%S&|wQ*F` z!$vEdv)}yJPj*BQDeTYapFRRQTZxV$rhcaUT|@ir?IwB&G*p=A>`m^oxrP1G#O79xQx1EN;*Nqgnk#?y}6OYAZHh?Ld6x% z)fkcd@+5Oh!M0$?Q{X_kNaMvs3B0=#)o8c+97NWMlSfVldn!)uLeKLt zJo&Am;Stfh-*yZiP2(U+z&9S8<+=cDZrT9xAp{6%{8o;@UAqJT3xtMX;5_izGVv{J z^waBXgTIri|2+M;iY@j@=g7Pd2R)%EbFv=@LaaZZI{w_v(&@3jsoGQ+n#aO=U;5Na z)5FUz(1FWjG8MW;3qPO$Zm5)cZ~$*#nWWfAOxOs5cvubC_`3jv&;<{P@^^fgy?P5X z$B$xw{l42oVB`?<3nvcFrYrgctw-)oOaYo85QQ3wMz~uzQ(hlUCh0n@C1l#oxV5vO zVR3v`&N&cCXN1R~k0W{Y9u*Z8r$9NWEZaK14U8??_g8vYfi+KdcJ|u1B?ZLZ?7?~h zxI*Ed=bZrEeOy<19h@d#ZdW&@v#=mKbhFGVU-a0wQX>9##7zl8@l`zvDOsdN)p?uf zm!r4wQiP}#p>`S&u|T0wlm$?r<-Pmj$H^G|iktQ8%IBXz|5yC3XRQKk%mSlqoxgLK zDc4+DfoVpn=Jmtkh-I>uz->YM>tuo4p(AkzzuUeB;q_IYOAJ?a%<07vsd)9Gm+)7~ zxUCF@cBW)JM1CpQhR-f&fp@~+%ghnJ1_%}n4b9qcZK>)rWIYC&9)Z7`V=Y2x3~+)k z4=J49lRmtktv_);TJL9aUQ@V3$EdC%GG0} zBLRn%66RB4HZ!VD0ipDwF8CYlSpY$_B3AWc4YArRNv~8x8E>d}==}Y78U5$GSVlHy z{zRsu`Yu>l7E{-hx>L^YNL?2iQF-5G7l;UXBD;t|i`2?dL2}Q92k0L%FkH+&(4>k= zODh&M^(F=D`QK-vHcV)eYqNB3%xKryt>k2&eXxg`l1H#&x{|B_gZ0T_R}InLaBCmk zlgBUo12Nm5)#0!6x~^@!yx7JW+8yEQxRbH<6w>|(p7ns-kJxTdxbB|MgV%BIzxMQu zFgjuT)pCT{$^4Dg?a1{^SW>AvKHW7QEm3t=f_I;oU?o^|_Eev(#?fj65yfvr80u<4g$;?6O2= zdSwZNH=%np+^^*0tG>OUw=6V19wb@FXhT<2wmB3DsUe=Zu{k)>aP08 zkrryfkx-M`i(uDA^}tUReH#T!U+@;YeNl-hp4gd4WD(39uH1Ffy51ThA~& z!PIAha3Gvc7(^@p>x3`h*8&06Ngu%cE#TE#pRzJGO`DGUxrK%8K-cGuhD)_J?(_e? z9uxP~lx7GAR=;m~CfbjO=%`vO2t2Mw>$~Tr+9gGkBbh4cBTH?bs}}8V4!BxY_5uU1 zotwP5o#mDS0!?N3!)?v47DOHc0#yjlrxWkBH@ozuoZee#v&lpzYk7{4!JM1ep`)nYnkbxe=#XJgOwRrmJ}g(09RF-?Rnn&7pp?o-sz zkhC$S`Q0O-)>KoQ@C3HwGyo3a;ixRX9M zKf~iN(-Cg_QG6@yHeEoKz0KV;xjyQcGTcs%ibG8@_`K2HD#*`|eD}_$u#iDq4-k9l z><$57ue3t*K`t#E%ojEa$~n_1osT@(?b1V$zYAr8R`OxK^ILqzR>6_!Sm9m+%jvrY zy=UWdA#02reNLX@wA~L-wIMEAF<*MsyXvaF0v6xNKL9hdM% z3!PCwN2X==v+_}od5_{mx{a+f4Y$dQtIxH4rw(lk!;+Rk}*uh_`RaovGoT7_&}^ec~V)y6~} zAumG+}4igqr%a=pTh&58(;8t07SC;9s||;qgOu)1;Xet<@YVJ?m5w$~z<0+n-y8wiLyt9mWeq`jX-m z>aH!E-gB60{8%P7#7OmKa6w`}oIVLcWuiw%@P&`<64a?S;Jsc0piiDKE3Vwz0W9oP zDTX$NY(RccM%kJK;u(awP2%@fO} zD~B0Cp5q4B*dE{|FM$;B3!qj701cAnO9vd`T>3YXCV#K6&oKF`9?n9~eG?}V%L!XW zrJz?+>E^TYnbpZJHN$QgXTytMzHBB*p!^z|K^;opYO{1FDpnt56SIin6V`EZ4zt$BZ&sM4kjL?w(9`OK?K|GRi|8e%rgS}>EctM>*|pQv2+#CI;de}a zL6PG3M(2Yc)$J-BpWF0Xd_nm;62U z@2yEbPd$&s*>pfu>ApOm7RgGd^C+V9!={0U`s;=l&WLkbmHeuLgO=<|K?-NwdT!Vb zKcn?%q+Mo@ay3pW^NA)jkIYJb=84}vT}3?>#9>)4P6^C_Nt^f!-Gfgl-1_VkXt{U$ zxaQJzns%*%;pxCbYH9-j1Dmb^!#N7z`xpRlXxW$k8{$xjy{|E{e{r8RLxc zQIN8km8T&0Ncr`B9roXLw7>6i)2Q(x?+0pGLVX;wo%v6@6z)dI)A0VM`F+D`dN)kNhK-XML-b9c$sDSH8~d)}w;nFGDm7Qmwl1(akQxbQIf zdt6M+JW$}HM0dR+6?TEp)6^hQ@3;oER;=mvi@(D{~Y>iM&6eLtIxNf8{y46 z@%u>w-y3pqHP)`hxs-TzkC~^H^v?1n;-?VWgdzxE1mQaV^v`h4n{67Qu^iegl<2Ef z%lE1;aInyoqsl%OfT*<%2)WF)-HI;tv$$u|^}*kZ9A10l;o}#ad6|RO80mA~^@oqH zlai83+|F!g0FFG*2B*5h`&mlL%6h=4Apf!*079SWbHR0Lgt;F2Cl0fCza`_!Tt0iW zThk!PB=x1FhnhUcallWTcShT-u}sq$Dc-zDS%uZ+PH(e0JmJG6jQWVvN$~M(uzLIU zBSbYZQthUaiYZsh7tTln@}APTh$77i@L(7moG1qHppEx9S*HeUi76?>ZlI{G23%k_(BKnWkqlg<7oFvF0agfVgV5b2Rc<{-}pyo}4dti$0r-$H9(UGqUJdHBVn zf2w$TbFZIydaujM=#{mLlBWwmLQicPtQSwUX}TpjWBi|l+m05x->)#!2`upNZTd;Y zK71}CI$pvaHNL95hx(v9b6AZWnkp0l5pnQG*+_HQpylA&1#=^AX~~3&@xTutl1ni! zo_o)d)`^t%_4S$d>zgD)TKjRLSHQXY6}ZJDy!3ZZ>Q-rlxtA9kl=c%k-#u9I+2k^~ z>q5fAP)1^BYhirr>XmrjK57x&fyr3*$tY15!WKd#6y-$buU2lzh;@r{p8{urv@XSmm=QkMqk&OTS2zO+<-p{Y)u~toM|r zi|ubcQyb_-g__KH9+FIdf9;?pDawyLURI!L25r_<4k& zc<;Ps-5oT32Xp4-34@;*p@xM!os4u3KRawQR3}%W?y5(QpU4|x@rm|fXFJL#f$!aW z3e!U&Z-{KVx#q(ZytKZDhnJ7cd8lM7umtLNzuw+nhfj=A7nYyPT1|J4EqAxj+b3if=% z4S;;Y`>>bybEyjYkf>w?Y?an@8&K8T;IJ!*Cn83?7RA9Z^N2_{X5`;-Io%b)(6Ila z+BC_rwiNr@bLAt{y1JpWleStZ4z9>1q<*1LMyZz+*5{U;^!N+;%))&e@$z*$vQA0# zmtSR6vQPL#{QW-QZIem*j?6wbas_L$76mVBr?)%ThO)*cUKVKvgA^azamMCpplWX- z`%~wi`eQVzR@Dorv9mF1&!^2OAk&l&=l(@DUW9-kmCF(Yqq+Fz(i*0%fWpMCugOzn z{XQ_}j z2@tSl`-_%$rkgVY4rQNvmfG+Oy2oaO`msl+mc7;Toi0BwIG3n}Dls8ij~DK{B8AL( zeLSeI=yJaTU|7tJJfewO*2c#!eUWieaT;!GDBG8N=OJeZG#ys$=!I}g&F4l>(5TxsV3u-y~a%!m+r7_mdogYFHqHl z9MF{#dWi6pmi!g-%oo)!frl!;pr)W;7!YJB_=Ic&`cVt0<8rSpO-);asZ$9Y(t!ra z(|Skm@iX)3N(|t&7l-3Zf^mQBoRU0i=yRyK#_#fBF;?h}8fAAAqr_PXhV{2|+>Qiu zAPeN}C`xNAh6MvDRCRlg7Fd-S_jJQIh znQEH^4l@;NZC!VF{$t<>R>Cg`w4q8q@vk^tP7&!DkU^P&z{c!E~5tmN;l zhR}~vs9B=sjI`;AWmu_naI0M2x>;!X`8t+#jOmFoN6p^#{&v2hn2k|%naJC*(6*;5 zOMW&DB|s7&Eqj!`o>X}gB&+kj(3Gk59&g~#>PbGT0K1xEq`*9ZG8apZuD+au+A$+o zS8qtW7*x@&FHMjPo)vz0KFjK?hU*7d3Pd|~KLz~zHjjKb5GU~%)sf42c*W&S22#W5 zi>eU`2??Em3pOi|);v!JA^l?%c+B}1ARnoVoWwbnxs|LB;wQ3Pv~<|_6n*iXWsh#6 z1YR26HRiB?o3eK}js; z3556yKnf(^v6#4=Q>S5JVPTy*|N7(m0PO~siU}0 zDis&qs-@ER=FWE{le{AVKXQ>-d7{r-XP&Vhf8SR$$MB2itZT@%aL9sLe7S60>b#dJ zr@~e_#&J93i&gQo0@Gsd>>U<^2#ULXn~lTwhS)xpJ8&e?$F(X{5cl10%57)Sjwr}^ z!(zCqM%gdE@V!c+fUiso{QP1Hh!uK9Mmcvn46#o^=JNri|2M zJ)yC&U(aEht0nxv)w|u zjU^(b;1d7T@p`jo_n=d~qVes!yJvj^Oi5E@(p=y4v~4Qll2M~k4QZ|BGbs1%HJDn} z>QMV)rH3?Yh{L7cHtEbCa8KFppU<S)zFn^6`j|xQoX?S9%j(gM9hASVjb2kFejjpvt5OV2XPI@>iDVrDg3p z6#R=86-qT3e*4<>>`ObyJoFX7lMj~EPSiJCGz-a>i26CkZ{Utd!JSb5lYw}ZaAEsj;f?;xQk;4~)?I9rbX`jnu9 zF$fk)p*i{aceGpcxz!`CbX9+Ur94F8M8mm6?%7%1*E!F09G}Xy3j-|?h&kF z{k#qJT$;!CToS(&pXDt>0t;0u0;2*9+)PA3O@};q@W2}QnlA$Vp5@Zn8*XAJ068@K z9Gd?@FNb4UJIqP2{a8gA`EU^75zd)t%H6DIPQc$S4NwfmiTIj15hiz6SyJKC?+ zu#Z2iY!sbibWgA1dwBdL6Xl!^5;SvZKH$Raa<04GPSz$+hag`SF3Cv+Vm9=ZH28wZ zI(HBWtdGWC7Lb-8qm+kZlJF{x5o$Jh@c-ydL^6J8gdXoD5zz_2=%)peX@4@t0_1v3 z5ag^RCb#q-7tJXgFy%PbN>M1titRQ@YtyXSm~`bTUsRY`<;ZsU_m1TUbr| z`7yYu(*CAb>M~3@lbMHk^niMid3Z@=93N36-2~Du1GROMj$>%S;F?MQfg50U?=3iI zl)%=io#l0`E9zj;F@OR+IipDb?BZ3l$Ax)^@gb@ugx|fm4c<3{o}sejtMlEjI2AGD ze5~=L&0hE=6!SKQaxV&vw+9}@xV?$})rVl0zL-@ zTU*=1?tIxMG3bL%rD28NNB@<$mtOj{Ep~^s`K-b@%w9KcAN9xfG}e!MX7SYug^co~ z&8A0n*``mm_@(k@-wu}!q?@mx%m94yqZu;i%TKpFc@<4tW~;^fPF@^btFA_%=_D0Q zh4wICccQLdvgLJg@&BaXMUYdksr%lx*dbM|U(nnb zNUf?U9Mi7zo$4EOj6c@RY#rswVw=pTD-e(@y+04%p zMa3`er}oQyz=_@y5<=EPR=FokfbisZSb!nxOEfF5$a5g|G%;e{@Z7r<=z+g($b8_g+6z?;T^L?fCb@3)kl}VbqXLTMr)^pD7`E zenh?(GzrEsOC~Zj4lQuyW;IHy5)~KTR+8leo!Lq?hHk2*bIkM_@Djz3`G3B-9GyvQ@D701o$za;?VXOK4 z|60x7mlqTHI^6M-nNE_Jq|q>T;WS z_6k-!f%(Hw*eA06f2{x!m2u^bdQ^85kENbLRLDC!^a2;7gudKotXh&LLU7EaUy&~C zgZa-2R}#q>k;TgDkr#G!h6hZp9+y&5`&S8fMsI!q)h&a)scT8$JO8qf84coT9eNi| z+a$@)sXQgpi5BYJIIX`p=b{q-lggdGg!vUW&}0ACuf)7Z^s#5VO>eQ@ILg6Uf4K78 z?LNjSLa6#I$gXf#n_Jp(-c?}iwx88|xA6&rlgM?cX~6bNy2UWgUF9qPv92vW?Ob5E zHKk!RULb;t`lB)hLid@?OQsdsGAjHAkM^J(_))xur%1t6lA@t)@w_i8z37*nm?eqe zC8(QGKn&BG{(lJ=)R=nwz2Kd6)WBL7KpFSnTNFkMKX^D--*#{` z(dZw|^3KSnus*Tv8aPd7APo`#Aa`5a0#~ac?U(Qjjn2_;EQ-T65wO`Ax z7n_xMqIpR~CHahbu2e1Evl)M2HQ8=#nJtD06VNU-pasWsnkL&+GsZ0MF-E4Zge{ zc{rlGwuu`q{nzWs&G`xuS`r&udgik$)$!%P295KP(YO;^tW){#5&@nK62v(T#S$y;61I3f7aHsgcQ#?tN1U107gb=87Twds5&t#lSpDGy-lA zZfmT@-=Z`wo(FVu#E8koxbxkO(P`^mn*EUW90A6~Bwlm9&BE}UON!#`S6lIyX#Td0 z6}nRoR{|-R$^=>iuTdKppWz!pRygR2{~8tE-xsNb^?&X^6CH8b z+f$Ut?%i4=%ezEUxlZ*jwp~pKTw|sjYekaRhV^`a+T^)vT{CI=P)#}akA=NHD|lXd z-MG54PWz4!0(4%6q|YX$QdvU>bI*k=#bLYy#JI@nUSyH2iR$jwufV_(vFWNj_jU$lPKL^ZhP<#8`d!1M9@WRS7G z6Q7kLe_C^VJckY!n(=O`gk~!8liNh6y*N-mEFP$m7qi4-5Tgv!Wz4A4;bEGZmd+c3BtZmO$ zDI#k6<5#bn_vh_%qs$J>lVQOfgj91wg>S?fR%ed+2_4B5s3asdYL@Pq2Kj{BRzLb1 zEEIMTikpbFKB=Vi^sKYMP{V&;sHdcGz?8HAQVQ|VR09O$Pe26GwuC^3W1l42sE{4A zVCDGpgMPgu{P(^M>9md(MUO0~#9Nn3jHG$$6Fq&poy*vb?Aa5>ww{dC)&oUsbjIq5 zYEpC~BA2IpS%%lv1d&@cw7Fb3^K*h63f>K$5B_bWJVpEamv#R8mw!qvLsv`d4;Id} z3^qRGOikA7HJ~C?mdsjMI?x?&ITd3Ez2*HWY^l2H5L%cc%l0LH{e!`zmGQ`$baMmh zk3STYO|A*3Oq2?bUlm-we@Z-9G*q6~V5s!CB*}c1(@w5mSzKM2)IRx5xLLGcy|W}H zGPif&Z~uIELBB!ewj9|Iu^k70IXYOJ=OynRg5VJDG1 zfYC4zLQsIo`v$FK_;sSliuqpfTyfuH8&bm|_Ksw$4^gYELYOZ-N#yzm0$84F`-5>u+gqDr*KCK~t5NO6BdHKTm z+@77m?A#^3{+Z@rD+mMggppcrEp{ny_!%ZM4v8X7R!lI;NW|H@Rl<; zO($W&N}{OY(Go9ZSewmxcW-~>GR-DCT=7krw7I-Ucb@Kw+htc;K_8Zb37+to`K2&L zv8P34vSd)&lJ|_nAyQBVk4O=h*{QLUVDEncnkWIvcp!OsX_)nK7qE9@G++KfD1QoF zO%=O0Xb*2sSoFnt(B>k=RnDkFnZe|GzK7H8 z9|U&BnMM0RT(1^AN-915vWGg^8;WE1L!k!?dxtG&{rbs=y9|NftUz&!|F?bpZ%Xcl z-}iRbElu}#o=y4y_iFOC3^ldC+fpuJ2BU5UF?5FNzP^fxlrw4PXmwQn@gmzHKo&oN z_OjMl@$ozx>l*DNs6r@`ZxonZlFvLo>xDAh*g+3;NBBw~dI|K61RhE%?wSiZ0& zt^j%6GnI6fc-pNIj7fSaO-jS)ZdF5>=SdVL- z#k#7V)-wf3bgC3?U zCT5zq{6lp6@X9CgOEcu|m9=4=r%|0pj5WfZCiQRRTrH;QK{+K(+9`8!>q94=x6TMbpb)yqBq(bhAEiS({Et%kMl^teiX64j(*fmRLkxu38+NJBW=q6W+?1 zY3&iMQ}I8A)NT`d`LSgPu#d1OpZ{+#2L~Qd%YgvEds`f5@vJ>fOE)1RSjoE%(kFGJ z0x@Rm2==yUl?`7$Y1`&03N<@3xIejSB_Jfg5sfQue@J@ZTi)Q)r}8Pe*u!Lg%qFJZ zjLKT-pMt!&r#P;*_%GO&M)P&QILy#_BDyF=o$XY=B><-)5QRG;3Z zhXr9saWZmtdrH|kXJuRP(u6I0$46lWlIUK8=vxBpU#Egs%mGwfdZG%g_+|meYd_2PrXN)%-uVw@j;bZ)$~PehoZ?6^6_+c++WC9WgsCX(vQ}EfBZE^yv^LXZS}-3r2yw(GA- z79H(}tUenjrIrUKICFF~_UGz$o0-so63ik?hjCJmv%qQYy^yeW_D!Hf-^-;$$4OQslb4F0;rk2XG-1Kw;r?< zlEs8hskvG`QAVvYeLi@e_K~0NaIZGL{gXs_N@W(2SQQGP3-33-aLC@+guWZ=KW{&* zX%2fL1mB{xdv6wo8Y|&gWxog>4$d$`OwqntyOkK1LhWl&Vz=^tEbLB?FD8BH@<;AQ zjPHAC4zG#z4@_3eRZeRPgJtg;(?f@c`^kuaed`63J+6A}(lVMQ1TEctnGXXYCw0?C z)=Dm;UkIecOc_ihvdE-K`pR`4rG)E0=dvZDvNgZwrRjs$8Zv*l*x|b8WpaqWrZ}z( z-c44L(_F}$`S|d-M6ub3m!`{F(*!e83hqcyGQ##bUvb|-xQ4#^Jrz6C$n%H%OVq-Y zR*QA$MfG*U*+@!No2>ZMx(rZMw!L=5^@+M?PSL5lP?A~vn)U1^2hTLQ-ubaq0{!6S z!}1cGlZ?^kJk4TY`}ZzE8j0wIFipXsw`nQ+;mxfV;&8-=-;lcW!hk?C@o;iH;&6@4 zO3}no>d&Y$R>^xmgibC}_3Csp;9Un@kx1JlW&=tcDjHL47e?$9qSxf5iRQ!7k;(Ku7W2&UL+Q+s zLqQiWvpGPEjFs2oO?|AZ-I7sHr|?xFkBS^avK~(5{x@cX#TNl@@#QSV`7MUYg@HDt z78v{cE~}bT{_tG&x$UM5F#?(mXsJCWE8d2vkX$x z0?ZNIe^;I3;-cp0i1xE4-Y_QIwpBX#i*q?AAGmf1B3R8 zQW{%6mOi3f%n@`Hyq1_lbZo?6xx=bV9IGo|-7GvDULo9P^XGTQ1skGw*^E+;YOei4 z<;H_1qJ4uG?C;7p3Uyxv01z-sw@Sqqk?+LE=VXs;c%eU#Iuq!7CAz;!=@cJy_z^+M zG7|hL2(bq0$0%);$gB@-e1lI>jYiyfq8=ex~{Q`3k9wcKAnj|R+v?6#+1 z!pgx(cvMJBTRZ&f1X_1_3zWdEU4Gr}8a%WE+{}i@KfSpBeRtsSzr2t@YX=h$g;Ja_ z1Uzfg={Qly+OIaH6yAV=pjv=qs)!13XgbrBBz-Fg!#@0zJc5%M6+!G27!@HmdoChN zO@n0g@+B%@N>SAVAc1as@8XkZF?FdXExgUgJR>F8Nh`@lvGkV2D z!x&0;13v%jZH7i5ZTpNw>q#walmrOiVuoN*Bs+FI0BG(Jz;P}E?pN9Ns5Au8lR+*g zz}`?axD`GvdV45Y0;X{M0iO)M-4>@l4Gs@HDig}?&dy}VtKD@D0RMxvtn!u9A^E(F{Cs4<{2>IIuI%oA^wy!!-Fe3qL5BZtzbZ!46ZB>sVVrK5 zom#g*#~EX-=hIBhnA^0#KYJoQo{TD-fb97s7)pgt7lu6?p|Gja4b1G`YY-M29Mw6%mSpUaBsQn1&=!b8Bzeu z@L?KbPQd$gZ!>ma?*bRw4nx%pur^@$1KtNb>pk*4Ftz^yJQJ7)%{Q!G7k|=J*N7KB z?r$_EoQP(zdZGFasjOS1NeK;`HIBim)<1o`ZFhax{a`l)$na1zFckD$kKqd~R$Jl2 zWUW)*O@n&4r?ZM{R?qqN$<-l{@>&5)fyr|t#`aB`_-=<&eBAFkcU~OuT*9A8PoKBQ zHaNk*(k>{77MOGJf$bpFEse*9NG1{z0OMK3lC9gNfgzqS(gXo&+lV&>-}+X+j2KWF zL+*hl7JaHkObF56MXQvAJrX#;ze&#M9T7x5bEN$cg$fcVjyCd!G~3y7I2eTB-^=AD zG~Jf2$4VS6xWo80F3#wDZ?1Q6a8kU?cqSOo{62!shus76-4%c}i2fb@uABiJy#BDa zz`;gx*@ur#kw0U=AK{Q-Zg|NKI*4n7%K*2{1P0I0eJ)o*VO$5ol%LSZL^i&@T3xg` z1>;vMFc9+f3b{lrmH#b3`g>fEb8~YW0?}VNdHHs5;jtQiryth(1B^fgVB6_xDiBWH zuX9-XE)hB+a-o--pWi*F@qNRwJ?+BSyTZ3ow)g3^=hC%y=$l|EfrGW{K-Let9AGKl z7`_(=iK|ec<%>Toe4_XZ06VN71F+?TBM>zD#xCI}YTAoKN3>e1p{e;yyz}X^)34g4 znxKOY6AGTKccQ%jnRiy_~;Pr&Td^OcdMi2@ZBkA*VbIxJaor=Wgr7_{lx z0(5heK61aT;g2Bf3AqF$`r*Kd=sJ~aF+1_yJ3_&s*|I@>eKIaq(%<22H-2hB|A8S# z41%(qc8t&N?fY)e*=B*v+|k*LL2>BP^|cqFXn$z_C@&x*A=I&~ntQTTp3J6LHoHYZTxy}tPUD1Ptxf&T*;V6XQ7Iu2Qvw;7bS+DHv+Qs zHdQin`houbh>u4T@c?g#3ZrHwe3G~1OHki>aH|Cm z);2fk5XLCL9r?-i5-Rli?c1miSb``>NJy99{fmRDq&PN>h~5-BzASZ8UI7F_c|qe~ z^lR)YZQBtuKPdySpnE-Rr#O!3BqE`)lW|w2V#aqg+$1P#Bnx$ zHG8(j!==t~lAKIBb#O8wMzy`Yy^O$0&fWmBceo4C)Dmiu5lRs;KT zWm7H$opx%G-+Ik-oMgDoxK@)E)#O}k%x)w`yO{+`iCKzuMIxei2QU}BUNkKod)3>C z=p$}eU28T#G<7iADKQUe5B_XTDQQPSpO#g31(ef1dQ})#)Bm;k0~JPksIRf!Nt9bu z{QXV_2z>4q3MWL?b^W{NseDhzSf(+FW%|DmFe@Da4CJ>jm_V^o!@nReuSkmSc2F)V z9bp(dmyfafem;WmIZzL{&60*N#qO0eBO!4h9c~V#Of^a#H-MPS2?#JjthTB)gx~4kOpU+L?l-JC@f^0EdnC8CO|(CJw*Q)U6heCcQ_0?LI*x#lwDovv{D!b zIvZ`L*0JLn{vrSJrMQz*#j`1KIFg-rkxhgRwLMa`O+gkg-UF%^b^(c+)O4+o+&a#^W4Q-Al^TDx zt&>2%{EIUJK4cyQHwKt-S#kv9K8Bm*k~uX}wIWSY7_=LWs=RiTEYi5KxWT+37*#&# z_~q`uaBg zRN-`f&xRibp~LI*9Esc@(6}{1{5+=f6zVHHyJ&g-<$ecXMkMZLpO}k`v3fN+)(&^} z)nzNPidS@ASrVw~)YEl5kGkwG=g~q702Cn$2F+Fs)_#a`r@EW%DK=z#^n%jf1(h| z4|oP=8BHHKFMixt37T!bJGlq51Fe9xGaBR!ibHI?Ub};y25M?qosNK&y45>ttp6ye zO2cCK#-plf?9I}NdK+spMj%eCSYK2Okp5zz=p6<__ntd>~vv0NRB=^FS1 zqC>i9rqmkOJH3RgAi$4VeVl83_Q1~<)wpF;IcNK`{N1kd)5`s;zz^-|Jt7N$!y+3I zr=x&`zK?HJ$9H&iF!#vtMm3ff-fcD>lki9fGm3)Di zR8Al1830|vC?XT}srRB@_K{E`4~=HfgILv*e)2Mo>8-^k^iX^%$p+&!o&2R8;U4np zq~6R;kP_j@+xE;|16XOsNL0a0uo{7c-6!@x@Y(cZ&8y8b}tP(n7y)Y0^t zB_&a}-$H*m^EMfr2)Qht-1iVm&nr}ndM6Oce3PC&6tbff6>&`U%C4K9J89;s#U5&F zEuu?xXH`OhqybCL(Jha?vlvGi4xX_0V4iq!)XkjRSm^YfdMUcniVtpITx~&P*O627 z^@O+F0ojs7XiCOppS_IPQQY%4&)~?sI&$8`@F^*GQi=Hq4~yQ|f0wK#}z23vsqw%8%X*mHSETA^Kv? zefAFeij8yW4pl&R)t8V`&~CokZKT0N=-+MWxXCv^T~)vRSsnj0PB zPgsY*zKg_wZ0+`0NO!qqO}v*bI)e!^?=Z0`#Hz3-rjMUdcq_O8MA31fLt#n-?fruG zZ^9X%V3pO$Qz z;{y_APTJesm-B@57>yd=o-iHri%6xgW@C!#L5g^>GcE+0sW-mjbN<|`9B>tKZ*IDA zw6HB3>VTrdH$yTRVNv(wR|G4GR#@qobk0ldPlIM*a_rtVT+W-Ql}yEayz6puL6v~4 zr>Qwznq36zx6y>TX1_a>z`by zCkVjtXLta#IX}>y(a25&6J(TtuL!^SYLkqRv!7^(W1SnFetnhGhn3xWw{TyVAziz| zI2esB|FO;|H8q)<(9;GB5M}I<{0W(T4%Oxm4s4I6q0>QUacwF_BnW}5vkLYJgo1D& z;rLNV?P&Y&26<8A^`n2&{S3<)pW)}51Ip&VrbrFYob}V<`Jd{SU4cmB+r9N}kRzbs z{(;wJ+aND&vVKExvxvKJA`M5IufssWc|Du=An_g?XTQ@ZD;$xH#W6`U&4zUB%2$k7 z!yJYfN{)N>J6Fp!a%7gt>fdQw9&qM~x(#ln$qK#MXM>9UGW3cvcsm@EA-HTN|1EHg zeZSJs(0DcnX%agPvvTRgUr8QeB#w@C37=yOsZkffU^3Gjnhv*E-SF!<`ZIX0qy0>o z&}hp;Saf&ml0)$)5d!R@JrdA&6KA7oGMoQZzqx51_xbC)$DpEOm#CP(tm=QW&qv7F zC+LqMV)Hu@j-@&>7#G4}YYx~b+fYw+0&ZZ_q;}T0M^Vo@%#wDR-pN}#n-n3?hMWCU zZSW`31O<(?WECSRn!%^0I&bIF=F%^!07tL#&~pn9Cg^M^FRlK`n^K)T&QO;fM6wRr zzEzNTy$0iTG>hz=PBI# zm3W`xL9Y;>Dlgas7f5$8Sv$yBpyt0og3gi%3IFgn^@kbh&;|aoZ*&c%Ktl8hYm%x` z@yfu#8aQoE9$5OSLtF~Itj5E>P0^QHoRKsL;;an0P>3&Mw_Y1?C>3?ug3MRJxOu-t zqnke+>hI^=Im}x^g`o-IAp$y*raw?a6e~rpw{jBsos2)eJ@Ou|GYQ0lm5@0uYt6plZM&bjm81645fE~85XAXeyTHCN81Rz zLP;zv@!V)!a_W*>w-Lp!8dd1VLnc6t#2eH1=g1?p zL0aqTT;~#p!D%l)W7$7EUfMD#V!fX6%p+NzQFASC=hDy6K+5H#aU3z%0EUd4K*g)@ z%>X3Vz~|&8M`yB>(DU(rGNfP{8$#=JZm*HVoh1Bf5@+j985QbacBtAh@+Al_tBb^X z$zbx=CH9m+W!b|qky)*+E-zV&cl8pyDu0)4A$~H=^118^1J~4Y8%%MHtu7K_&-iTO z)USk)wI(+Y@;8HR*Hqk%=P67HcL1tu>Pw0Y%;wu;1&#Q=!l;vH+Z(27Ix-?--KDzx zu)>cr1vY;vVOCDfdy{ChGkgdBm7UydiAP#+kY&@-G~|7Z<=+Y@xu0DEdc*+oX(PcNvF2{K*J-o&OTR0UB$5?_NGV(f?& zNdMhqBD2@Dm##yJk${I|>Z)nS0<+mF*Zr&h1Q;NcK{Z}9O#J%(35YwIqc#xTKuxLR z2auu>w4P+V!^lM!*#`dDA(>K}ew9O=Gu_c+zDk6O8WPb@aF80>aq^+1BiPIx&i~W* zakT}8V^0-q#MmS-52N*#7&O%mK}8CL->4$i4RY>_Y6~v6ja2L$BvcVh5du_fTwGk^ ztfyPo`)L=An^mI%HgKHDK`mDu-a%t{-RQ9tUFo%q(1r7{^`Pgm?@Xh)Xrq_pg<*qlKgp2RJ9CTpX#d|<)ZB; z&$LS)!<>!yW%y4UuZbB zooirx_)UkQ0Q&u502}u!n=QzXVbEABu*b^csfg^(;;MztLY!|vnXT}#R0s)I<0W7i zloA&Y7z>Gxp4U%F=@*a#)!CwBJkIrqo>ovN`ZSg!OJ={f2Oe%VXw$>2g)?i&mff#< zwKN1UrW&TZFf%>;BqC=L@e4kTTeUMc=E511{E>T*72`(uKJD36{P@;)#|-2U$nQ z`MqBV6-(OrT6NG%ck8OYb4YzKt~irAqa>A2a2w#eJ9Xrg(mc65bhq>^JLerVyDD!D zrAM>Oss28j&I^tDii*}7T?@sW3d5F5s}X@F3t#+l*-`pQ6yM3t5~4}vIx4pmxFNzii+|H(JX)gGif@8c4kK_cuqloP`)zq{vI z7FGQHyD}-7^t+FyOvcy;uozPMY^pLxuXnAnBqx6>x6F!{@nZi|vVR31#3r$YYm`Je-HbkD{E|(8 z>RZ$*({8_KSsDTXe5$1NQ}59976Ru+KQ$beZ;yj93`{vpzu;mMTu@l$<>fu|L~r_V zif0|w17GlY%TBpwT5PcxvO2UDw^Hu&x#MbCk-Eo{c)xKv-U6PIwZ|l54TEK*Ygbfc zbDe?ixuEl8FXw02^b4wpc3lVJWo=>>ZB`$LR!WSKYD2$p{%-<^Wez#`km5LFZC(U-)N@itb2nX4;6g9rPN>7hHM}jC)g`~t^ zEO7b6Qxc0>a?T->8AOiSNUTVekw9s;S#nFjFG3IvMu5s6uViG6MW!1NcA2nV1URu7pa!cZ@~G1wuePhUZT(ff8Rm$IAmWQV=IG_^XD1K+ca zdJJ+^z9&JcInQ{wm5sUq_1!nvpC6MuzCV7kC1U2wzhEOh#N@~n$g@y6Y$2OZ5QF-| znkIj&*62;$67GUcdq7ex2`b)qlBsi_tiCYnXeWy(mp>lLFj7)^0xq8~`dlmn_Jz>6 zh2@Wui()r`kwc@Z(^O;_$-I{fs?I5{Uf+F^=z@9GSXBiL^iZlL#Ha05o(FwD7~RT? zYLrnjsj|^wJhMXdq9yMxJJl4FswsjLM@Z!KG(azYrxA661C75iv5>CE=+s z*0O@DM0!T}^5zkJ7Pqdl-#Y}>eEogI?iQU@v!BEtl)f~|*L#Z0bp-E!NnL7@H9^uK z<+WJ$wn6hPAHPbdzG;NTP_fh}G^(FEEx`wh57|w&HVZaMQj!+~0`E>^*yj*GeN6Lw zVB`c0Ptt_yDhH%Zy+R6#g!@kKOm9|fRkF&x&aBNkRMiTG@_r{3MCw1C_S@hkv1+$j z16``(-J`l%Uq-Idy+>kei3* z1FFw!I*E~dwmW{rDK>YoD-JF6_M);b36fXQ_LwrqkA2_p8S7X}i#oU8zoW;G{s4uS ze0defUfrczS*lf@;Om+Sve@XVFLXIC-t&oi1y<__6Ch#4EeC(j`kJcJ_0iu_<~yTn zjx6uXPgEbLPmtSE$d^KFqWIvwq>?;c0kP6f)|(M*ueWfs^XK!tiFPq;k1pf2y!n?? zR?aD7evXHx>o827?;*s>vAc$0!)GaZGu{Jch*9tur|;O;9n=*=MI^_xLf&J4$Tv7h$I@k3TEls{VdSdNG7D~)-U628hx`=E|{KvtZhaof97{rLQv zeSxJ&GeRBW>*>n<5Sh@!`_?c#v=_~Cxo@Nu_@zGy3T*uVZJQd9zbQI(m?Wn!4mVzM zMeH*fYC8v5_JBE^*HzfL)?$IajW_}Z7 z>n2|MzU(&{P$2_rj?*|2Q{APR%fL$*Kjf-_UQv>VTy5SPGCD6X*h_zno0)UO^*M}) zsK@>YQ@~_9NtI<*F)py1sBEpK<$Dq|$?8&P$L5UZo z=bYKJmJRbh^zx$I$H8j5rsz7zOXufB2?yI0M)ICAj}DQ-;x%|(O9mTBk`3wfmTFwO zEMF$@6Ny5qHlM^sTV(|h$YW$}-Wr9xdh_}Zm89Qk&<#@YMMM96;sSJ6^ZN$)vQ84!AXS zAwIiHNxATY!#(IsOZ=hqG8rM!LYzK*D`Cz5q)~h!Y555P5lY3S$tFS z=sRU%H6o=?=CYH+QwM9=5$}DPFFlC6s?PQ-WF2Ed>cVJ)c(7Um@_j*O!;8(y3*K1}#1fA+;XE z_c4;g{^<5LH>?@7c`=d#l4)Wvj$n$`ALvn7ghp{2_6E-h#)S>|A6!8XK@xO#WqFAw z%q}^DE`%tngg33Aj+7j35iWxQ2Jz>cJn1e<+F#n_*dFP0OhvzKM$GQv5)(5pqhR=y z)`W5(SIL652P1+DSE5fHcd3?A#O9yVZUCi++K+NXVLWj9gC04C7$W#lme{EKXCIRI zuiT=r6Kw}|dJvf#Jt28&IEOR=l(fA1zpi5B0v7a5)RDbNYh={=QfzlUQTFX*v6o&U z`hg&qVz^NLK*EwgW|8hNK0d?`;{nIcaaP#Y;5nAHAXaQJ&FPaaos%G3vn`Ta+H$GIz zNC@oRF@@fkyL$Q^B{!m8@3d`{#jXo)f^hGWXBzVbfHstM%J}l`(Vhf$E!1SNKccux zA|>*Ahl2}!RBkF*M$!%9;rAnSO2Y+mr~G~$uvFWoEz)!!EhA~Ipo?An7^!hpyZA9! zki4y`mF}uNF|8k>7So9$XvaUzgN%;o#_zs0QCK-WJNKI}ED{wm5avS3A@_4qeNIZ8 zK)GVD@&y9fqx_nnJ6Qd69$$(oic5s^PqpDI5Fcp(t6ay1t}W zLx>}g&U>+Cf`rgrx%b6e9P^tuwWWtitKqmWo2v7yQRx17%0BR4mQivcs&)6y7$^Js zIXC*gpD`?xHsWcHTqFcB-ny8*AnP=RjE#+YMV`0~O&rLSmf=Kz>ga*&jLcy6s+)I&X6Cu>R#LRS1B#bx zmt}~La%q{9IVy_uO^oLZrBHV|&eIk4uCSj~^CRLLSmY*Wfodj9^;3lMKLMI)-XiTq z7)B!Qopstr@-83+dbB^n!8kdcZQ_h&Gx$Y${u3GD9G81d(JaHnwaAQ@*!nvb;s95a zgpcli3&^-(2|(GT^Og7<6XxqP?a$W7m{n@hou74<}T*F-wh`#-21rzgK%^?8d5P}hqs0w6|FYT z95v5W>7rq9X8zD>v@RS!=7P(qHnDY(vwSVh<~3$niI%F%gI^gimbyp-ec%kUgHtdN{AA^<@+fCCg+^)Fmz0T%(%bX?gDwaC0Q7TzoHC88Em%<~_D^ zC>BWJ?S58IU_-S^+c4o`H)yQ;n+G#kCK~%pW2DJalHKZV#&>@o*CM4=OEp{oK9GSN zZbXP5w}3QOy$agEHShQx-S!#7GD>#$wXS1=((;x4@K#rl_Uxl{bSKfs4Q;9!f!DS+ z^Np)XFAeGE`J*sH8y7cdVz5?@%ZDB25fM*mB1*)=diXIQJsXm$c5pdxU9XqKq-U^H z-tl2TSPkWl^`Bp7i| zF1r#6OxayxgcNMqlzuRJ&uVFxBlD#^WL_Z~4MXMwe$jatEn`PNV_?!!4z*iOzKNDM z375??van}%nYtpo+9TEvQKVgJdIdGmS(i%^{|!bfli2eeK@`@wRock6+IZfE@v7Z| zVRl_Voo&thG1^*a&J1;p_Q%#lPKx%gB}>-L*u3Yk)JOtoFNT;al1Vep62$^(@|M3m zVt+jAyF7T}KO$7t=BLKG@*{J-eXj7{qr@bBR?}S{Ld)5yCfcz{Bg#|!Zb<8>Z&#lj zejA4sYv4AQkh=B73tTmKRkSdE0yC^zBLc1`rsxz{G~+aD1Uv64&1mi@`%P0ZqF)W| z=;5-+=J<4wEsl~t!a{gWduC$&Cs0}In?{7_x2E^lp~)Qt-1A$$46EM=B}ye(@~(p4 z2bN@Y#8ejAe%@m5kqgpZpKSzkdpjJBs?TXVg!5|>n0%o^K*AC`nYM@eNqZngWa~RU z@3Y`kFK&)GLwIJ6>#gNo`g(#@TJ~0g7fIZ;fwM$w21@*-KI~Gp*Yi0M9Z%9d17yGA z3@-F%1FXz@ly_6#m+_z%fQEP}?<{Nvf1@3drkZz?L&@~hw`Y1`!~8cjJ7_if-*#9raW7P@TZi)#3nztLf<)iwOIrt z6}exnv}u2oM&wjLW|P@Dn)m6mEr%pEWrS~U1+xD{pD5;bhu!;cQYfwXhG1AnHSI%s z$aQCWslRZTGa7iT1ebn(Pg+crS5m++Qi;Vh54pTboK8n*-L9$ISF$nxq|1`5clKHbuf6`@`K2<~qDx4nxSmAxGA0Copak$;a{KG@dC(-D)^W5F<1%Eom^ZJZx zUc*`DF;*OS%{0slu0gWuzir09YQ)NUUQ1Z>m4lC4r&Qr~Ul{U5+~BdEGuB6OYKr!* z<;09iV?8N<0UyB&mnc7ct(<8@o#aJLK9D?YEhW(R=E5n%IIL=3F6S8-yEo3 z+RP8XDl?-s)|KKf*J-J&cDn?+1HI*6@GI<~DFl!Ifg0-Y(|*v=r^PoP|FzcqM({mN zkVG^S*Qbcf*%?1>>}^~} z!a;uf;VFl`SG3NHcB9|TV@89-Xr#DZ_oZ|8^EkL0milcRpcuG%$AV|lJL8bR9o5o` zJBN%5k{)tdJJz2~W4yJx#5aGkjCIF~zpmIS-ybZ+>Ih`g==+{cv0zr1qu!L(pZgy( z_>Y^13tt#}D7$>gPkWWf10M>)5`a$icr0mJA>`sBs>J)1D;MKQh&P0CB7MqQokNa4 zmZRL1KbFVlv8x($utiD6_~Ss&s&2uOyApxTgHT%VKsc5h$I(ht7t&&gx~f|1B5Fd; zS8kU#ckMRbhuw$Jm5zUijYz`%7H6`x-PtDTzA=fXDNdsv#KuMcJQKMuMq9k*c}|~N ziWV;dHnVirUE?_}+W*7Ud&a}{MqR^t%NSi|^dY+FBM5>~LuAzGeY7EZ5++3Ny%W7f zFT;=!qDAjDh#;c3Bp3;Q$#Zf)&;9=1Pv`47`|N#PyR5xdIJPVQ0a~j-FELVX>;>2g z1D4!{s7sk=&nx@|{I`W9n?lU{1d@g)BVUmsx-p;dK#tBd^8D(xQ+-r#H5e50iJ2#F zFCvR~<^%l&2VWs6NXLJOq}HB<`rWgVwE7Nwp?*HGO5%{hj>Pdy})TDv4agdL|H6pFoRcXC8N|fXQT&-H~m^lybwvoKttpmCQmz~;@M)Egb z{iFGIr$b?fGEt%QeIe;g{z!3xv7M877IppVb~#%0KV_o59~O4J^B~drAn0s^md=E1 zmGJiGK3G-D0Su65p2lON>$-FWN$;T_luxMKec^tAE8=@QV9Ted!I=2-6^qLF6ivj$9hu=Qx7Jam`5Cg({&;zw zFU=?Tda>zm`_GlLd>och`uCNUeACy>=#i1kk33W=kRLB z?s50dQ_@!%TE7Yi$(`9VpQ@BKQ#-@+L?T@sY8!7pEqZ1yy#{Xz%}kwI%M(?cgu=HCT~HS!yd;b7r>*oPlFS*k$vQT%ORv$z}7&%m5qpyXR_(H;x`zL>;6`Pga11( zE(cC&Uk~(r?SiSz`^=^8&&)GP8e%5Pb3PF(tvAZmMka||x1FbbpB`-ifM*X2VM?FC zq-^Nvr+%W3sl4}Wc3)q=bl=6Sn|o~IIIq80;V*!z(S6|T+9Xa{_5nyKIs&%E6J|PF zteW}#-!>8k3OxWZHg4@mC6vmwa-T?m^omzv4E!I7eQ;LTg5KBPDD~v|?Ka^74V)>O z%2!X9GYDL-Zm;V~nq3i3C_2mEZ8Z{#(mQWp?ZD5x*4KzdOb9Zo6snI@qio!_aYe0U z2V{yg=QZ;!5@bShLO8fa=ht7^=RYLxH%z988#;o}W~ZUOb_Jm;_v94CR z9|H`loSJRN!1k5LDF%Uu`sdqfI)b8KdQvwoyP+GqkygCX!&16VtG?m~qwBv0@3qjR?8TTw!r2kP+x_%3fR`jJKMXb5`V>kL zP4`+28e1H5-K!`SB_;O#(cNhJOhv-;=J} z{T7=ee<$(jYcgC^J_&VN=gp1G_SbvAN`Ra>d-Yv>n!&gDVdrxRq0CRE7bN_-`tEA4 zl*sxm{{qpNkL&u%)acTp0Qk^p8~?lQEDM$ld3XluL#Mg-rvvl@S1ZUv z0F1AK;bd5kDM`Y|2{*V1TvEnCtghY`l^}hhNOZpjtKK_nS;=IPBT>orFCtGAHOFOS z{1OdftDi2kH#)qID&>1E%hy~FoWhF|jM9pyq-T!NzzSFKv*famowrAw9UW{E9#FV3e)UUU-I?A~xtTu%(OOY;LG6m#mwi6Rht}8Htdv3d zDU5-D7Ij^*?%NOw@>Fm4^O+&J2j)^4j~Y?qvIf{eyxB32OEbuFN+F5xjdJ20^AdL? zdRm0X>R*k~j%Yg;R>w zm-pJve9{JQ57Vu1LwihxPMBUd$9OEXG2^Tr1E+Ysmi1I6cL-jhUh^^X@FCMg)qRmw z=>hc`MP+FEU8(s+ugYmjbge`>lQ`ePRgXr7(GCb4mHW6Cb@kXzr9JD{&-wBHa{O2L;-23rp6;Q*ulmnXN+JN$Q^F&c($p+2CV2 zA=@x-!z?o|mW8b>|8`s)_?_r3b5y*0cSuzTOfz}z`C)x~Td7D;#zB?hv&H30jrlby z8TtDQYm4&Fmpb=wr*R&?lk#>SL^+=cHAt}c85b9>o82YKf1vM4*IgVM$zt;)inVJr zG&D&iBrG%{tc;`Vl&kvL?8nIJbjHoZ4y|)7@-pj3*xK!wz;Q1kXtID*f<0Ule(8E> z5#NoYDcb``wwE`#FrE!Je=klfvT@Gee5h=$X0zL%syAByjF4@joughE`eVGsM zYg)8&w5xRau5Hnpit@ zQs@~f_{fIxT8{HGV(UFb+>WmY+6J5OxOz?MrF5_zb#2NL5>7OOiT5>{rCzx0RjhVf zEg;)ZQ54tu@2Ae8$5s~@~{yVsv}FMqiu!xN2$E44fJ-l%*Uz6szOCI z8*T#Y6{EF0ntNeX2fmy^mL`$IB$@UY#Lik57j0PZzUTZy4-eJ%Rd@{7fVU$ViUKf- zEOFizq*b+%wew#rTz7X>!_%DupM#U9_y!mT6_<&ajnl$%h$c9vWQ zT`D_DS26~*;J7+}oEW5b!__Y^zuiYLjI$}i{astXS=)K!8EE)=jbGLd2><@y0Vlpi ztMV^3q*WdOf?g}T#1C`L6)s;nuDEs6{9B4ygzmi85H19~VgHwbxgwy)qbb&gvTFOe z@^~dXmGsnL8}(QAh2%bCZDKczFMJ!H((y7b-$(~VcU&StqMe~g5jCiE?{Tl5k(tmy z#cUIcnx2i>^D(+_5Cij{~YPu&q3{XW>NF?GLOA)19%TA~$lkp?D_ zmVz6Lr^tP87wJ0$GRWR+t-25&I}bAHp{%ob1IE$#lK0u@4>>r^$E(0L)U(lUnlG}q zUcmg7C%ZALf09^MMI+zVN+0DNuQKS#mUL11N27c(56+Hgm8U;-n;>M}N;}f7t^S#W zDg)9o&_*&QOQiOG)P(GoXOk|)mz@E9$wQN@f_ zRuB0WL144ohbBCc*a6k7B9{ayz3Fsh#_wjr>4)L$W&T6C&V|cP3uPxJUZxsGUKE+1 zDI(8)I^SCEd3_E;{Ik~Bc0$ncJ<3`Am+tZrWu}$yhgoQg=SP0SJ|vp#6bl&RWpxig za>*6$*LCPOSG-axRF>t|m8CK`y{N`}DgR}kI z09<08fc5?^a+Gy};U)&b;xO;<@n+XzFE?);-*ESXo)D>5T%BSU7cXP}bQazKz?!d1 zc)16#g>?_BO$15AXPSc;kOr^N3V_}^N9lP?KcAq|xRC3f8)$Q6M=c;cGFyUXwfS+q zOrZF@LBLkpXjo@OS42;C%Uz9SAMP**)LQ)!^y1NR5DEQE?E?RSvG(>#H>6)VS7s?q z=3$6NkD(W$DY|T&Ph3;4p{`1<)Z`Z1Ew8|a-y*m+6y{By1O$r@vbQ+I;^B=GPSzIk z5wByP2IE(_i-G>-ROYeJ1FD1&lxqR!fpW&0p#xY}Si$tNmGfZpP|cyecD zqM%6&ME9J0^D=1taw4B-=wU09b%xmuOifCg)PILubf5Gcp49?lMtZHWF_7Y4{8Z;- z`%dpK6dS{w9c{;uezjclLDX0ftDoT|oY*wzE{qv$&@NiLBR7N_A)_5ZvO??m`C>gX zZ&n>yDB@i_!qs~u?tGb>C|^wK1O)wEgxn$2yBYAQ(r4rH1CV~4kRhvl;Pj!8d? z+mVjJlUWD?4>D4i! z#Vz-&Glg4IsJ}`}!Iw+jN3KKDR1eMSN_5{BWvXPM8c$PBZlqKZ$ z;vR$If4gy~46EitIL`hnk)JGcFv~l6zs)Sbp|3r=-@*DDI7{fd-Z?=rrE%N|32#^g z(-6$FcF|wre%|g6m5Zmpo#;(DUHmPgnXRZ~znw$hMPu(BHZfszMKXHK{Mzh>A-Zm% z)TX5q&FSwF0g*LWD=fA%8qq3wETu3CIxpRAPMt#3#_7Hd;yj46BdD!6C~|(G5h2M> zW%i``1mqFXhYP*vL6%WCzkfSHl1Ep4brxF?^7oaDagVlha|P|XS8m(B}qR0 z+4<5D$pu+Uez@Mid=bMdpe1e-;uo-0Or{X^CB9=aY-GYd4kRA0=`>x>pjyDOL2zLq@OVVClUOv_p|A`hRyFCWGJ(6j)d>W2;%XK$^cj|Vwm+|-S`P)VHxoxVG` znW*a>x?JQL&T~wqI(z1x@TyLw^>?*r`6?5k3IJYPQ$;G?x^52(x`FJ4A2gR%dd+e` zT0SjuF9s*rTVzxmKY^-1#lrjfEllOLgHNoVJs#s5V-{`^cMdIbJqisdgpR$ecZTzu z4${Cs$86Z_a}B{s*QE26!Px}#nJ1zqWBEfT!AmCA*J~f^7B4FhriY{7{Oj3?7&`%w z%kW}P`o1u^P;NN){3l04M>=+v1A1;l`bRB86iFtGZkkB-a3`ZlVroibBn|(hXBC~i zmwGaLPL*>h&VhAqvD;G=L~MVDjSyPV9U5qCu|BAMSju@@f(blXci~_pMX#@h(jlc4 zI33MOM0vdw{2@uPK<^V4h2Ko~PWMQCl&)T^pipTy@wt&qh03Vc^;lu_U80ryn57IB z4=gDNEg2+k0^{PhhG^~&4-V^ERzxHMd85SxPYn*bHo|VP#5FiDKo7qZmB<7xqq1?W zGY}%xnSSJ;rI)UT^nf!Up7p(rbnep-@c9yrR`L-J)?M%Mz$RIpm=j;wMo)~j zl}ab9$3SL+V`1P!U^5$Al=AYD;7+gp#(yy^W5vac-Z6r+)jF_cfb`@|yZ)|3k}G<> z;PLX=qi0QGug^yw2V>!U^R6X^lcTcr^etXdq;ihhZxUnb$`~cft1h4i(|se~U%eP* zuC1=e8B=;gFXcyb?Zh<6?C8lBzbJHR*8c!@_1}+HtR9~ZlBH}XU$hhgi zTy3aepwa_Uv?fi8bL57H=s%eHhPZ2Ns`deUyO^NyQy;L!t z3oC5zX{C`Yj`GG5CJpDr%UQZ@A-E^zz zLBaE#o#jR*b!qJ7%O~hK%222So6j)JqsPlYPCd~#-|tc3%u21-)0xWVmkPuM4u4K} zNm>=gY`K2zpSo@{I^_NR=Q#C-m*#UYwzGq6TryQCt?ta*u4L6nA}#FIzdqYFQ}vta zMU~dO;0ZGZK1UeUm{wK&mxs3qH8A(aqQSNJ^3_&T{H;hJ`$BmQBa249i=eZk-g~y# zNTH9nt{2k9Pvrh`9|nP~Tc6UR79n{hyt5~Y^Ix2*KR?A=b{0*|q<%DXW_UEQ1<&W5 z`Oy&OB0D{x1&Nd3?wbtZ{??;H8|v&=WB83N**~IL7r8g|>c64qxlt?fm*D;x1>Ae( z5@w_XqyXO!8AA5*`fd|wyyo;}Qm&eTiX)QNtIka9?M^W9y_21*tS%TFkOxNc2Ng(0pMmtG(W3e z@4Xh0^PN#2#P+Hv0L&)NUrQJD#>h0j(lX8Ea=zWTT`UtkcQ0s8bkgJ8&3-zXE3~ol zbJd?Xx&%>qbVT!}KlgsBao$BY>c8NX6{!=|XNq|QWy5&6XIPJ`_tj#zG?zOx%L`JC z9AtibCu1xR&!uAQ)rg;?F@JvVp0;Bw{)9{zj`jYO|WQOW<*t+evg!ywvsPlhslz==OgWoF0D}9A_siJwGf@l+XmlnIqAMWkts95 zcfa1nJh@n*dAULCajFN-?;#s<(PE`vI+SbV=W-ry8MrR{5^Q{yyNe+`pWd7qmJxME}I~}hBA(JUFZ|cZd5+#Jo4&Zj;WurBXHT7WB z%E}nWC`J5#Ea^t3H+uLSLP6!8n6Dz5{ky2fU4`}CyonZ_AVARddiCAm(snoPe)c9< z2;lsvF`ka=`f&JNW5;V;QGSh~G57-D%fIWK{7{fZddtR1)@@QYB`8ca_wt<(}U}Ygoy;*?xM@} zG0asM@PXJaZHt{bjcO>d??s11qv9Kr4Z|j3vW_E>QM5QrHk2s*yCCSp z_5|)2$;WPxFKbUcV;utX1rpOXxYJyeyd;zX?pN9f;+=F3u=P=h`3;O0rd;rA&)1C~ zeaLOayA-jRU4$eky0w5hwGjnX&lvNEhfC|-4TwLySn1Zht&wPQ-=$b7uSn7M7^3p$ zZlC1|rv^8R41d~-5z`efKbQlTBo#Ess!aA1k$yO(CfM=wZXwfl49nb4XX~w8>xNvs;&#>B3o_7A7wuN>RqF05Zf~Q&PFAz5Kg!+jzY5Fmh!~|*+LEuD%BH+S#z1lB!xstm7;uHO|S3q zr#9cIt#tCvN|z(KoOtmF=?0}t-DJAhy)*h>7LVizfQVP_w21;u5+O?XlQ^|EhyRd|7SrVI$K() zgc(Q3`O#TKfmxplBo`{g&Kpm{8^afHKxmF_@RpU zKdp4s{l}pVzPN*n+vUobq@x!Bii@$ttHw4NQ2PHUJ`N5SE+3LS2@@I~Q97t9Gk<9A zA?t(4;4S=h1GI6l=6k0N>j3#_6pk6UQ8?XKTu^V6o65eWsem4Xb?&@xrbC1Z*ZptrTmF`j?*a5Gn;IML2|Sas36zAX zCrBl(Uvu@iA&Q?z5QA_VDN)3tQiF|lRPbg^%GBv266TN|V1HvS zCPF>x&bL)LjnZ(pgn8#;-PCK7H|j4ULVHY$EvxA8kb~(Cuh`<+j~RBhT2c{mo%#IB zwA?_VM=q$YMEz>UyNr{C95J71uqotP-qIEt^A`O^R6B>aN_~@{*ie$nDbZzl!ymOa zQ+HW^bx8*kT{S8GWNwo*MZ0VA$jz*bXUk-c!o2E_)tW9d&-X!APj?7Tg=tIRou{3{ zUxr26Z@)hcDJ`ykVzn}IDiPi@A}0ISV!Hxe3YfE#kK8<}f3XsyXn3EskL_xpt?zf@ zI!2FX!s`nF*tkz*okJ?V0r94FJ2I3<(`azT$0RtL%6%p$(vWnXBuFBll6$k!w)zx( z$XF1xmmv{j>WZ41Xr1UtGQLqVPm>+Hnyh}&uNr}0!{+v(%zrZ%RLLv0c=?hSFHC&j(>)|Lr<0t(3q5b`jI-X_(O z)Y#%_XEh#|zm+Dt-#-H+lRcg`H)E>0zkA^DEi=sNi3+p(XLj&%i<=W1?h!K4IiVJ+WAd2TV3-ghWX@%|Iz5R(xfQAXhN zYr)dzC&>e+i_dCBSui^`-@N~-U5hEC?2oo3Zym5e0~akTqrGcoG}<7Kt8sRoX6}cfh^QSzSQT+Wi6PX`M{%C=mLb`+GCs5kFJ8j!$Pfyqg z>uBbGnHfDFRJtm5W|s-cb2s{(rgV?_N2+PsJ83V0OTLqNiYFMVai0!@h8lQVnjZ=awMrE-4e z+k`|*D*;SR?PQe+#60mnoVzibBKB5g4o0edF$o=%e#=#5c3klh@qE5N|5I?uJkXZ@ z0k4|Zm)TYxZIx4Yd@R(dbL)Sx05|#a79I$h4C0ME=r1zO#Ve^OC+M(ODm*llBCyDo z4m4l%j6IE|NtuSJNdV0&CyR|}k>r;o$Lg?A7WMb084Hl>k{a8-8|`|a?HB97BY=$4 z5D$?9C9GA|Zz=mrah8mlk%haN&Yi$@>Dkk^(+F?>zP#-Ns#$+COpR#seE5|5~Za%;9+G8z@FQh9xn*0}TJ*_@QN*cm zAsInL>xNE+H#Q;DzaPXu{ZO;}u@!e}o$hZG&CYlw@%gg0&wuu^^8aS)cZi7THr|hj zWQ0+ItTT{M34fo1z4_VU25}KtMKaAW1eCn;Qtl4adhTk2`hDx8S7wfnI^uluZ6*!p zL3BAOFeVt2Al#9aEe~}^e=w%x!Os${{lo*g)WTQUOtlN&*y7X9JB(Kti=w0$mRx5F59ayh*USX z=VE^UKZN*~*&gV1RFUu38P!g+h+*((%?f#oWObMzNwiye`UnBVC-E!3ncdO`M$!De zr?2jt`A?=fmx5xiDXo@Trv9R4-Pj~84oa*($O$shQZ#i3O~T^j$YY7Q%G?u-Uq%46 z0=$}Rw#5R;cwri}-%@mQly$uMTSLulwlMqdS7pkKk)A$u*6cp^GDN2xQmuWr6!6^36-b4lP8eF zpbtkkS>R19-PEZL33CL&P_)E@#FK#+^m6I!bd=Kbg8x9P2a4iy>fA>t&JV6Lhop~C z?MfP*l)goN8=5yDa@s_{zrbw6`ZyLf!im5>67eR)IRFP>;sw z!VD2t`H@`2&grmc(<6s7(?WtgS#Ww@E&Fv{Aiv&W?^I9v3h=_O@F~_xL zNlQZbsGj8AOl9lK?n@Ej@OuY*vDL$stGoH#RqcuL+iA}d<%M2Tg{P^s#s%Pmc3W}D z*M;nNh)>)P43MWqmilF z|CLd)P?p}U{^2Muk3Mbh4fY|+eqF#Q$8!JnO2A|3&eM}!?V?>d+90lI$XrVU8v5b( zd2bYO)9us?iwK-O6Aamu^({Wy_lfY*^sqD*&Z0i?j9Ji*vTV2CcY5po&c- z3IymBZSSl5zp0wC^0&H)R=kuQ3scm8O7|83CwQZUvw@QllVz9{hapd3nx1PYWQ<;Me6E=OZ5{zF zJ5wsEp6bQkVqB5j{Y3);3U;;vWR@*6X%>(BpM1fzn^cts|88%q(!Y{6D&&{Gbumf@ zHVQ*YayvPA#aSbf4*8U{J*3umQ;yYE$&dt$-=#s&E12E4!Z5V@Ov`R zDa1q2ET#mP=Z+v$5)X0ZNdlpn0T}TzM4!uT{JWQ|PjSb51Ub2QUZCqZYw1~4 zR|80nQbN4qAcVZ6lo~{&Cp4D?C`6yKp9kY@=%beWU&SV494?yl$L1YT z(ui55JmcuMRF>02^(`37HVZ{t8>bkRanmfbt^dXdYBe)R7xR?yFWtkNJ=aJ{?9Wj{ zJ9M1Y)WplksY6$cT$ok9EaQfDzoKX3i!NstO#oVWgkBG~-v8qLm{!0rTGaP#O=x|u z*)bR`6thdi9NtqY_0oVKhG!&J(isGW_)P`E=TlXN=zYZgaa`8s1zMabx*ji!6^;lWwT3U7fHKb6=+g}cHaWvL{7%d&%K*)KfUeWTj zbVI^XP2K7yiIB0B2Q*w&8~2P43&w|=OTO^ILZ_^tXDmCbT~Wga24HG=+tkl)66dvksO4#B-VciiYmYj8qiFZx3aW9CHWh>m_`#a+w9$o{3z_hlBKX zCSqFu)K2E<_AUC~GWYT!?du5N8s}>JvU9M!$MN0SAU^J=6bZ{w0n3t2S5w^+S+bzq z0@zoc^rj2T@4s=BjRP0vn1>yBH_nf%EB6@`cIy>~wDI*~Iy+K=-o8|%5wb}{PGJ?b z<2e(+>gy@~*tqW@Q3QbJj)RP41cTsfQ#&>Rg~#bS8e-lhBcvJC(CbMM<#4Gy{VJ zp@N-(F{=Jo2L0x_kCW^;Q6g7xdGSFtSgPE{xUQ5nLanM!h3W_4MY)@ly&4}ST&Mn# z+B}+Rtwcn=K2$FHwtr2XTzGDkI8TqYfE2x&u;cW@T{;=u0~9VqlgVQK^v_iOJrpuWVvPXb2b zu};Az+(Dzno#FUcj3%s+v2|Ny8wylVN-$ zLvc3Vd#ck)?G11ovx&#AlqJ~8g5fTgLqHE zHpGNa)?hLJqmuUxmN35r`Gz`EW3(K5OJiDR&0_7^2?S9)73CILc@%>!o2Qcs1pQqXXS4T7{RRtqub| zYVu9+K$uH51P$eHHL{5R7*~x={?mD4czN@lTi^UAMT$3{1jSC!U!kTAkYIMtpOk$e zDNC1>!d2|HCcD28Cct|VbMk5r!MU<;ChB#^qQ=@^Bo`ZSa=qsq`w+9@`sTRR@{@F! zPT}7}B><{)$u#+!m&isv#JkuT_AoP?oiw9a46~;)Y(@p2rEm3OMxRXGb4+D_!JVIf z-<}nGkDD~#7TT!9^H?UNWXe_OuqEoH%|v7BMJAmI>l2|-dKRzm)ert@62L2;xV&R!7nG|K2f+2gLdi)Tg13V%`>D}s7 z%Rzsb9bM^tHfNQJm7(`Q;O_90MJ2iZDf&I`OePq-7?Mbk9jIbtrt$ZEhNg4W*=%<< zyI*jEws)=xf#zb*_nB`TU1>af-51Yg@k9zu_QbNB6PW~arbE-$N^G09+8HV~x%~jY zqt9(p=Sdmnu(PM2-p~?s4tNt;{?k9UCyz_{QCfO56|`#?@)q>vX%Gd!0XvHWvi~|y ziV%?&A7LdemHi`1=sCQUo4aX??ZTAX{)?^JRsW2Iq%^0tO z90Jlh96WMLUKnJm(NJv-!AHrc0*9F?3222Rx9mZ_h4bC*O3RUq!ff%bxRyDsdkfx+E#QDuci|&R0Fw0jN?52?89XmnR zYDPAkDzgVFjs+JK6Ch$&%Dwxk@3jW;$x()pZpVP+_&XlIOAGB0JSbxo!&oCeh#5I{ znt5aTy0aB86ew^e%OuD5Ng`BVgw50yBAa5$A`JLC)<;b8EUb#-kVvZ)rYrU>6*a4G0qzLqd{}L_NjzPWr(9{Wv39-4 ztK_(f!OF)ASSJx#UvopRJw9qbGYy)W0O@-0CMB4bALtf(Eoq08ln<89K3(tbs+Wih z>Z8a~Omj_w0VCy3a6d;XU80Gi*V&v^k5SOn=2#k2q->KB8jg>23y2#elh1qi|!7jojVZ~tThYv-tE!oGHr8kUM z@6zHR*zG?yR4s{iCqYX<*qJ^NZM;wSNsVN>Xqs|{OIFPx>DS~fhP>Et0`&$bV_d*4 z{P==RvGw+{@?pbCd4|K~t3IlO$qq0HF*2%nD%boQ{OO`|3G#JkxK)%+6fu)zl=Tzt z{)5BwnnSR^%%3{L#A>+m@dcr5auh}7OE1){Sx5HKiQiRv~^4xh;*F!ETv{H zfE$(1&NZAO4&#$_g3}OkF0+G+?e4A}u7JmZ%XCu_`wgpsOGakwOndo_(&cXMnJIXP z_BMTIk#^q}0H}oROXb&oM<2-VTJInWik%5|KPhQaC)4R|=cr%Wi|*4V*)8qB`G|DX z2o(E>(>A9*afT1zOE*d?`OkW3+0bPNYafZ2Qhta^x(`#yim-=NMWllRC%MZAt=z^l zpwb2!u&pc!eue?sX(!cVEt^W&{Ez*N$g0MU;5q@n3@%!jhE@7WjyM@rc0oqX50D zZkKk33q$K@Yv=lzozJX`c?c$>6^gis)FVYJ+!ynm+e@%cG|kvv$zM9_+~*|y+-lKB z*#;jmU#2V;4{@~g=P*d6(#p+EjHW_q#l(H`bIyb_+gUhizbY-1orz2z^R6zy{ToJ{ zWu9d8yWLx_rv*VSEfpK)0?1n#nGb6>L5~j{-lw81@E8Dj_7Aojs~kxoJFoajmISP& zm?x0@bhWL%uh!~6UI|;ZR>gC65`jCCTn^8?p55j(<04alr9!{~%Slf?AexjFZyDb# zubtL!2AvRNe-3+dPSP)HJ^E;^o7o()C<6ZW@-RDaaoRf?*@u!v`1l0+-DxEW$0ds9 zw+|pIM7r1rYzzwj&O|{PwF?q|iPD-MAoX8?N6QP7jnMr4PSbu#^+r`=Iz>*sB^Tmr0U%fcmaOZB7g6*7>OB$)GJ2f#ImC)ve z$Iq6e+560kh6Ai(d+6z6_Ok7LqgUi(xyQrw9StYKtL_bH-0hW*wI9#>TfTl@U_rNp zM2{Xu(f>HYzv_G6iS?A^dbCVk6f+s9Oli~)LSb%1vgV$<^fq^$m#X0=rURMFrQrbi zQ?W_Rufe0~VnAK(9t%ovKRAJWel0iUim^fJ4)(ma_lhG;f`q#5mqrUZWFr`-sG?g zRNWBXNrP(`Srj21^EL%`pQs*3ZKiiA5JjwMozhav2ULbP6TB0y?)(= z^!@z^*q1mSe_yC(t4@KmV*F_Rraw?1gZm0xC$V@1D%dKuxqV^mKu>4NNXABJMo+F_ z?thQ9sp_WartB;aFOh5U-hbQJeP>p)tJ|08@$LD%M zjjpU%bMhaF1d%z6LP4zuy&~ctiZ!n-kjj;^WF>{fGzv|N6-9>~_KzeU3OqU-yG=-= zLa*loMS3T{eKIKh`4*~CMNeF4Kk?p|Pm7E!*iBRExhUJT4ca%K&afJIeE^}fk{eJT ztIVB3VHBcVMRTw&aMhKmfs8|qs(sYXYP?1o_U~oG5!4R9G7&q`Gk3J6+1-4^KK%Ey z4f>xv+#k;<-md)_+arv0sW!CQWA_P1xYd6D91>#o#`;kSg8hH zH-tp7$m_9(^el{(u4S;0nodyK!OYG#i%`96u#^@QMoLbXerI5Gko&D;m+VdcTZmho ze)w7^!i`)fDsoCdY8cUEy@&?VZsytFivRPa32cPqtEg5u2d$B#?z8Bn=%$!UE~_j{!rR&SbB%I_ zA=$^e(^_^?!u_o^xWepNAG`c^$7} ztm_ee+lxR@SCRxmmcR;^vG6D!9rY{zIFd1#!fVK5+$Qv+)9YE3+RRV{O5j%3T^ZRA z5vT@0olM5C2CP#_TMsrlxP@Xt*6DaB4oicNFHMN`X6$?O%5+%tqdCxz+=oAei&jrk zp&G_>0y&+v3Sg+QW)Qlbod3#GP#}_C7a8Tt?<-_TMx256&&7rgWaIx`Ip)`e0_D5O$}-QL_kV2rD(NS>tMrr&_wmtz%9_= zm!dXXH!0Etk}2ef+zi{!39Wm9am%}9R-juup&|R=0i6~JeJCAI52e>HZwfgTNgfOJ zphc|Q`-x>PzEZJulhHW5hZQEw&KD5ZYK1?OL;$foq$h@w*1S(f=BPHL`BM1kt=~oD zUXef;jFz6drjr|y&n}zuL06^ynZVUO9~Q?&H%`zKq1J<4RpSMvCUO$8=_&-06qnTh zW~%yuIg1~;3LjLHNZJ9qNgKd1O#hKq#M_fr&+hXo|3Ho`Ezv_s?U_k6KBfyG^~f@7 zq7DwDz{TeYGBr7w8$}We6aR_2_rBy~IBoXkXD=IDa*8O31GD8%-Pf7aM<;f?Ogkbu zTB%G6i!4JMToxEY7-49dQ`gZo4Cq$#6s~7e0PfI3L5Dn*d}emM7Rjy{!(iH?`uSwi zqvgvG!B_F(+|kOqvkj8sLHhg+f#-*tj){)R$Xz7Gn977neB7)H2djzQugjS#lqSl6 zk1{S|FV1}{hs+u5QHZ$bT1+&S#!x7KK8;w-_Rfo$@;i+$*3U9)H~)bYixK=;&adeD zm6u*m9w5zoet>!l4%0cS)1G!IGoAtzht>*tW>#lTXA&fkAQhhFVdDa+ecH*Ej^8V4 zT>taifJaW8^0~-261ozzOFBk_Gc`*1>8yTn_rnrg-93=*ye(aWfQ3Q=rC7#W&Z`p6 z6%~x*MpkamaL8z$zUdJdo^>Fk10R)`cr}X~?67AXzQY>krUH*9r}BXO4K>t8;5n8} zGx|OM;ypR3MXvK2Ac4>kb>lZ(<_wrsJ0HRZz>Zg;U;M5-r=hi6$vO75r<_l(bEo3{4oKZBC(#ynd zjMYB}|ETa=@g)NJhJOIjwgP?V|N9S2FfTw212-rVSRM$A5>fB2mw}wPgn9{(U%AIT z9hlPBUC1V_a6d8)!nYK8EOqJpHPUqU^gHB7#5n0v)gl(PxCUOv)>d)CxzWHW(QI0& z(y~+dtz$Qv01-TN3nEUj$>z7;6M}W0H>qJ_ zQb=P@$WlU4OFXQ0j_FA&Cc;@WIsmEwK}SZ)wQ_D_rOlt^0^Tw%T|zriOgB>Vyp18YqJqh=bUAW7l!($FSkpjjZB||IgRyfd~mIB%Yd9YlJp&W_o>C)iQ9u z;w}n|%IG`jNG>KF%^1c1!@k~sWEQ2xm+JeOy($bKn-A~>RK*euOi?^xIwcQRJWiXz z*StnK3#(K~ki8w45RWPSU622gYL3qeFW)cP8Kt{>iFZvZN_*Z2t;=q8w#cwWTE>(~nJ`w3OA#T&$aP7Hk$YiAR7B&F`z4oRXc%N%=4R$R@3cmH zw!h%`ZM^UMywCHz-|y%9+`gZW+3~=n?S_{dhS;}4He)ihQ;Xt${c zsz&?eZ|$@R+~TIg-TG?$uA1d1ZH#vZo*%FDXdg6^f#-|hGP6iE1F-ja)d8&*Wtm2wYGEdZ)Q1lD!M zDwo8qgfUHY@4%IQjFyyt76|ya)$YyMt=f>tlob8|0mK;4?46cN&ezd#vr4i^3~ccq zY)@}5U=45EyyFlwZY`sf9REJvx+7>7a0+1$RL$0&NpG!;{Qx#+3}<3f97Vpm(v+G6 zvt5118a6!K=s$Y{UgbtF2pWq(^WUGu6lb8SEtF}>$(H0Hsv zn~4*52BR`exBof-&K=Pp4taNJH(7ndL#PUewXEfp(*OE^HQs6v=<04y!fnv;9fv(u zKT#yJb0J&V)ZAv>ILz&Go>Z+3Igsh;IFfB;G8coPw@~4{p8B$dP_utaIl<&IA}PyE zESA)Zy$nqFYi~$_@!OHhzp!c*DTS)L=7<``87GpRh?kJ#ZjYzNiqI)&RE|w_bwMAa z@qqVt=wp|UR6o(%(}8NUwliXuoV@c$S;lzQG|!%~a7`{jr~O?u*gm|f_%s0hx85>U zD_pZy@Chz_!s&Qm(rL`RVCNX_N)5I-#dS2$;Yu;I{c6@o?qBBBb3-gV!rLz9=;okb z017m@z4Y^681zb^g*RaV^I32VP-A=((kcBaI|o&9Ga>=I>lTY%7u}G# z)_Oya8)GyGc7kft-^l#zn2Iq6=?`8;BSuZq9p0qviY5U zEiU)BFPc_iT#W7*k66_5CgV#xlDIUN2KPYO5et9W?i{1)FoTp#8cs$C~kQk4! zcXnQ>srb3w5~L7tkrd)Z@czohctD-wI=1m{qG;&20wDv!=^@SQE|pk%bhpkd?={lT^WEw{*CWOBN;@Xs`s)LUuGA zV8d_4Kz~aI?8n>jQXy?GEP>fg$Tt8vWqnaCu0G0p|tvSPNP9x_173?a4saGS>hc-zSBc%x83-fz(h1^gRf?HSU$tc^xvI=D7}y{wV9i z*g2mr$((aW`gd0jb~*t$N*Y!`$Laww)pin^6OXnIyLhmXQ!922J&7dMl-mvzHPLV+ zTYWYT$%&%@VaXx>2wdQbn{Ts1Ec3z$BWlXEB=2Vrdx4-=7{Seuh*OP6*sl0=4rIa8 zcSNP`vv7$;xVl~jL?a{>lg@Q5>E zh3rcKOlcxy=P#gzzBr(dsSmt7EV-Je2kVhu~@m53JUSm z&Qbo5o^6{IIT$2d);gd+=yw*^k0~$pyEh5tzZ(PkpNAJqS+Qax>4Y4SQP_eNwc15Z zB2Ky1Xu2ZHw<{9Me}(nBkUho@#j-=`2;m%}e@JO;ayiP>#-J*y_~mn*!+un591FUB{RF)C7I4cM23iyTqvEK%BWpmx@dyA3F z?Z|gkbMa&^BrX=kZV~cZXf1-N7Co>;Dr}`RS5?`> zGGxN}9&hZ!W*-+f{|+K$v<`9!hwOH@sYZu>>JD1&?oZ<>ZyWsrs)Z=X3D$phg7BLC zVY5*8kd~@v0`u$SQ903ZOX|oub=oA5-Mp`C-undT={(~klR3#MWQggO1P!>Bg%JJ6 z;tXEdoQ$@R8rjVTvrJ)GOs6tKHnTGIO5X(<#0aAgXV*wxsSVX`I2G_-KCQ=nJ?;xg zH6%Wj6n*nth2T@tBl4-U#018vs2$!F83qd-zx1D`lvgt`Mh3({@{&ZarOsOq&nFwg z?p*gMFN^-b1@X3&c1YS6)+yx-XbCZzx6(V;nOxf`8W^Y?i*k=z@jNi!4m-H?8SFdN z3XP;QQUj6PETmx~s^Q}^AhqeJnq-CKwrReWZQdNO#E`XRjP#rtZ3sPC$;P{`#2>Ie zeYA06^Ydo1D89Pvm1y#TsiThK=Urv|d!)k(AEP2Yr*Ac~@%Bf87!L@KIN4}!c1F7= z-9br(AsgC2gIGoBcrZL0_I#}<4v3CQ01(UP7~=!-!4~PK*Cvd}ZoZ4BYp3<@izQ5* zg?m2ng9s+|?sZ4Khv+kH+4BZOIDc5uF(x66eKXDDz_W?W=YHOysN9@b)1R!9R07Pt zK%EFR;7bZ;*eO?lv3A_9$y71VJOm`GPq0eSyi(?iPASUh9>fLz^*@gSIZIq$+NAE@ z$|EJA*C%%RPqhj7V9^S5pknxXg7bEa2H)w2!RY0l=u$0}b8{VhDJ9Z~EJ46Z!}7Ky z_e0KDE}=bE0oa`S5|rup)mP_T0vQPPHAEjDpnj24w-fHCtY~=sk+MmL=xfJWxBgR= z$xKrW{ElbwTTZ8Ja%O5ky)y2Ykz-W)$*qLYMQg8@?DvY)9%IgHJ8vrKm!t74AfkjZ zS$Js2G<|p(MxD<_=mM3a03LUS-#p_5aX)~yUWDL1LQfJNFl%v6zfN`DEu(}nRB$Hm zHgCF;?CV5ZW4RbDn26qY`cu{26>D)Rg@XBMKC2&mk6m&->(?|Z=)Re*5O60+V7y-W z6wry29vF}PtC}f4-{0<2I}AU;Vu;Jq+FZ z!kKJtJ1`>@%;*DMl-E&LwhppJWP&P~W)06HRd+lEjE-i~8Hs$!$BJ zINN8Kxy91$`zABY0+d1yW^{H_^Elg*E_vcrpH)|?5dy??ohFLf(6uet`$$atVhAE2 zgW1{Ly~!k_>>#s&ZlA3u>N@{HvoBZrAAC`j|=8L?Twd@~bc~^!ngfT=ia5k#!JH zp-b*uh}eY^ECBXsJ)JW62=(kf7^MG&*?6=5hv`cqyvaYrOgX;-s&`{8aXUn Yle=4?nV5Gl`Wx_PZE0&!VD57LzpsHmNB{r; literal 75534 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

Hnn{&yTWhMJK;EgCDg0CdzL9S>5v&My!3(tWI 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 diff --git a/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.svg b/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.svg index bccd494..5303b5f 100644 --- a/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.svg +++ b/notebooks/images/cytotable-and-pycytominer-comparisons-join-memory-size-sqlite.svg @@ -1 +1 @@ -input-x2.sqlite (8 MB)input-x4.sqlite (15 MB)input.sqlite (4 MB)input-x8.sqlite (30 MB)input-x16.sqlite (60 MB)input-x32.sqlite (119 MB)input-x64.sqlite (239 MB)input-x128.sqlite (477 MB)input-x256.sqlite (955 MB)input-x512.sqlite (1909 MB)02468CytoTable (multiprocess)CytoTable (multithread)PycytominerCytoTable and Pycytominer SQLite Peak Memory with Min/Max ErrorsInput FileGigabytes (GB) +input-x1.sqlite (4 MB)input-x2.sqlite (8 MB)input-x4.sqlite (15 MB)input-x8.sqlite (30 MB)input-x16.sqlite (60 MB)input-x32.sqlite (119 MB)input-x64.sqlite (239 MB)input-x128.sqlite (477 MB)input-x256.sqlite (955 MB)input-x512.sqlite (1909 MB)02468CytoTable (multiprocess)CytoTable (multithread)PycytominerCytoTable and Pycytominer SQLite Peak Memory with Min/Max ErrorsInput FileGigabytes (GB) \ No newline at end of file