From 8c1cbda7aef9388c1a5939e8743f7513ef2a5f3f Mon Sep 17 00:00:00 2001 From: Gera Shegalov Date: Tue, 22 Oct 2024 20:26:23 -0700 Subject: [PATCH] Repopulate output Signed-off-by: Gera Shegalov --- .../tpcds/notebooks/TPCDS-SF10.ipynb | 653 +++++++++--------- 1 file changed, 327 insertions(+), 326 deletions(-) diff --git a/examples/SQL+DF-Examples/tpcds/notebooks/TPCDS-SF10.ipynb b/examples/SQL+DF-Examples/tpcds/notebooks/TPCDS-SF10.ipynb index fd531f91..a081a889 100644 --- a/examples/SQL+DF-Examples/tpcds/notebooks/TPCDS-SF10.ipynb +++ b/examples/SQL+DF-Examples/tpcds/notebooks/TPCDS-SF10.ipynb @@ -25,7 +25,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -36,7 +36,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 2, "metadata": { "executionInfo": { "elapsed": 1630, @@ -77,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 3, "metadata": { "executionInfo": { "elapsed": 1052, @@ -103,7 +103,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 4, "metadata": { "executionInfo": { "elapsed": 12, @@ -133,7 +133,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 5, "metadata": { "executionInfo": { "elapsed": 41530, @@ -166,7 +166,7 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": 6, "metadata": { "executionInfo": { "elapsed": 39420, @@ -185,7 +185,45 @@ "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:16:40 WARN SparkSession: Using an existing Spark session; only runtime SQL configurations will take effect.\n" + "24/10/22 20:24:36 WARN Utils: Your hostname, e780a48-lcedt resolves to a loopback address: 127.0.1.1; using 10.112.215.249 instead (on interface enp36s0f0)\n", + "24/10/22 20:24:36 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + ":: loading settings :: url = jar:file:/home/gshegalov/gits/NVIDIA/spark-rapids-examples/.venv/lib/python3.10/site-packages/pyspark/jars/ivy-2.5.1.jar!/org/apache/ivy/core/settings/ivysettings.xml\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "Ivy Default Cache set to: /home/gshegalov/.ivy2/cache\n", + "The jars for the packages stored in: /home/gshegalov/.ivy2/jars\n", + "com.nvidia#rapids-4-spark_2.12 added as a dependency\n", + ":: resolving dependencies :: org.apache.spark#spark-submit-parent-df1f6219-409d-4ff8-8387-c5192908c474;1.0\n", + "\tconfs: [default]\n", + "\tfound com.nvidia#rapids-4-spark_2.12;24.10.0 in central\n", + ":: resolution report :: resolve 73ms :: artifacts dl 2ms\n", + "\t:: modules in use:\n", + "\tcom.nvidia#rapids-4-spark_2.12;24.10.0 from central in [default]\n", + "\t---------------------------------------------------------------------\n", + "\t| | modules || artifacts |\n", + "\t| conf | number| search|dwnlded|evicted|| number|dwnlded|\n", + "\t---------------------------------------------------------------------\n", + "\t| default | 1 | 0 | 0 | 0 || 1 | 0 |\n", + "\t---------------------------------------------------------------------\n", + ":: retrieving :: org.apache.spark#spark-submit-parent-df1f6219-409d-4ff8-8387-c5192908c474\n", + "\tconfs: [default]\n", + "\t0 artifacts copied, 1 already retrieved (0kB/2ms)\n", + "24/10/22 20:24:36 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable\n", + "Setting default log level to \"WARN\".\n", + "To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).\n", + "24/10/22 20:24:38 WARN RapidsPluginUtils: RAPIDS Accelerator 24.10.0 using cudf 24.10.0, private revision bd4e99e18e20234ee0c54f95f4b0bfce18a6255e\n", + "24/10/22 20:24:38 WARN RapidsPluginUtils: RAPIDS Accelerator is enabled, to disable GPU support set `spark.rapids.sql.enabled` to false.\n", + "24/10/22 20:24:38 WARN RapidsPluginUtils: spark.rapids.sql.explain is set to `NOT_ON_GPU`. Set it to 'NONE' to suppress the diagnostics logging about the query placement on the GPU.\n" ] } ], @@ -212,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -232,6 +270,13 @@ "outputId": "5d493a51-58de-4aed-bbaf-d73c82769836" }, "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[Stage 0:> (0 + 64) / 64]\r" + ] + }, { "name": "stdout", "output_type": "stream", @@ -240,20 +285,27 @@ "AdaptiveSparkPlan isFinalPlan=true\n", "+- == Final Plan ==\n", " GpuColumnarToRow false, [loreId=22]\n", - " +- GpuHashAggregate (keys=[], functions=[gpubasicsum(id#182218L, LongType, false)]), filters=ArrayBuffer(None)) [loreId=21]\n", + " +- GpuHashAggregate (keys=[], functions=[gpubasicsum(id#0L, LongType, false)]), filters=ArrayBuffer(None)) [loreId=21]\n", " +- GpuShuffleCoalesce 1073741824, [loreId=20]\n", " +- ShuffleQueryStage 0\n", - " +- GpuColumnarExchange gpusinglepartitioning$(), ENSURE_REQUIREMENTS, [plan_id=886390], [loreId=17]\n", - " +- GpuHashAggregate (keys=[], functions=[partial_gpubasicsum(id#182218L, LongType, false)]), filters=ArrayBuffer(None)) [loreId=16]\n", + " +- GpuColumnarExchange gpusinglepartitioning$(), ENSURE_REQUIREMENTS, [plan_id=64], [loreId=17]\n", + " +- GpuHashAggregate (keys=[], functions=[partial_gpubasicsum(id#0L, LongType, false)]), filters=ArrayBuffer(None)) [loreId=16]\n", " +- GpuRange (0, 1000, step=1, splits=64)\n", "+- == Initial Plan ==\n", - " HashAggregate(keys=[], functions=[sum(id#182218L)])\n", - " +- Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=886337]\n", - " +- HashAggregate(keys=[], functions=[partial_sum(id#182218L)])\n", + " HashAggregate(keys=[], functions=[sum(id#0L)])\n", + " +- Exchange SinglePartition, ENSURE_REQUIREMENTS, [plan_id=11]\n", + " +- HashAggregate(keys=[], functions=[partial_sum(id#0L)])\n", " +- Range (0, 1000, step=1, splits=64)\n", "\n", "\n" ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" + ] } ], "source": [ @@ -265,7 +317,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 8, "metadata": { "executionInfo": { "elapsed": 5, @@ -292,7 +344,7 @@ " 'q23b',\n", " # 'q24a',\n", " # 'q24b',\n", - " 'q88',\n", + " # 'q88',\n", "]\n" ] }, @@ -305,7 +357,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -329,15 +381,15 @@ "name": "stdout", "output_type": "stream", "text": [ - "sparkMeasure jar path: /home/gshegalov/.local/share/virtualenvs/jupyterlab-E-itHfrh/lib/python3.10/site-packages/tpcds_pyspark/spark-measure_2.12-0.24.jar\n", - "TPCDS queries path: /home/gshegalov/.local/share/virtualenvs/jupyterlab-E-itHfrh/lib/python3.10/site-packages/tpcds_pyspark/Queries\n" + "sparkMeasure jar path: /home/gshegalov/gits/NVIDIA/spark-rapids-examples/.venv/lib/python3.10/site-packages/tpcds_pyspark/spark-measure_2.12-0.24.jar\n", + "TPCDS queries path: /home/gshegalov/gits/NVIDIA/spark-rapids-examples/.venv/lib/python3.10/site-packages/tpcds_pyspark/Queries\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:17:25 WARN SparkSession: Using an existing Spark session; only runtime SQL configurations will take effect.\n" + "24/10/22 20:24:46 WARN SparkSession: Using an existing Spark session; only runtime SQL configurations will take effect.\n" ] } ], @@ -357,7 +409,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -381,7 +433,20 @@ "name": "stdout", "output_type": "stream", "text": [ - "Creating temporary view catalog_returns\n", + "Creating temporary view catalog_returns\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "24/10/22 20:24:47 WARN SparkStringUtils: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Creating temporary view catalog_sales\n", "Creating temporary view inventory\n", "Creating temporary view store_returns\n", @@ -423,7 +488,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -463,12 +528,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:18:36\n", - "...Elapsed Time = 7.42 sec\n", - "...Executors Run Time = 115.76 sec\n", - "...Executors CPU Time = 63.91 sec\n", - "...Executors JVM GC Time = 39.27 sec\n", - "...Average Active Tasks = 15.6\n", + "...Start Time = 2024-10-22 20:24:49\n", + "...Elapsed Time = 9.78 sec\n", + "...Executors Run Time = 160.46 sec\n", + "...Executors CPU Time = 89.63 sec\n", + "...Executors JVM GC Time = 34.83 sec\n", + "...Average Active Tasks = 16.4\n", "\n", "Run 0 - query q14b - attempt 0 - starting...\n" ] @@ -485,12 +550,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:18:46\n", - "...Elapsed Time = 4.53 sec\n", - "...Executors Run Time = 76.36 sec\n", - "...Executors CPU Time = 49.59 sec\n", - "...Executors JVM GC Time = 18.49 sec\n", - "...Average Active Tasks = 16.9\n", + "...Start Time = 2024-10-22 20:25:03\n", + "...Elapsed Time = 5.61 sec\n", + "...Executors Run Time = 97.64 sec\n", + "...Executors CPU Time = 58.69 sec\n", + "...Executors JVM GC Time = 25.94 sec\n", + "...Average Active Tasks = 17.4\n", "\n", "Run 0 - query q23a - attempt 0 - starting...\n" ] @@ -507,12 +572,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:18:52\n", - "...Elapsed Time = 7.78 sec\n", - "...Executors Run Time = 169.37 sec\n", - "...Executors CPU Time = 109.71 sec\n", - "...Executors JVM GC Time = 43.06 sec\n", - "...Average Active Tasks = 21.8\n", + "...Start Time = 2024-10-22 20:25:10\n", + "...Elapsed Time = 8.77 sec\n", + "...Executors Run Time = 201.08 sec\n", + "...Executors CPU Time = 142.97 sec\n", + "...Executors JVM GC Time = 40.97 sec\n", + "...Average Active Tasks = 22.9\n", "\n", "Run 0 - query q23b - attempt 0 - starting...\n" ] @@ -521,7 +586,8 @@ "name": "stderr", "output_type": "stream", "text": [ - " \r" + "24/10/22 20:25:24 WARN RowBasedKeyValueBatch: Calling spill() on RowBasedKeyValueBatch. Will not spill but return 0.\n", + "[Stage 218:=> (2 + 64) / 66]\r" ] }, { @@ -529,23 +595,22 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:19:01\n", - "...Elapsed Time = 8.04 sec\n", - "...Executors Run Time = 207.58 sec\n", - "...Executors CPU Time = 124.36 sec\n", - "...Executors JVM GC Time = 65.38 sec\n", - "...Average Active Tasks = 25.8\n", - "\n", - "Run 0 - query q88 - attempt 0 - starting...\n", - "Job finished\n", - "...Start Time = 2024-10-22 18:19:10\n", - "...Elapsed Time = 0.77 sec\n", - "...Executors Run Time = 31.51 sec\n", - "...Executors CPU Time = 20.43 sec\n", - "...Executors JVM GC Time = 7.06 sec\n", - "...Average Active Tasks = 40.8\n", - "CPU times: user 99.8 ms, sys: 22.9 ms, total: 123 ms\n", - "Wall time: 36 s\n" + "...Start Time = 2024-10-22 20:25:20\n", + "...Elapsed Time = 10.68 sec\n", + "...Executors Run Time = 241.66 sec\n", + "...Executors CPU Time = 157.55 sec\n", + "...Executors JVM GC Time = 60.73 sec\n", + "...Average Active Tasks = 22.6\n", + "CPU times: user 103 ms, sys: 37.3 ms, total: 141 ms\n", + "Wall time: 42.8 s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/gshegalov/gits/NVIDIA/spark-rapids-examples/.venv/lib/python3.10/site-packages/tpcds_pyspark/tpcds.py:243: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.\n", + " results_pdf['timestamp'] = pd.to_datetime(results_pdf['timestamp'])\n" ] }, { @@ -598,13 +663,13 @@ " q14a\n", " 30\n", " 838\n", - " 7417\n", - " 12274\n", - " 115758\n", - " 63907\n", - " 2393\n", - " 1634\n", - " 924\n", + " 9779\n", + " 19488\n", + " 160456\n", + " 89631\n", + " 9277\n", + " 3040\n", + " 362\n", " ...\n", " 551\n", " 0\n", @@ -614,21 +679,21 @@ " 0\n", " 875325021\n", " 62516924\n", - " 15\n", - " 7\n", + " 16\n", + " 9\n", " \n", " \n", " 1\n", " q14b\n", " 24\n", " 636\n", - " 4526\n", - " 6859\n", - " 76362\n", - " 49588\n", - " 1629\n", - " 1198\n", - " 87\n", + " 5608\n", + " 8704\n", + " 97644\n", + " 58687\n", + " 2565\n", + " 1649\n", + " 210\n", " ...\n", " 513\n", " 0\n", @@ -638,21 +703,21 @@ " 0\n", " 529675847\n", " 40865273\n", - " 16\n", - " 4\n", + " 17\n", + " 5\n", " \n", " \n", " 2\n", " q23a\n", " 18\n", " 621\n", - " 7783\n", - " 13629\n", - " 169367\n", - " 109709\n", - " 1557\n", - " 1048\n", - " 75\n", + " 8765\n", + " 15382\n", + " 201084\n", + " 142969\n", + " 3432\n", + " 1429\n", + " 134\n", " ...\n", " 2269\n", " 0\n", @@ -662,109 +727,79 @@ " 0\n", " 1085198863\n", " 41990073\n", - " 21\n", - " 7\n", + " 22\n", + " 8\n", " \n", " \n", " 3\n", " q23b\n", " 21\n", " 690\n", - " 8045\n", - " 15676\n", - " 207577\n", - " 124362\n", - " 4056\n", - " 1347\n", - " 27\n", + " 10684\n", + " 19596\n", + " 241665\n", + " 157549\n", + " 3374\n", + " 1718\n", + " 192\n", " ...\n", " 4779\n", " 0\n", - " 1200330085\n", - " 1200330085\n", + " 1194344589\n", + " 1194344589\n", " 0\n", " 0\n", - " 1097570340\n", + " 1091584844\n", " 42452502\n", - " 25\n", - " 8\n", - " \n", - " \n", - " 4\n", - " q88\n", - " 26\n", - " 530\n", - " 773\n", - " 4281\n", - " 31512\n", - " 20433\n", - " 196\n", - " 359\n", - " 0\n", - " ...\n", - " 512\n", - " 0\n", - " 28912\n", - " 28912\n", - " 0\n", - " 0\n", - " 28912\n", - " 512\n", - " 40\n", - " 0\n", + " 22\n", + " 10\n", " \n", " \n", "\n", - "

5 rows × 33 columns

\n", + "

4 rows × 33 columns

\n", "" ], "text/plain": [ " query numStages numTasks elapsedTime stageDuration executorRunTime \\\n", - "0 q14a 30 838 7417 12274 115758 \n", - "1 q14b 24 636 4526 6859 76362 \n", - "2 q23a 18 621 7783 13629 169367 \n", - "3 q23b 21 690 8045 15676 207577 \n", - "4 q88 26 530 773 4281 31512 \n", + "0 q14a 30 838 9779 19488 160456 \n", + "1 q14b 24 636 5608 8704 97644 \n", + "2 q23a 18 621 8765 15382 201084 \n", + "3 q23b 21 690 10684 19596 241665 \n", "\n", " executorCpuTime executorDeserializeTime executorDeserializeCpuTime \\\n", - "0 63907 2393 1634 \n", - "1 49588 1629 1198 \n", - "2 109709 1557 1048 \n", - "3 124362 4056 1347 \n", - "4 20433 196 359 \n", + "0 89631 9277 3040 \n", + "1 58687 2565 1649 \n", + "2 142969 3432 1429 \n", + "3 157549 3374 1718 \n", "\n", " resultSerializationTime ... shuffleLocalBlocksFetched \\\n", - "0 924 ... 551 \n", - "1 87 ... 513 \n", - "2 75 ... 2269 \n", - "3 27 ... 4779 \n", - "4 0 ... 512 \n", + "0 362 ... 551 \n", + "1 210 ... 513 \n", + "2 134 ... 2269 \n", + "3 192 ... 4779 \n", "\n", " shuffleRemoteBlocksFetched shuffleTotalBytesRead shuffleLocalBytesRead \\\n", "0 0 878437913 878437913 \n", "1 0 1013592969 1013592969 \n", "2 0 1115089630 1115089630 \n", - "3 0 1200330085 1200330085 \n", - "4 0 28912 28912 \n", + "3 0 1194344589 1194344589 \n", "\n", " shuffleRemoteBytesRead shuffleRemoteBytesReadToDisk shuffleBytesWritten \\\n", "0 0 0 875325021 \n", "1 0 0 529675847 \n", "2 0 0 1085198863 \n", - "3 0 0 1097570340 \n", - "4 0 0 28912 \n", + "3 0 0 1091584844 \n", "\n", " shuffleRecordsWritten avg_active_tasks elapsed_time_seconds \n", - "0 62516924 15 7 \n", - "1 40865273 16 4 \n", - "2 41990073 21 7 \n", - "3 42452502 25 8 \n", - "4 512 40 0 \n", + "0 62516924 16 9 \n", + "1 40865273 17 5 \n", + "2 41990073 22 8 \n", + "3 42452502 22 10 \n", "\n", - "[5 rows x 33 columns]" + "[4 rows x 33 columns]" ] }, - "execution_count": 46, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } @@ -787,7 +822,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", @@ -819,9 +854,30 @@ "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:19:13 WARN GpuOverrides: \n", + "24/10/22 20:25:34 WARN GpuOverrides: \n", "! cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.datasources.v2.OverwriteByExpressionExec\n", "\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", + "24/10/22 20:25:35 WARN MultiFileReaderThreadPool: Configuring the file reader thread pool with a max of 64 threads instead of spark.rapids.sql.multiThreadedRead.numThreads = 20\n", " \r" ] }, @@ -830,12 +886,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:19:12\n", - "...Elapsed Time = 4.66 sec\n", - "...Executors Run Time = 88.34 sec\n", - "...Executors CPU Time = 14.61 sec\n", - "...Executors JVM GC Time = 7.65 sec\n", - "...Average Active Tasks = 19.0\n", + "...Start Time = 2024-10-22 20:25:32\n", + "...Elapsed Time = 6.63 sec\n", + "...Executors Run Time = 134.13 sec\n", + "...Executors CPU Time = 20.09 sec\n", + "...Executors JVM GC Time = 6.65 sec\n", + "...Average Active Tasks = 20.2\n", "\n", "Run 0 - query q14b - attempt 0 - starting...\n" ] @@ -844,7 +900,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:19:20 WARN GpuOverrides: \n", + "24/10/22 20:25:42 WARN GpuOverrides: \n", "! cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.datasources.v2.OverwriteByExpressionExec\n", "\n" ] @@ -854,12 +910,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:19:20\n", - "...Elapsed Time = 2.38 sec\n", - "...Executors Run Time = 66.28 sec\n", - "...Executors CPU Time = 11.44 sec\n", - "...Executors JVM GC Time = 6.65 sec\n", - "...Average Active Tasks = 27.8\n", + "...Start Time = 2024-10-22 20:25:42\n", + "...Elapsed Time = 2.96 sec\n", + "...Executors Run Time = 90.89 sec\n", + "...Executors CPU Time = 13.46 sec\n", + "...Executors JVM GC Time = 9.7 sec\n", + "...Average Active Tasks = 30.7\n", "\n", "Run 0 - query q23a - attempt 0 - starting...\n" ] @@ -868,7 +924,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:19:23 WARN GpuOverrides: \n", + "24/10/22 20:25:47 WARN GpuOverrides: \n", "! cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.datasources.v2.OverwriteByExpressionExec\n", "\n", " \r" @@ -879,12 +935,12 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:19:23\n", - "...Elapsed Time = 2.9 sec\n", - "...Executors Run Time = 88.17 sec\n", - "...Executors CPU Time = 19.27 sec\n", - "...Executors JVM GC Time = 6.89 sec\n", - "...Average Active Tasks = 30.4\n", + "...Start Time = 2024-10-22 20:25:46\n", + "...Elapsed Time = 3.33 sec\n", + "...Executors Run Time = 96.84 sec\n", + "...Executors CPU Time = 21.94 sec\n", + "...Executors JVM GC Time = 4.43 sec\n", + "...Average Active Tasks = 29.1\n", "\n", "Run 0 - query q23b - attempt 0 - starting...\n" ] @@ -893,35 +949,10 @@ "name": "stderr", "output_type": "stream", "text": [ - "24/10/22 18:19:28 WARN GpuOverrides: \n", - "! cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.datasources.v2.OverwriteByExpressionExec\n", - "\n", - " \r" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Job finished\n", - "...Start Time = 2024-10-22 18:19:27\n", - "...Elapsed Time = 4.53 sec\n", - "...Executors Run Time = 170.1 sec\n", - "...Executors CPU Time = 21.97 sec\n", - "...Executors JVM GC Time = 4.99 sec\n", - "...Average Active Tasks = 37.5\n", - "\n", - "Run 0 - query q88 - attempt 0 - starting...\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "24/10/22 18:19:33 WARN GpuOverrides: \n", + "24/10/22 20:25:51 WARN GpuOverrides: \n", "! cannot run on GPU because GPU does not currently support the operator class org.apache.spark.sql.execution.datasources.v2.OverwriteByExpressionExec\n", "\n", - "[Stage 1583:(26 + 38) / 64][Stage 1585:> (0 + 1) / 1][Stage 1587:> (0 + 1) / 1]\r" + "[Stage 420:======================================> (36 + 14) / 50]\r" ] }, { @@ -929,14 +960,14 @@ "output_type": "stream", "text": [ "Job finished\n", - "...Start Time = 2024-10-22 18:19:33\n", - "...Elapsed Time = 1.5 sec\n", - "...Executors Run Time = 78.1 sec\n", - "...Executors CPU Time = 3.1 sec\n", - "...Executors JVM GC Time = 1.92 sec\n", - "...Average Active Tasks = 52.0\n", - "CPU times: user 63.7 ms, sys: 20.5 ms, total: 84.1 ms\n", - "Wall time: 23.8 s\n" + "...Start Time = 2024-10-22 20:25:51\n", + "...Elapsed Time = 5.0 sec\n", + "...Executors Run Time = 187.15 sec\n", + "...Executors CPU Time = 25.02 sec\n", + "...Executors JVM GC Time = 5.3 sec\n", + "...Average Active Tasks = 37.4\n", + "CPU times: user 60.8 ms, sys: 17.7 ms, total: 78.4 ms\n", + "Wall time: 25.4 s\n" ] }, { @@ -996,47 +1027,47 @@ " q14a\n", " 30\n", " 862\n", - " 4655\n", - " 6288\n", - " 88338\n", - " 14607\n", - " 3734\n", - " 3113\n", - " 40\n", + " 6627\n", + " 12982\n", + " 134135\n", + " 20095\n", + " 7859\n", + " 4073\n", + " 57\n", " ...\n", " 718\n", " 0\n", - " 696333940\n", - " 696333940\n", + " 696329859\n", + " 696329859\n", " 0\n", " 0\n", - " 693777744\n", + " 693773959\n", " 18794\n", - " 18\n", - " 4\n", + " 20\n", + " 6\n", " \n", " \n", " 1\n", " q14b\n", " 24\n", " 661\n", - " 2380\n", - " 4161\n", - " 66275\n", - " 11443\n", - " 3381\n", - " 2148\n", - " 6\n", + " 2959\n", + " 5783\n", + " 90892\n", + " 13457\n", + " 5387\n", + " 2913\n", + " 64\n", " ...\n", " 695\n", " 0\n", - " 767468189\n", - " 767468189\n", + " 767417490\n", + " 767417490\n", " 0\n", " 0\n", - " 421611887\n", + " 421580618\n", " 15346\n", - " 27\n", + " 30\n", " 2\n", " \n", " \n", @@ -1044,125 +1075,95 @@ " q23a\n", " 18\n", " 589\n", - " 2903\n", - " 4713\n", - " 88169\n", - " 19265\n", - " 3262\n", - " 1785\n", - " 82\n", + " 3332\n", + " 5160\n", + " 96842\n", + " 21942\n", + " 2211\n", + " 2011\n", + " 32\n", " ...\n", " 1727\n", " 0\n", - " 897090067\n", - " 897090067\n", + " 897041986\n", + " 897041986\n", " 0\n", " 0\n", - " 878982786\n", + " 878935367\n", " 15223\n", - " 30\n", - " 2\n", + " 29\n", + " 3\n", " \n", " \n", " 3\n", " q23b\n", " 21\n", - " 650\n", - " 4530\n", - " 7651\n", - " 170098\n", - " 21974\n", - " 2220\n", - " 2034\n", - " 28\n", + " 651\n", + " 5005\n", + " 8439\n", + " 187145\n", + " 25015\n", + " 2687\n", + " 2425\n", + " 43\n", " ...\n", - " 3748\n", + " 3774\n", " 0\n", - " 952919369\n", - " 952919369\n", + " 952892096\n", + " 952892096\n", " 0\n", " 0\n", - " 888438360\n", - " 16353\n", + " 888404420\n", + " 16352\n", " 37\n", - " 4\n", - " \n", - " \n", - " 4\n", - " q88\n", - " 26\n", - " 530\n", - " 1503\n", - " 8801\n", - " 78101\n", - " 3102\n", - " 1165\n", - " 1354\n", - " 0\n", - " ...\n", - " 512\n", - " 0\n", - " 38560\n", - " 38560\n", - " 0\n", - " 0\n", - " 38560\n", - " 512\n", - " 51\n", - " 1\n", + " 5\n", " \n", " \n", "\n", - "

5 rows × 33 columns

\n", + "

4 rows × 33 columns

\n", "" ], "text/plain": [ " query numStages numTasks elapsedTime stageDuration executorRunTime \\\n", - "0 q14a 30 862 4655 6288 88338 \n", - "1 q14b 24 661 2380 4161 66275 \n", - "2 q23a 18 589 2903 4713 88169 \n", - "3 q23b 21 650 4530 7651 170098 \n", - "4 q88 26 530 1503 8801 78101 \n", + "0 q14a 30 862 6627 12982 134135 \n", + "1 q14b 24 661 2959 5783 90892 \n", + "2 q23a 18 589 3332 5160 96842 \n", + "3 q23b 21 651 5005 8439 187145 \n", "\n", " executorCpuTime executorDeserializeTime executorDeserializeCpuTime \\\n", - "0 14607 3734 3113 \n", - "1 11443 3381 2148 \n", - "2 19265 3262 1785 \n", - "3 21974 2220 2034 \n", - "4 3102 1165 1354 \n", + "0 20095 7859 4073 \n", + "1 13457 5387 2913 \n", + "2 21942 2211 2011 \n", + "3 25015 2687 2425 \n", "\n", " resultSerializationTime ... shuffleLocalBlocksFetched \\\n", - "0 40 ... 718 \n", - "1 6 ... 695 \n", - "2 82 ... 1727 \n", - "3 28 ... 3748 \n", - "4 0 ... 512 \n", + "0 57 ... 718 \n", + "1 64 ... 695 \n", + "2 32 ... 1727 \n", + "3 43 ... 3774 \n", "\n", " shuffleRemoteBlocksFetched shuffleTotalBytesRead shuffleLocalBytesRead \\\n", - "0 0 696333940 696333940 \n", - "1 0 767468189 767468189 \n", - "2 0 897090067 897090067 \n", - "3 0 952919369 952919369 \n", - "4 0 38560 38560 \n", + "0 0 696329859 696329859 \n", + "1 0 767417490 767417490 \n", + "2 0 897041986 897041986 \n", + "3 0 952892096 952892096 \n", "\n", " shuffleRemoteBytesRead shuffleRemoteBytesReadToDisk shuffleBytesWritten \\\n", - "0 0 0 693777744 \n", - "1 0 0 421611887 \n", - "2 0 0 878982786 \n", - "3 0 0 888438360 \n", - "4 0 0 38560 \n", + "0 0 0 693773959 \n", + "1 0 0 421580618 \n", + "2 0 0 878935367 \n", + "3 0 0 888404420 \n", "\n", " shuffleRecordsWritten avg_active_tasks elapsed_time_seconds \n", - "0 18794 18 4 \n", - "1 15346 27 2 \n", - "2 15223 30 2 \n", - "3 16353 37 4 \n", - "4 512 51 1 \n", + "0 18794 20 6 \n", + "1 15346 30 2 \n", + "2 15223 29 3 \n", + "3 16352 37 5 \n", "\n", - "[5 rows x 33 columns]" + "[4 rows x 33 columns]" ] }, - "execution_count": 47, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1215,7 +1216,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CPU and GPU run took: demo_dur=65.33285164833069 seconds\n" + "CPU and GPU run took: demo_dur=70.06181907653809 seconds\n" ] } ], @@ -1258,7 +1259,7 @@ }, { "data": { - "image/png": "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4UU5XDkspz4pKSl48+YNDA0N1eYdEhKCadOm5XdxiIiISILytQfm4cOH+Pbbb7F27VoYGBgUVk2fZOLEiUhOThYfDx8+1HRJREREVEjyFWBiY2ORmJiIGjVqQEdHBzo6Ojh69CgWLFgAHR0d2NraIiMjAy9evFAZLyEhAXZ2dgAAOzs7tauSlM9z62NmZpbt3hcA0NfXh5mZmcqDiIiIiqd8BZhGjRrhypUruHjxovioVasWevToIf6tq6uLgwcPiuPcvHkTcXFx8PHxAQD4+PjgypUrSExMFPvs378fZmZmcHNzE/u8Pw1lH+U0iIiIqGTL1zkwpqamqFatmkqbsbExSpUqJbYPGDAAo0ePhqWlJczMzDB8+HD4+Pigdu3aAICmTZvCzc0NvXr1wqxZsxAfH48ffvgBw4YNg76+PgBgyJAhWLRoEb777jv0798fhw4dwsaNG7Fz586CWGYiIiKSuHyfxJubefPmQUtLCx06dEB6ejoCAgKwZMkScbi2tjZ27NiBb775Bj4+PjA2NkafPn0wffp0sY+Liwt27tyJUaNGITw8HGXKlMHKlSsREBBQ0OUSERGRBH12gDly5IjKcwMDAyxevBiLFy/+6DhOTk7YtWtXjtP19/fHhQsXPrc8IiIiKob4W0hEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5DDBEREQkOQwwREREJDkMMERERCQ5OpougIiI8mGquQbnnay5eRN9gHtgiIiISHIYYIiIiEhyGGCIiIhIchhgiIiISHIYYIiIiEhyGGCIiIhIchhgiIiISHIYYIiIiEhyGGCIiIhIchhgiIiISHIYYIiIiEhyGGCIiIhIcvhjjkRERF8q/njnR3EPDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4DDBEREUkOAwwRERFJDgMMERERSQ4D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", + "image/png": "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jqSkJLFOZGQkTExM4OLiItZ5cx7KOsp5EBERUdlW4qer/P398euvv+L333+HsbGxOIbG1NQU+vr6MDU1hZ+fH8aPHw9zc3OYmJhg9OjR8PDwQMOGDQEArVu3houLC/r374/58+cjISEB06dPh7+/v3i6aeTIkVi+fDm+/fZbDBkyBEePHsW2bdsQERFR0qtEREREn6ES78lZtWoV0tLS4O3tDVtbW/GxdetWsc7ixYvRvn17dO3aFU2bNoWNjQ127twpTtfU1MS+ffugqakJDw8P9OvXDwMGDMCcOXPEOk5OToiIiEBkZCS++OILhISEYO3ate+8fJyIiIjKlhLvyREEodA6enp6WLFiBVasWPHOOg4ODti/f3+B8/H29sbly5eL3UYiIiKSPv52FREREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSdJnH3JWrFgBR0dH6Onpwd3dHRcuXFB3k4iIiOgT8FmHnK1bt2L8+PGYNWsWLl26hC+++AI+Pj5ISkpSd9OIiIhIzT7rkLNo0SIMGzYMgwcPhouLC1avXg0DAwP88ssv6m4aERERqZmWuhvwvrKzsxEdHY2pU6eKZRoaGmjZsiXOnj2b72uysrKQlZUlPk9LSwMApKenl25j30GRlaGW5QJAukxQ27Khpvdb3bi9yxZu77KF2/tjL/b1cgWh4HX/bEPOv//+i9zcXFhbW6uUW1tb46+//sr3NUFBQZg9e3aecnt7+1Jp46fMVJ0L/0GtSy+TuL3LFm7vsqUsb+9nz57B1PTdbfhsQ877mDp1KsaPHy8+VygUSE5ORrly5SCTydTYso8rPT0d9vb2ePjwIUxMTNTdHCpl3N5lC7d32VJWt7cgCHj27Bns7OwKrPfZhhwLCwtoamoiMTFRpTwxMRE2Njb5vkZXVxe6uroqZXK5vLSa+MkzMTEpUztFWcftXbZwe5ctZXF7F9SDo/TZDjzW0dFB/fr1ceTIEbFMoVDgyJEj8PDwUGPLiIiI6FPw2fbkAMD48eMxcOBANGjQAG5ubliyZAlevHiBwYMHq7tpREREpGafdcjp2bMnnj59ipkzZyIhIQGurq44ePBgnsHIpEpXVxezZs3Kc+qOpInbu2zh9i5buL0LJhMKu/6KiIiI6DP02Y7JISIiIioIQw4RERFJEkMOERERSRJDDhEREUkSQw4RERFJEkMOERERSdJnfZ8cKp6oqCjExMQAAGrUqIEGDRqouUVERFRcubm52LVrl8rxvFOnTtDS4lf623ifnDLg0aNH6N27N06fPi3+VldqaioaNWqELVu2oEKFCuptIJW4HTt2YNu2bYiPj0d2drbKtEuXLqmpVVRaoqKi3rm9d+7cqaZWUWm4efMmvvrqKyQkJKBatWoAgNu3b8PS0hJ79+5FrVq11NzCTwtPV5UBQ4cORU5ODmJiYpCcnIzk5GTExMRAoVBg6NCh6m4elbClS5di8ODBsLa2xuXLl+Hm5oZy5crh3r17aNu2rbqbRyVsy5YtaNSoEWJiYrBr1y7k5OTg5s2bOHr0aJF+wJA+L0OHDkXNmjXx6NEjXLp0CZcuXcLDhw9Rp04dDB8+XN3N++SwJ6cM0NfXx5kzZ1C3bl2V8ujoaHh6eiIjI0NNLaPSUL16dcyaNQu9e/eGsbExrl69ikqVKmHmzJlITk7G8uXL1d1EKkF16tTBiBEj4O/vL25vJycnjBgxAra2tpg9e7a6m0glSF9fH1FRUahZs6ZK+Y0bN/Dll1/i5cuXamrZp4k9OWWAvb09cnJy8pTn5ubCzs5ODS2i0hQfH49GjRoBeH1AfPbsGQCgf//+2Lx5szqbRqXg7t278PX1BQDo6OjgxYsXkMlkGDduHNasWaPm1lFJq1q1KhITE/OUJyUloUqVKmpo0aeNIacMWLBgAUaPHo2oqCixLCoqCt988w0WLlyoxpZRabCxsUFycjIAoGLFijh37hwAIC4uDuy4lR4zMzMxyJYvXx43btwA8HrcHXtppSE9PV18BAUFYcyYMdixYwcePXqER48eYceOHRg7diyCg4PV3dRPDk9XSZSZmRlkMpn4/MWLF3j16pU4+l75t6GhofiFSNIwdOhQ2NvbY9asWVixYgUmTZqExo0bIyoqCl26dMHPP/+s7iZSCerTpw8aNGiA8ePH47vvvsOyZcvQsWNHREZGol69ehx4LAEaGhoqx3Pl17ay7M3nubm5H7+BnzCGHIkKDw8vct2BAweWYkvoY1MoFFAoFGKg3bJlC86cOQNnZ2eMGDECOjo6am4hlaTk5GRkZmbCzs4OCoUC8+fPF7f39OnTYWZmpu4m0gc6ceJEket6eXmVYks+Pww5REREJEkck1MGvN19ef78eZw8eTLfwcgkPc2bN8eDBw/U3QwqJdy/yzbu3wXj7REl7MmTJ+jWrRvOnz+Pxo0bY/fu3ejfvz/2798PAHB2dsbx48dha2ur5pZSSdizZ0++5SdPnsS+fftgb28PAPjqq68+ZrOolDx58gTdu3fHuXPnuH+XAdy/3w9PV0nYgAEDcPfuXUyZMgWbNm3Cw4cPoampic2bNyM3Nxd9+vSBq6sr75siEcrBiQXt0hyYKB3cv8sW7t/vhyFHwuzs7LBz5040bNgQycnJsLCwQGRkJFq0aAEAOHr0KIYNG4a7d++quaVUEtq2bQtNTU388ssvsLKyEsu1tbVx9epVuLi4qLF1VNK4f5ct3L/fD8fkSFhKSgrKly8PADA3N4eBgQEcHBzE6VWqVMGTJ0/U1TwqYQcOHECLFi3QoEED7Nu3T93NoVLG/bts4f79fhhyJMzKykrlIBcQEABzc3PxeUpKCgwNDdXRNCol48aNw549ezB58mSMGDGCN4OTMO7fZQ/37+JjyJEwV1dXnD17Vnz+ww8/qBwE//zzT9SpU0cdTaNS5OrqiqioKMhkMri6uvIuxxLF/bts4v5dPByTU4ZduHABBgYGqFWrlrqbQqVkz549OHbsGKZOnapyHp+kj/u39HH/LhxDDhEREUkST1eVAY8ePcLz58/zlOfk5ODkyZNqaBGpQ2JiIubMmaPuZlAJ4/5NAPfvd2HIkbAnT57Azc0NDg4OkMvlGDBggMrBMDk5Gc2aNVNjC+ljSkhIwOzZs9XdDCoh3L/pTdy/88c7HkvYlClToKGhgfPnzyM1NRVTpkxBs2bNcPjwYfFH+3i2UjquXbtW4PTY2NiP1BL6GLh/ly3cv98Px+RIWPny5bFr1y64ubkBALKystC9e3c8fPgQR44cQU5ODuzs7HiHTIko6I6oynLeEVU6uH+XLdy/3w9PV0lYWlqa+B8dAOjq6mLnzp1wdHREs2bNkJSUpMbWUUkzNzfHTz/9hLi4uDyPe/fu8QZiEsP9u2zh/v1+eLpKwipVqoRr167B2dlZLNPS0sL27dvRvXt3tG/fXo2to5JWv359PH78WOWut29KTU3l6QsJ4f5dtnD/fj/syZGwtm3bYs2aNXnKlQdC3khKWkaOHAlHR8d3Tq9YsSLCwsI+XoOoVHH/Llu4f78fjsmRsFevXiEjIwMmJibvnP7PP/+88z8DIvp0cf8mKhxDThkwfvz4ItddtGhRKbaEPgZu77KF27ts4fYuHo7JKQMuX76My5cvIycnB9WqVQMA3L59G5qamqhXr55YTyaTqauJVIK4vcsWbu+yhdu7eBhyyoAOHTrA2NgY4eHh4tUYKSkpGDx4MDw9PTFhwgQ1t5BKErd32cLtXbZwexcPT1eVAeXLl8fhw4dRs2ZNlfIbN26gdevWePz4sZpaRqWB27ts4fYuW7i9i4dXV5UB6enpePr0aZ7yp0+f4tmzZ2poEZUmbu+yhdu7bOH2Lh6GnDKgc+fOGDx4MHbu3IlHjx7h0aNH+O233+Dn54cuXbqou3lUwri9yxZu77KF27uYBJK8Fy9eCF9//bWgq6sraGhoCBoaGoKOjo7w9ddfC8+fP1d386iEcXuXLdzeZQu3d/FwTE4Z8uLFC9y9excAULlyZRgaGqq5RVSauL3LFm7vsoXbu2gYcoiIiEiSOCaHiIiIJIkhh4iIiCSJIYeIiIgkiSGHiIiIJIkhh4iIiCSJIYeIiIgkiSGHiMq87OxsdTeBiEoBQw4RfVJevHiBAQMGwMjICLa2tggJCYG3tzfGjh0LAJDJZNi9e7fKa+RyOdatWyc+f/jwIXr06AG5XA5zc3N07NgR9+/fF6cPGjQInTp1wvfffw87OztUq1YNc+bMQa1atfK0x9XVFTNmzCiFNSWi0saQQ0SflEmTJuHEiRP4/fffcfjwYRw/fhyXLl0q8utzcnLg4+MDY2NjnDp1CqdPn4aRkRHatGmj0mNz5MgRxMbGIjIyEvv27cOQIUMQExODixcvinUuX76Ma9euYfDgwSW6jkT0cWipuwFERErPnz/Hzz//jI0bN6JFixYAgPDwcFSoUKHI89i6dSsUCgXWrl0LmUwGAAgLC4NcLsfx48fRunVrAIChoSHWrl0LHR0d8bU+Pj4ICwvDl19+Kb7Oy8sLlSpVKqlVJKKPiD05RPTJuHv3LrKzs+Hu7i6WmZubo1q1akWex9WrV/H333/D2NgYRkZGMDIygrm5OTIzM8Xf+gGA2rVrqwQcABg2bBg2b96MzMxMZGdn49dff8WQIUM+fMWISC3Yk0NEnxWZTIa3f3IvJydH/Pv58+eoX78+Nm3alOe1lpaW4t/5/aBhhw4doKuri127dkFHRwc5OTno1q1bCbaeiD4mhhwi+mRUrlwZ2traOH/+PCpWrAgASElJwe3bt+Hl5QXgdVB58uSJ+Jo7d+4gIyNDfF6vXj1s3boVVlZWMDExKdbytbS0MHDgQISFhUFHRwe9evWCvr5+CawZEakDT1cR0SfDyMgIfn5+mDRpEo4ePYobN25g0KBB0ND4/4eq5s2bY/ny5bh8+TKioqIwcuRIaGtri9P79u0LCwsLdOzYEadOnUJcXByOHz+OMWPG4NGjR4W2YejQoTh69CgOHjzIU1VEnzn25BDRJ2XBggV4/vw5OnToAGNjY0yYMAFpaWni9JCQEAwePBienp6ws7NDaGgooqOjxekGBgY4efIkJk+ejC5duuDZs2coX748WrRoUaSeHWdnZzRq1AjJyckqY4OI6PMjE94+uU1E9Inx9vaGq6srlixZUurLEgQBzs7OGDVqFMaPH1/qyyOi0sOeHCKi//P06VNs2bIFCQkJvDcOkQQw5BAR/R8rKytYWFhgzZo1MDMzU3dziOgD8XQVERERSRKvriIiIiJJYsghIiIiSWLIISIiIkliyCEiIiJJYsghIiIiSWLIISIiIkliyCEiIiJJYsghIiIiSfp/AxWA0YqTQscAAAAASUVORK5CYII=", "text/plain": [ "
" ] @@ -1305,7 +1306,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHcCAYAAAAEBqrgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8wklEQVR4nO3deVhV5d7/8c8GZQMCIgoCijiRc+JQhmZYTnHUHNLSTqmkVudoZpqVTaY9SR0z7WkyM9OTlebYnPNQanYcy45lGioWIKaCggLC+v3Rj/24A5SN4M3wfl3Xvi72ve611nftew8f1lp7bZtlWZYAAAAMcTNdAAAAqNwIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMwymaz6dlnnzWy7uTkZA0cOFA1a9aUzWbTrFmzjNRRlv3nP/9Rx44dVa1aNdlsNu3Zs8d0SSimLl26qEuXLqbLAApEGKkAfvjhBw0cOFDh4eHy9PRUnTp11L17d7366qumSyvTHn74Ya1atUqTJk3Se++9p1tvvbVEl5+RkaFnn31WGzduLNHlXi3Z2dkaNGiQTp48qZkzZ+q9995TeHh4vn7169eXzWa77G3+/PmS5NTm5uam0NBQ9ejRo8DHKScnR++++666dOmigIAA2e121a9fX7GxsdqxY8dlt+HZZ591Wp+3t7fq1aunPn366N1331VmZmaB83366aeKjo5WUFCQvL291bBhQ91xxx366quvXHoMcfVkZmbq1Vdf1Y033qgaNWrIw8NDoaGhuu222/Thhx8qJyfH0ffw4cNOzwt3d3fVq1dP/fv3dwrcef1eeumlAtf50ksvyWaz6fDhw6W8dRVfFdMF4Mps3bpVN998s+rVq6dRo0YpODhYCQkJ+vbbb/XKK6/owQcfNF1imbV+/Xr17dtXjzzySKksPyMjQ1OmTJGkcvkf6aFDh3TkyBG9/fbbGjlyZKH9Zs2apbNnzzruf/HFF/rwww81c+ZM1apVy9HesWNHx9/du3fX0KFDZVmW4uPj9cYbb+iWW27R559/rpiYGEnSuXPnNGDAAH311Ve66aab9MQTTyggIECHDx/WRx99pAULFujo0aOqW7fuZbflzTfflI+PjzIzM/Xbb79p1apVuvfeezVr1ix99tlnCgsLc/R96aWXNHHiREVHR2vSpEny9vbWwYMHtXbtWi1atKjEQ+vVsnr1atMllJqUlBTFxMRo586d6tmzp5566ikFBAQoKSlJa9eu1V133aWDBw/q6aefdppvyJAh+tvf/qacnBzt379fb775pr788kt9++23ioyMNLMxlZWFcu1vf/ubFRgYaJ06dSrftOTk5KtfkIskWZMnTzaybpvNZo0ePbrUlp+SklIq23f27NkSXV5hNm3aZEmylixZ4tJ806dPtyRZ8fHxBU6XlO9x//777y1JVo8ePRxto0ePtiRZM2fOzLeMCxcuWNOnT7cSEhIuWcvkyZMtSVZKSkq+aQsXLrTc3NysDh06ONqys7MtPz8/q3v37gUurzy8pv4qPT3ddAmlrmfPnpabm5u1bNmyAqf/5z//sRYuXOi4Hx8fb0mypk+f7tTvk08+sSRZ99133yX75bnccx1Fx2Gacu7QoUNq0aKF/P39800LCgpyum+z2TRmzBi9//77atKkiTw9PdWuXTtt3rw537y//fab7r33XtWuXVt2u10tWrTQvHnz8vXLzMzU5MmT1bhxY9ntdoWFhenRRx/Nt/s7MzNTDz/8sAIDA+Xr66vbbrtNx44dy7e84cOHq379+vna83a3F3d7LjZ//nzZbDZZlqXXX3/dsatWkk6ePKlHHnlErVq1ko+Pj/z8/BQTE6O9e/fmW8758+f17LPP6pprrpGnp6dCQkI0YMAAHTp0SIcPH1ZgYKAkacqUKY51XHx+zPr169W5c2dVq1ZN/v7+6tu3r/bv31/gdv/3v//VXXfdpRo1aujGG2+UJCUlJSk2NlZ169aV3W5XSEiI+vbtW6Rdxpdb9/DhwxUdHS1JGjRokGw2W6nu3WnVqpVq1aql+Ph4SdKxY8f01ltvqXv37ho3bly+/u7u7nrkkUeKtFekMH//+981cuRIbd++XWvWrJEknThxQmlpaerUqVOB8/z1NVWQwp7rfx1/V57rkrRw4UK1a9dOXl5eCggI0ODBg5WQkODUp0uXLmrZsqV27typm266Sd7e3nriiScc0/46hkV9/a5Zs0Y33nij/P395ePjoyZNmjiWeykXLlzQc889p0aNGjkOsT3xxBP5ll+/fn317t1b33zzja6//np5enqqYcOG+ve//33ZdWzbtk2rVq3SfffdpwEDBhTYp3379vr73/9+2WXdcsstkuR4HuLq4TBNORceHq5t27Zp3759atmy5WX7b9q0SYsXL9bYsWNlt9v1xhtv6NZbb9V3333nmD85OVk33HCD48M+MDBQX375pUaMGKG0tDTHh0Nubq5uu+02ffPNN7rvvvvUrFkz/fDDD5o5c6YOHDiglStXOtY7cuRILVy4UHfddZc6duyo9evXq1evXle8/UXZnr+66aab9N577+mee+5xHC7I8+uvv2rlypUaNGiQGjRooOTkZL311luKjo7Wf//7X4WGhkr681yG3r17a926dRo8eLAeeughnTlzRmvWrNG+ffvUrVs3vfnmm/rHP/6h/v37O94kr732WknS2rVrFRMTo4YNG+rZZ5/VuXPn9Oqrr6pTp07atWtXvg+pQYMGKSIiQtOmTZNlWZKk22+/XT/++KMefPBB1a9fX8ePH9eaNWt09OjRAj/k8hRl3ffff7/q1KmjadOmaezYsbruuutUu3bt4g7TZZ06dUqnTp1S48aNJUlffvmlLly4oHvuuafU1ilJ99xzj+bMmaPVq1ere/fuCgoKkpeXlz799FM9+OCDCggIcHmZpfFcf/755/X000/rjjvu0MiRI5WSkqJXX31VN910k3bv3u30z8gff/yhmJgYDR48WHfffXeh41bU1++PP/6o3r1769prr9XUqVNlt9t18OBBbdmypUiPxYIFCzRw4EBNmDBB27dvV1xcnPbv368VK1Y49T148KAGDhyoESNGaNiwYZo3b56GDx+udu3aqUWLFoWu49NPP5Uk3X333Zet53IOHTokSapZs+YVLwsuMr1rBldm9erVlru7u+Xu7m5FRUVZjz76qLVq1SorKysrX19JliRrx44djrYjR45Ynp6eVv/+/R1tI0aMsEJCQqwTJ044zT948GCrevXqVkZGhmVZlvXee+9Zbm5u1tdff+3Ub/bs2ZYka8uWLZZlWdaePXssSdY///lPp3533XVXvsMYw4YNs8LDw/PVnre7vTjbUxgVcLjg/PnzVk5OjlNbfHy8ZbfbralTpzra5s2bZ0myXn755XzLzc3NtSzr0odpIiMjraCgIOuPP/5wtO3du9dyc3Ozhg4dmm+7hwwZ4jT/qVOnLrn7+FKKuu4NGzaU2mGaESNGWCkpKdbx48et7du3W127drUkWTNmzLAsy7IefvhhS5K1e/dul7fvYpc6TGNZ//c4Xvx8eeaZ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v++44w799ttvevvtt/P1O3funNLT0yXJcRGr//3f/3XqU9Dl1xs1aqTU1FR9//33jrbExMR8Z94XdXtc5e7unu/xXLJkiX777Tentttvv10nTpzQa6+9lm8ZefN7e3tLUr4PnJCQEEVGRmrBggVO0/bt26fVq1frb3/722XrzMjI0Pnz553aGjVqJF9f30KvKlpS674awsLCNGrUKK1evbrAKwnn5uZqxowZOnbsmGrUqKFu3bo53Yryn+oHH3yguXPnKioqSl27dpX05+O6bdu2Avt/+eWXki59yKU0nusDBgyQu7u7pkyZku+5aVmW/vjjj0LruZSivn7/eghMkmNv1aWea3nPpb9ue96emJL4Np0kderUSd27d9ecOXP08ccfF9jncntXCuPu7q4ePXro008/1dGjR52mHT16VJ9++mmx32vgjD0j5dyDDz6ojIwM9e/fX02bNlVWVpa2bt2qxYsXOy6bfbGWLVuqZ8+eTl+FleS4UqgkvfDCC9qwYYM6dOigUaNGqXnz5jp58qR27dqltWvXOt6c7rnnHn300Ud64IEHtGHDBnXq1Ek5OTn66aef9NFHH2nVqlVq3769IiMjNWTIEL3xxhtKTU1Vx44dtW7dOh08eDDf9gwePFiPPfaY+vfvr7FjxyojI0NvvvmmrrnmGqfQ4cr2uKJ3796aOnWqYmNj1bFjR/3www96//331bBhQ6d+Q4cO1b///W+NHz9e3333nTp37qz09HStXbtW//znP9W3b195eXmpefPmWrx4sa655hoFBASoZcuWatmypaZPn66YmBhFRUVpxIgRjq/XVq9evUi/1XPgwAF17dpVd9xxh5o3b64qVapoxYoVSk5O1uDBgy8575Wu+2qZMWOGDh06pLFjx2r58uXq3bu3atSooaNHj2rJkiX66aefLruteZYuXSofHx9lZWU5rsC6ZcsWtW7dWkuWLHH0y8jIUMeOHXXDDTfo1ltvVVhYmE6fPq2VK1fq66+/Vr9+/S55CKw0nuuNGjXS//zP/2jSpEk6fPiw+vXrJ19fX8XHx2vFihW67777inUV4aK+fqdOnarNmzerV69eCg8P1/Hjx/XGG2+obt26BZ4Umqd169YaNmyY5syZo9OnTys6OlrfffedFixYoH79+uU7tHYlFi5cqFtvvVX9+vVTTEyMunXrpho1ajiuwLp5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owgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMKqK6QKAsqb+45+bLsGIwy/0Ml0CgEqKPSMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMcjmMbN68WX369FFoaKhsNptWrlx5yf4bN26UzWbLd0tKSipuzQAAoAJxOYykp6erdevWev31112a7+eff1ZiYqLjFhQU5OqqAQBABVTF1RliYmIUExPj8oqCgoLk7+/v8nwAAKBiu2rnjERGRiokJETdu3fXli1bLtk3MzNTaWlpTjcAAFAxlXoYCQkJ0ezZs7Vs2TItW7ZMYWFh6tKli3bt2lXoPHFxcapevbrjFhYWVtplAgAAQ1w+TOOqJk2aqEmTJo77HTt21KFDhzRz5ky99957Bc4zadIkjR8/3nE/LS2NQAIAQAVV6mGkINdff72++eabQqfb7XbZ7farWBEAADDFyHVG9uzZo5CQEBOrBgAAZYzLe0bOnj2rgwcPOu7Hx8drz549CggIUL169TRp0iT99ttv+ve//y1JmjVrlho0aKAWLVro/Pnzmjt3rtavX6/Vq1eX3FYAAIByy+UwsmPHDt18882O+3nndgwbNkzz589XYmKijh496pielZWlCRMm6LfffpO3t7euvfZarV271mkZZV39xz83XYIRh1/oZboEAEAl4HIY6dKliyzLKnT6/Pnzne4/+uijevTRR10uDAAAVA78Ng0AADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAA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rJnat29vuCIAJSEnJ0crVqxwen3369dPVarw0ftXXGekjFm6dKk++ugjHT16VFlZWU7Tdu3aZagqlIZjx45pyJAh2rJli+O3l06fPq2OHTtq0aJFqlu3rtkCUeJ27NhR6Ot7+fLlhqpCafjxxx912223KSkpSU2aNJEkHThwQIGBgfr000+58OdfcJimDPnf//1fxcbGqnbt2tq9e7euv/561axZU7/++qtiYmJMl4cSNnLkSGVnZ2v//v06efKkTp48qf379ys3N1cjR440XR5K2KJFi9SxY0ft379fK1asUHZ2tn788UetX7++SD8khvJl5MiRatGihY4dO6Zdu3Zp165dSkhI0LXXXqv77rvPdHllDntGypCmTZtq8uTJGjJkiHx9fbV37141bNhQzzzzjE6ePKnXXnvNdIkoQV5eXtq6davatGnj1L5z50517txZGRkZhipDabj22mt1//33a/To0Y7Xd4MGDXT//fcrJCREU6ZMMV0iSpCXl5d27NihFi1aOLXv27dP1113nc6dO2eosrKJPSNlyNGjR9WxY0dJfz6Rz5w5I0m655579OGHH5osDaUgLCxM2dnZ+dpzcnIUGhpqoCKUpkOHDqlXr16S/vwF9PT0dNlsNj388MP8cGgFdM011yg5OTlf+/Hjx9W4cWMDFZVthJEyJDg4WCdPnpQk1atXT99++60kKT4+XuzAqnimT5+uBx98UDt27HC07dixQw899JBeeuklg5WhNNSoUcPxD0adOnW0b98+SX+eJ8ResIohLS3NcYuLi9PYsWO1dOlSHTt2TMeOHdPSpUs1btw4vfjii6ZLLXM4TFOGjBw5UmFhYZo8ebJef/11TZw4UZ06ddKOHTs0YMAAvfPOO6ZLxBWqUaOGbDab4356erouXLjgOLs+7+9q1ao5gikqhrvuukvt27fX+PHj9dxzz+nVV19V3759tWbNGrVt25YTWCsANzc3p9d33sdrXtvF93Nycq5+gWUYYaQMyc3NVW5uruODadGiRdq6dasiIiJ0//33y8PDw3CFuFILFiwoct9hw4aVYiW42k6ePKnz588rNDRUubm5+te//uV4fT/11FOqUaOG6RJxhTZt2lTkvtHR0aVYSflDGAEAAEZxzkgZdsstt+jIkSOmy0Ap+etu2u3bt2vz5s0FntSK8o/xrtx4P780LgNXBnzy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", + "image/png": "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4TDNdS48PFzbtm3Tvn371KRJkyv237RpkxYsWKARI0bIbrfrrbfe0h133KFvvvnGMX1SUpLatm3r+GMfGBioFStWaPDgwUpJSXH8ccjOztadd96pr776Sg8++KAaNmyo7777TlOnTtWBAwe0bNkyx3KHDBmiuXPn6t5771VUVJTWr1+vrl27XvX6F2R9/urWW2/VBx98oPvvv99xuCDHL7/8omXLlqlv376qVauWkpKS9M477yg6Olo//PCDQkNDJf1xLkO3bt20bt069evXT4899pjOnTunNWvWaN++ferYsaPefvttPfLII+rVq5fjl+SNN94oSVq7dq1iYmJUu3ZtvfDCC7pw4YJef/11tWvXTrt27cr1R6pv376qV6+eJk2aJMuyJEl33XWXvv/+ez366KOqWbOmTpw4oTVr1ujo0aN5/pHLUZBlP/TQQ6pWrZomTZqkESNGqHXr1qpatWphN9MVnT59WqdPn1bdunUlSStWrNClS5d0//33F9syJen+++/XjBkztHr1anXq1ElBQUHy9PTUp59+qkcffVQBAQEuz7M4PusvvviinnvuOd19990aMmSIkpOT9frrr+vWW2/V7t27nf4Z+f333xUTE6N+/frpvvvuy3e7FXT//f7779WtWzfdeOONmjBhgux2uw4ePKgtW7YU6L2YM2eO+vTpo9GjR2v79u2Ki4vT/v37tXTpUqe+Bw8eVJ8+fTR48GANHDhQs2bN0qBBg9SyZUs1btw432V8+umnkqT77rvvivVcyaFDhyRJlStXvup5wUWmh2ZwdVavXm25u7tb7u7uVmRkpPXkk09aq1atsjIyMnL1lWRJsnbs2OFoO3LkiFWhQgWrV69ejrbBgwdbISEh1smTJ52m79evn1WpUiUrLS3NsizL+uCDDyw3Nzfryy+/dOo3ffp0S5K1ZcsWy7Isa8+ePZYk6x//+IdTv3vvvTfXYYyBAwda4eHhuWrPGW4vzPrkR3kcLrh48aKVlZXl1BYfH2/Z7XZrwoQJjrZZs2ZZkqxXX30113yzs7Mty7r8YZqIiAgrKCjI+v333x1te/futdzc3KwBAwbkWu/+/fs7TX/69OnLDh9fTkGXvWHDhmI7TDN48GArOTnZOnHihLV9+3arQ4cOliRrypQplmVZ1uOPP25Jsnbv3u3y+v3Z5Q7TWNb/3sc/f16ef/55S5JVsWJFKyYmxnrxxRetnTt3Fmh5xfFZP3z4sOXu7m69+OKLTv2+++47q1y5ck7t0dHRliRr+vTpueYbHR1tRUdHO54XdP+dOnXqZd/D/OS8F0OGDHFqf+KJJyxJ1vr16x1t4eHhliRr8+bNjrYTJ05YdrvdGj169GWX06tXL0uSdebMGaf2CxcuWMnJyY7Hnw9l5xx+GT9+vJWcnGwlJiZaGzdutJo3b25Jchzu4TDNtcNhmutcp06dtG3bNt15553au3ev/vWvf6lLly6qVq2aPvnkk1z9IyMj1bJlS8fzGjVqqEePHlq1apWysrJkWZYWL16s7t27y7IsnTx50vHo0qWLzp49q127dkmSFi5cqIYNG6pBgwZO/XKGOjds2CDpjxMaJWnEiBFOteQ1/O6qK62Pq+x2u9zc/tgtsrKy9PvvvzuGpXPWW5IWL16sKlWq5HmCcF5D7H+WkJCgPXv2aNCgQU7/ed94443q1KmT4/36s4cfftjpuaenpzw8PLRx40adPn26wOtXmGUXh/fee0+BgYEKCgpSmzZttGXLFo0aNcrxmUhJSZEk+fj4FGsd3t7ekqRz58452saPH6958+apefPmWrVqlZ599lm1bNlSLVq0yHUY7a+K47O+ZMkSZWdn6+6773baz4KDg1WvXj3HfpbDbrcrNjb2ivMt6P6bM+qyfPlyZWdnF7junPdi1KhRTu2jR4+WJH3++edO7Y0aNdItt9zieB4YGKj69evrl19+uexycj4rOdsyx/Tp0xUYGOh45Bze/LNx48YpMDBQwcHBat++vQ4dOqSXX34538M9KD4cpikFWrdurSVLligjI0N79+7V0qVLNXXqVPXp00d79uxRo0aNHH3r1auXa/obbrhBaWlpSk5Olpubm86cOaMZM2ZoxowZeS7vxIkTkqSff/5Z+/fvd5wbkV+/I0eOyM3NTXXq1HF6vX79+oVa3z+70voEBwe7NL/s7Gy99tpreuuttxQfH+8UaP48dHvo0CHVr19f5cq5vgsdOXJEUt7r37BhQ61atUqpqamqWLGio71WrVpO/ex2u15++WWNHj1aVatWVdu2bdWtWzcNGDDgsutcmGUXhx49emj48OGy2Wzy8fFR48aNnZbp6+sryTkk5CcjI0OnTp1yagsMDJS7u/sVp835FtBfQ0///v3Vv39/paSkaPv27Zo9e7bmzZun7t27a9++fapQoUKe8yuOz/rPP/8sy7Ly/KxLUvny5Z2eV6tWTR4eHgWab0H233vuuUczZ87UkCFD9PTTT6tDhw7q3bu3+vTp4wjuecl5L3IOveUIDg6Wn5+f47OYo0aNGrnm4e/vf8WwnbPtzp8/r0qVKjna77rrLseh2tGjR+f5z8mDDz6ovn37ys3NTX5+fmrcuLHsdvtll5eXK/0DgisjjJQiHh4eat26tVq3bq0bbrhBsbGxWrhwocaNG1fgeeT853Pfffdp4MCBefbJOe8hOztbTZs21auvvppnvz9/XbKg8tupCzPKURiTJk3Sc889pwceeEATJ05UQECA3NzcNHLkSJf+Kyxqnp6eudpGjhyp7t27a9myZVq1apWee+45xcXFaf369WrevLmBKguuevXq6tixY76vN2jQQNIf19C50lcsc77e/mfx8fGXPW8mx759+yQp1x/MHL6+vurUqZM6deqk8uXLa86cOdq+fbvj5N6rUdDPenZ2tmw2m1asWJFnwPrriEBen5W8FHT/9fT01ObNm7VhwwZ9/vnnWrlypRYsWKDbb79dq1evvmLoK+gf6vzmY/3/c6Tyk/NZ2bdvn9OJx2FhYY518Pf318mTJ3NNW69evct+DnNC54ULF/J8PS0tzakfCo8wUkq1atVK0h/D8n/2888/5+p74MABeXl5Of5D8vHxUVZW1mV3UkmqU6eO9u7dqw4dOlz2F054eLiys7Mdowk5fvrpp1x9/f39debMmVztf/0vypX1ccWiRYt022236b333nNqP3PmjNM1M+rUqaPt27crMzMz13+mOfJ7T3IuHJbX+v/444+qUqVKgUcm6tSpo9GjR2v06NH6+eefFRERoSlTpmju3LnFvuziFBMTI3d3d82dO/eKJ7E2a9bM8W2YHAUdEfvggw8kSV26dLli31atWmnOnDm59qk/K47Pep06dWRZlmrVqqUbbrjhinUWVEH3X0lyc3NThw4d1KFDB7366quaNGmSnn32WW3YsCHf3xM578XPP/+shg0bOtqTkpJ05syZPC+gVxjdunXTSy+9pA8//DDfb0EVVmBgoLy8vPLcftIf29XLy8vpdwMKh3NGrnMbNmzI8z+HnOO1fx0e3rZtm9O5D8eOHdPy5cvVuXNnubu7y93dXXfddZcWL17s+K/xz5KTkx0/33333fr111/17rvv5up34cIFpaamSpLjIlb//ve/nfrkdfn1OnXq6OzZs/r2228dbQkJCbnOvC/o+rjK3d091/u5cOFC/frrr05td911l06ePKk33ngj1zxypvfy8pKkXH9wQkJCFBERoTlz5ji9tm/fPq1evVp/+9vfrlhnWlqaLl686NRWp04d+fj45HtV0aJa9rUQFhamoUOHavXq1XleSTg7O1tTpkzR8ePH5e/vr44dOzo9CvKf6rx58zRz5kxFRkaqQ4cOkv54X7dt25Zn/xUrVki6/CGX4vis9+7dW+7u7ho/fnyuz6ZlWfr999/zredyCrr//vUQmCTHaNXlPms5n6W/rnvOSExRfJtOktq1a6dOnTppxowZWr58eZ59rjS6kh93d3d17txZn376qY4ePer02tGjR/Xpp58W+ncNnDEycp179NFHlZaWpl69eqlBgwbKyMjQ1q1btWDBAsdls/+sSZMm6tKli9NXYSU5rhQqSS+99JI2bNigNm3aaOjQoWrUqJFOnTqlXbt2ae3atY5fTvfff78+/vhjPfzww9qwYYPatWunrKws/fjjj/r444+1atUqtWrVShEREerfv7/eeustnT17VlFRUVq3bp0OHjyYa3369eunp556Sr169dKIESOUlpamt99+WzfccINT6HBlfVzRrVs3TZgwQbGxsYqKitJ3332nDz/8ULVr13bqN2DAAP3nP//RqFGj9M033+iWW25Ramqq1q5dq3/84x/q0aOHPD091ahRIy1YsEA33HCDAgIC1KRJEzVp0kSTJ09WTEyMIiMjNXjwYMfXaytVqlSge/UcOHBAHTp00N13361GjRqpXLlyWrp0qZKSktSvX7/LTnu1y75WpkyZokOHDmnEiBFasmSJunXrJn9/fx09elQLFy7Ujz/+eMV1zbFo0SJ5e3srIyPDcQXWLVu2qFmzZlq4cKGjX1pamqKiotS2bVvdcccdCgsL05kzZ7Rs2TJ9+eWX6tmz52UPgRXHZ71OnTr6v//7P40dO1aHDx9Wz5495ePjo/j4eC1dulQPPvhgoa4iXND9d8KECdq8ebO6du2q8PBwnThxQm+99ZaqV6+e50mhOZo1a6aBAwdqxowZOnPmjKKjo/XNN99ozpw56tmzZ65Da1dj7ty5uuOOO9SzZ0/FxMSoY8eO8vf3d1yBdfPmzY6g6KpJ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Q/7Kly9/VSMiOa7qq705l5oNCAi4bL/z588rPDxc2dnZatGihSZNmqTGjRvn2z89PV3p6emO5ykpKVdTJgDgOuPu7l4kf+RwfSj0CazZ2dkaOXKk2rVrpyZNmuTbr379+po1a5aWL1+uuXPnKjs7W1FRUTp+/Hi+08TFxalSpUqOR86dCwEAQOlT6HvTPPLII1qxYoW++uorVa9evcDTZWZmqmHDhurfv78mTpyYZ5+8RkbCwsK4Nw2AIse9aYDiU9B70xTqMM3w4cP12WefafPmzS4FEemP40vNmzfXwYMH8+1jt9tlt9sLUxoAALjOuHSYxrIsDR8+XEuXLtX69etVq1YtlxeYlZWl7777TiEhIS5PCwAASh+XRkaGDRumefPmafny5fLx8VFiYqIkqVKlSvL09JQkDRgwQNWqVVNcXJwkacKECWrbtq3q1q2rM2fOaPLkyTpy5IiGDBlSxKsCAACuRy6FkbfffluS1L59e6f2999/X4MGDZIkHT16VG5u/xtwOX36tIYOHarExET5+/urZcuW2rp1qxo1anR1lQMAgFKh0CewXksFPQEGAFzFCaxA8Sno32/uTQMAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAo8qZLuB6UPPpz02XYMThl7qaLgEAUAYwMgIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIxyKYzExcWpdevW8vHxUVBQkHr27KmffvrpitMtXLhQDRo0UIUKFdS0aVN98cUXhS4YAACULi6FkU2bNmnYsGH6+uuvtWbNGmVmZqpz585KTU3Nd5qtW7eqf//+Gjx4sHbv3q2ePXuqZ8+e2rdv31UXDwAArn82y7Kswk6cnJysoKAgbdq0Sbfeemuefe655x6lpqbqs88+c7S1bdtWERERmj59eoGWk5KSokqVKuns2bPy9fUtbLmFVvPpz6/5MkuCwy91NV0CUOzYv4HiU9C/31d1zsjZs2clSQEBAfn22bZtmzp27OjU1qVLF23bti3fadLT05WSkuL0AAAApVOhw0h2drZGjhypdu3aqUmTJvn2S0xMVNWqVZ3aqlatqsTExHyniYuLU6VKlRyPsLCwwpYJAABKuEKHkWHDhmnfvn2aP39+UdYjSRo7dqzOnj3reBw7dqzIlwEAAEqGcoWZaPjw4frss8+0efNmVa9e/bJ9g4ODlZSU5NSWlJSk4ODgfKex2+2y2+2FKQ0AAFxnXBoZsSxLw4cP19KlS7V+/XrVqlXritNERkZq3bp1Tm1r1qxRZGSka5UCAIBSyaWRkWHDhmnevHlavny5fHx8HOd9VKpUSZ6enpKkAQMGqFq1aoqLi5MkPfbYY4qOjtaUKVPUtWtXzZ8/Xzt27NCMGTOKeFUAAMD1yKWRkbfffltnz55V+/btFRIS4ngsWLDA0efo0aNKSEhwPI+KitK8efM0Y8YMNWvWTIsWLdKyZcsue9IrAAAoO1waGSnIJUk2btyYq61v377q27evK4sCAABlBPemAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGBUoe5NAwDA9ajm05+bLsGIwy91NV3CZTEyAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMMrlMLJ582Z1795doaGhstlsWrZs2WX7b9y4UTabLdcjMTGxsDUDAIBSxOUwkpqaqmbNmunNN990abqffvpJCQkJjkdQUJCriwYAAKVQOVcniImJUUxMjMsLCgoKkp+fn8vTAQCA0u2anTMSERGhkJAQderUSVu2bLls3/T0dKWkpDg9AABA6VTsYSQkJETTp0/X4sWLtXjxYoWFhal9+/batWtXvtPExcWpUqVKjkdYWFhxlwkAAAxx+TCNq+rXr6/69es7nkdFRenQoUOaOnWqPvjggzynGTt2rEaNGuV4npKSQiABAKCUKvYwkpebbrpJX331Vb6v2+122e32a1gRAAAwxUgY2bNnj0JCQkwsGriimk9/broEIw6/1NV0CQDKKJfDyPnz53Xw4EHH8/j4eO3Zs0cBAQGqUaOGxo4dq19//VX/+c9/JEnTpk1TrVq11LhxY128eFEzZ87U+vXrtXr16qJbCwAAcN1yOYzs2LFDt912m+N5zrkdAwcO1OzZs5WQkKCjR486Xs/IyNDo0aP166+/ysvLSzfeeKPWrl3rNA8AAFB2uRxG2rdvL8uy8n199uzZTs+ffPJJPfnkky4XBgAAygbuTQMAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwyuUwsnnzZnXv3l2hoaGy2WxatmzZFafZuHGjWrRoIbvdrrp162r27NmFKBUAAJRGLoeR1NRUNWvWTG+++WaB+sfHx6tr16667bbbtGfPHo0cOVJDhgzRqlWrXC4WAACUPuVcnSAmJkYxMTEF7j99+nTVqlVLU6ZMkSQ1bNhQX331laZOnaouXbq4ungAAFDKFPs5I9u2bVPHjh2d2rp06aJt27blO016erpSUlKcHgAAoHQq9jCSmJioqlWr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IydPnlRWVpaqVq3q1F61alX9+OOPeU6TmJiYZ//ExMR8lxMXF6fx48fnag8LC3OlXFylStNMV4Brie1dtrC9yxbT2/vcuXOqVKlSvq+7FEaulbFjxzqNpmRnZ+vUqVOqXLmybDabwcqurZSUFIWFhenYsWPy9fU1XQ6KGdu7bGF7ly1ldXtblqVz584pNDT0sv1cCiNVqlSRu7u7kpKSnNqTkpIUHByc5zTBwcEu9Zcku90uu93u1Obn5+dKqaWKr69vmfrwlnVs77KF7V22lMXtfbkRkRwuncDq4eGhli1bat26dY627OxsrVu3TpGRkXlOExkZ6dRfktasWZNvfwAAULa4fJhm1KhRGjhwoFq1aqWbbrpJ06ZNU2pqqmJjYyVJAwYMULVq1RQXFydJeuyxxxQdHa0pU6aoa9eumj9/vnbs2KEZM2YU7ZoAAIDrksth5J577lFycrKef/55JSYmKiIiQitXrnScpHr06FG5uf1vwCUqKkrz5s3TP//5Tz3zzDOqV6+eli1bpiZNmhTdWpRSdrtd48aNy3XICqUT27tsYXuXLWzvy7NZV/q+DQAAQDHi3jQAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMKpE3pumrNuxY4f2798vSWrYsKFatWpluCIAgKuysrK0dOlSp9/nPXv2VLly/On9K64zUoIcP35c/fv315YtWxz34jlz5oyioqI0f/58Va9e3WyBKHKLFi3Sxx9/rKNHjyojI8PptV27dhmqCsVlx44d+W7vJUuWGKoKxeH777/XnXfeqcTERNWvX1+SdODAAQUGBurTTz/lwp9/wWGaEmTIkCHKzMzU/v37derUKZ06dUr79+9Xdna2hgwZYro8FLF///vfio2NVdWqVbV7927ddNNNqly5sn755RfFxMSYLg9FbP78+YqKitL+/fu1dOlSZWZm6vvvv9f69esLdCMxXF+GDBmixo0b6/jx49q1a5d27dqlY8eO6cYbb9SDDz5ourwSh5GREsTT01Nbt25V8+bNndp37typW265RWlpaYYqQ3Fo0KCBxo0bp/79+8vHx0d79+5V7dq19fzzz+vUqVN64403TJeIInTjjTfqoYce0rBhwxzbu1atWnrooYcUEhKi8ePHmy4RRcjT01M7duxQ48aNndr37dun1q1b68KFC4YqK5kYGSlBwsLClJmZmas9KytLoaGhBipCcTp69KiioqIk/fGL69y5c5Kk+++/Xx999JHJ0lAMDh06pK5du0r64w7oqampstlsevzxx7lxaCl0ww03KCkpKVf7iRMnVLduXQMVlWyEkRJk8uTJevTRR7Vjxw5H244dO/TYY4/plVdeMVgZikNwcLBOnTolSapRo4a+/vprSVJ8fLwYsCx9/P39HYGzWrVq2rdvn6Q/zgtj1LN0SElJcTzi4uI0YsQILVq0SMePH9fx48e1aNEijRw5Ui+//LLpUkscDtMY5u/vL5vN5niempqqS5cuOc62zvm5YsWKjj9cKB2GDBmisLAwjRs3Tm+++abGjBmjdu3aaceOHerdu7fee+890yWiCN17771q1aqVRo0apYkTJ+r1119Xjx49tGbNGrVo0YITWEsBNzc3p9/nOX9ec9r+/DwrK+vaF1iCEUYMmzNnToH7Dhw4sBgrwbWWnZ2t7OxsR/CcP3++tm7dqnr16umhhx6Sh4eH4QpRlE6dOqWLFy8qNDRU2dnZ+te//uXY3v/85z/l7+9vukRcpU2bNhW4b3R0dDFWcv0hjAAAAKM4Z6QE+euw3fbt27V58+Y8T2pF6XP77bfryJEjpstAMWH/LtvYvy+Py8CVAAkJCerTp4+2b9+udu3aadmyZbr//vv1xRdfSJLq1aunjRs3KiQkxHClKAqffPJJnu2bN2/WZ599prCwMEnSnXfeeS3LQjFJSEhQ37599fXXX7N/lwHs34XDYZoSYMCAATp06JCefvppffjhhzp27Jjc3d310UcfKSsrS/fee68iIiK47kQpkXOS2+V2PU5wKz3Yv8sW9u/CIYyUAKGhoVqyZInatm2rU6dOqUqVKlqzZo06dOggSVq/fr2GDh2qQ4cOGa4URSEmJkbu7u6aNWuWgoKCHO3ly5fX3r171ahRI4PVoaixf5ct7N+FwzkjJcDp06dVrVo1SVJAQIC8vLwUHh7ueL1u3bpKSEgwVR6K2IoVK9ShQwe1atVKn332melyUMzYv8sW9u/CIYyUAEFBQU6/jIYPH66AgADH89OnT6tixYomSkMxefzxx/XJJ5/oqaee0kMPPcRFr0ox9u+yh/3bdYSREiAiIkLbtm1zPH/ppZecfll99dVXuvHGG02UhmIUERGhHTt2yGazKSIigquullLs32UT+7drOGfkOvDNN9/Iy8uLW06XYp988ok2bNigsWPHOh1nRunH/l36sX9fGWEEAAAYxWGaEuT48eM6f/58rvbMzExt3rzZQEUwISkpSRMmTDBdBooY+zck9u/8EEZKgISEBN10000KDw+Xn5+fBgwY4PRL69SpU7rtttsMVohrKTExUePHjzddBooI+zf+jP07b1yBtQR4+umn5ebmpu3bt+vMmTN6+umnddttt2n16tWOm2dxNK30+Pbbby/7+k8//XSNKsG1wP5dtrB/Fw7njJQA1apV09KlS3XTTTdJktLT09W3b18dO3ZM69atU2ZmpkJDQ7liXylxuSs05rRzhcbSg/27bGH/LhwO05QAZ8+edbp9uN1u15IlS1SzZk3ddtttOnHihMHqUNQCAgL07rvvKj4+Ptfjl19+4UJJpQz7d9nC/l04HKYpAWrXrq1vv/1W9erVc7SVK1dOCxcuVN++fdWtWzeD1aGotWzZUr/99pvTVTj/7MyZMwzblyLs32UL+3fhMDJSAsTExGjGjBm52nN+YXHBnNLl4YcfVs2aNfN9vUaNGnr//fevXUEoVuzfZQv7d+FwzkgJcOnSJaWlpcnX1zff13/99dd8kzaAkov9G7gywkgJMmrUqAL3ffXVV4uxElwLbO+yhe1dtrC9XcM5IyXI7t27tXv3bmVmZqp+/fqSpAMHDsjd3V0tWrRw9LPZbKZKRBFie5ctbO+yhe3tGsJICdK9e3f5+Phozpw5jrPvT58+rdjYWN1yyy0aPXq04QpRlNjeZQvbu2xhe7uGwzQlSLVq1bR69Wo1btzYqX3fvn3q3LmzfvvtN0OVoTiwvcsWtnfZwvZ2Dd+mKUFSUlKUnJycqz05OVnnzp0zUBGKE9u7bGF7ly1sb9cQRkqQXr16KTY2VkuWLNHx48d1/PhxLV68WIMHD1bv3r1Nl4cixvYuW9jeZQvb20UWSozU1FTrkUcesex2u+Xm5ma5ublZHh4e1iOPPGKdP3/edHkoYmzvsoXtXbawvV3DOSMlUGpqqg4dOiRJqlOnjipWrGi4IhQntnfZwvYuW9jeBUMYAQAARnHOCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAuG5kZGSYLgFAMSCMACiU1NRUDRgwQN7e3goJCdGUKVPUvn17jRw5UtIft0ZftmyZ0zR+fn6aPXu24/mxY8d09913y8/PTwEBAerRo4cOHz7seH3QoEHq2bOnXnzxRYWGhqp+/fqaMGGCmjRpkqueiIgIPffcc8WwpgCKG2EEQKGMGTNGmzZt0vLly7V69Wpt3LhRu3btKvD0mZmZ6tKli3x8fPTll19qy5Yt8vb21h133OE0ArJu3Tr99NNPWrNmjT777DM98MAD2r9/v/773/86+uzevVvffvutYmNji3QdAVwb5UwXAOD6c/78eb333nuaO3euOnToIEmaM2eOqlevXuB5LFiwQNnZ2Zo5c6ZsNpsk6f3335efn582btyozp07S5IqVqyomTNnysPDwzFtly5d9P7776t169aO6aKjo1W7du2iWkUA1xAjIwBcdujQIWVkZKhNmzaOtoCAANWvX7/A89i7d68OHjwoHx8feXt7y9vbWwEBAbp48aLjXh6S1LRpU6cgIklDhw7VRx99pIsXLyojI0Pz5s3TAw88cPUrBsAIRkYAFAubzaa/3voqMzPT8fP58+fVsmVLffjhh7mmDQwMdPyc143FunfvLrvdrqVLl8rDw0OZmZnq06dPEVYP4FoijABwWZ06dVS+fHlt375dNWrUkCSdPn1aBw4cUHR0tKQ/AkVCQoJjmp9//llpaWmO5y1atNCCBQsUFBQkX19fl5Zfrlw5DRw4UO+//748PDzUr18/eXp6FsGaATCBwzQAXObt7a3BgwdrzJgxWr9+vfbt26dBgwbJze1/v1Juv/12vfHGG9q9e7d27Nihhx9+WOXLl3e8/ve//11VqlRRjx499OWXXyo+Pl4bN27UiBEjdPz48SvWMGTIEK1fv14rV67kEA1wnWNkBEChTJ48WefPn1f37t3l4+Oj0aNH6+zZs47Xp0yZotjYWN1yyy0KDQ3Va6+9pp07dzpe9/Ly0ubNm/XUU0+pd+/eOnfunKpVq6YOHToUaKSkXr16ioqK0qlTp5zOXQFw/bFZfz2oCwCF1L59e0VERGjatGnFvizLslSvXj394x//0KhRo4p9eQCKDyMjAK47ycnJmj9/vhITE7m2CFAKEEYAXHeCgoJUpUoVzZgxQ/7+/qbLAXCVOEwDAACM4ts0AADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKP+Hy8/rQxx/1CAAAAAAElFTkSuQmCC", "text/plain": [ "
" ] @@ -1537,15 +1538,22 @@ "name": "stderr", "output_type": "stream", "text": [ - " \r" + "[Stage 448:>(5 + 59) / 64][Stage 450:> (0 + 1) / 1][Stage 452:> (0 + 1) / 1]\r" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "CPU times: user 3.84 ms, sys: 2.88 ms, total: 6.73 ms\n", - "Wall time: 2.13 s\n" + "CPU times: user 4.61 ms, sys: 1.07 ms, total: 5.69 ms\n", + "Wall time: 2.01 s\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + " \r" ] }, { @@ -1564,13 +1572,6 @@ "df = spark.sql(q)\n", "%time df.collect()" ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { @@ -1581,7 +1582,7 @@ "provenance": [] }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": ".venv", "language": "python", "name": "python3" },