Skip to content

Instantly share code, notes, and snippets.

@MikeLien
Created September 12, 2017 09:11
Show Gist options
  • Save MikeLien/021a68fea1d50396c050c1bd76a35d4d to your computer and use it in GitHub Desktop.
Save MikeLien/021a68fea1d50396c050c1bd76a35d4d to your computer and use it in GitHub Desktop.
Click playback and measure time to first paint on mp4 video
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"celltoolbar": "Raw Cell Format",
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2.0
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
},
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import json\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from os import environ\n",
"\n",
"key_index = ['avg_time',\n",
" 'max_time', \n",
" 'med_time',\n",
" 'min_time',\n",
" 'std_dev']\n",
"\n",
"#\n",
"# Read report filename from environment varilable 'file' \n",
"#\n",
"filename = environ['input_data_fp']\n",
"fig_no = int(environ['input_fig_number'])\n",
"if fig_no == 1:\n",
" color_list = ['green']\n",
" fig_size = 10\n",
"else:\n",
" color_list = ['green', 'orange', 'red', 'blue']\n",
" fig_size = 20\n",
" \n",
"with open(filename) as data_file:\n",
" data = json.load(data_file)\n",
" remove_data = [\"video-recording-fps\"]\n",
" for item in remove_data:\n",
" del data[item]\n",
" d = pd.DataFrame(data)\n",
"\n",
"# drop empty 'time_list'\n",
"for c in d:\n",
" if (d[c]['time_list'] == []) :\n",
" d.drop(c, axis=1, inplace=True)\n",
" \n",
"# Select columns and rows\n",
"d.loc[key_index, :]"
],
"language": "python",
"metadata": {
"deletable": true,
"editable": true
},
"outputs": [
{
"html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win7</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win7</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>avg_time</th>\n",
" <td>177.778</td>\n",
" <td>233.333</td>\n",
" <td>122.222</td>\n",
" <td>164.815</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max_time</th>\n",
" <td>211.111</td>\n",
" <td>333.333</td>\n",
" <td>166.667</td>\n",
" <td>177.778</td>\n",
" </tr>\n",
" <tr>\n",
" <th>med_time</th>\n",
" <td>166.667</td>\n",
" <td>233.333</td>\n",
" <td>111.111</td>\n",
" <td>166.667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min_time</th>\n",
" <td>155.556</td>\n",
" <td>155.556</td>\n",
" <td>77.7778</td>\n",
" <td>155.556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std_dev</th>\n",
" <td>24.8452</td>\n",
" <td>61.1952</td>\n",
" <td>33.945</td>\n",
" <td>7.63538</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"output_type": "pyout",
"prompt_number": 1,
"text": [
" test_chrome_media_ail_click_playback_mp4_win10 \\\n",
"avg_time 177.778 \n",
"max_time 211.111 \n",
"med_time 166.667 \n",
"min_time 155.556 \n",
"std_dev 24.8452 \n",
"\n",
" test_chrome_media_ail_click_playback_mp4_win7 \\\n",
"avg_time 233.333 \n",
"max_time 333.333 \n",
"med_time 233.333 \n",
"min_time 155.556 \n",
"std_dev 61.1952 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win10 \\\n",
"avg_time 122.222 \n",
"max_time 166.667 \n",
"med_time 111.111 \n",
"min_time 77.7778 \n",
"std_dev 33.945 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win7 \n",
"avg_time 164.815 \n",
"max_time 177.778 \n",
"med_time 166.667 \n",
"min_time 155.556 \n",
"std_dev 7.63538 "
]
}
],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Retrive 'run_time' from each run\n",
"runtime = pd.DataFrame([pd.DataFrame(d[c]['time_list'])['run_time'] for c in d]).T\n",
"runtime.columns = d.columns\n",
"runtime"
],
"language": "python",
"metadata": {
"deletable": true,
"editable": true
},
"outputs": [
{
"html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win7</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win7</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>211.111111</td>\n",
" <td>177.777778</td>\n",
" <td>100.000000</td>\n",
" <td>177.777778</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>155.555556</td>\n",
" <td>155.555556</td>\n",
" <td>166.666667</td>\n",
" <td>155.555556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>155.555556</td>\n",
" <td>266.666667</td>\n",
" <td>166.666667</td>\n",
" <td>166.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>211.111111</td>\n",
" <td>266.666667</td>\n",
" <td>122.222222</td>\n",
" <td>155.555556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>177.777778</td>\n",
" <td>200.000000</td>\n",
" <td>100.000000</td>\n",
" <td>166.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>155.555556</td>\n",
" <td>333.333333</td>\n",
" <td>77.777778</td>\n",
" <td>166.666667</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"output_type": "pyout",
"prompt_number": 2,
"text": [
" test_chrome_media_ail_click_playback_mp4_win10 \\\n",
"0 211.111111 \n",
"1 155.555556 \n",
"2 155.555556 \n",
"3 211.111111 \n",
"4 177.777778 \n",
"5 155.555556 \n",
"\n",
" test_chrome_media_ail_click_playback_mp4_win7 \\\n",
"0 177.777778 \n",
"1 155.555556 \n",
"2 266.666667 \n",
"3 266.666667 \n",
"4 200.000000 \n",
"5 333.333333 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win10 \\\n",
"0 100.000000 \n",
"1 166.666667 \n",
"2 166.666667 \n",
"3 122.222222 \n",
"4 100.000000 \n",
"5 77.777778 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win7 \n",
"0 177.777778 \n",
"1 155.555556 \n",
"2 166.666667 \n",
"3 155.555556 \n",
"4 166.666667 \n",
"5 166.666667 "
]
}
],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Report percentile\n",
"runtime.quantile([0.01, 0.95, 0.99], interpolation='nearest')"
],
"language": "python",
"metadata": {
"deletable": true,
"editable": true
},
"outputs": [
{
"html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win7</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win7</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0.01</th>\n",
" <td>155.555556</td>\n",
" <td>155.555556</td>\n",
" <td>77.777778</td>\n",
" <td>155.555556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.95</th>\n",
" <td>211.111111</td>\n",
" <td>333.333333</td>\n",
" <td>166.666667</td>\n",
" <td>177.777778</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.99</th>\n",
" <td>211.111111</td>\n",
" <td>333.333333</td>\n",
" <td>166.666667</td>\n",
" <td>177.777778</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"output_type": "pyout",
"prompt_number": 3,
"text": [
" test_chrome_media_ail_click_playback_mp4_win10 \\\n",
"0.01 155.555556 \n",
"0.95 211.111111 \n",
"0.99 211.111111 \n",
"\n",
" test_chrome_media_ail_click_playback_mp4_win7 \\\n",
"0.01 155.555556 \n",
"0.95 333.333333 \n",
"0.99 333.333333 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win10 \\\n",
"0.01 77.777778 \n",
"0.95 166.666667 \n",
"0.99 166.666667 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win7 \n",
"0.01 155.555556 \n",
"0.95 177.777778 \n",
"0.99 177.777778 "
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Report summary\n",
"runtime.describe()"
],
"language": "python",
"metadata": {
"deletable": true,
"editable": true
},
"outputs": [
{
"html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_chrome_media_ail_click_playback_mp4_win7</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win10</th>\n",
" <th>test_firefox_media_ail_click_playback_mp4_win7</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>6.000000</td>\n",
" <td>6.000000</td>\n",
" <td>6.000000</td>\n",
" <td>6.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>177.777778</td>\n",
" <td>233.333333</td>\n",
" <td>122.222222</td>\n",
" <td>164.814815</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>27.216553</td>\n",
" <td>67.036014</td>\n",
" <td>37.184890</td>\n",
" <td>8.364141</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>155.555556</td>\n",
" <td>155.555556</td>\n",
" <td>77.777778</td>\n",
" <td>155.555556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>155.555556</td>\n",
" <td>183.333333</td>\n",
" <td>100.000000</td>\n",
" <td>158.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>166.666667</td>\n",
" <td>233.333333</td>\n",
" <td>111.111111</td>\n",
" <td>166.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>202.777778</td>\n",
" <td>266.666667</td>\n",
" <td>155.555556</td>\n",
" <td>166.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>211.111111</td>\n",
" <td>333.333333</td>\n",
" <td>166.666667</td>\n",
" <td>177.777778</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"output_type": "pyout",
"prompt_number": 4,
"text": [
" test_chrome_media_ail_click_playback_mp4_win10 \\\n",
"count 6.000000 \n",
"mean 177.777778 \n",
"std 27.216553 \n",
"min 155.555556 \n",
"25% 155.555556 \n",
"50% 166.666667 \n",
"75% 202.777778 \n",
"max 211.111111 \n",
"\n",
" test_chrome_media_ail_click_playback_mp4_win7 \\\n",
"count 6.000000 \n",
"mean 233.333333 \n",
"std 67.036014 \n",
"min 155.555556 \n",
"25% 183.333333 \n",
"50% 233.333333 \n",
"75% 266.666667 \n",
"max 333.333333 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win10 \\\n",
"count 6.000000 \n",
"mean 122.222222 \n",
"std 37.184890 \n",
"min 77.777778 \n",
"25% 100.000000 \n",
"50% 111.111111 \n",
"75% 155.555556 \n",
"max 166.666667 \n",
"\n",
" test_firefox_media_ail_click_playback_mp4_win7 \n",
"count 6.000000 \n",
"mean 164.814815 \n",
"std 8.364141 \n",
"min 155.555556 \n",
"25% 158.333333 \n",
"50% 166.666667 \n",
"75% 166.666667 \n",
"max 177.777778 "
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"# Plot input latency histogram\n",
"runtime.plot.hist(bins=20, \n",
" histtype='bar',\n",
" color=color_list,\n",
" subplots=True, layout=(1,fig_no),\n",
" figsize=(fig_size,10),\n",
" ylim=(0, max(runtime.count())))\n",
"runtime.plot.box(subplots=True,\n",
" layout=(1,fig_no),\n",
" sharey=True, sharex=True, figsize=(fig_size, 10))\n",
"plt.show()\n",
"plt.show()"
],
"language": "python",
"metadata": {
"deletable": true,
"editable": true,
"scrolled": false
},
"outputs": [
{
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAABKIAAAJCCAYAAADz8G8yAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xm8VXW9P/73QrniFDagojghKPM8KYogDih+wSS1rppa\nqJmVaTncskSrm93r/aZY3ZScp8wxr5qVN4n0qyIUpRE/rcTE4cqgggMq8Pn9AWffA5wRNp+zjuf5\nfDz2g7M3a6/12Wvv/TrrvPZaaxcppQAAAACATa1dSw8AAAAAgLZBEQUAAABAFoooAAAAALJQRAEA\nAACQhSIKAAAAgCwUUQAAAABk0eqLqKIotiuK4o6iKOYVRfGXoij2aekxAW2TPALKQBYBZSCLgPps\n3tIDqILLI+LBlNIniqL4p4jYqqUHBLRZ8ggoA1kElIEsAupUpJRaegwbrCiKjhExJyK6ptb8QIBW\nTx4BZSCLgDKQRUBDWvseUXtExMKIuLYoiv4RMTsizkwpvVV7oqIoTo2IUyMitt5668E9evTIPlCg\numbPnr0opdSppcdRS6N5JIvgg0cWAWUgi4AyaGoWtfY9ooZExOMRMTKl9ERRFJdHxNKU0jfqu8+Q\nIUPSrFmzso0R2DSKopidUhrS0uOo0dw8kkXwwSCLgDKQRUAZNDWLWvvJyhdExIKU0hNrrt8REYNa\ncDxA2yWPgDKQRUAZyCKgXq26iEopvRIRLxRFsfeam8ZGxNwWHBLQRskjoAxkEVAGsghoSGs/R1RE\nxBcj4uY138Tw94g4uYXHA7Rd8ggoA1kElIEsAurU4DmiZs+evf3mm2/+k4joE61876kaixcv3q1z\n584tPQygiTp06BBdunSJ9u3br3V7zfHHrTWnZBG0Lg1l0axZsw5vjTkUIYugtWlsu6iu+7SGbSVZ\nBK3LhmRRbQ3uEbX55pv/ZMcdd+zZqVOn19q1a9d6z2pey9y5c3fr2bNnSw8DaIKUUixevDgWLFgQ\ne+yxR53TtNackkXQejSWRa01hyJkEbQmTdkuqktryChZBK3HhmZRbY014n06deq0tKyBBXywFUUR\nH/3oR2P58uUNTSangE2qCVkkh4BNronbRXWRUUDVbEQWVTRWRLUTWEBLKoqisUnkFLDJNZJFcgjI\nognbRXWRUUBVbWAWVZTyGGEAAAAAPnia9a15xUXF4GouPF2YZldzfgBxS3VzKv5ZTgHNVFQ5h5Ic\nAqqnKKK6f9OlkFFAs5R6j6hFixZtdskll3TakPtefPHF2y9btqzZj2/KlClx6aWXbsgiW43dd989\nFi1aFBER++67b1Xnffjhh8frr78eERHbbLNNs+9/0kknxR133BEREZMnT465c+fWO201nqvrrrsu\nvvCFL2zQfWuPdWOMHj06Zs2atdHzaaqVK1fGwIED44gjjtio+fz4xz+OG264ocFpFi9eHGPGjIlt\nttlmvfU8e/bs6Nu3b3Tr1i2+9KUvRUPf4FlmG5NTl112Wbz99tvNvp+c2jhyqvk+yDl18803x4AB\nAyqXdu3axZw5czZqubltTA7dcMMNjebQ7bffHj179owxY8bErFmz4ktf+lKzl3POOedE796945xz\nztmQYW5Std9jTXnNNMe9994bl1xySURsWB7Mnz8/+vTpExHRpHW/IZm2rtr52xy1x7oxpk+fvtHv\n/ea68847oyiKjc65pvy++sEPfhDdunWLoijWWs8ppfjSl74U3bp1i379+sXvf//7jRpL2Wzq7SU5\nteHkVPN90HNq//33r2wX7bTTTnHkkUdu1DLr0qw9onJbvHjxZldfffX2559//sLm3vfKK6/c4ZRT\nTlmy7bbbrqr2uFJKkVKKdu1K3eM1yf/7f/+vqvN74IEHqjavn/zkJ1WbF//r8ssvj549e8bSpUs3\naj6f+9znGp2mQ4cO8a1vfSuefvrpePrpp9f6v9NPPz2mTZsWw4cPj8MPPzwefPDBOOywwzZqTC1h\nY3Lqsssui+OPPz622mqrqo9LTtVPTpVfzpw67rjj4rjjjouIiKeeeiqOPPLIGDBgwEYtN7eNyaEb\nb7wxvvrVrzaYQ1dffXVMmzYt9ttvv4iIGDJk/W9lXrFiRWy+ef2blVdddVUsWbIkNttss+YOMaum\nvGaaY8KECTFhwoSqzGvIkCF1rns2zrJly+Lyyy+P4cOHb/S8mvL7auTIkXHEEUfE6NGj17r9F7/4\nRTz77LPx7LPPxhNPPBGnn356PPHEExs9prLY1NtLcmrDyanyy51Tv/vd7yo/T5o0KSZOnLjRy11X\nqf9C+cpXvtLlhRde2KJHjx69TjvttC7f+MY3dujTp0/Pvfbaq9dZZ521U0TE0qVL240ePbrb3nvv\n3at79+69p02b9uFvf/vb27/66qvtDzjggL2GDx++V33zf/DBB2PQoEHRv3//GDt2bOX2uXPnxujR\no6Nr164xderUiFjdnu69997x6U9/Ovr06RMvvPBC3HrrrdG3b9/o06dPnHfeeZX7b7PNNpVG/aCD\nDoqZM2dW5nfvvfdGxOpPe88555wYOnRo9OvXL6688sp618P06dPjgAMOiIkTJ0bXrl3j/PPPj5tv\nvjmGDRsWffv2jb/97W8REbFw4cKYNGlSDB06NIYOHRqPPvpoRKzeK+WQQw6J3r17x+TJk9fa86Sm\nkX7zzTdj7NixMWjQoOjbt2/8/Oc/b/C5OfLII2Pw4MHRu3fvuOqqqyq3N6ed/t73vhd9+/aN/v37\nx/nnn7/e/9f+BL6+56rGtGnT4rDDDot33nmnzmWNHj06zjzzzBgwYED06dMnZs6cud40//Vf/xXD\nhw+PgQMHxkEHHRT/8z//E6tWrYru3bvHwoWrf2euWrUqunXrVrn+0EMPxZAhQ2KvvfaK++67LyJW\nv1b233//GDRoUAwaNGitN3tDj3nVqlVx0kknxQUXXFDvOmvKa+u6666LiRMnxujRo6N79+5x0UUX\nVe6/YMGCuP/++2Py5Mn1LiMi4tVXX43Bg1fvtf3HP/4xiqKIf/zjHxERseeee8bbb7+91icmo0eP\njvPOOy+GDRsWe+21VyW8tt5669hvv/2iQ4cOa83/5ZdfjqVLl8aIESOiKIr49Kc/Hffcc0+DYyqr\nDc2pm266KV566aUYM2ZMjBkzpt75yyk5VZuc+l/Vyqnabr311vjkJz/Z4HLLaCO3lxrMoYsvvjge\neeSR+OxnPxvnnHPOWp8CT5kyJU444YQYOXJknHDCCfVmxoQJE+LNN9+MwYMHx2233Rbz58+PAw88\nMPr16xdjx46tPG8TJ06sfMp/5ZVXVgrCuowePTrOOuusGDJkSPTs2TOefPLJOOqoo6J79+5rvT5v\nuummGDZsWAwYMCBOO+20WLlyZUREXHvttbHXXnvFsGHDKjlU85hqXjPTpk2LoUOHRv/+/WPSpEkN\n7pFR13szonl7NP71r3+Ngw46KPr37x+DBg2q5GaN2uv+zTffjJNPPjn69u0b/fr1izvvvHOtaRct\nWhT77LNP3H///XUua/r06TFq1KgYP3587L333vG5z30uVq1a/7PbunL0mmuuiS9/+cuVaaZNmxZn\nnXVWRKz+Q/+4446Lnj17xic+8YnKOrv44otj6NCh0adPnzj11FMrGd/YY37yySdj4MCB691eY8qU\nKXHiiSfG/vvvH7vttlvcddddce6550bfvn1j3Lhx8f7770fE6tyvuX3YsGHx17/+tTKPb3zjG3He\neeett62yrjPOOKOSYR//+MfjM5/5TGV9fP3rX4+I//19NX369Bg9enR84hOfiB49esRxxx1XecwD\nBw6M3Xfffb35//znP49Pf/rTURRFjBgxIl5//fV4+eWXGxxTa9KUnHrrrbdi/Pjx0b9//+jTp0/c\ndtttMXXq1Ea3l+SUnJJTq1Urp2osXbo0fvOb32ySPaIqn5rXdZkzZ878lNKsmktMiVTNS+1513WZ\nN2/en7p16/ZOSmnWnXfe+cwnP/nJhStXrpy1YsWKWaNHj379gQcemHfttdf+9dhjj11Yc59Fixb9\nIaU0a6eddnr3pZdemrPuPP/85z+nlFJ69dVXU5cuXdLf//73lFJKixcvTimldOGFF6Z99tknLV++\nPC1cuDB95CMfSe+991567rnnUlEU6bHHHksppfTiiy+mXXbZJb366qvp/fffT2PGjEl33313Squf\nvfTAAw+klFI68sgj08EHH5zee++9NGfOnNS/f/+UUkpXXnll+ta3vpVSSmn58uVp8ODBlbGs6+GH\nH04dO3ZML730Ulq+fHnaaaed0je/+c2UUkqXXXZZOvPMM1NKKX3qU59Kv/vd71JKKT3//POpR48e\nKaWUvvjFL6aLLroopZTSfffdlyIiLVy4MKWU0tZbb51SSun9999Pb7zxRkoppYULF6Y999wzrVq1\nqs7x1F5fb7/9durdu3datGhRSiml3Xbbbb151+WBBx5I++yzT3rrrbfWmt+JJ56Ybr/99pRSSgcc\ncEB68sknG3yu/v3f/z1dccUVacKECWn58uX1Lu+AAw5IkydPTiml9Nvf/jb17t07pZTStddem844\n44yUUkpLliypPOZp06als88+O6WU0pQpU9L3v//9lFJKv/zlL9NRRx1VGeuhhx6aVq5cmZ555pm0\n8847p3feeSe99dZb6Z133kkppfTMM8+kwYMHN/iYDzjggPTYY4+lT37yk+nb3/52vY8hpaa9tq69\n9tq04447pkWLFlWenyeffDKllNKkSZPSrFmz0sMPP5zGjx/f4LJ69eqV3njjjXTFFVekIUOGpJtu\nuinNnz8/jRgxYq31X/MYatbX/fffn8aOHbvWvGqv55RSevLJJ9eaZsaMGQ2OZ+7cuXWti1mpjpxK\nN0eq6mUT5dSf//zntd4vdZFTciolOdWQauZUSil17do1PfXUU/Uur74sWi+HIlJVL5t2e6nBHKpZ\ndzXPT+3n5cILL0yDBg1Kb7/9dkqp4cyo/V474ogj0nXXXZdSSunqq69OEydOTCml9Morr6Q999wz\nzZgxI3Xv3r3y+qtvTOeee25KaXXGdO7cuZI/O++8c1q0aFGaO3duOuKII9J7772XUkrp9NNPT9df\nf3166aWXKtn47rvvpn333bfyHqv9mqnJjJRS+vrXv56mTp1a73jqe2/Wfv/Wnnddhg0blu66666U\nUqq8T5977rlKFtRe9+eee24lV2uWn9Lq9fzKK6+kYcOGpV/96lf1Luvhhx9OW2yxRfrb3/6WVqxY\nkQ466KBKrtXOyLpydNmyZalr166V9brPPvukP/3pT+m5555LEZEeeeSRlFJKJ598cuXx1n4ujz/+\n+HTvvffW+5hrHuejjz6aBg0alJ5//vl6H8eFF16YRo4cWcmYLbfccq38qfmdt9tuu1Wy6/rrr6+s\nx9mzZ1fysvbrvC633npr+upXv5pSSmno0KFp+PDhKaWUTjrppPTggw9W1n/N+v3Qhz6UXnjhhbRy\n5co0YsSIyu++GutuA4wfP36taQ488MB6x9PQdlFdl/X+pqt6RDWcUakJOXX99denO+64o/J7MKWU\nXn/99TrXVV3klJySU9XPqeuvvz5NmjSp3uU1N4tqX0p9aF5tDz744IdmzJjxoV69evWKiHj77bfb\nzZs3r8PYsWOXff3rX9/l9NNP33nixIlvjBs37s2mzO/xxx+PUaNGxR577BERER/5yEcq/zd+/PjY\nYostYosttojtt9++0hbvtttuMWLEiIhY3XyOHj06OnVafajzcccdFzNmzIgjjzwy/umf/inGjRsX\nERF9+/aNLbbYItq3bx99+/aN+fPnR0TEr371q/jTn/5UOXfHG2+8Ec8++2xlPOsaOnRodO7cOSJW\nf9J7yCGHVOb/8MMPR8TqT71rn6tk6dKl8eabb8aMGTPirrvuqjy2D3/4w+vNP6UUX/va12LGjBnR\nrl27ePHFF+N//ud/Yscdd6xzPFOnTo277747IiJeeOGFePbZZ+OjH/1o/St8HQ899FCcfPLJlV1s\na6//dTX0XN1www2xyy67xD333BPt27dvcJmf+tSnIiJi1KhRsXTp0so5YmosWLAgjj322Hj55Zfj\nvffeqyzvM5/5TEycODG+/OUvxzXXXBMnn3xy5T7HHHNMtGvXLrp37x5du3aNefPmxR577BFf+MIX\nYs6cObHZZpvFM8880+hjPu200+KYY46pNNX1acprKyLi4IMPrjwfRx11VDzyyCPxyiuvxPbbbx+D\nBw+O6dOnN7iciNXHDz/66KMxY8aM+NrXvhYPPvhgpJRi//33r3P6o446KiIiBg8evNZY2pLm5FRN\nrjRETq1NTsmpdVUzp5544onYaqutqnLuiJZU7e2lxkyYMCG23HLLiGh6Zjz22GOV9/sJJ5wQ5557\nbkRE7LDDDnHxxRfHmDFj4u67727wPVez7IjVr7PevXtX8qdr167xwgsvxCOPPBKzZ8+OoUOHRkTE\nO++8E9tvv3088cQTa2XjscceW3kP1Pb000/HBRdcEK+//nq8+eabceihh9Y7lvrem021bNmyePHF\nF+PjH/94RESjn3o/9NBD8dOf/rRyvSYz33///Rg7dmz88Ic/jAMOOKDBeQwbNiy6du0aEauz55FH\nHolPfOITa01TV46OGDEiDjzwwLjvvvuiZ8+e8f7771fe37vsskuMHDkyIiKOP/74mDp1anz1q1+N\nhx9+OP7t3/4t3n777ViyZEn07t07Ro8eXe9j/stf/hKnnnpq/OpXv4qddtqpwcdx2GGHVTJm5cqV\na+VP7fd5Tb5+6lOfirPOOitWrVoVZ599dlx33XUNzr/G/vvvH5dddlnMnTs3evXqFa+99lq8/PLL\n8dhjj1X2TF53/Xbp0iUiIgYMGBDz58+vHDbW1tWVU88//3wce+yx8ZWvfCXOO++8OOKII+rN8uaS\nU6vJKTlV1/ptKKduvfXWRvdQ31CtpohKKcWXv/zll88555z1jqf4/e9/P/fOO+/s+I1vfGPnhx56\naOmll166UfuxbrHFFpWfN9tss1ixYkVErD7MqCnat28fRVFERES7du0q82vXrl1lXimluOKKKxoM\ni/rGVN88V61aFY8//nijoVCXm2++ORYuXBizZ8+O9u3bx+677x7Lly+vc9rp06fHQw89FI899lhs\ntdVWMXr06Hqn3dT69u0bc+bMiQULFjQapjXPSX3Xv/jFL8bZZ58dEyZMiOnTp8eUKVMiImKXXXaJ\nHXbYIX7zm9/EzJkz4+abb25wnt///vdjhx12iD/+8Y+xatWqJj0f++67bzz88MPxla98pcHpm/La\nqm9cjz76aNx7773xwAMPxPLly2Pp0qVx/PHHx0033VTnskaNGhW/+93v4vnnn4+JEyfG9773vSiK\nIsaPH1/n9DVjqf2eqc/OO+8cCxYsqFxfsGBB7Lzzzg3epzVoTk7V7Cq7oeSUnJJT1c2pn/70p5UN\nwNYs5/ZSxNqZ09zMqMtTTz0VH/3oR+Oll15qdNrar61182fFihWRUooTTzwxvvvd7651v6YeCn7S\nSSfFPffcE/3794/rrruuwXK0vvdmbptvvnkMHjw4fvnLXzb6B15jedNQjk6ePDn+9V//NXr06LFW\n8V3XPJcvXx6f//znY9asWbHLLrvElClTGs3jzp07x/Lly+MPf/hDo3/g1X4drJs/9WVOURSxbNmy\nePrppyvnanrllVdiwoQJce+999Z5jpudd945Xn/99XjwwQdj1KhRsWTJkvjZz34W22yzTWy77bb1\njiui6dtGL7zwQuX6B2XbqC515dTcuXMH77XXXvH73/8+Hnjggbjgggti7Nix8c1vfnOjlyenVpNT\n9c9TTq2fU4sWLYqZM2dWSr5qa9Y5otKFaXY1L40tr2PHjivfeuutdhERhx122NIbb7zxY2+88Ua7\niIjnnnuu/Ysvvrj5/Pnz22+77barPv/5zy85++yzX5kzZ85WERFbb731yppp6zJixIiYMWNGPPfc\ncxERsWTJkuasihg2bFj89re/jUWLFsXKlSvj1ltvbfSNVNuhhx4a//mf/1k5JvSZZ56Jt956q1lj\nWNchhxwSV1xxReV6zbf+jBo1Km655ZaIWH0ixNdee229+77xxhux/fbbR/v27ePhhx+O559/vt7l\nvPHGG/HhD384ttpqq5g3b148/vjjzR7rwQcfHNdee23lmNyG1n9Dz9XAgQPjyiuvjAkTJjT6y+C2\n226LiIhHHnkkOnbsGB07dlzvcdX8wr/++uvX+r/JkyfH8ccfH0cfffRaJzC8/fbbY9WqVfG3v/0t\n/v73v8fee+8db7zxRnTu3DnatWsXN954Y+U474Ye82c/+9k4/PDD45hjjml0Q6Upfv3rX8eSJUvi\nnXfeiXvuuSdGjhwZ3/3ud2PBggUxf/78+OlPfxoHHnhgvX/cRaxu1G+66abo3r17tGvXLj7ykY/E\nAw88UJVP8zp37hwf+tCH4vHHH4+UUtxwww3VOwneP6fZVb00YmNyatttt41ly5bVO285tTY5JafW\nVa2cWrVqVfzsZz+r3vmhUppd1UsjNnJ7qcEcao6mZsa+++5b+ZT85ptvruz1MHPmzPjFL34Rf/jD\nH+LSSy+tvJ821NixY+OOO+6IV199NSJWv56ff/75GD58ePz2t7+NxYsXx/vvvx+33357nfdftmxZ\ndO7cOd5///21yt26NPTebIptt902unTpUvnj8913323wXC8HH3xw/PCHP6xcr8nMoijimmuuiXnz\n5sX3vve9Bpc5c+bMeO6552LVqlVx2223rfe+aShHhw8fHi+88ELccsstaxW4//jHP+Kxxx6LiIhb\nbrkl9ttvv8ofcx/72MfizTffrOyJ0tBj3m677eL++++Pf/mXf2nS3pFNUZOvt912W+yzzz7RsWPH\nWLRoUcyfPz/mz58fI0aMqPePuxojRoyIyy67LEaNGhX7779/XHrppVXda+eGG26IlFI8/vjj0bFj\nx8reM9WWUsyu5qUpy2wspxYvXhwvvfRSbLXVVnH88cfHOeecU/nmwMa2l5pDTskpOdU0d9xxRxxx\nxBEb9OFxU5T6ZOU77rjjysGDB7/ZvXv33r/85S8/dPTRRy8ZOnRoj7322qvXxz/+8T1ff/31zWbP\nnr3lgAEDevbo0aPXd77znZ2++c1vvhwRceKJJy4aN25cvScr79SpU1x11VVx1FFHRf/+/ePYY49t\n1tg6d+4cl1xySYwZMyb69+8fgwcPbtYf0pMnT45evXrFoEGDok+fPnHaaadt9Ib91KlTY9asWdGv\nX7/o1atX/PjHP46IiAsvvDBmzJgRvXv3jrvuuit23XXX9e573HHHxaxZs6Jv375xww03RI8ePepd\nzrhx42LFihXRs2fPOP/88yuHATXHuHHjYsKECTFkyJAYMGBAg18T2thztd9++8Wll14a48ePb/AE\nxB06dIiBAwfG5z73ubj66qvX+/8pU6bE0UcfHYMHD46Pfexja/1fzQkMa7fpERG77rprDBs2LA47\n7LD48Y9/HB06dIjPf/7zcf3110f//v1j3rx5lU9hGnvMZ599dgwcODBOOOGEOk/E1xzDhg2LSZMm\nRb9+/WLSpEkb9O0Vu+++e6SUYtSoURGxej1vt912dR4y1dh8anYp7dKlS+WwrB/96EcxefLk6Nat\nW+y5556t8hvzIjYup0499dQYN25cvSfflFNrk1Nyal3VyqkZM2bELrvsUtn9v7XZmBw6+uijG8yh\n5mhqZlxxxRVx7bXXRr9+/eLGG2+Myy+/PN5999045ZRT4pprromddtop/uM//iM+85nPrHfi1Obo\n1atXfPvb345DDjkk+vXrFwcffHC8/PLL0blz55gyZUrss88+MXLkyOjZs2ed9//Wt74Vw4cPj5Ej\nRzaYNxENvzeb6sYbb4ypU6dGv379Yt99941XXnml3mkvuOCCeO2116JPnz7Rv3//yuHPEas/1b71\n1lvjN7/5TfzoRz+qdx5Dhw6NL3zhC9GzZ8/YY489Koee1GgsR4855pgYOXLkWu+3vffeO374wx9G\nz54947XXXovTTz89tttuuzjllFOiT58+ceihh1YOQWrsMe+www5x3333xRlnnFGVb4977bXXol+/\nfnH55ZfH97///Q2ax/777x8rVqyIbt26xaBBg2LJkiXN/gNv6tSp0aVLl1iwYEH069evctjL4Ycf\nHl27do1u3brFKaec0uBz1xo1llNvvfVWPPXUU5WTdl900UWVE3o3tr3UHHJKTsmpptnUe4oXDb1x\n/vjHP87v379/075aqJWYO3fu4DWHI9OGjB49Oi699NIN/jrRWbNmxVlnnVXntyyVzXXXXRezZs2K\nH/zgBy09lKr5y1/+st4v4KIoZqeUhrTWnJJFrEtOlV99WTRnzpyPtcYcipBFbdX06dPj0ksvrXyT\n5oY44ogj4qyzzqrzW0LLZvfdd49Zs2Zt8B/fZdPQdlFd07eGbSVZxLrkVPk1N4tqK/UeUVAGl1xy\nSUyaNGm9Y7cBykJOAbm8/vrrsddee8WWW27ZKv64A9oeOVV+reZk5RujX79+Pd57771K6dahQ4e4\n8cYbo2/fvi05rPU89dRTccIJJ6x12xZbbFGV3fw2xOLFi+t84/73f/93k795KvdjOuOMM+LRRx9d\n67Yzzzxzo47bPf/88+P888/fyJE1z/Dhw+Pdd99d67amvmZPOumkOOmkk5q8rPrW2bqH97Bpbcxz\nnpOc2nhySk6VVRlzqGzP/Xe+8531ztVy9NFHN/ptkrXlfEwN5VvNyW+ba7vttqvz27s2pWuvvTYu\nv/zytW4bOXLkWuefaUhzvs23bL/nWJucapycklOtQWOH5v29b9++r7Vr127DD3wtGbt9QuuSUop5\n8+Y1dGheq8wpWQStS0NZNGfOnI+0xhyKkEXQ2jS2XVTXfVrDtpIsgtZlQ7KotsYOzXt64cKFHVet\n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\n1gAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0x114be1150>"
]
},
{
"output_type": "display_data",
"png": "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\nADonIAIAAADonIAIAAAAoHMCIgAAAIDOCYgAAAAAOrdlvTsAAAB7kqqabrqXLj9Na22NvQGA6QiI\nAABghoQ6AGxGDjEDAAAA6JyACAAAAKBzAiIAAACAzgmIAAAAADonIAIAAADonIAIAAAAoHMCIgAA\nAIDOCYgAAAAAOicgAgAAAOicgAgAAACgcwIiAAAAgM4JiAAAAAA6JyACAAAA6JyACAAAAKBzAiIA\nAACAzgmIAAAAADonIAIAAADonIAIAAAAoHMCIgAAAIDOCYgAAAAAOicgAgAAAOicgAgAAACgcwIi\nAAAAgM5Va229+5Cq+kyST613P9jlDkryL+vdCXapB7bWDl7vTqyWWtQNtWjPt6lrUaIedUIt2vOp\nRWwGatGeb+patCECIvpQVRe31o5b734AfVOLgI1ALQI2ArWISQ4xAwAAAOicgAgAAACgcwIidqfX\nrncHAKIWARuDWgRsBGoRd3EOIgAAAIDO2YMIAAAAoHMCIgAAAIDO7faAqKruW1U/v8p5n1dVX72K\n+U6vquevZpmbRVVdX1UHjcMfmnHbf1lV9x2Hv7CK+d9cVU8ah19fVQ9eYto1v1ZV9YyqetUq572r\nr2vsw/lVtdsuF1lVe1XVx6rqnDW283NV9fRlprlfVb23qr4w/3muqm+rqiuq6rqq+r2qqrX0Z3dR\nl3YNdelubahLq29nmrr01Kq6dOL2lao6di3LXQ+7uhZV1Y9V1TVjDT+uqn5vFct5WVVdVVUvW00/\nd6XJ99k0280K2/7hqto2Dq+4JlTV1qq6chxe9rlfTV1boI27avAK57urr2tc/glrff+vYpk/WlVt\nrbVumv9ZVfUL4+edNvk81+D3xscur6pvXUtf1pu6tDbq0j3aUJdW3840den9E5+F/qmq/mKly9my\nuu6tyX2T/HySV69i3ucl+ZMkX5xpjzIU8wznZPrKrNve3Vpr3zXj9h43w7Z+dlZtcTfPTXJNkvus\npZHW2h9MMdl/Jvm1JN883ia9Jskzk1yY5C+TPCbJX62lT7uJurSLqUtd2m11qbX2liRvSZKqOibJ\nX7TWLl3LctfJrq5FP5Pkma21D4z3L54/QVVtaa19eYk2Tk1yYGvtzlX0cbeZ8v/ZSto7O8nZM2rr\n4izw3LM2VbVfhrpz4VrbmvJ/1geTnJPk/HnjH5vkqPH2HRk+G33HWvu0jtSlGVGX+rO761Jr7bsn\nlv2OJO9a6XLW4xCz7UkeNKZaL6uqX6qqj4wJ+4uTpKq+pqp2VNVlVXVlVf14VT0nyQOSvLeq3rtY\n41X1mKr66DjveRMPPXj89fQTY1tzSeS1VfVHSa5McnhVPaWGPSCurKqXTrT7hYl0+m+q6viJ9n54\nnGavcZq59XnWEv08oar+rqreNbaxvYZfQC8al/+gcbqDq+odY5sfqaqHj+PvV1XvGfvz+iQ10fYX\nxr/3rqrzxufjiqo6aakXpqr+oqouGds8dWL81ElvVb1gXNZlVbV9gcfv+gV7iddqbtpnVtVfVdW+\niyzr/Kr63XFburKqjl9gmh+qqgtr+BX7b6rq/lV1r6r6eFUdPE5zrxp+5Tl4nO2RVXVxVf1DVT1+\nnGbrmMh+dLx918QyFl3nse03V9VLlnjOptm2njFuK+ePfX/RxPyHJTkxyesXW8Y43ddW1SXj8ENr\nSLKPGO//Y1V9dU38+jAu66XjNvkPVfXdSdJa+4/xn/h/zmv/kCT3aa1d0Iaz3/9Rkics1acNRF2K\nujQOq0vZfHVpnqckedtSy93AdlktqqpfT/KIJG8Y277rV9TxOf7jqvpgkj9erG5U1dlJ7p3kknG5\nW6vqb8dpzpt47d5V46/kVfWsqnrLYis8vqavHLfva6rq26vqneM29ZKJ6X5yfN0vrao/rKq9xvE/\nNW4LFyV5+MT0k9vNM8d1uayG2rXoHg0LvT/H8c+oKfcCrKpvGOe9bHxvPmje45PP/b2r6k3j+/Xy\nqvrRedMeVFUfrqoTF1nWCVX1vnGbuLaq/qCq7vH5vhaopVX101X1OxPTPLOqXjne3VJVbxlfk7fP\nPWdV9evjc3llVb22athTeIp1/vbxOb3b+InHT6+qM2uoaZ+qqh+pqt8an5d3V9Xe43TXT4y/qKq+\nYaKZ/5XkpZn3+WSBZf1+7axjf15Vb5x4Ps4Yh+f+Z50wbqNvr6q/H5+TSpLW2sdaa9cvsIiTkvxR\nG1yQ5L41fEbarNQldUld2iR1aaK9+yT5/iQr3oMorbXdekuyNcmV4/CjMlxWrzKEVeck+Z4kP5rk\ndRPz7D/+vT7JQUu0fXCSTyc5crx/4Pj39CQfSrJPkoOS/GuSvce+fCXJw8bpHpDkhrGdLUn+NskT\nxsdakseOw3+e5D1jGw9Ncuk4/tQkvzoO75MhhT1ykb6ekORzSQ4Zp70pyYvHx56b5HfG4f+T5BHj\n8BFJrhmHfy/Jr4/DJ479O2i8/4Xx75YMX9gzrvd1yXDlukX6NPd87Zvhi+n95j/vc20vMv9jx+f5\nq+e19+ZkoJrXAAAL30lEQVQkTxqHz09y3DKv1fOT/EKGxHOfJZZ3/tx2Mm43c9vVM5K8ahw+YG6d\nk/xskpePwy9K8ryJ7fAdE319d4bt8agkNyb5qiRfneSrxmmOSnLxMut8fpKHJXlrkl9Z5j0xzbb1\njCQ3J7nfxOtz3PjY25N8W4Zt6pxllnVVhl/zfyHJR5I8NckDk3x48vmfWIe55+txSf5mXlt3Pc/j\n/eMmp0ny3cv1Z6Pcoi6pS+rSHlGXxvH/mOSb17uurOaWXViLJrf1iff7ORPP8SVJ9h3vL1o3MvF+\nS/J/k5wyDv90hj23kuT+Gd7b353kH+a2wSX69NJx+LlJ/ik7a9CN4/Z19LisvcfpXp3k6eN0c/Xx\nv2TYo+NVE+s0t93cb2J5L0ny7CX6s9j78xkLtb1IGxcmeeI4PPdenXxtJ5/7l2asrXPLn3uex+fx\nwiQ/uMSyTsjwxePrk+yV5NzsrG13bRNZoJZm+FL9jxPP64eSHDP2tSV5+Dj+jRPP5YETy/7jJD+0\nxDqfkGG7/a4M29cRS6zH6Uk+kJ115ou5ew16wsQ6/co4/PSJ5/Fbs7Nmnp9xO19kWScnedk4fFGS\nC8bhNyV59OR2Pq7DbUkOy/A+/HDG/38T7d31PI/3z5mcJsl5S/Vno9+iLqlL6tJmrEtPT/L21bzn\n1+MQs0mPGm8fG+/fO8OH3PcneXkNv5Sf01p7/5TtPSzJ+1prn0yS1tpnJx7b0Vq7PcntVXVrho07\nST7VhnQ/Sb49yfmttc8kyZgsf0+G5O3/ZfiAniRXJLm9tXZHVV2RYYOdW5//WjvPFbH/uD6fXKS/\nH2mt3Twu6x8zfACfa//7xuFHZtjLYG6e+1TVvcd+/ci4njuq6t8WaL+S/EZVfU+GL5yHjuv9z4v0\n5zlV9cRx+PCx7/+6yLQLeWSSN7XWvjj267NLTLvUa/X0DF/SntBau2OZZb51nP99VXWfGs9JMuGw\nJH9awy83/yU7X4s3Zvii9zsZ/nm8aWKes9pwSM/Hq+oTSb5pnO9VNZzT4s4k3zjFOv/h2NYZy6zD\nNNtWkpzbWvvXJKmqdyZ5RFV9XZJbW2uXVNUJyywnGYrswzNsP7+R4RCwyvCeW8g7x7+XzOvLnkxd\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x114b26f50>"
]
}
],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": true,
"input": [],
"language": "python",
"metadata": {
"deletable": true,
"editable": true
},
"outputs": [],
"prompt_number": 6
}
],
"metadata": {}
}
]
}
{
"video-recording-fps": 90,
"test_chrome_media_ail_click_playback_mp4_win7": {
"total_time": 1400.0000000000036,
"time_list": [
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118131",
"run_time": 177.77777777777374,
"event_time": {
"start": 0,
"end": 177.77777777777374
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118228",
"run_time": 155.55555555555839,
"event_time": {
"start": 0,
"end": 155.55555555555839
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118308",
"run_time": 266.6666666666679,
"event_time": {
"start": 0,
"end": 266.6666666666679
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118387",
"run_time": 266.6666666666679,
"event_time": {
"start": 0,
"end": 266.6666666666679
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118471",
"run_time": 200.0,
"event_time": {
"start": 0,
"end": 200.0
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505118548",
"run_time": 333.33333333333576,
"event_time": {
"start": 0,
"end": 333.33333333333576
}
}
],
"avg_time": 233.33333333333394,
"description": null,
"outlier": [],
"std_dev": 61.1952283031798,
"upload_video_fp": "C:\\Users\\user\\Hasal\\result\\20170911161342\\media_ail_click_playback_mp4\\test_chrome_media_ail_click_playback_mp4_1505118548.mp4",
"detail": [
{
"time_seq": 36877.77777777778,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118131\\image_03319.bmp"
},
{
"time_seq": 37055.555555555555,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118131\\image_03335.bmp"
},
{
"time_seq": 20433.333333333332,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118228\\image_01839.bmp"
},
{
"time_seq": 20588.88888888889,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118228\\image_01853.bmp"
},
{
"time_seq": 20700.0,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118308\\image_01863.bmp"
},
{
"time_seq": 20966.666666666668,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118308\\image_01887.bmp"
},
{
"time_seq": 20633.333333333332,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118387\\image_01857.bmp"
},
{
"time_seq": 20900.0,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118387\\image_01881.bmp"
},
{
"time_seq": 20455.555555555555,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118471\\image_01841.bmp"
},
{
"time_seq": 20655.555555555555,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118471\\image_01859.bmp"
},
{
"time_seq": 20511.11111111111,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118548\\image_01846.bmp"
},
{
"time_seq": 20844.444444444445,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505118548\\image_01876.bmp"
}
],
"error_no": 0,
"total_run_no": 6,
"pkg_platform": "",
"video_fp": "C:\\Users\\user\\Hasal\\output\\videos\\test_chrome_media_ail_click_playback_mp4_1505118548.mkv",
"max_time": 333.33333333333576,
"min_time": 155.55555555555839,
"web_app_name": "media",
"med_time": 233.33333333333394,
"revision": ""
},
"test_firefox_media_ail_click_playback_mp4_win7": {
"total_time": 988.8888888888905,
"time_list": [
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119093",
"run_time": 177.77777777777737,
"event_time": {
"start": 0,
"end": 177.77777777777737
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119176",
"run_time": 155.55555555555475,
"event_time": {
"start": 0,
"end": 155.55555555555475
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119255",
"run_time": 166.66666666666788,
"event_time": {
"start": 0,
"end": 166.66666666666788
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119333",
"run_time": 155.55555555555475,
"event_time": {
"start": 0,
"end": 155.55555555555475
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119414",
"run_time": 166.66666666666788,
"event_time": {
"start": 0,
"end": 166.66666666666788
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505119492",
"run_time": 166.66666666666788,
"event_time": {
"start": 0,
"end": 166.66666666666788
}
}
],
"avg_time": 164.8148148148151,
"description": null,
"outlier": [],
"std_dev": 7.635380788181212,
"upload_video_fp": "C:\\Users\\user\\Hasal\\result\\20170911161342\\media_ail_click_playback_mp4\\test_firefox_media_ail_click_playback_mp4_1505119492.mp4",
"detail": [
{
"time_seq": 22000.0,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119093\\image_01980.bmp"
},
{
"time_seq": 22177.777777777777,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119093\\image_01996.bmp"
},
{
"time_seq": 21644.444444444445,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119176\\image_01948.bmp"
},
{
"time_seq": 21800.0,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119176\\image_01962.bmp"
},
{
"time_seq": 21755.555555555555,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119255\\image_01958.bmp"
},
{
"time_seq": 21922.222222222223,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119255\\image_01973.bmp"
},
{
"time_seq": 21866.666666666668,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119333\\image_01968.bmp"
},
{
"time_seq": 22022.222222222223,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119333\\image_01982.bmp"
},
{
"time_seq": 22377.777777777777,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119414\\image_02014.bmp"
},
{
"time_seq": 22544.444444444445,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119414\\image_02029.bmp"
},
{
"time_seq": 21833.333333333332,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119492\\image_01965.bmp"
},
{
"time_seq": 22000.0,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505119492\\image_01980.bmp"
}
],
"error_no": 0,
"total_run_no": 6,
"pkg_platform": "",
"video_fp": "C:\\Users\\user\\Hasal\\output\\videos\\test_firefox_media_ail_click_playback_mp4_1505119492.mkv",
"max_time": 177.77777777777737,
"min_time": 155.55555555555475,
"web_app_name": "media",
"med_time": 166.66666666666788,
"revision": ""
},
"test_firefox_media_ail_click_playback_mp4_win10": {
"total_time": 733.3333333333285,
"time_list": [
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196335",
"run_time": 100.0,
"event_time": {
"start": 0,
"end": 100.0
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196429",
"run_time": 166.66666666666424,
"event_time": {
"start": 0,
"end": 166.66666666666424
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196531",
"run_time": 166.66666666666424,
"event_time": {
"start": 0,
"end": 166.66666666666424
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196625",
"run_time": 122.22222222222263,
"event_time": {
"start": 0,
"end": 122.22222222222263
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196721",
"run_time": 100.0,
"event_time": {
"start": 0,
"end": 100.0
}
},
{
"folder": "test_firefox_media_ail_click_playback_mp4_1505196824",
"run_time": 77.77777777777737,
"event_time": {
"start": 0,
"end": 77.77777777777737
}
}
],
"avg_time": 122.22222222222142,
"description": null,
"pkg_platform": "",
"outlier": [],
"upload_video_fp": "C:\\Users\\user\\Hasal\\result\\20170912140513\\media_ail_click_playback_mp4\\test_firefox_media_ail_click_playback_mp4_1505196824.mp4",
"detail": [
{
"time_seq": 23811.11111111111,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196335\\image_02143.bmp"
},
{
"time_seq": 23911.11111111111,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196335\\image_02152.bmp"
},
{
"time_seq": 24266.666666666668,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196429\\image_02184.bmp"
},
{
"time_seq": 24433.333333333332,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196429\\image_02199.bmp"
},
{
"time_seq": 24244.444444444445,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196531\\image_02182.bmp"
},
{
"time_seq": 24411.11111111111,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196531\\image_02197.bmp"
},
{
"time_seq": 24444.444444444445,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196625\\image_02200.bmp"
},
{
"time_seq": 24566.666666666668,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196625\\image_02211.bmp"
},
{
"time_seq": 24188.88888888889,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196721\\image_02177.bmp"
},
{
"time_seq": 24288.88888888889,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196721\\image_02186.bmp"
},
{
"time_seq": 25400.0,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196824\\image_02286.bmp"
},
{
"time_seq": 25477.777777777777,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_firefox_media_ail_click_playback_mp4_1505196824\\image_02293.bmp"
}
],
"error_no": 0,
"total_run_no": 6,
"std_dev": 33.94500514782006,
"video_fp": "C:\\Users\\user\\Hasal\\output\\videos\\test_firefox_media_ail_click_playback_mp4_1505196824.mkv",
"max_time": 166.66666666666424,
"min_time": 77.77777777777737,
"web_app_name": "media",
"med_time": 111.11111111111131,
"revision": ""
},
"test_chrome_media_ail_click_playback_mp4_win10": {
"total_time": 1066.6666666666679,
"time_list": [
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505197503",
"run_time": 211.1111111111095,
"event_time": {
"start": 0,
"end": 211.1111111111095
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505197613",
"run_time": 155.55555555555475,
"event_time": {
"start": 0,
"end": 155.55555555555475
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505197726",
"run_time": 155.55555555555839,
"event_time": {
"start": 0,
"end": 155.55555555555839
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505197825",
"run_time": 211.11111111111313,
"event_time": {
"start": 0,
"end": 211.11111111111313
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505197926",
"run_time": 177.77777777777737,
"event_time": {
"start": 0,
"end": 177.77777777777737
}
},
{
"folder": "test_chrome_media_ail_click_playback_mp4_1505198036",
"run_time": 155.55555555555475,
"event_time": {
"start": 0,
"end": 155.55555555555475
}
}
],
"avg_time": 177.77777777777797,
"description": null,
"pkg_platform": "",
"outlier": [],
"upload_video_fp": "C:\\Users\\user\\Hasal\\result\\20170912140513\\media_ail_click_playback_mp4\\test_chrome_media_ail_click_playback_mp4_1505198036.mp4",
"detail": [
{
"time_seq": 22500.0,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197503\\image_02025.bmp"
},
{
"time_seq": 22711.11111111111,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197503\\image_02044.bmp"
},
{
"time_seq": 21322.222222222223,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197613\\image_01919.bmp"
},
{
"time_seq": 21477.777777777777,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197613\\image_01933.bmp"
},
{
"time_seq": 21733.333333333332,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197726\\image_01956.bmp"
},
{
"time_seq": 21888.88888888889,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197726\\image_01970.bmp"
},
{
"time_seq": 21533.333333333332,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197825\\image_01938.bmp"
},
{
"time_seq": 21744.444444444445,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197825\\image_01957.bmp"
},
{
"time_seq": 23200.0,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197926\\image_02088.bmp"
},
{
"time_seq": 23377.777777777777,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505197926\\image_02104.bmp"
},
{
"time_seq": 21455.555555555555,
"event": "start",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505198036\\image_01931.bmp"
},
{
"time_seq": 21611.11111111111,
"event": "end",
"file": "C:\\Users\\user\\Hasal\\output\\images\\output\\test_chrome_media_ail_click_playback_mp4_1505198036\\image_01945.bmp"
}
],
"error_no": 0,
"total_run_no": 6,
"std_dev": 24.845199749997573,
"video_fp": "C:\\Users\\user\\Hasal\\output\\videos\\test_chrome_media_ail_click_playback_mp4_1505198036.mkv",
"max_time": 211.11111111111313,
"min_time": 155.55555555555475,
"web_app_name": "media",
"med_time": 166.66666666666788,
"revision": ""
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment