diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 60b40c089..1a97ec6e9 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -28,6 +28,11 @@ repos:
- id: detect-missing-init
args: ['--create', "--track", "--python-folders", "tests,PySDM,examples/PySDM_examples"]
+ - repo: https://github.com/christopher-hacker/enforce-notebook-run-order
+ rev: 2.1.1
+ hooks:
+ - id: enforce-notebook-run-order
+
- repo: https://github.com/open-atmos/devops_tests
rev: v0.0.2
hooks:
diff --git a/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb b/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb
index cc48d7871..166f18a0d 100644
--- a/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb
+++ b/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb
@@ -4,7 +4,10 @@
"cell_type": "markdown",
"id": "85369076917921c3",
"metadata": {
- "collapsed": false
+ "collapsed": false,
+ "jupyter": {
+ "outputs_hidden": false
+ }
},
"source": [
"[](https://github.com/open-atmos/PySDM/blob/main/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/fig_4_kinetic_limitations.ipynb)\n",
@@ -26,9 +29,14 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"id": "42a7e28aed734d2f",
- "metadata": {},
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2025-12-21T17:47:39.382414Z",
+ "start_time": "2025-12-21T17:47:39.371980Z"
+ }
+ },
"outputs": [],
"source": [
"import os, sys\n",
@@ -41,9 +49,14 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
"id": "c92babb49c403c66",
- "metadata": {},
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2025-12-21T17:47:45.069147Z",
+ "start_time": "2025-12-21T17:47:39.388461Z"
+ }
+ },
"outputs": [],
"source": [
"import numpy as np\n",
@@ -59,10 +72,1928 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 3,
"id": "ddee02f7b4776328",
- "metadata": {},
- "outputs": [],
+ "metadata": {
+ "ExecuteTime": {
+ "start_time": "2025-12-21T17:47:45.100512Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "9d459d079cab47b490bd9600f9904cbd",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=\"./fig_4.pdf
\"), HTML(value=\"./RH_profile.pdf
\"), HTML(value=\"…"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "application/vnd.jupyter.widget-view+json": {
+ "model_id": "bc057902bc06425dbc09fe20255755fe",
+ "version_major": 2,
+ "version_minor": 0
+ },
+ "text/plain": [
+ "HBox(children=(HTML(value=\"./Droplet_profile.pdf
\"), HT…"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
"source": [
"for drop_id, Scrit in enumerate(output.attributes['critical saturation']):\n",
" if drop_id < n_sd_per_mode:\n",
@@ -192,7 +8630,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.9.2"
+ "version": "3.12.8"
}
},
"nbformat": 4,
diff --git a/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/figs1-5.ipynb b/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/figs1-5.ipynb
index ec1e60c89..bf7edde95 100644
--- a/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/figs1-5.ipynb
+++ b/examples/PySDM_examples/Abdul_Razzak_Ghan_2000/figs1-5.ipynb
@@ -25,8 +25,8 @@
"id": "8f0dfc29-5a88-4d7f-bcc8-10df9185d386",
"metadata": {
"ExecuteTime": {
- "end_time": "2024-02-01T07:10:26.301401Z",
- "start_time": "2024-02-01T07:10:26.295293Z"
+ "end_time": "2025-12-21T17:39:28.002957Z",
+ "start_time": "2025-12-21T17:39:27.998500Z"
}
},
"outputs": [],
@@ -41,12 +41,12 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 2,
"id": "c000670c",
"metadata": {
"ExecuteTime": {
- "end_time": "2024-02-01T07:11:41.551370Z",
- "start_time": "2024-02-01T07:11:41.548264Z"
+ "end_time": "2025-12-21T17:39:30.774603Z",
+ "start_time": "2025-12-21T17:39:28.008261Z"
}
},
"outputs": [],
@@ -69,8 +69,8 @@
"id": "2a21f4e9",
"metadata": {
"ExecuteTime": {
- "end_time": "2024-02-01T07:10:50.590811Z",
- "start_time": "2024-02-01T07:10:28.013213Z"
+ "end_time": "2025-12-21T17:39:46.668529Z",
+ "start_time": "2025-12-21T17:39:30.787808Z"
}
},
"outputs": [
@@ -85,11 +85,11 @@
" \n",
" \n",
" \n",
- " 2024-02-01T08:10:50.563916\n",
+ " 2025-12-21T18:43:03.140164\n",
" image/svg+xml\n",
" \n",
" \n",
- " Matplotlib v3.8.2, https://matplotlib.org/\n",
+ " Matplotlib v3.10.0, https://matplotlib.org/\n",
" \n",
" \n",
" \n",
@@ -120,12 +120,12 @@
" \n",
" \n",
" \n",
- " \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -161,7 +161,7 @@
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -184,16 +184,16 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -226,16 +226,16 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -276,16 +276,16 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -313,16 +313,16 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -356,9 +356,9 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -707,12 +707,12 @@
" \n",
" \n",
" \n",
- " \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -728,45 +728,45 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -805,15 +805,15 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -861,23 +861,23 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -996,36 +996,36 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1092,7 +1092,7 @@
"L 341.390592 143.28 \n",
"L 352.152621 145.001851 \n",
"L 358.206263 145.647544 \n",
- "\" clip-path=\"url(#p67660d3991)\" style=\"fill: none; stroke: #000000; stroke-width: 1.5; stroke-linecap: square\"/>\n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #000000; stroke-width: 1.5; stroke-linecap: square\"/>\n",
" \n",
" \n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke-dasharray: 5.55,2.4; stroke-dashoffset: 0; stroke: #000000; stroke-width: 1.5\"/>\n",
" \n",
" \n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #1f77b4; stroke-width: 1.5\"/>\n",
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #ff7f0e; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #ff7f0e; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #ff7f0e; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #ff7f0e; stroke-width: 1.5\"/>\n",
" \n",
+ "\" clip-path=\"url(#pdbba614879)\" style=\"fill: none; stroke: #ff7f0e; stroke-width: 1.5\"/>\n",
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1271,7 +1271,7 @@
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1333,18 +1333,18 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1385,19 +1385,19 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1520,35 +1520,35 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1558,18 +1558,18 @@
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1679,21 +1679,21 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1703,18 +1703,18 @@
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1733,28 +1733,28 @@
"\" transform=\"scale(0.015625)\"/>\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
@@ -1770,12 +1770,12 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
- "model_id": "9a1994b0f0cd4c099b199006d206db60",
+ "model_id": "f8fc7ac49aa549e7adc1b6be20a2bfd1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
- "HTML(value=\"./fig_1.pdf
\")"
+ "HBox(children=(HTML(value=\"./fig_1.pdf
\"), HTML(value=\"./fig_2.pdf
\")"
+ "HBox(children=(HTML(value=\"./fig_2.pdf
\"), HTML(value=\"./fig_3.pdf
\")"
+ "HBox(children=(HTML(value=\"./fig_3.pdf
\"), HTML(value=\"./fig_4.pdf
\")"
+ "HBox(children=(HTML(value=\"./fig_4.pdf
\"), HTML(value=\"./fig_5.pdf
\")"
+ "HBox(children=(HTML(value=\"./fig_5.pdf
\"), HTML(value=\"\n",
- "\n",
- "\n"
- ],
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- },
- {
- "data": {
- "application/vnd.jupyter.widget-view+json": {
- "model_id": "771d17a840d348efb10346fea6f5ed50",
- "version_major": 2,
- "version_minor": 0
- },
- "text/plain": [
- "HBox(children=(HTML(value=\"./fig_5.pdf
\"), HTML(value=\""
+ ],
+ "image/svg+xml": "\n\n\n"
+ },
+ "metadata": {},
+ "output_type": "display_data",
+ "jetTransient": {
+ "display_id": null
+ }
+ },
+ {
+ "data": {
+ "text/plain": [
+ "HBox(children=(HTML(value=\"./fig_5.pdf
\"), HTML(value=\"./tmp45pw849u.pdf
\"), HTML(value…"
+ "HBox(children=(HTML(value=\"./tmp91ldy74c.pdf
\"), HTML(value…"
]
},
"metadata": {},
@@ -5727,7 +5727,7 @@
},
{
"cell_type": "code",
- "execution_count": 13,
+ "execution_count": 9,
"id": "8a08db5f",
"metadata": {
"ExecuteTime": {
@@ -5765,7 +5765,7 @@
},
{
"cell_type": "code",
- "execution_count": 14,
+ "execution_count": 10,
"id": "e4ccc918",
"metadata": {
"ExecuteTime": {
@@ -5784,7 +5784,7 @@
},
{
"cell_type": "code",
- "execution_count": 15,
+ "execution_count": 11,
"id": "fd8fd4c1",
"metadata": {
"ExecuteTime": {
@@ -5804,11 +5804,11 @@
" \n",
" \n",
" \n",
- " 2025-07-07T09:17:34.842983\n",
+ " 2025-12-21T19:38:44.373807\n",
" image/svg+xml\n",
" \n",
" \n",
- " Matplotlib v3.8.1, https://matplotlib.org/\n",
+ " Matplotlib v3.10.0, https://matplotlib.org/\n",
" \n",
" \n",
" \n",
@@ -5837,7 +5837,7 @@
" \n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " \n",
+ " \n",
+ "