diff options
author | 2021-01-05 08:54:55 +0100 | |
---|---|---|
committer | 2021-01-05 08:54:55 +0100 | |
commit | 1bb3cad0cc3ec62184800faf1da897de9096a587 (patch) | |
tree | e0f254c14ee75f4341f1410a68671cb9b32154ca /Tests/MODELS2020-CaseStudies/case.study.pledge.run | |
parent | add models20 measuement setup from VM (diff) | |
download | VIATRA-Generator-1bb3cad0cc3ec62184800faf1da897de9096a587.tar.gz VIATRA-Generator-1bb3cad0cc3ec62184800faf1da897de9096a587.tar.zst VIATRA-Generator-1bb3cad0cc3ec62184800faf1da897de9096a587.zip |
add notebook for generating plots
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.pledge.run')
-rw-r--r-- | Tests/MODELS2020-CaseStudies/case.study.pledge.run/.gitignore | 2 | ||||
-rw-r--r-- | Tests/MODELS2020-CaseStudies/case.study.pledge.run/MODELS2020Plots.ipynb | 1256 |
2 files changed, 1258 insertions, 0 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/.gitignore b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/.gitignore index ecef25ad..5f299742 100644 --- a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/.gitignore +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/.gitignore | |||
@@ -4,3 +4,5 @@ | |||
4 | /xtend-gen/ | 4 | /xtend-gen/ |
5 | /bin/ | 5 | /bin/ |
6 | /x/ | 6 | /x/ |
7 | /.ipynb_checkpoints/ | ||
8 | /measurements1/ | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.pledge.run/MODELS2020Plots.ipynb b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/MODELS2020Plots.ipynb new file mode 100644 index 00000000..fabee66c --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.pledge.run/MODELS2020Plots.ipynb | |||
@@ -0,0 +1,1256 @@ | |||
1 | { | ||
2 | "cells": [ | ||
3 | { | ||
4 | "cell_type": "markdown", | ||
5 | "metadata": {}, | ||
6 | "source": [ | ||
7 | "# Data analysis for the paper \"Automated Generation of Consistent Models with Structural and Attribute Constraints\"" | ||
8 | ] | ||
9 | }, | ||
10 | { | ||
11 | "cell_type": "markdown", | ||
12 | "metadata": {}, | ||
13 | "source": [ | ||
14 | "First, let's load some packages." | ||
15 | ] | ||
16 | }, | ||
17 | { | ||
18 | "cell_type": "code", | ||
19 | "execution_count": 57, | ||
20 | "metadata": { | ||
21 | "scrolled": true | ||
22 | }, | ||
23 | "outputs": [], | ||
24 | "source": [ | ||
25 | "require(tidyverse)\n", | ||
26 | "dir.create('plots')" | ||
27 | ] | ||
28 | }, | ||
29 | { | ||
30 | "cell_type": "markdown", | ||
31 | "metadata": {}, | ||
32 | "source": [ | ||
33 | "The functions below parse the logs generated by VIATRA Generator. We use a separate function for logs with 10 generated models, and another one for a single generated model per run." | ||
34 | ] | ||
35 | }, | ||
36 | { | ||
37 | "cell_type": "code", | ||
38 | "execution_count": 43, | ||
39 | "metadata": { | ||
40 | "scrolled": false | ||
41 | }, | ||
42 | "outputs": [], | ||
43 | "source": [ | ||
44 | "ProcessDetailedStatistics <- function(str) {\n", | ||
45 | " str <- sub('TransformationExecutionTime', 'TransformationExecutionTime:', str)\n", | ||
46 | " str <- sub('Backtrackingtime', 'BacktrackingTime', str)\n", | ||
47 | " str <- gsub('\\\\(|\\\\)', '', str)\n", | ||
48 | " str <- lapply(strsplit(str, '\\\\||:'), function (v) {\n", | ||
49 | " dim(v) <- c(2, 12)\n", | ||
50 | " values <- as.double(v[2,])\n", | ||
51 | " names(values) <- v[1,]\n", | ||
52 | " as.data.frame(t(values))\n", | ||
53 | " })\n", | ||
54 | " str\n", | ||
55 | "}\n", | ||
56 | "Load10Log <- function(filename, size) {\n", | ||
57 | " read_csv(filename, col_types = cols(\n", | ||
58 | " .default = col_double(),\n", | ||
59 | " Result = col_character(),\n", | ||
60 | " Solution1DetailedStatistics = col_character(),\n", | ||
61 | " Solution2DetailedStatistics = col_character(),\n", | ||
62 | " Solution3DetailedStatistics = col_character(),\n", | ||
63 | " Solution4DetailedStatistics = col_character(),\n", | ||
64 | " Solution5DetailedStatistics = col_character(),\n", | ||
65 | " Solution6DetailedStatistics = col_character(),\n", | ||
66 | " Solution7DetailedStatistics = col_character(),\n", | ||
67 | " Solution8DetailedStatistics = col_character(),\n", | ||
68 | " Solution9DetailedStatistics = col_character(),\n", | ||
69 | " Solution10DetailedStatistics = col_character()\n", | ||
70 | " )) %>% transmute(\n", | ||
71 | " n = size,\n", | ||
72 | " Run = Run,\n", | ||
73 | " preprocessingTime = get('Domain to logic transformation time') + get('Logic to solver transformation time') + ExplorationInitializationTime,\n", | ||
74 | " Solution0FoundAt = Solution0FoundAt,\n", | ||
75 | " additionalTime = Solution9FoundAt - Solution0FoundAt,\n", | ||
76 | " Solution1DetailedStatistics = ProcessDetailedStatistics(Solution1DetailedStatistics)\n", | ||
77 | " ) %>% unnest() %>% mutate(\n", | ||
78 | " # (Logical) constraint evluation should count as refinement.\n", | ||
79 | " ForwardTime = ForwardTime + GlobalConstraintEvaluationTime + FitnessCalculationTime,\n", | ||
80 | " preprocessingTime = preprocessingTime,\n", | ||
81 | " BacktrackingTime = Solution0FoundAt - (StateCoderTime + ForwardTime + NumericalSolverSumTime)\n", | ||
82 | " ) %>% select(n, Run, preprocessingTime, StateCoderTime, ForwardTime, BacktrackingTime, NumericalSolverSumTime, additionalTime)\n", | ||
83 | "}\n", | ||
84 | "Load1Log <- function(filename, size) {\n", | ||
85 | " read_csv(filename, col_types = cols(\n", | ||
86 | " .default = col_double(),\n", | ||
87 | " Result = col_character(),\n", | ||
88 | " Solution1DetailedStatistics = col_character()\n", | ||
89 | " )) %>% filter(Result == \"ModelResultImpl\") %>% transmute(\n", | ||
90 | " n = size,\n", | ||
91 | " Run = Run,\n", | ||
92 | " preprocessingTime = get('Domain to logic transformation time') + get('Logic to solver transformation time') + ExplorationInitializationTime,\n", | ||
93 | " Solution0FoundAt = Solution0FoundAt,\n", | ||
94 | " Solution1DetailedStatistics = ProcessDetailedStatistics(Solution1DetailedStatistics)\n", | ||
95 | " ) %>% unnest(cols = c(Solution1DetailedStatistics)) %>% mutate(\n", | ||
96 | " ForwardTime = ForwardTime + GlobalConstraintEvaluationTime + FitnessCalculationTime,\n", | ||
97 | " BacktrackingTime = Solution0FoundAt - (StateCoderTime + ForwardTime + NumericalSolverSumTime)\n", | ||
98 | " ) %>% select(n, Run, preprocessingTime, StateCoderTime, ForwardTime, BacktrackingTime, NumericalSolverSumTime)\n", | ||
99 | "}" | ||
100 | ] | ||
101 | }, | ||
102 | { | ||
103 | "cell_type": "markdown", | ||
104 | "metadata": {}, | ||
105 | "source": [ | ||
106 | "Next, we set up data analyses for the first three research questions.\n", | ||
107 | "\n", | ||
108 | " * **RQ1** only needs the total runtimes of the generator, so we sum the runtimes of the individual phases and take the media.\n", | ||
109 | " * **RQ2** takes the median of all phases individually.\n", | ||
110 | " * **RQ3** only needs the total runtimes, so we use the same function as for RQ1." | ||
111 | ] | ||
112 | }, | ||
113 | { | ||
114 | "cell_type": "code", | ||
115 | "execution_count": 44, | ||
116 | "metadata": {}, | ||
117 | "outputs": [], | ||
118 | "source": [ | ||
119 | "ProcessRQ1 <- function(df) {\n", | ||
120 | " df %>% group_by(n) %>% summarize(\n", | ||
121 | " .groups = 'drop',\n", | ||
122 | " time = median(preprocessingTime + StateCoderTime + ForwardTime + BacktrackingTime + NumericalSolverSumTime) / 1000.0\n", | ||
123 | " )\n", | ||
124 | "}\n", | ||
125 | "ProcessRQ2 <- function(df) {\n", | ||
126 | " df %>% group_by(n) %>% summarize(\n", | ||
127 | " .groups = 'drop',\n", | ||
128 | " preprocessingTime = median(preprocessingTime) / 1000.0,\n", | ||
129 | " StateCoderTime = median(StateCoderTime) / 1000.0,\n", | ||
130 | " ForwardTime = median(ForwardTime) / 1000.0,\n", | ||
131 | " BacktrackingTime = median(BacktrackingTime) / 1000.0,\n", | ||
132 | " NumericalSolverSumTime = median(NumericalSolverSumTime) / 1000.0,\n", | ||
133 | " additionalTime = median(additionalTime) / 1000.0\n", | ||
134 | " )\n", | ||
135 | "}\n", | ||
136 | "ProcessRQ3 <- ProcessRQ1" | ||
137 | ] | ||
138 | }, | ||
139 | { | ||
140 | "cell_type": "markdown", | ||
141 | "metadata": {}, | ||
142 | "source": [ | ||
143 | "## RQ1\n", | ||
144 | "\n", | ||
145 | "We parse all the logs for RQ1, then output the total runtimes as a table for making sure there were no parse errors." | ||
146 | ] | ||
147 | }, | ||
148 | { | ||
149 | "cell_type": "code", | ||
150 | "execution_count": 45, | ||
151 | "metadata": {}, | ||
152 | "outputs": [ | ||
153 | { | ||
154 | "data": { | ||
155 | "text/html": [ | ||
156 | "<table>\n", | ||
157 | "<caption>A tibble: 24 × 3</caption>\n", | ||
158 | "<thead>\n", | ||
159 | "\t<tr><th scope=col>n</th><th scope=col>time</th><th scope=col>name</th></tr>\n", | ||
160 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><fct></th></tr>\n", | ||
161 | "</thead>\n", | ||
162 | "<tbody>\n", | ||
163 | "\t<tr><td> 5</td><td> 27.4965</td><td>postSMT</td></tr>\n", | ||
164 | "\t<tr><td> 6</td><td>259.5700</td><td>postSMT</td></tr>\n", | ||
165 | "\t<tr><td> 5</td><td> 1.4045</td><td>contSMT</td></tr>\n", | ||
166 | "\t<tr><td> 6</td><td> 1.5770</td><td>contSMT</td></tr>\n", | ||
167 | "\t<tr><td> 7</td><td> 1.7190</td><td>contSMT</td></tr>\n", | ||
168 | "\t<tr><td> 8</td><td> 2.0000</td><td>contSMT</td></tr>\n", | ||
169 | "\t<tr><td> 9</td><td> 2.1440</td><td>contSMT</td></tr>\n", | ||
170 | "\t<tr><td> 10</td><td> 2.4360</td><td>contSMT</td></tr>\n", | ||
171 | "\t<tr><td> 20</td><td> 6.0530</td><td>contSMT</td></tr>\n", | ||
172 | "\t<tr><td> 40</td><td> 20.4680</td><td>contSMT</td></tr>\n", | ||
173 | "\t<tr><td> 60</td><td> 50.0410</td><td>contSMT</td></tr>\n", | ||
174 | "\t<tr><td> 80</td><td> 92.1105</td><td>contSMT</td></tr>\n", | ||
175 | "\t<tr><td>100</td><td>141.1865</td><td>contSMT</td></tr>\n", | ||
176 | "\t<tr><td> 5</td><td> 1.1065</td><td>qualSMT</td></tr>\n", | ||
177 | "\t<tr><td> 6</td><td> 1.0840</td><td>qualSMT</td></tr>\n", | ||
178 | "\t<tr><td> 7</td><td> 1.1245</td><td>qualSMT</td></tr>\n", | ||
179 | "\t<tr><td> 8</td><td> 1.1230</td><td>qualSMT</td></tr>\n", | ||
180 | "\t<tr><td> 9</td><td> 1.1660</td><td>qualSMT</td></tr>\n", | ||
181 | "\t<tr><td> 10</td><td> 1.2300</td><td>qualSMT</td></tr>\n", | ||
182 | "\t<tr><td> 20</td><td> 1.6785</td><td>qualSMT</td></tr>\n", | ||
183 | "\t<tr><td> 40</td><td> 4.4675</td><td>qualSMT</td></tr>\n", | ||
184 | "\t<tr><td> 60</td><td> 10.5775</td><td>qualSMT</td></tr>\n", | ||
185 | "\t<tr><td> 80</td><td> 20.1165</td><td>qualSMT</td></tr>\n", | ||
186 | "\t<tr><td>100</td><td> 46.1635</td><td>qualSMT</td></tr>\n", | ||
187 | "</tbody>\n", | ||
188 | "</table>\n" | ||
189 | ], | ||
190 | "text/latex": [ | ||
191 | "A tibble: 24 × 3\n", | ||
192 | "\\begin{tabular}{lll}\n", | ||
193 | " n & time & name\\\\\n", | ||
194 | " <dbl> & <dbl> & <fct>\\\\\n", | ||
195 | "\\hline\n", | ||
196 | "\t 5 & 27.4965 & postSMT\\\\\n", | ||
197 | "\t 6 & 259.5700 & postSMT\\\\\n", | ||
198 | "\t 5 & 1.4045 & contSMT\\\\\n", | ||
199 | "\t 6 & 1.5770 & contSMT\\\\\n", | ||
200 | "\t 7 & 1.7190 & contSMT\\\\\n", | ||
201 | "\t 8 & 2.0000 & contSMT\\\\\n", | ||
202 | "\t 9 & 2.1440 & contSMT\\\\\n", | ||
203 | "\t 10 & 2.4360 & contSMT\\\\\n", | ||
204 | "\t 20 & 6.0530 & contSMT\\\\\n", | ||
205 | "\t 40 & 20.4680 & contSMT\\\\\n", | ||
206 | "\t 60 & 50.0410 & contSMT\\\\\n", | ||
207 | "\t 80 & 92.1105 & contSMT\\\\\n", | ||
208 | "\t 100 & 141.1865 & contSMT\\\\\n", | ||
209 | "\t 5 & 1.1065 & qualSMT\\\\\n", | ||
210 | "\t 6 & 1.0840 & qualSMT\\\\\n", | ||
211 | "\t 7 & 1.1245 & qualSMT\\\\\n", | ||
212 | "\t 8 & 1.1230 & qualSMT\\\\\n", | ||
213 | "\t 9 & 1.1660 & qualSMT\\\\\n", | ||
214 | "\t 10 & 1.2300 & qualSMT\\\\\n", | ||
215 | "\t 20 & 1.6785 & qualSMT\\\\\n", | ||
216 | "\t 40 & 4.4675 & qualSMT\\\\\n", | ||
217 | "\t 60 & 10.5775 & qualSMT\\\\\n", | ||
218 | "\t 80 & 20.1165 & qualSMT\\\\\n", | ||
219 | "\t 100 & 46.1635 & qualSMT\\\\\n", | ||
220 | "\\end{tabular}\n" | ||
221 | ], | ||
222 | "text/markdown": [ | ||
223 | "\n", | ||
224 | "A tibble: 24 × 3\n", | ||
225 | "\n", | ||
226 | "| n <dbl> | time <dbl> | name <fct> |\n", | ||
227 | "|---|---|---|\n", | ||
228 | "| 5 | 27.4965 | postSMT |\n", | ||
229 | "| 6 | 259.5700 | postSMT |\n", | ||
230 | "| 5 | 1.4045 | contSMT |\n", | ||
231 | "| 6 | 1.5770 | contSMT |\n", | ||
232 | "| 7 | 1.7190 | contSMT |\n", | ||
233 | "| 8 | 2.0000 | contSMT |\n", | ||
234 | "| 9 | 2.1440 | contSMT |\n", | ||
235 | "| 10 | 2.4360 | contSMT |\n", | ||
236 | "| 20 | 6.0530 | contSMT |\n", | ||
237 | "| 40 | 20.4680 | contSMT |\n", | ||
238 | "| 60 | 50.0410 | contSMT |\n", | ||
239 | "| 80 | 92.1105 | contSMT |\n", | ||
240 | "| 100 | 141.1865 | contSMT |\n", | ||
241 | "| 5 | 1.1065 | qualSMT |\n", | ||
242 | "| 6 | 1.0840 | qualSMT |\n", | ||
243 | "| 7 | 1.1245 | qualSMT |\n", | ||
244 | "| 8 | 1.1230 | qualSMT |\n", | ||
245 | "| 9 | 1.1660 | qualSMT |\n", | ||
246 | "| 10 | 1.2300 | qualSMT |\n", | ||
247 | "| 20 | 1.6785 | qualSMT |\n", | ||
248 | "| 40 | 4.4675 | qualSMT |\n", | ||
249 | "| 60 | 10.5775 | qualSMT |\n", | ||
250 | "| 80 | 20.1165 | qualSMT |\n", | ||
251 | "| 100 | 46.1635 | qualSMT |\n", | ||
252 | "\n" | ||
253 | ], | ||
254 | "text/plain": [ | ||
255 | " n time name \n", | ||
256 | "1 5 27.4965 postSMT\n", | ||
257 | "2 6 259.5700 postSMT\n", | ||
258 | "3 5 1.4045 contSMT\n", | ||
259 | "4 6 1.5770 contSMT\n", | ||
260 | "5 7 1.7190 contSMT\n", | ||
261 | "6 8 2.0000 contSMT\n", | ||
262 | "7 9 2.1440 contSMT\n", | ||
263 | "8 10 2.4360 contSMT\n", | ||
264 | "9 20 6.0530 contSMT\n", | ||
265 | "10 40 20.4680 contSMT\n", | ||
266 | "11 60 50.0410 contSMT\n", | ||
267 | "12 80 92.1105 contSMT\n", | ||
268 | "13 100 141.1865 contSMT\n", | ||
269 | "14 5 1.1065 qualSMT\n", | ||
270 | "15 6 1.0840 qualSMT\n", | ||
271 | "16 7 1.1245 qualSMT\n", | ||
272 | "17 8 1.1230 qualSMT\n", | ||
273 | "18 9 1.1660 qualSMT\n", | ||
274 | "19 10 1.2300 qualSMT\n", | ||
275 | "20 20 1.6785 qualSMT\n", | ||
276 | "21 40 4.4675 qualSMT\n", | ||
277 | "22 60 10.5775 qualSMT\n", | ||
278 | "23 80 20.1165 qualSMT\n", | ||
279 | "24 100 46.1635 qualSMT" | ||
280 | ] | ||
281 | }, | ||
282 | "metadata": {}, | ||
283 | "output_type": "display_data" | ||
284 | } | ||
285 | ], | ||
286 | "source": [ | ||
287 | "RQ1 <- rbind(\n", | ||
288 | " rbind(\n", | ||
289 | " Load1Log('measurements/stats/FamilyTreeSMTEnd/size05to05r10n1rt300stats.csv', 5),\n", | ||
290 | " Load1Log('measurements/stats/FamilyTreeSMTEnd/size06to06r10n1rt300stats.csv', 6)\n", | ||
291 | " ) %>% ProcessRQ1 %>% mutate(name=\"postSMT\"),\n", | ||
292 | " rbind(\n", | ||
293 | " Load1Log('measurements/stats/FamilyTree/size05to05r10n1rt300stats.csv', 5),\n", | ||
294 | " Load1Log('measurements/stats/FamilyTree/size06to06r10n1rt300stats.csv', 6),\n", | ||
295 | " Load1Log('measurements/stats/FamilyTree/size07to07r10n1rt300stats.csv', 7),\n", | ||
296 | " Load1Log('measurements/stats/FamilyTree/size08to08r10n1rt300stats.csv', 8),\n", | ||
297 | " Load1Log('measurements/stats/FamilyTree/size09to09r10n1rt300stats.csv', 9),\n", | ||
298 | " Load1Log('measurements/stats/FamilyTree/size010to010r10n1rt300stats.csv', 10),\n", | ||
299 | " Load1Log('measurements/stats/FamilyTree/size020to020r10n1rt300stats.csv', 20),\n", | ||
300 | " Load1Log('measurements/stats/FamilyTree/size040to040r10n1rt300stats.csv', 40),\n", | ||
301 | " Load1Log('measurements/stats/FamilyTree/size060to060r10n1rt300stats.csv', 60),\n", | ||
302 | " Load1Log('measurements/stats/FamilyTree/size080to080r10n1rt300stats.csv', 80),\n", | ||
303 | " Load1Log('measurements/stats/FamilyTree/size100to100r10n1rt300stats.csv', 100)\n", | ||
304 | " ) %>% ProcessRQ1 %>% mutate(name=\"contSMT\"),\n", | ||
305 | " rbind(\n", | ||
306 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size05to05r10n1rt300stats.csv', 5),\n", | ||
307 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size06to06r10n1rt300stats.csv', 6),\n", | ||
308 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size07to07r10n1rt300stats.csv', 7),\n", | ||
309 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size08to08r10n1rt300stats.csv', 8),\n", | ||
310 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size09to09r10n1rt300stats.csv', 9),\n", | ||
311 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size010to010r10n1rt300stats.csv', 10),\n", | ||
312 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size020to020r10n1rt300stats.csv', 20),\n", | ||
313 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size040to040r10n1rt300stats.csv', 40),\n", | ||
314 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size060to060r10n1rt300stats.csv', 60),\n", | ||
315 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size080to080r10n1rt300stats.csv', 80),\n", | ||
316 | " Load1Log('measurements/stats/FamilyTreeSMTQual/size100to100r10n1rt300stats.csv', 100)\n", | ||
317 | " ) %>% ProcessRQ1 %>% mutate(name=\"qualSMT\")\n", | ||
318 | ")\n", | ||
319 | "RQ1$name <- factor(RQ1$name, levels=c(\"postSMT\", \"contSMT\", \"qualSMT\"))\n", | ||
320 | "RQ1" | ||
321 | ] | ||
322 | }, | ||
323 | { | ||
324 | "cell_type": "markdown", | ||
325 | "metadata": {}, | ||
326 | "source": [ | ||
327 | "Now we are ready to plot the runtimes." | ||
328 | ] | ||
329 | }, | ||
330 | { | ||
331 | "cell_type": "code", | ||
332 | "execution_count": 46, | ||
333 | "metadata": {}, | ||
334 | "outputs": [ | ||
335 | { | ||
336 | "data": { | ||
337 | "image/png": "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\nqU4I0bVr13/84x9/+MMfyjuXa9eu7du3r9vtjo+P79Onz9q1ay+78zNnzvzmN79p06ZNo0aN\nUlJSbrnllgZyiZaOnQH0UbESwQ4AgKCtW7cuKSnp1ltvvfhLw4cPHz58uP74jTfemDRpUnp6\n+rx584QQy5YtmzRpUlxcXPUXam+++ebMzMwFCxa0b9/+zJkzCxcuHDp06I8//uh2u804l/qD\nYGcATVGEEExQDABAkDRNO3To0JAhQy479OfYsWPDhw9fu3ZtZGSkEGLw4MHJyclr1qypJth5\nPJ7du3fPnTv3rrvu0rf069fvzTffzM/PD/tgx6VYA+jBjgmKAQAIUlFRUSAQiI+Pv+wrH3nk\nkU2bNumpTggRHx+fkpJy4sSJar4lOjpaD3+bNm3Sp8jp0KHDI488kpqaakjx9RnBzgD64Ak6\ndgAABMntdrtcrtzc3Mu+0uPx/OEPf+jZs2dCQoLL5XK5XKdOnap+RsOIiIh169Y5HI4bbrih\nWbNmEydOfP311/W5YMJeUJdiCwsLP/jgg08++eSrr77KycnJz89PSEho2rTp1VdfPXLkyLFj\nx8bExJhdaH2mD56gYwcAQJAkSerevfu+ffuKi4ujo6OreeW4ceN27tz5u9/9bvTo0YmJiZIk\njRo16rL7Hzhw4OHDh7dt2/bhhx9u2LBh8uTJS5Ys2b59e/XHCgOX6diVlpYuXry4Xbt2t912\n2+rVq1VV7dy588iRI7t06aKq6urVq2+77bZ27dotXrzY4nnP65WyJcXo2AEAELSbb75ZUZS/\n/vWvF3/ps88+69q16+7du48cObJ9+/Zp06Y9/fTTgwcP7tmzZ9euXYPp8wkhnE7n8OHDFy1a\n9P333y9fvvzLL7988803jT6Jeqe6YJeZmTlw4MCHH374uuuuW79+fV5e3tdff71p06Z//etf\nmzZt+vrrr/Py8tavX3/dddc9/PDDAwcO1OeMboDKOnaMigUAIGj33ntvSkrKo48+un79+orb\nv/7664kTJ+bm5nbu3FmfF71Vq1blX/3f//1ffSLoava8d+/e2267LTs7u3zLyJEjhRDnzp0z\n+Bzqn+ouxV599dW9evX67rvvunXrVuUL3G73jTfeeOONN2ZkZMycObN3797nz583p856TZUV\nqVEjKfSXJwIAwDLJycnvv//+mDFjxo4de/311w8ePNjpdO7fv/+9995r0qTJxx9/nJSUFBcX\n97Of/WzFihW9evVKTk5+99139+7dO2zYsL17927ZsqXSBHjlWrZsuWHDhoyMjPvuu69169bn\nz59/4YUX4uPj09PTLT5H61XXsZs5c+bGjRsvleoq6tat28aNG2fMmGFcYaFEU2SJ67AAANTQ\nNddck5GRMXfu3KysrEWLFj377LNHjhx59NFHv/vuu6uuukoIERER8c4777Ru3XrSpEm33HKL\noijr1q2bPXt2VFTULbfccvr06Sp3m5KSsmPHDn0k7I033vjggw82b95869atHTp0sPb8bFBd\nx+6pp54qf1xUVFRQUNCiRQshRHFx8RtvvHH+/Pn09PT27dvrL3A6nQsWLDC11npL9ciOxES7\nqwAAIPQkJyc/88wzzzzzzKVe0KdPn127dlXcMnbs2PKLqjt27CjfXvHxlVde+c477xhdbAgI\narqTgwcPtmvXbuXKlUIIv98/ZMiQX//61w899NDVV1+9b98+kysMAZqi0LEDAAC2CyrYPfbY\nY82bN//FL34hhFi7du2XX365fPnyI0eO9OjR449//KPJFdZ3WkmJ5vM5mOsEAADYLahgt2PH\njrlz5+pXpt95550rrrhixowZHTp0mDlz5ueff25yhfWdVrZQLB07AABgs6CCXX5+vn53XSAQ\n2Lp164033qhvb9q0aVZWlonVhQJV0ZeduPyiKAAAAKYKKtg1b9782LFjQojNmzfn5eWNHj1a\n337y5Mnk5GQTqwsFdOwAAPXH2Bf32l0C7BTUkmIjR458/PHHjxw5smbNmg4dOgwZMkQIkZ2d\n/fzzzw8cONDkCuu7Cx077rEDANhs5OLP7C4BNguqY/fUU0+1bdt24cKFhYWFq1evdjqdQohZ\ns2YdP37897//vckV1ndlHbuGvVouAMB2/ed9rD+49olP7K0ENgqqY9eiRYvPPvvM4/FER0dH\nXFhf4aGHHnr++eebN29uZnkhQJU9go4dAACoB6rr2E2bNq24uLj8aXx8fESFVbP69OlTMdUV\nFxffddddZpRYz124x45gBwCwTXm7rsqnaDiqC3abN2/u37//tm3bLruXbdu29e/ff9OmTcYV\nFjJUWb/HjsETAIB6hGzXMFUX7Pbu3ZuSkjJs2LChQ4e++uqrF6/Idvr06VdffXXo0KHDhg1L\nSUnZu7chjsTRCguFEBITFAMAbEKGQ7nq7rFLTk7+8MMPX3/99SeffHLatGlCiKvXCeoAACAA\nSURBVObNmzdp0iQhIaGgoCAnJ0efxK5Tp06rVq26/fbbHY6ghmKEGTp2AID6qf+8j3c/Ocru\nKmCpywyecDgcv/rVryZNmrRjx47//Oc/+/btO3fuXG5ubnx8fNu2ba+66qobbrhh0KBB+jjZ\nhkmTZcE9dgAAm9CuQ0VBjYp1Op1Dhw4dOnSo2dWEIlVWhBCOWDp2AAAblPfkbl66PVcpff1/\n0lo0bypJkr1VwS4N8eKpsTSFjh0AwGYZP3l+yivu275xpIvf7A0a//x1pcqKFBkpRUbaXQgA\noOHalpElhBjUMcnuQmAzgl1dabIsxcfbXQUAoEHbciArwuXo276x3YXAZgS7ulIVhRvsAAA2\n+vGccjynsF/7ZHdkwx3LCB3Brq40WeYGOwCAjbYeyBJCDO3W0Bf5hKhRsCspKdmzZ8+7776b\nk5MjhPD7/aZVFTK00lLN66VjBwCw0daMbIdDGtylqd2FNAibN2/+8ssv9ceBQGDhwoVpaWlx\ncXFRUVFdunR55plnVFXVv9qnTx9Jkvbv31/x2wOBQEpKiiRJfr9/4sSJUlWmTp1a6/KCmu5E\nCLF48eInn3xSlmUhxGeffdakSZN58+b99NNPL7/8sssV7E7Cz4VJ7Ah2AAB7nMkv/uGs5+q2\nSYkxkR5Pid3lGOl0y59VfNry9Em7Kqnoz3/+89ixY/v06SOEmDNnzhtvvLFixYrevXtrmrZl\ny5YZM2YUFxfPnz9ff3GzZs1ee+21pUuXln/7Rx99VN4aW7Zs2cKFC4UQ3333XXp6+scff9y+\nfXshRHwd7t0PqmP38ssvP/TQQ9ddd91f/vKX8o1dunRZvXr1kiVLan3sMKAqihDCwaVYAIBN\ntmZka5oYFnbXYSuluiq31EhJSYkkSS+//PLQoUPbtm3bpk2bdevW6V/KysqaNGlSamqq2+0e\nOHDgzp079e2vvfZat27doqOjU1JS7rnnnpKSkuHDh2/YsOH+++/v3bu3EGLjxo133HHHmDFj\nUlJSWrRocfvtt7/11lsDBgwoP+jo0aP/+c9/er3e8i0rV64cPny4/jglJaVjx44dO3Zs1aqV\nEKJ169b602bNmtX6NIMKdsuWLbv77rvXrVt35513lm+844475syZ87e//a3Wxw4DLDsBALDX\ntowsSRJDutY+CoSQumQ7/QLj8uXL33zzzczMzCeeeOIXv/hFdna2EGL8+PF5eXn79+/Pycnp\n37//jTfemJOTc+zYsWnTpi1btkxRlF27dn322WdLlizZvHlz69atly5dunfvXiFEr1693n77\nbf2xbuTIkaNHjy5/es011yQkJHzwwQf607y8vPXr19966621PovLCirY/fDDD7fccsvF24cN\nG/bjjz8aXVIooWMHALBRruL95mR+95YJzRMa2V1LLeXOvPd0y59d/L9Lvb7KFxe+vibIw915\n553NmzcXQtxxxx3R0dH//ve/9+3b9/nnny9ZsqRZs2Zut3vBggWBQODDDz/Mz8/XNC0pKcnp\ndLZv3/7LL7985JFHKu3t+eef79OnT79+/dq3bz9lypQVK1boSbGiadOmvfrqq/rjtWvXDhky\nRO/PmSSo2+Pi4+NLSqq4bF9QUBAdHW10SaFEkxUhhBQTY3chAICGaNvBLFXVQvo6bESXLurg\nwRdvL/300ypfH1XVi50pKUEerkOHDmXf4nSmpqaePHkyISHB4XB07dpV3x4dHd2mTZvMzMxf\n/epX06dP79u3b9++fUeMGDF58uROnTpV2ltSUtKaNWteeumlbdu27dq1a+nSpbNmzXr55Zen\nTJlS/pqpU6fOnz//7NmzKSkpK1eunD17dpCl1k5Qwe7KK6987rnnrr/++oprz+Xm5s6fP79/\n//6m1RYCVI9H0LEDANhkW0a2EKF9HTZu1v+Lm/X/Lt5+qaZdk7Wv1+VwPp+v/LHf73c4qrh0\nqaqq1+uVJOkvf/nL3LlzN2zY8MEHHzz99NOrV6/+5S9/efHrk5KS0tPT09PTFy1a9MADD8yY\nMWPSpEnlQ0tTU1NHjBixatWqcePGHTlyZPz48V999VVdTqF6QV2Kfeyxx3bs2HHllVfOnTtX\nCPHyyy9PnTq1Xbt2hw4d+sMf/mBecfWfpihCCInpTgAAlpNL/Ht/zO3QPK5NkzC8cFTlGNi6\nD4w9fPiw/qCkpOT06dOtW7fu1KmTqqoHDhzQtxcWFh4/frxTp05+v//cuXNt27a95557NmzY\nMH369OXLl1fc1YkTJ2699dYTJ05U3Dhw4MDi4uLS0tKKG++66641a9asXr168uTJkSavQRpU\nsBs2bNjHH38cFxf3/PPPCyFeeeWVlStXdu3adePGjQMHDjS1vnpOlWUhhIMlxQAAlttxKNsX\nUK/rFsLtuupVinGGTHeyatWqb7/9tqSk5E9/+lMgEBg7dmxaWtqAAQPmzJlz/vx5RVEefvjh\n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\nXC6XWq2WyWS+fF7fbz1v/O3xPO9wODz79eJwOFiWDQkJafMa7Ha7Wq2mKKptD3c6nW63W6vV\ntnkNjaqqqvLg2sCrKJ7nxa6hjX7++WeDweDZdfI8z3Gcj78ivYHjOEJIoMcIQsiOHTv0en1m\nZqbYhbQXy7I0TXv2q9b3Kisrjxw5kpKSkp6eLnYt7eV2u+XywP6fLSEkNzc3Pz9/yJAhMTEx\nvnxe32+9ioqKX375JTU1NS0tzVPr5HmeZVnPvpBDhw5VV1dPnDixzR92t9stk8na/PCjR48a\nDIYJEyZ4/H9fkyZNkkDXIxgE8PfaqFGjxC4BvO7VV1/t1avXvffeK3YhQAgh2dnZH3300cCB\nA/GO+IkPPvjg1KlTixYtGjJkiNi1eNehQ4c+/vjjoUOH+vnf3nfffXf69OmPP/5YrP9X79u3\n79SpU2+//bZOpxOlABBdwHd0AAAAAECAYAcAAAAgEQh2AAAAABIRwIMnAAAAAKA+dOwAAAAA\nJALBDgAAAEAiEOwAAAAAJCKA57EDSSotLX3rrbfy8/O3b99et9Bisaxater06dMMw6SlpS1e\nvDg2NlbEIoNHVVXV6tWrT5065XK5kpOT58+f3717d4J3RGx79+595513/vrXvw4bNoxI9+3Y\nuXPntm3bKisrExMT586dO3jwYOJnL7akpGTNmjW5ublut7tr165z5szp2bOnD4q8pe9Jv9pi\n4APo2IEfOXDgwF//+tekpKQGy99+++3y8vLly5e/+eabWq12xYoVwqk1wNv+9re/GQyGl156\n6e23346Ojl6xYoXD4SB4R0RlNBrXrl1b/xwAknw79u7du2nTpkWLFn344Yfjxo37+OOPbTYb\n8acXy/P8ihUrIiIiVq1atXbt2t69e7/44otms9nbRd7q96T/bDHwER7Ab+zdu7e8vPzw4cP3\n3HNP3cKKioopU6YUFBQIV81m89SpU0+ePClSjUHEZDK98sorV65cEa6Wl5dPnjw5Ly8P74i4\nXn311U8++WTOnDmHDx/mpfsBefTRR/fu3dtgoV+9WKPROHny5PPnzwtXq6qqJk+enJub6+0i\nb+l70q+2GPgGOnbgR8aMGXPzKS8vXryoUCi6du0qXA0NDU1KSsrNzfV5dUFHp9MtW7asY8eO\nwtXKykqapqOjo/GOiOjw4cMFBQUPPvhg3RJJvh2VlZVlZWWEkCeffHLmzJl/+tOfLly4QPzs\nxer1+vT09F27dpnNZofDsWvXrri4uC5duni7yFv6nvSrLQa+gWAH/s5kMul0uvqnxNbr9TU1\nNSKWFITMZvPKlSunTp0aERGBd0QsFovlww8//P3vf69Wq+sWSvLtqKysJITs2bPn2WefXb16\ndVpa2ksvvVRTU+NvL3bp0qX5+fmzZ8++7777du3atXTpUqVSKUqRTT2pv20x8AEEOwgA9b+V\nwPdKSkr+9Kc/9e7de968ecISvCOi+OSTTwYMGNCvX78Gy6X6dtx///1JSUk6nW7BggUURR07\ndoz404t1u90rVqxIT09fv379F198MXny5OXLl1dXVxORimzqSf1ni4FvINiBvwsPDzeZTHy9\nU6TU1NRERESIWFJQOXXq1F/+8pfJkyc//vjjwi8E3hFRnDx5MicnZ8GCBQ2WS/LtiIyMJISE\nhIQIV2UyWWRkZHV1tV+92DNnzhQVFS1cuFCv12u12hkzZqhUqqysLFGKbOpJ/WqLgW8g2IG/\n69atG8MwBQUFwlWTyVRcXNyjRw9xqwoS586de/3115955plJkybVLcQ7IooffvjBarUuXrx4\n9uzZs2fPrqmpeeutt1599VVJvh2RkZERERHCcXWEEJfLVVFRERcX51cvVjhQvf4IU7fbTUT6\ngDT1pH61xcA3ZC+++KLYNQDUqq6utlqtly9fzs7OHjdunM1mo2lap9Ndvnz5p59+SktLs9ls\n//73v0NCQmbPno39C97mcrleeOGFO++8c8CAAbYb8I6IpU+fPnfVs2/fvvnz50+bNi08PFx6\nbwdFUSzLbtmyJTk5WS6Xf/rpp+Xl5YsWLfKrvz29Xi8MUBXmrvv6669zcnIWLlwYGxvr1SJv\n6XtSq9X6zxYD36Dqd2gBxLVw4cLy8vIGS6ZMmWKz2VatWnXixAmWZXv16rV48WLsSvCBU6dO\nPf/88w0WLlq06O6778Y7Irq5c+cuWbJEmKBYkm8Hx3GfffbZnj17LBZLWlrakiVLhAHafvVi\nL1++vHbt2ry8PJZlO3Xq9NBDD2VkZHi7yFv9nvSrLQY+gGAHAAAAIBE4xg4AAABAIhDsAAAA\nACQCwQ4AAABAIhDsAAAAACQCwQ4AAABAIhDsAAAAACQCwQ4AAABAIhDsAETw4osvUhQVGxvL\nMMzNty5cuJCiqMzMzLatfNasWaGhoa25Z2ZmZnp6elO3GgyGV155ZeDAgdHR0QqFIjY29s47\n79y9e3fdHYYNG9bMw9ujsrKyS5cujzzySN2SrVu33nfffcLlioqKhIQEbzxvA63fkk157rnn\noqKiLl265KGKAABaIBe7AIAgRdN0VVXVjh07pk6dWn+53W7/8ssvFQqFWIUJqqqqBg8eXF5e\nvmDBgmeeeUYmkxUUFKxevXrixIkbNmyYNWsWIWTWrFl2u93jT81x3IMPPqjX69977726hTk5\nOf3797/5sp976aWXDh06NGPGjIMHD6pUKrHLAQDpQ7ADEAdN00OGDFmzZk2DYLdt2za73d63\nb1+xChOsXbv20qVLX3zxxf3331+3cMmSJRkZGUuXLr3vvvtomn766ae98dSff/75999/v2/f\nPo1GU7fw+PHjdU+Xk5MzYMAAbzy1x8lksvfff793797vvffeH//4R7HLAQDpw65YAHG43e5J\nkybt3Lnz+vXr9ZevXbv29ttvb9Dd+e9//ztq1CidTqfRaHr37v2vf/2r7mSAPM+vWLGiY8eO\narU6IyNjy5YtDZ5o//7948ePDwsL02q1AwYMWL16dWvKu3btGiFk4MCB9RdGREQcOXLk/Pnz\nNE2Tertijx07RjXm119/vdUaWJZ9+eWXR40aNXr06PrL64e5ZoLdqFGjRo4ceeLEibFjx4aF\nhcXGxj7wwAP1T6zppS157dq1Rx99tHPnzmq1Oj4+fvr06RcuXBBu6tGjx4wZM9544w2r1drU\nqwYA8BgeAHxu+fLlhJCLFy/SNP2Pf/yjbnlJSQlN06tXrx42bNiIESOEhdu2baMo6s4779y+\nffuePXueeeYZQsif//xn4dbXX3+dEDJ79uwffvhh06ZNvXv3TktLCwkJEW7ds2ePTCYbNWrU\nt99++/333y9evJgQUveMI0aMSEtLa7TCjRs3EkKmTZtWXV3d1KsYOnSo8HCTyfRDPd99911M\nTExSUpLRaGyxhgb2799PCFm9erVw9c0331SpVELMVd1AURO3DzAAAAfJSURBVJRwoaSkpMHD\nx44d27Fjx8GDB//www/Xr1/fsmWLTCabN2+et7fksGHD4uPj//Of//z4448bNmzIyMiIjY21\nWq3CrTt27CCEbNq0qaktCQDgKQh2ACIQgp3dbh83blyvXr3qlr/22msajcZkMg0dOrQu2KWn\np3fq1MnpdNbdberUqQqFwmAwcByXkJDQu3fvupuuXr2qUCjq4kj//v1TU1PrEgbP81OmTNHp\ndHa7nW822LEsKwxWUKlUEydOfP31148cOcKybP371AW7BubPn69SqY4ePdqaGhp4/vnnCSEN\nEtuWLVvuvfde4XJZWVlCQkKjNfM8P3bsWEJIVlZW/SV19/fSlqypqSGELF26tO6m/Pz8V155\npbS0VLhqtVqVSuUjjzzSVNkAAJ6CXbEAYnr44YfPnj2bnZ0tXF27du3UqVN1Ol3dHa5evXrh\nwoWJEycqlcq6hZMnT2YY5siRI8XFxVevXh0zZkzdTR06dBg0aJBwuby8/MSJE3fffTdN044b\nJk6caDabz5w503xhNE1v2rRp165d06dPP3ny5F/+8pdhw4bFxcUtW7bMZrM188APPvhgzZo1\n77333pAhQ9pQQ05OTlxcXGJiYv2FBw8erBsjfPDgwd/97nfNFKDVakeMGFF3NSkpqaysjHhz\nS2o0mqioqI0bN+7du5fjOEJISkrKsmXL6obuarXa9PT048ePN1M2AIBHINgBiGnatGk6nW7N\nmjWEkOzs7PPnz8+dO7f+HUpLSwkhDYJOhw4dCCFXr14VIktMTEz9W+vyxNWrVwkh77zzjqYe\nYR9iSUlJa8q74447NmzYUFpaWlBQ8PHHH/fo0eO1114bN26cEF9udvjw4aeffvqxxx5buHBh\n22qoqKiIjo5usDArK6suq2VlZTUf7BpsDblcLlTrvS2pUCi+/vprmqbHjRsXGxs7Y8aMzz//\n3O12119VdHS0wWBopmwAAI/AqFgAMWm12pkzZ27cuPFf//rX2rVrO3ToMH78+Pp3oCiKENIg\nSPE8TwihaZq/ceB/fSzL1r+6YMGCRx99tMF9UlNTb6nO5OTk5OTkRx55ZOHChatXr87Kyho1\nalSD+5SVlc2YMaN///4rV65scFPrazCZTJGRkXVXk5KSDAaD0+msezqXy6VQKJYtW/bggw+2\nciCIwKtbcsSIERcvXty/f/9///vfnTt3zp49+6233vr555/rBvaGh4cbjcbWVwsA0DYIdgAi\nmzdv3urVq7///vtNmzbNmzdPJpPVvzUpKYnc6DbVEa4mJSUJHSah21SnbjrcTp06EUJYlh02\nbNgtleR0Ords2RISEtJgKhaKokaPHr169eri4uIGD2EY5r777mNZ9quvvqq/r/NWawgLCxMO\nWROUlJQcPnz42WefPXDgACHE7XZHREQYDIY2zAnn7S0pk8nGjBkzZsyYN99884MPPliyZMnm\nzZvnzZsn3Go0GvV6/a3WDABwq7ArFkBkI0eOTE5Ofvnllw0GQ4P9sISQ+Pj43r17f/fddw6H\no27h1q1btVrt8OHDu3TpEh0dvWvXrrpGVF5e3qlTp4TLkZGRQ4YM2b59e/1e0bp165577rkG\nOwobUCqVL7300mOPPVZYWFh/OcuyX375JSGkT58+DR7yzDPPHD58ePPmzQ32dd5qDTExMQ12\nWZ48ebJfv37C5XPnzqWkpLRtpl/vbcnjx4/PmjWr/qQqEyZMIIRUVFTULTEYDA328wIAeAOC\nHYDIKIqaO3fusWPH+vbte3NgIoS8/vrrZWVl99xzzzfffLNr164lS5bs2rXr+eefDwsLo2n6\n8ccfLygomDlz5tatWz/88MMJEybUn+PtjTfesNlso0ePXrdu3ffff//8888vXLiwtLRULm+u\nW09R1KpVq+x2e79+/R577LF33333k08+efnllwcMGPDdd9898cQTGRkZ9e+/efPm99577957\n73W5XHvqEXLhLdXQr1+/69ev1++r1Q92J06caM/UxF7akomJiTt37hw/fvzq1av37NmzadOm\nuXPnhoWFTZs2TXiszWbLzc0NlLNlAEBgE3dQLkBwqpvuRLhaWFhIUdQ///nPujvUn+6E5/nv\nv/8+MzMzJCREpVL179+/bpo3nufdbvfSpUvj4+OVSmVGRsa2bdv+8Ic/KJXKujscOHBg/Pjx\nOp1OoVB07979jTfeYBhGuKmZ6U54nj979uyCBQuEDplcLo+Li7vrrru2bNlSv0jh4U899VSj\nXy/Lly9vsYYGfvrpJ0LImjVr6j/LsWPHhMtPPfXUypUrm9mwY8eO7dy5c/0lwglnvb0lT506\nNW3atNjYWIVCkZCQMG3atJycnLoH7ty5kxCycePGZioHAPAIim/skGEAAFG43e709PSOHTsK\nCU8aHnjggT179hQVFYWGhopdCwBIHHbFAoAfkcvlL7zwwr59+4TREhJw4cKFzZs3P/vss0h1\nAOAD6NgBgH/hOO6OO+4wGAyHDx9Wq9Vil9MuHMdNmDChqqrq0KFDgf5aACAgoGMHAP6FpumN\nGzdWV1f//ve/F7uW9nrxxRdzcnK++uorpDoA8A107AAAAAAkAh07AAAAAIlAsAMAAACQCAQ7\nAAAAAIlAsAMAAACQCAQ7AAAAAIlAsAMAAACQCAQ7AAAAAIn4/x1wRsGOgTQZAAAAAElFTkSu\nQmCC", | ||
338 | "text/plain": [ | ||
339 | "plot without title" | ||
340 | ] | ||
341 | }, | ||
342 | "metadata": { | ||
343 | "image/png": { | ||
344 | "height": 420, | ||
345 | "width": 420 | ||
346 | }, | ||
347 | "text/plain": { | ||
348 | "height": 420, | ||
349 | "width": 420 | ||
350 | } | ||
351 | }, | ||
352 | "output_type": "display_data" | ||
353 | } | ||
354 | ], | ||
355 | "source": [ | ||
356 | "RQ1Plot <- RQ1 %>% ggplot(aes(x=n, y=time, color=name, shape=name)) +\n", | ||
357 | " scale_color_brewer(name=\"Calls\", palette=\"Set1\") +\n", | ||
358 | " scale_shape_discrete(name=\"Calls\") +\n", | ||
359 | " scale_x_log10(name=\"Model Size (# nodes)\", breaks=c(10, 20, 40, 60, 80, 100)) +\n", | ||
360 | " scale_y_continuous(name=\"Runtime (s)\") +\n", | ||
361 | " geom_line() +\n", | ||
362 | " geom_point(size=2) +\n", | ||
363 | " theme_bw()\n", | ||
364 | "ggsave(plot=RQ1Plot, filename='plots/plot_RQ1.pdf', width=5, height=1.5*5/4)\n", | ||
365 | "RQ1Plot" | ||
366 | ] | ||
367 | }, | ||
368 | { | ||
369 | "cell_type": "markdown", | ||
370 | "metadata": {}, | ||
371 | "source": [ | ||
372 | "## RQ2\n", | ||
373 | "\n", | ||
374 | "In RQ2, we will have to create 3 different plots, so we factor them out into a function." | ||
375 | ] | ||
376 | }, | ||
377 | { | ||
378 | "cell_type": "code", | ||
379 | "execution_count": 47, | ||
380 | "metadata": {}, | ||
381 | "outputs": [], | ||
382 | "source": [ | ||
383 | "RQ2Plot <- function(df, name) {\n", | ||
384 | " df <- df %>% gather(name, value, -n) %>% filter(name != \"preprocessingTime\")\n", | ||
385 | " df$name <- factor(df$name, levels=rev(c('ForwardTime', 'BacktrackingTime', 'StateCoderTime', 'NumericalSolverSumTime', 'additionalTime')))\n", | ||
386 | " plot <- df %>% ggplot(aes(x=n, y=value, fill=name)) +\n", | ||
387 | " geom_bar(stat='identity') +\n", | ||
388 | " scale_fill_brewer(palette='Set2',\n", | ||
389 | " labels=rev(c('Refinement', 'Backtracking', 'State Coding', 'SMT Solver Calls', 'Additional Model Generation')),\n", | ||
390 | " guide=FALSE) +\n", | ||
391 | " scale_x_continuous(breaks=c(20, 40, 60, 80, 100), name=\"Model Size (# nodes)\") +\n", | ||
392 | " scale_y_continuous(name=\"Runtime (s)\") +\n", | ||
393 | " theme_bw()\n", | ||
394 | " ggsave(plot=plot, filename=paste0('plots/plot_RQ2_', name, '.pdf'), width=3.5, height=2.5)\n", | ||
395 | " plot\n", | ||
396 | "}" | ||
397 | ] | ||
398 | }, | ||
399 | { | ||
400 | "cell_type": "markdown", | ||
401 | "metadata": {}, | ||
402 | "source": [ | ||
403 | "In order to create the plots for RQ1,\n", | ||
404 | " 1. we first parse the logs for each of the 3 case studies;\n", | ||
405 | " 2. then we display the aggregated results as a table for error checking;\n", | ||
406 | " 3. calculate the median preprocessing time (in secods), which stays constant regardless the model size;\n", | ||
407 | " 4. and create a bar chart for the rest of the generation phases." | ||
408 | ] | ||
409 | }, | ||
410 | { | ||
411 | "cell_type": "markdown", | ||
412 | "metadata": {}, | ||
413 | "source": [ | ||
414 | "### Fam domain" | ||
415 | ] | ||
416 | }, | ||
417 | { | ||
418 | "cell_type": "code", | ||
419 | "execution_count": 48, | ||
420 | "metadata": {}, | ||
421 | "outputs": [ | ||
422 | { | ||
423 | "name": "stderr", | ||
424 | "output_type": "stream", | ||
425 | "text": [ | ||
426 | "Warning message:\n", | ||
427 | "“`cols` is now required when using unnest().\n", | ||
428 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
429 | "Warning message:\n", | ||
430 | "“`cols` is now required when using unnest().\n", | ||
431 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
432 | "Warning message:\n", | ||
433 | "“`cols` is now required when using unnest().\n", | ||
434 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
435 | "Warning message:\n", | ||
436 | "“`cols` is now required when using unnest().\n", | ||
437 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
438 | "Warning message:\n", | ||
439 | "“`cols` is now required when using unnest().\n", | ||
440 | "Please use `cols = c(Solution1DetailedStatistics)`”\n" | ||
441 | ] | ||
442 | }, | ||
443 | { | ||
444 | "data": { | ||
445 | "text/html": [ | ||
446 | "<table>\n", | ||
447 | "<caption>A tibble: 5 × 7</caption>\n", | ||
448 | "<thead>\n", | ||
449 | "\t<tr><th scope=col>n</th><th scope=col>preprocessingTime</th><th scope=col>StateCoderTime</th><th scope=col>ForwardTime</th><th scope=col>BacktrackingTime</th><th scope=col>NumericalSolverSumTime</th><th scope=col>additionalTime</th></tr>\n", | ||
450 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
451 | "</thead>\n", | ||
452 | "<tbody>\n", | ||
453 | "\t<tr><td> 20</td><td>0.8940</td><td> 0.1240</td><td>0.2330</td><td>0.1470</td><td> 5.2680</td><td> 4.4290</td></tr>\n", | ||
454 | "\t<tr><td> 40</td><td>0.8915</td><td> 0.9295</td><td>0.9555</td><td>0.6070</td><td> 19.1820</td><td> 8.1975</td></tr>\n", | ||
455 | "\t<tr><td> 60</td><td>0.8745</td><td> 2.3945</td><td>1.7300</td><td>1.0685</td><td> 37.7305</td><td>14.2310</td></tr>\n", | ||
456 | "\t<tr><td> 80</td><td>0.8810</td><td> 5.7395</td><td>3.8205</td><td>2.4985</td><td> 72.2415</td><td>17.4985</td></tr>\n", | ||
457 | "\t<tr><td>100</td><td>0.8770</td><td>11.5395</td><td>6.3625</td><td>4.5380</td><td>124.5385</td><td>31.9565</td></tr>\n", | ||
458 | "</tbody>\n", | ||
459 | "</table>\n" | ||
460 | ], | ||
461 | "text/latex": [ | ||
462 | "A tibble: 5 × 7\n", | ||
463 | "\\begin{tabular}{lllllll}\n", | ||
464 | " n & preprocessingTime & StateCoderTime & ForwardTime & BacktrackingTime & NumericalSolverSumTime & additionalTime\\\\\n", | ||
465 | " <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl>\\\\\n", | ||
466 | "\\hline\n", | ||
467 | "\t 20 & 0.8940 & 0.1240 & 0.2330 & 0.1470 & 5.2680 & 4.4290\\\\\n", | ||
468 | "\t 40 & 0.8915 & 0.9295 & 0.9555 & 0.6070 & 19.1820 & 8.1975\\\\\n", | ||
469 | "\t 60 & 0.8745 & 2.3945 & 1.7300 & 1.0685 & 37.7305 & 14.2310\\\\\n", | ||
470 | "\t 80 & 0.8810 & 5.7395 & 3.8205 & 2.4985 & 72.2415 & 17.4985\\\\\n", | ||
471 | "\t 100 & 0.8770 & 11.5395 & 6.3625 & 4.5380 & 124.5385 & 31.9565\\\\\n", | ||
472 | "\\end{tabular}\n" | ||
473 | ], | ||
474 | "text/markdown": [ | ||
475 | "\n", | ||
476 | "A tibble: 5 × 7\n", | ||
477 | "\n", | ||
478 | "| n <dbl> | preprocessingTime <dbl> | StateCoderTime <dbl> | ForwardTime <dbl> | BacktrackingTime <dbl> | NumericalSolverSumTime <dbl> | additionalTime <dbl> |\n", | ||
479 | "|---|---|---|---|---|---|---|\n", | ||
480 | "| 20 | 0.8940 | 0.1240 | 0.2330 | 0.1470 | 5.2680 | 4.4290 |\n", | ||
481 | "| 40 | 0.8915 | 0.9295 | 0.9555 | 0.6070 | 19.1820 | 8.1975 |\n", | ||
482 | "| 60 | 0.8745 | 2.3945 | 1.7300 | 1.0685 | 37.7305 | 14.2310 |\n", | ||
483 | "| 80 | 0.8810 | 5.7395 | 3.8205 | 2.4985 | 72.2415 | 17.4985 |\n", | ||
484 | "| 100 | 0.8770 | 11.5395 | 6.3625 | 4.5380 | 124.5385 | 31.9565 |\n", | ||
485 | "\n" | ||
486 | ], | ||
487 | "text/plain": [ | ||
488 | " n preprocessingTime StateCoderTime ForwardTime BacktrackingTime\n", | ||
489 | "1 20 0.8940 0.1240 0.2330 0.1470 \n", | ||
490 | "2 40 0.8915 0.9295 0.9555 0.6070 \n", | ||
491 | "3 60 0.8745 2.3945 1.7300 1.0685 \n", | ||
492 | "4 80 0.8810 5.7395 3.8205 2.4985 \n", | ||
493 | "5 100 0.8770 11.5395 6.3625 4.5380 \n", | ||
494 | " NumericalSolverSumTime additionalTime\n", | ||
495 | "1 5.2680 4.4290 \n", | ||
496 | "2 19.1820 8.1975 \n", | ||
497 | "3 37.7305 14.2310 \n", | ||
498 | "4 72.2415 17.4985 \n", | ||
499 | "5 124.5385 31.9565 " | ||
500 | ] | ||
501 | }, | ||
502 | "metadata": {}, | ||
503 | "output_type": "display_data" | ||
504 | }, | ||
505 | { | ||
506 | "data": { | ||
507 | "text/html": [ | ||
508 | "0.8785" | ||
509 | ], | ||
510 | "text/latex": [ | ||
511 | "0.8785" | ||
512 | ], | ||
513 | "text/markdown": [ | ||
514 | "0.8785" | ||
515 | ], | ||
516 | "text/plain": [ | ||
517 | "[1] 0.8785" | ||
518 | ] | ||
519 | }, | ||
520 | "metadata": {}, | ||
521 | "output_type": "display_data" | ||
522 | }, | ||
523 | { | ||
524 | "data": { | ||
525 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzde3zU9Z3o/28mZEICSbgJiNgVKCKKotgLXrFWrdX11mprcStVEdDuoa7H\nWm3tAWGPtrUWsdi61MJirRbrVnu2a1kF7y2cBypeatUKVo9gLYRL7pe5/f6YbX7ZBEKAiTP5\n8Hz+wSPzncnkPfnM5cV3LinKZDIRAAC9XyzfAwAAkBvCDgAgEMIOACAQwg4AIBDCDgAgEMIO\nACAQwg4AIBDCDgAgEH3yPcDe+9a3vvWHP/whh2eY/azmoqKiHJ5n3mUymUwmU1RUFNjlSqfT\nsVho/y1Jp9NRFAV5uQK7UKHerIK8D3Sz6kXS6bSbVXcMGzZs8eLFuzq2F4dddXX1okWLDj74\n4FydYXNzczqdLi8vz9UZFoKGhoampqaqqqqSkpJ8z5JLO3bsqKysDOx+bevWrbFYbODAgfke\nJJeSyWRjY2NlZWW+B8mllpaWurq6fv36lZWV5XuWXKqvr4/H4/F4PN+D5FJNTU0ikRg8eHBg\nubBt27ZBgwble4pcSqVS27dvLy0traioyPcsuZTztEgkEhdeeGEXJwjqcREAYH8m7AAAAiHs\nAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh\n7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAALRJ98D\nAAC5MfPZ+/M9wn7tX06amu8R7LEDAAiFsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAhEn3wPsPcymUxra2tLS0uuzjCZTGYymRye\nYSFIpVJRFCUSiXQ6ne9ZcimdTre2thYVFeV7kBwL8hqYTqcDu1CJRCKKomQyGdjlSqVSiUQi\nk8nke5Bcyt71tbS0BHZ3Ed59RRg6L0rO02K3N9LeHXbJZDJ7D5sTqVQqk8nk8AwLQTbskslk\nYGGXXanw7qmjv0VDMNLpdDqdDuxCZW9W2QzK9yy5lE6ns3eD+R4kl7IXJ5lM5nuQ3Avs6heG\nzouS87TY7Vn14rCLxWLl5eX9+/fP1Rk2Nzen0+ny8vJcnWEhaGhoaGpqKisrKykpyfcsuZRM\nJvv16xeLBfVagpaWllgslsOrdCFIJpONjY2BXaiWlpZEIlFaWlpWVpbvWXKpvr4+Ho/H4/F8\nD5JLNTU16XS6X79+gf0/sLW1NbCbVRg6L0rO02K3OzWCelwEANifCTsAgEAIOwCAQAg7AIBA\nCDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCA\nQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsA\ngEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7\nAIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBA\nCDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCA\nQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsA\ngEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7\nAIBACDsAgED06ekfsGnTpgULFqxfv/6RRx5p2zh79ux33nmn7WDfvn0ffPDBKIrq6+sXL178\nyiuvJBKJcePGzZo1a+jQoT09IQBAGHo27J599tl77rnnmGOOWb9+ffvt9fX1M2bMmDx5cvZg\nLPZfOw7vuOOO+vr6OXPmlJaW3n///fPmzbvzzjvbjgUAoAs920yJROL73/9+W8C1qaurGz58\n+JC/GTRoUBRF1dXVa9eunTFjxqhRo0aMGDFr1qxNmza9+uqrPTohAEAwenaP3amnnhpF0YYN\nG9pvTCQSLS0tq1evvu++++rq6j760Y9eeumlBx100FtvvVVSUjJq1Kjsyfr37z9y5Mg333xz\n4sSJPTokAEAYevw1dp01NjYOGDAgmUxeffXVURQ98MADN954449//OPa2tqKioqioqK2U1ZV\n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\n26BBgzpv13r51Xmxcp4WiUSi68e+bj0uvvHGG6NGjVq2bFkURclk8uSTT77sssuuu+66SZMm\nrVu3bk9nGjt2bCKRaHvhXW1t7XvvvTd+/Phdbd/T8wcA2D91K+y+9a1vDRs27KKLLoqi6Be/\n+MXzzz//ox/9aP369UccccQtt9zSxTdu3769urq6rq4uiqLq6urq6urm5uZBgwYdd9xxd911\n15///Ofsp9yNGTPm8MMP39X2nFxOAIDgdesDip977rlsZkVR9Ktf/WrChAlXXXVVFEVf/epX\nb7jhhi6+8etf//rmzZuzX19++eVRFE2fPv3cc8+dPXv24sWL586dm0qljjjiiJtuuin79Ouu\ntgMAsFvdCrsdO3ZkX12XSqWeeuqpK6+8Mrv9gAMO+Otf/9rFN95zzz073V5eXn7NNdd0fzsA\nALvVradihw0b9vbbb0dR9MQTT2zfvv3MM8/Mbn/vvfdy+N4FAAD2Rbf22J1xxhk33XTT+vXr\nH3jggTFjxpx88slRFG3evHnhwoUnnHBCD08IAEC3dCvs5s+f/9prr33nO98ZMmTIv//7v2c/\n2W727Nnvvvvuz372sx6eEACAbulW2B144IGrV6+ura0tKytr+zi06667buHChcOGDevJ8QAA\n6K6uXmN3+eWXNzU1tR3s8CG3H/vYx9pXXVNT0xVXXNETIwIA0B1dhd0TTzwxefLkp59+erfn\n8vTTT0+ePHnVqlW5GwwAgD3TVdi98MILw4cPP+WUU6ZMmbJ06dL2f6c1a9OmTUuXLp0yZcop\np5wyfPjwF154oSdHBQCgK129xm7w4MG//e1v77///ptvvjn78cLDhg0bMmRIVVVVTU1NdXV1\n9kPsxo4d+7Of/Wzq1KmB/eFOAIDeZTdvnojFYv/wD//wpS996bnnnlu5cuW6deu2bNmybdu2\nysrKQw455JhjjjnttNNOPPHE7PtkAQDIo269K7a4uHjKlClTpkzp6WkAANhrnjwFAAiEsAMA\nCISwAwAIhLADAAiEsAMACMQehF1zc/PatWsffvjh6urqKIqSyWSPTQUAwB7rbtjdfvvtQ4cO\n/cQnPvG5z31u/fr1URTNmTPnsssuk3cAAAWiW2H3k5/85LrrrvvUpz519913t20cN27cfffd\nt2DBgh6bDQCAPdCtsFu0aNGsWbN+/etfT5s2rW3jpZde+vWvf/2ee+7psdkAANgD3Qq7P/3p\nT5///Oc7bz/llFP+/Oc/53okAAD2RrfCrrKysrm5ufP2mpqasrKyXI8EAMDe6FbYHXXUUd//\n/vebmprab9y2bdu8efMmT57cM4MBALBn+nTnRN/61rdOO+20o4466uyzz46i6Cc/+cndd9/9\n8MMPNzU1tX87BQAAedStPXannHLKf/7nf1ZUVCxcuDCKoiVLlixbtuywww57/PHHTzjhhB6e\nEACAbunWHrsoij796U+/+OKLmzdvfv/996Mo+ru/+7uBAwf25GAAAOyZ7oZdVllZ2SGHHJL9\neseOHdkvBgwYkNuZAADYC90Ku7fffnv27NlPPfVUQ0ND52MzmUyupwIAYI91K+yuuOKKdevW\nnX/++QceeGBxcXFPzwQAwF7oVtitXbv2scceO/7443t6GgAA9lq33hXbr1+/tpfWAQBQmLoV\ndl/+8peXLFnS06MAALAvuvVU7C233HL22WevWLHiuOOOGzx4cIdjb7jhhh4YDACAPdOtsPvB\nD36wcuXKKIp+97vfdT5W2AEAFIJuhd2dd975+c9//p/+6Z+GDx/uXbEAAIWpW2G3bdu2O++8\nc8SIET09DQAAe61bb544/PDDt2zZ0tOjAACwL7oVdnfccce11177yiuv9PQ0AADstW49FfvN\nb37z3XffnThxYv/+/Tu/K/add97J/VwAAOyhboVdLBYbN27cuHHjenoaAAD2WrfC7plnnunp\nOQAA2Efdeo0dAACFr6s9docddti0adNuvPHGww47rIuTvfHGG7meCgCAPdZV2A0YMKCsrCz7\nxYc1DwAAe6mrsFuzZk2HLwAAKFjdeo3dxz72sddff73z9n/7t387/PDDcz0SAAB7o1th98IL\nLzQ0NHTYmEwmX3vttQ0bNvTAVAAA7LHdfNxJUVFR9ouPf/zjOz3BpEmTcjwRAAB7ZTdh99JL\nLz399NNf+9rXzjvvvCFDhrQ/qqioaMSIEVdeeWVPjgcAQHftJuwmTpw4ceLERx999Lbbbhs7\nduyHMxMAAHuhW395YsWKFT09BwAA+6hbb57YvHnzV77ylYMOOqi4uLiok54eEQCA7ujWHrt/\n/Md/fPjhh6dMmXL66af36dOtbwEA4EPWrUp74oknHnroofPOO6+npwEAYK9166nYpqam448/\nvqdHAQBgX3Qr7I499tjXXnutp0cBAGBfdCvsFixY8I1vfGP16tU9PQ0AAHutW6+x+9rXvvaX\nv/zl+OOPLy8vP+CAAzoc+8477+R+LgAKw4/Wrsr3CPu3k6bmewJ6k26FXSwWO/TQQw899NCe\nngYAgL3WrbB75plnenoOAAD2UbdeYwcAQOHr1h67IUOG7Oqo1tbW2tra3M0DAMBe6lbYnXji\niR22/OUvf3n11VfHjBkzZcqUHpgKAIA91q2we+SRRzpv/OCDD774xS9+9rOfzfVIAADsjb1/\njd3w4cNvv/32OXPm5HAaAAD22j69eWLkyJF//OMfczUKAAD7Yu/DLpPJLFmyZPDgwTmcBgCA\nvdat19gdffTRHbakUqkPPvigurr6uuuu64GpAADYY90Ku85KSkqOOuqo8847b9asWbkdCACA\nvdOtsHvppZd6eg4AAPbRvv7liXfeeScXYwAAsK92E3bPPPPMZz7zmbFjx37mM5/57W9/2/6o\nlpaW//2///fhhx/ek+MBANBdXYXdmjVrTjvttMcff7y1tfXJJ588++yzf/nLX2aPeuyxx448\n8sibbrrpIx/5yIcyJwAAu9FV2H3nO98pLy9ft27du+++u3HjxmOPPXbOnDkbN2686KKLPvOZ\nz2zZsmXBggWvvvrqhzYrAABd6OrNEy+//PJXvvKViRMnRlE0dOjQ+fPnf/aznx07dmwikbjq\nqqvmzZs3ZMiQD2tOAAB2o6uw27hx46GHHtp2cPz48VEUffKTn1y0aNGECRN6fDQAAPZEV0/F\nJpPJeDzedrC0tDSKohtuuEHVAQAUoH39uBMAAAqEsAMACMRu/vLE22+/vWbNmuzX27Zti6Lo\njTfeGDBgQPvTTJ48uYeGAwCg+3YTdrfeeuutt97afss//dM/dThNJpPJ8VAAAOy5rsJuzpw5\nH9ocAADso67Cbu7cuR/WGAAA7CtvngAACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAiEsAMACERXf1KswKXT6ZaWlubm5lydYSKRyGQyOTzDQpBMJqMoam1tTaVS\n+Z4ll7KrX1RUlO9BcimTyYR3DUyn0+l0OrALlb1ZJZPJwC5XKpVqbW1Np9MdtpfkZRr+ZqdX\ns13dV1is/Oq8KDlPi+wZdnGCXhx2URSl0+kc9kr27iywAMouf+d76gCkUqnAwi6KokwmE9g1\nMJ1OB3mholzf/xSCdDpdVFTU+UJphfza1dVsp9stVn51XpScp8Vuz6oXh10sFisrK+vXr1+u\nzrC5uTmdTpeXl+fqDAtBQ0NDMpns27dvSUlQt/dEIlFeXh6LBfVagubm5lgslsOrdCFIJpON\njY2BXaiWlpbW1tZ4PF5WVpbvWXIpk8nE4/F4PN5he1D12gvt9ObT0tKy0+0WK786L0rO0yKR\nSHS9UyOox0UAgP2ZsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAI\nhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIRJ98DwDsj2Y+e3++R9jf/ctJU/M9ApB79tgB\nAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELY\nAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAASi\nT15+6uzZs9955522g3379n3wwQejKKqvr1+8ePErr7ySSCTGjRs3a9asoUOH5mVCAIBeJz9h\nV19fP2PGjMmTJ2cPxmL/tePwjjvuqK+vnzNnTmlp6f333z9v3rw777yz7VgAALqQn2aqq6sb\nPnz4kL8ZNGhQFEXV1dVr166dMWPGqFGjRowYMWvWrE2bNr366qt5mRAAoNfJwx67RCLR0tKy\nevXq++67r66u7qMf/eill1560EEHvfXWWyUlJaNGjcqerH///iNHjnzzzTcnTpz44Q8JANDr\n5CHsGhsbBwwYkEwmr7766iiKHnjggRtvvPHHP/5xbW1tRUVFUVFR2ymrqqpqamraDq5Zs+bW\nW29tO9ivX7+ampr+/fvnarBMJhNFUUtLS67OsBCk0+koiurq6tr/YgOQTqfbX/4R7ycAAB1Y\nSURBVDfCkMlkUqnU9u3b8z1ILmUymUwmE9iFCkPnRUmn062trZ3vKyo/rJHYqZ3efHZ1s7JY\n+dV5UXKeFolEIvvIvit5CLuqqqp777237eD1118/bdq03//+91EUdR0fyWSyrq6u7WBZWVkm\nk+n64u2R7G8/sADKXqjsg2u+Z8ml3C59QQnvcgW8WL1a50Vpu7vIxzjs0k5vPm5WhWlXN6sc\npsVu1z0/b55or6ys7IADDqiurh49enRtbW0mk2m7/DU1NQMHDmw75YknnvjEE0+0HZw5c+aA\nAQMGDx6cq0mam5vT6XR5eXmuzrAQNDQ0NDU1VVZWlpSU5HuWXNqxY0dlZWVgb6zZunVrLBZr\nf50PQDKZbGxsrKy0H6HgdL7zrK+vj8fj8Xi8w/bUhzUSO7XTh7lt27ZlX57egcXKr86LlfO0\nSCQSXT/25eFx8d133120aFEymcwebG5u3rJly/Dhw8eOHZtIJDZs2JDdXltb+957740fP/7D\nnxAAoDfKwx67QYMGrV69OplMXnzxxalU6t577+3fv//xxx9fWlp63HHH3XXXXbNnz47H4/fc\nc8+YMWMOP/zwD39CAIDeKA9hV1FRMX/+/KVLl15zzTUlJSXjxo279dZbS0tLoyiaPXv24sWL\n586dm0qljjjiiJtuuimwV7wBAPSc/LzGbvTo0fPnz++8vby8/Jprrvnw5wEACEBQrz0HANif\nCTsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCA\nQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBA9Mn3\nAMD+6EdrV+V7hP3eSVPzPQGQe/bYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAE\nQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEA\nBELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgB\nAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELY\nAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC\n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\naWmJx+Ph3V0UFxcHdl/R3NycSqXKy8vDu7soLy/P9xS5lE6nm5qa+vTpE97dRW7TIpVKdX2C\nokwmk6sf9iF75plnqqurc3iG6XQ6iqJYLKi9mG+88caGDRsmT548ePDgfM+SS8lksri4OLB7\n6sceeywej59yyin5HiSXMplMKpXq06d3/x+yg/fff3/dunXjx48fPXp0vmfJpVQqFYvFArtZ\nrVmzZuvWrWeeeWZgwZpMJgO7WTU2Nj755JMHHnjgpEmT8j1LLvVEWvTv3/+MM87Y1bG9+Gpx\n8skn53uEXmDRokUvv/zy1Vdffeyxx+Z7FnZj0aJFAwcO/NznPpfvQdiNlStX/uu//uunPvUp\ni1X4Vq1a9fLLL//whz8MbP9WeN5///077rhj+PDhblb7KKi9UwAA+zNhBwAQCGEHABCIXvzm\nCQAA2rPHDgAgEMIOACAQwg4AIBC9+HPs6Gzbtm1Llix5+eWXW1tbR48efdlllx166KFRFNXX\n1y9evPiVV15JJBLjxo2bNWvW0KFD8z0s/2XVqlULFy785je/OXny5MhiFapHH3304Ycf3rp1\n60EHHXTppZd+/OMfjyxW4dm4cePSpUvffPPNZDI5atSoL3/5y4cffnhkpQrJpk2bFixYsH79\n+kceeaRt464WyMLtBXvsgvLP//zP1dXVN9988x133DFkyJB58+Y1NzdHUXTHHXds3rx5zpw5\nt912W3l5+bx587KfhU3e7dixY9myZfF4vG2LxSpAq1atWr58+cyZM+++++7TTjvtJz/5SWNj\nY2SxCkwmk5k3b97AgQMXL168bNmyCRMmzJ07t66uLrJSBePZZ5/95je/OXLkyA7bd7VAFm5v\nZAhFbW3tLbfc8v/+3//LHty8efM555zzpz/9acuWLeeee+6GDRuy2+vq6s4///yXXnopf5Py\n/7v11lt/+tOffvnLX169enUmk7FYhenKK69ctWpVh40Wq9Ds2LHjnHPOef3117MHt23bds45\n57z55ptWqnCsWrVq8+bNq1evPu+889o27mqBLNzesccuHBUVFTfeeOPBBx+cPbh169ZYLDZk\nyJC33nqrpKRk1KhR2e39+/cfOXLkm2++mb9J+S+rV6/esGHD1KlT27ZYrAK0devWDz74IIqi\n2bNnX3TRRdddd90bb7wRWazCU1VVddhhh61YsaKurq65uXnFihXDhg075JBDrFThOPXUUw84\n4IAOG3e1QBZu7wi7MNXV1f3whz88//zzBw4cWFtbW1FR0f4Pe1dVVdXU1ORxPKIoqq+vv/vu\nu7/61a/27du3baPFKkBbt26NomjlypXXX3/9kiVLxo0bd/PNN9fU1FisAnTDDTesX7/+kksu\n+cIXvrBixYobbrghHo9bqQK3qwWycHtH2AVo48aN11133YQJE6ZNm5bd0v6GQYH46U9/OmnS\npKOPPrrDdotVmL74xS+OHDmyoqLi8ssvLyoqev755yOLVWCSyeS8efMOO+ywn/3sZ7/4xS/O\nOeecOXPmbN++PbJSBW9XC2Th9oKwC83LL7/8jW9845xzzrnqqquyN4kBAwbU1tZm2v2JkZqa\nmoEDB+ZvRqKXXnrpxRdfvPzyyztst1gFaNCgQVEU9evXL3uwuLh40KBB27dvt1iF5tVXX/3z\nn/88ffr0qqqq8vLyCy+8sLS09LnnnrNSBW5XC2Th9o6wC8of//jH7373u9dee+3f//3ft20c\nO3ZsIpHYsGFD9mBtbe177703fvz4PM1IFEXR448/3tDQMGvWrEsuueSSSy6pqalZsGDBrbfe\narEK0KBBgwYOHJh9XV0URa2trVu2bBk2bJjFKjTZV463f9dkMpmM3AcWvF0tkIXbO8Vz587N\n9wzkRmtr6//6X//rzDPPnDRpUuPfxGKxioqKd99998knnxw3blxjY+OPfvSjfv36XXLJJXZx\n59FRRx312Xaeeuqpyy677IILLhgwYIDFKjRFRUWpVOqhhx4aPXp0nz59/vVf/3Xz5s0zZ850\nyyo0VVVV2TddZj+77te//vWLL744ffr0oUOHWqkCsX379oaGhnfffXft2rWnnXZa1w9S5eXl\nFm4vFLXfyUmv9vLLL3/729/usHHmzJlnn312Y2Pj4sWL161bl0qljjjiiFmzZtmbXVAuvfTS\nq6++OvsBxRarAKXT6fvuu2/lypX19fXjxo27+uqrs28/t1iF5t133122bNmf/vSnVCr1kY98\n5B/+4R+OPPLIyEoVjOnTp2/evLnDlnPPPXdXC2Th9oKwAwAIhNfYAQAEQtgBAARC2AEABELY\nAQAEQtgBAARC2AEABELYAQAEQtgBe2/u3LlFRUVDhw5NJBKdj50+fXpRUdGJJ564d2d+8cUX\n9+/fvzunPPHEEw877LBdHVtdXX3LLbcce+yxQ4YMKSkpGTp06Jlnnvmf//mfbSeYPHlyF9++\nL7Zu3XrIIYdcccUVbVt+9atffeELX8h+vWXLlhEjRvTEz+2g+7/JXbnpppsGDx78zjvv5Ggi\noKf0yfcAQO8Wi8W2bdv2H//xH+eff3777U1NTb/85S9LSkryNVjWtm3bPv7xj2/evPnyyy+/\n9tpri4uLN2zYsGTJkrPOOuvnP//5xRdfHEXRxRdf3NTUlPMfnU6np06dWlVVtWjRoraNL774\n4jHHHNP56wJ38803//73v7/wwgt/97vflZaW5nscYJeEHbBPYrHYJz7xiaVLl3YIu4cffrip\nqWnixIn5Gixr2bJl77zzzi9+8YsvfvGLbRuvvvrqI4888oYbbvjCF74Qi8WuueaanvjR999/\n/2OPPfbUU0+VlZW1bXzhhRfaftyLL744adKknvjROVdcXHzXXXdNmDBh0aJF//N//s98jwPs\nkqdigX2STCb//u///tFHH/3rX//afvuyZcs+9alPddi789vf/vbkk0+uqKgoKyubMGHCD37w\ng7a/apjJZObNm3fwwQf37dv3yCOPfOihhzr8oKeffvr000+vrKwsLy+fNGnSkiVLujPeX/7y\nlyiKjj322PYbBw4cuGbNmtdffz0Wi0Xtnop9/vnni3bmD3/4w57OkEql5s+ff/LJJ0+ZMqX9\n9vYx10XYnXzyySeddNK6des+/elPV1ZWDh069Etf+lL7P7LZQ7/Jv/zlL1deeeXf/d3f9e3b\nd/jw4Z///OffeOON7FHjx4+/8MILv/e97zU0NOzqUgP5lwHYW3PmzImi6K233orFYt///vfb\ntm/cuDEWiy1ZsmTy5MknnHBCduPDDz9cVFR05plnPvLIIytXrrz22mujKPr617+ePfa73/1u\nFEWXXHLJ448/vnz58gkTJowbN65fv37ZY1euXFlcXHzyySf/+7//+2OPPTZr1qwoitp+4gkn\nnDBu3LidTvjAAw9EUXTBBRds3759V5fik5/8ZPbba2trH2/nN7/5zQEHHDBy5MgdO3bsdoYO\nnn766SiKlixZkj142223lZaWZjO39G+KioqyX2zcuLHDt3/6058++OCDP/7xjz/++ON//etf\nH3rooeLi4mnTpvX0b3Ly5MnDhw+/5557nnjiiZ///OdHHnnk0KFDGxoassf+x3/8RxRFy5cv\n39VvEsg7YQfsvWzYNTU1nXbaaUcccUTb9u985ztlZWW1tbWf/OQn28LusMMO+8hHPtLS0tJ2\nsvPPP7+kpKS6ujqdTo8YMWLChAltR73//vslJSVtOXLMMcd89KMfbSuMTCZz7rnnVlRUNDU1\nZboMu1QqlX2zQmlp6VlnnfXd7353zZo1qVSq/Wnawq6Dyy67rLS09P/+3//bnRk6+Pa3vx1F\nUYdie+ihhz73uc9lv/7ggw9GjBix05kzmcynP/3pKIqee+659lvaTt9Dv8mampooim644Ya2\no9avX3/LLbds2rQpe7ChoSEej19xxRW7GhvIO0/FAjnwla985bXXXlu7dm324LJly84///yK\nioq2E7z//vtvvPHGWWedFY/H2zaec845iURizZo177333vvvv3/qqae2HXXggQd+7GMfy369\nefPmdevWnX322bFYrPlvzjrrrLq6uldffbXrwWKx2PLly1esWPH5z3/+pZde+sY3vjF58uRh\nw4bdeOONjY2NXXzjj3/846VLly5atOgTn/jEXszw4osvDhs27KCDDmq/8Xe/+13be4R/97vf\nHX/88V0MUF5efsIJJ7QdHDly5AcffBD15G+yrKxs8ODBDzzwwKpVq9LpdBRFY8aMufHGG9ve\nulteXn7YYYe98MILXYwN5JewA3LgggsuqKioWLp0aRRFa9euff311y+99NL2J9i0aVMURR1C\n58ADD4yi6P33388mywEHHND+2LaeeP/996MoWrhwYVk72ecQN27c2J3xPvOZz/z85z/ftGnT\nhg0bfvKTn4wfP/473/nOaaedls2XzlavXn3NNdfMmDFj+vTpezfDli1bhgwZ0mHjc88919Zq\nzz33XNdh1+G30adPn+y0PfebLCkp+fWvfx2LxU477bShQ4deeOGF999/fzKZbH9WQ4YMqa6u\n7mJsIL+8KxbIgfLy8osuuuiBBx74wQ9+sGzZsgMPPPD0009vf4KioqIoijqEVCaTiaIoFotl\n/vbC//ZSqVT7g5dffvmVV17Z4TQf/ehH92jO0aNHjx49+oorrpg+ffqSJUuee+65k08+ucNp\nPvjggwsvvPCYY4754Q9/2OGo7s9QW1s7aNCgtoMjR46srq5uaWlp+3Gtra0lJSU33njj1KlT\nu/lGkKwe/U2ecMIJb7311tNPP/3b3/720UcfveSSSxYsWPDMM8+0vbF3wIABO3bs6P60wIdM\n2AG5MW3atCVLljz22GPLly+fNm1acXFx+2NHjhwZ/W1vU5vswZEjR2b3MGX3NrVp+zjcj3zk\nI1EUpVKpyZMn79FILS0tDz30UL9+/Tp8FEtRUdGUKVOWLFny3nvvdfiWRCLxhS98IZVK/du/\n/Vv75zr3dIbKysrsS9ayNm7cuHr16uuvv/7ZZ5+NoiiZTA4cOLC6unovPhOup3+TxcXFp556\n6qmnnnrbbbf9+Mc/vvrqqx988MFp06Zlj92xY0dVVdWezgx8aDwVC+TGSSedNHr06Pnz51dX\nV3d4HjaKouHDh0+YMOE3v/lNc3Nz28Zf/epX5eXlxx133CGHHDJkyJAVK1a07Yj605/+9PLL\nL2e/HjRo0Cc+8YlHHnmk/b6ie++996abburwRGEH8Xj85ptvnjFjxttvv91+eyqV+uUvfxlF\n0VFHHdXhW6699trVq1c/+OCDHZ7r3NMZDjjggA5PWb700ktHH3109us//vGPY8aM2btP+u25\n3+QLL7xw8cUXt/9QlTPOOCOKoi1btrRtqa6u7vA8L1BQhB2QG0VFRZdeeunzzz8/ceLEzsEU\nRdF3v/vdDz744Lzzzvs//+f/rFix4uqrr16xYsW3v/3tysrKWCx21VVXbdiw4aKLLvrVr351\n9913n3HGGe0/4+173/teY2PjlClT7r333scee+zb3/729OnTN23a1KdPV087FBUVLV68uKmp\n6eijj54xY8add97505/+dP78+ZMmTfrNb37zP/7H/zjyyCPbn/7BBx9ctGjR5z73udbW1pXt\nZLtwj2Y4+uij//rXv7bfr9Y+7NatW7cvH03cQ7/Jgw466NFHHz399NOXLFmycuXK5cuXX3rp\npZWVlRdccEH2exsbG998883e8tcyYD+V3zflAr1a28edZA++/fbbRUVFt99+e9sJ2n/cSSaT\neeyxx0488cR+/fqVlpYec8wxbR/zlslkksnkDTfcMHz48Hg8fuSRRz788MP/+I//GI/H207w\n7LPPnn766RUVFSUlJYceeuj3vve9RCKRPaqLjzvJZDKvvfba5Zdfnt1D1qdPn2HDhn32s599\n6KGH2g+Z/favfe1rO72fnDNnzm5n6ODJJ5+Momjp0qXtf8rzzz+f/fprX/va/9feHaMoDERh\nAHYlgoW1RUBsvYegdUrPYJ8yeAcPERBsrSystAuks8sFRC8gcQth2UJsXIk7fF85MPBmqp83\nM8xyuXyysePxeDgc/h65fzj77p0syzJJkn6/3+l04jhOkqQoip+Jm82m1Wrlef6kcqBZX7dH\nN20BeMX1eh2NRoPB4J7wwjCbzbbbbVVVvV6v6VqAxxzFAvy9KIqyLNvtdvfXEgE4Ho+r1SpN\nU6kOPpmOHcBb1HU9nU5Pp9PhcOh2u02X85K6rieTyfl83u/3/30tEDYdO4C3aLfbeZ5fLpf5\nfN50La9aLBZFUazXa6kOPpyOHQBAIHTsAAACIdgBAARCsAMACIRgBwAQCMEOACAQgh0AQCAE\nOwCAQHwDo//Ib6bHudQAAAAASUVORK5CYII=", | ||
526 | "text/plain": [ | ||
527 | "plot without title" | ||
528 | ] | ||
529 | }, | ||
530 | "metadata": { | ||
531 | "image/png": { | ||
532 | "height": 420, | ||
533 | "width": 420 | ||
534 | }, | ||
535 | "text/plain": { | ||
536 | "height": 420, | ||
537 | "width": 420 | ||
538 | } | ||
539 | }, | ||
540 | "output_type": "display_data" | ||
541 | } | ||
542 | ], | ||
543 | "source": [ | ||
544 | "FamilyTreeRQ2Raw <- rbind(\n", | ||
545 | " Load10Log(\"measurements/stats/FamilyTree//size020to-1r10n10rt3600stats.csv\", 20),\n", | ||
546 | " Load10Log(\"measurements/stats/FamilyTree/size040to-1r10n10rt3600stats.csv\", 40),\n", | ||
547 | " Load10Log(\"measurements/stats/FamilyTree//size060to-1r10n10rt3600stats.csv\", 60),\n", | ||
548 | " Load10Log(\"measurements/stats/FamilyTree//size080to-1r10n10rt3600stats.csv\", 80),\n", | ||
549 | " Load10Log(\"measurements/stats/FamilyTree//size100to-1r10n10rt3600stats.csv\", 100)\n", | ||
550 | ")\n", | ||
551 | "FamilyTreeRQ2 <- FamilyTreeRQ2Raw %>% ProcessRQ2\n", | ||
552 | "FamilyTreeRQ2\n", | ||
553 | "median(FamilyTreeRQ2Raw$preprocessingTime) / 1000.0\n", | ||
554 | "FamilyTreeRQ2 %>% RQ2Plot('FamilyTree')" | ||
555 | ] | ||
556 | }, | ||
557 | { | ||
558 | "cell_type": "markdown", | ||
559 | "metadata": {}, | ||
560 | "source": [ | ||
561 | "### Sat domain" | ||
562 | ] | ||
563 | }, | ||
564 | { | ||
565 | "cell_type": "code", | ||
566 | "execution_count": 49, | ||
567 | "metadata": {}, | ||
568 | "outputs": [ | ||
569 | { | ||
570 | "name": "stderr", | ||
571 | "output_type": "stream", | ||
572 | "text": [ | ||
573 | "Warning message:\n", | ||
574 | "“`cols` is now required when using unnest().\n", | ||
575 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
576 | "Warning message:\n", | ||
577 | "“`cols` is now required when using unnest().\n", | ||
578 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
579 | "Warning message:\n", | ||
580 | "“`cols` is now required when using unnest().\n", | ||
581 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
582 | "Warning message:\n", | ||
583 | "“`cols` is now required when using unnest().\n", | ||
584 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
585 | "Warning message:\n", | ||
586 | "“`cols` is now required when using unnest().\n", | ||
587 | "Please use `cols = c(Solution1DetailedStatistics)`”\n" | ||
588 | ] | ||
589 | }, | ||
590 | { | ||
591 | "data": { | ||
592 | "text/html": [ | ||
593 | "<table>\n", | ||
594 | "<caption>A tibble: 5 × 7</caption>\n", | ||
595 | "<thead>\n", | ||
596 | "\t<tr><th scope=col>n</th><th scope=col>preprocessingTime</th><th scope=col>StateCoderTime</th><th scope=col>ForwardTime</th><th scope=col>BacktrackingTime</th><th scope=col>NumericalSolverSumTime</th><th scope=col>additionalTime</th></tr>\n", | ||
597 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
598 | "</thead>\n", | ||
599 | "<tbody>\n", | ||
600 | "\t<tr><td> 20</td><td>3.3930</td><td> 0.0360</td><td>0.6015</td><td>0.1010</td><td>0.5525</td><td> 0.8300</td></tr>\n", | ||
601 | "\t<tr><td> 40</td><td>3.5435</td><td> 0.3145</td><td>1.2860</td><td>0.2645</td><td>1.0255</td><td> 2.4225</td></tr>\n", | ||
602 | "\t<tr><td> 60</td><td>3.3420</td><td> 1.0390</td><td>2.3665</td><td>0.6415</td><td>1.5570</td><td> 3.4750</td></tr>\n", | ||
603 | "\t<tr><td> 80</td><td>3.2475</td><td> 3.7925</td><td>4.5785</td><td>1.8590</td><td>2.0665</td><td> 4.8600</td></tr>\n", | ||
604 | "\t<tr><td>100</td><td>3.3660</td><td>11.2280</td><td>8.8810</td><td>5.1165</td><td>2.7360</td><td>15.2750</td></tr>\n", | ||
605 | "</tbody>\n", | ||
606 | "</table>\n" | ||
607 | ], | ||
608 | "text/latex": [ | ||
609 | "A tibble: 5 × 7\n", | ||
610 | "\\begin{tabular}{lllllll}\n", | ||
611 | " n & preprocessingTime & StateCoderTime & ForwardTime & BacktrackingTime & NumericalSolverSumTime & additionalTime\\\\\n", | ||
612 | " <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl>\\\\\n", | ||
613 | "\\hline\n", | ||
614 | "\t 20 & 3.3930 & 0.0360 & 0.6015 & 0.1010 & 0.5525 & 0.8300\\\\\n", | ||
615 | "\t 40 & 3.5435 & 0.3145 & 1.2860 & 0.2645 & 1.0255 & 2.4225\\\\\n", | ||
616 | "\t 60 & 3.3420 & 1.0390 & 2.3665 & 0.6415 & 1.5570 & 3.4750\\\\\n", | ||
617 | "\t 80 & 3.2475 & 3.7925 & 4.5785 & 1.8590 & 2.0665 & 4.8600\\\\\n", | ||
618 | "\t 100 & 3.3660 & 11.2280 & 8.8810 & 5.1165 & 2.7360 & 15.2750\\\\\n", | ||
619 | "\\end{tabular}\n" | ||
620 | ], | ||
621 | "text/markdown": [ | ||
622 | "\n", | ||
623 | "A tibble: 5 × 7\n", | ||
624 | "\n", | ||
625 | "| n <dbl> | preprocessingTime <dbl> | StateCoderTime <dbl> | ForwardTime <dbl> | BacktrackingTime <dbl> | NumericalSolverSumTime <dbl> | additionalTime <dbl> |\n", | ||
626 | "|---|---|---|---|---|---|---|\n", | ||
627 | "| 20 | 3.3930 | 0.0360 | 0.6015 | 0.1010 | 0.5525 | 0.8300 |\n", | ||
628 | "| 40 | 3.5435 | 0.3145 | 1.2860 | 0.2645 | 1.0255 | 2.4225 |\n", | ||
629 | "| 60 | 3.3420 | 1.0390 | 2.3665 | 0.6415 | 1.5570 | 3.4750 |\n", | ||
630 | "| 80 | 3.2475 | 3.7925 | 4.5785 | 1.8590 | 2.0665 | 4.8600 |\n", | ||
631 | "| 100 | 3.3660 | 11.2280 | 8.8810 | 5.1165 | 2.7360 | 15.2750 |\n", | ||
632 | "\n" | ||
633 | ], | ||
634 | "text/plain": [ | ||
635 | " n preprocessingTime StateCoderTime ForwardTime BacktrackingTime\n", | ||
636 | "1 20 3.3930 0.0360 0.6015 0.1010 \n", | ||
637 | "2 40 3.5435 0.3145 1.2860 0.2645 \n", | ||
638 | "3 60 3.3420 1.0390 2.3665 0.6415 \n", | ||
639 | "4 80 3.2475 3.7925 4.5785 1.8590 \n", | ||
640 | "5 100 3.3660 11.2280 8.8810 5.1165 \n", | ||
641 | " NumericalSolverSumTime additionalTime\n", | ||
642 | "1 0.5525 0.8300 \n", | ||
643 | "2 1.0255 2.4225 \n", | ||
644 | "3 1.5570 3.4750 \n", | ||
645 | "4 2.0665 4.8600 \n", | ||
646 | "5 2.7360 15.2750 " | ||
647 | ] | ||
648 | }, | ||
649 | "metadata": {}, | ||
650 | "output_type": "display_data" | ||
651 | }, | ||
652 | { | ||
653 | "data": { | ||
654 | "text/html": [ | ||
655 | "3.3735" | ||
656 | ], | ||
657 | "text/latex": [ | ||
658 | "3.3735" | ||
659 | ], | ||
660 | "text/markdown": [ | ||
661 | "3.3735" | ||
662 | ], | ||
663 | "text/plain": [ | ||
664 | "[1] 3.3735" | ||
665 | ] | ||
666 | }, | ||
667 | "metadata": {}, | ||
668 | "output_type": "display_data" | ||
669 | }, | ||
670 | { | ||
671 | "data": { | ||
672 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdeXzcdZ348W/uu01LD6jlKLW0pYVi8SiHgMoqglwKyrGCHNKgu11EXEFx\nW4oLKmJbARcrlu2qVR6yorurskC51KW7lRYoCJVWYNsChtA0k2QyyWRmfn/Mb7PdHmlavtNJ\nPn0+/+gj853pd97JJzPzyndmkpJcLhcBADD0lRZ7AAAA4iHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACUV7sAXbty1/+8rPPPhvvPrPZbGlpaFGby+VyuVxJSUlJSUmxZ4mZ\n9RparNfQYr2GliDXK4qibDYb6nrF/nmNHTt28eLFOzt3CIRdS0vL7bfffuCBB8a1w2w2m0gk\nGhsb49rhIJFMJpPJ5LBhwyorK4s9S8w2b948cuTIYk8Rs1Qq1dHR0dDQUFVVVexZYhbkenV3\nd7e3t9fV1dXU1BR7lpi1trY2NjYG9oCaTqfb2tpqamrq6uqKPUvM2tra6uvry8rKij1InDKZ\nTGtra3V1dX19fbFniVl7e3tNTU15eWy5lU6nzznnnH4uEGD1AwDsm4QdAEAghB0AQCCEHQBA\nIIbAmycymUwikdiyZUu8+4x3h4NBNpuNoqizszOZTBZ7lphls9nw1iuXy0VRlEwmu7q6ij1L\nzIJcr/ztq6urq7u7u9izxCyTybS1tRV7ipjlb1/d3d3pdLrYs8Qs/5gY2Jtd8np6eoK86+jt\n7Y1xvdLpdP7uaGeGQNiVlpbW1dU1NDTEtcNsNpt/N2JcOxwkUqlUV1dXTU1NRUVFsWeJWVtb\nW3jr1d3dnUwmq6urw3sXc5Dr1dPT09nZWVVVVV1dXexZYpZIJOrr6wMLhd7e3vb29srKyvDe\nxdze3l5bWxveu2ITiURFRUVtbW2xZ4lZZ2dndXV1jOuVTqf7/303QyDsSkpKysrKYvyi5H+j\nTGC3iiiK8vfLpaWl4X1qURSF90nlb5nWa6gIfr0CC7v8IY1Q7+rjfUwcPEJdr3jvN/o/XBd5\njR0AQDCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0AQCCEHQBA\nIIQdAEAghB0AQCCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0A\nQCCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAgyos9AADwVs3+zbJij0D03fdeUOwRHLEDAAiF\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAI\nhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAiEsAMACMReCrvly5efccYZK1asyJ/s6Oj41re+9alPferCCy+cP39+c3Pz3hkD\nACBgeyPstmzZsnTp0srKyr4tCxcubG5unjt37i233FJbWzt//vxsNrsXJgEACNjeCLs777zz\npJNOqq2tzZ9saWlZuXLlFVdcMWHChHHjxjU1NW3atGnNmjV7YRIAgICVF/oKnnjiifXr1191\n1VWPPvpofsuLL75YUVExYcKE/Mn6+vrx48evXbt2xowZ+S3Nzc3PPPNM3x7S6XRPT093d3dc\nI+VyuWw2G+MOB4lMJhNFUTqdzuVyxZ4lZrlcLrz16u3t7fs3MEGuVzqdjqKot7c3vE8tv14l\nJSXFHiRO+fvDTCYT3npls9menp7SUi+RH4y2/37LZDI9PT35b8hY7PJRvrBh19HRceedd37u\nc5+rrq7u25hIJBoaGra+Exk+fHhbW1vfyeeee+7aa6/tOzlx4sTOzs729vZ4Z4t9h4NEV1dX\nsUcoCOs1tIS6Xt3d3eGFQhRFHR0dxR6hIHp6enp6eoo9Rfw6OzuLPQI7tsO7vnh/gC9y2H3/\n+9+fOXPmUUcdtc32/n80nDhx4l//9V/3nXz44Ydramrq6urimiqXy6VSqZqamrh2OEjkD21W\nV1eXlZUVe5aYJZPJvqfyg5E/9lNVVVVeXvAD53tZwOtVWVlZUVFR7Fli1tXVVV1dHd4Ru1Qq\nVVFRsfXLu8OQSqUqKysdsRuctm+V7u7uioqKGNcrnU73f2st4CPKU089tWrVqttvv32b7Y2N\njYlEIpfL9U3W1tY2YsSIvgscdNBBF198cd/J//iP/6iuro6xw/LHscMLu1wu19PTU1lZGd4d\nWVdXV3jrlUql8qFQVVVV7FliFuR65Y/VVVRUhPep5X/QDSzs0ul0KpUqLy8Pb71C/QE+DNt/\nv/X29sb7A3x5eXnRwu7BBx/s7OxsamrKn+zo6FiwYMFRRx01e/bsdDq9fv36t7/97VEUJRKJ\nDRs2TJ06tXCTAADsCwoYdk1NTZdccknfyc997nMXXXTRe97znmHDhh1zzDF33HHHnDlzKisr\n77rrrokTJx5++OGFmwQAYF9QwLBraGhoaGjoO1lSUtLQ0DBs2LAoiubMmbN48eJ58+ZlMplp\n06Zdf/31gT0LAACw9+29V23/0z/9U9/HtbW1V1111V67agCAfYG31QAABELYAQAEQtgBAARC\n2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAE\nQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEA\nBELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgB\nAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELY\nAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC\n2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAE\nQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAASivNgD7Fomk2lra6uvr493n62t\nrTHucDDI5XJRFHV0dJSUlBR7lphls9lQ16uzszOZTBZ7lpgFvF5dXV2pVKrYs8Qsk8ls2bKl\n2FPELL9eqVSqp6en2LPELJvNtrW1hXc/H4bt7/qy2Wxvb2+MV5FOp7PZbD8XGAJhV1ZWNnz4\n8BEjRsS1w2w2m0gkGhsb49rhIJFMJpPJZH19fWVlZbFnidnmzZtj/AYYJFKpVEdHR11dXVVV\nVbFniVmQ69Xd3d3e3l5TU1NTU1PsWWLW2tra2NgYWCik0+m2trbq6uq6urpizxKz/JGOsrKy\nYg/CDmx/15e/3ygvjy230ul0aWl/T7d6KhYAIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQ\nwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAg\nEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4A\nIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIO\nACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDC\nDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQ\nwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAg\nEMIOACAQwg4AIBDCDgAgEMIOACAQ5QXd+4YNG5YuXfr888/ncrkJEyZ88pOfnDJlShRFHR0d\nixcvfuaZZ9Lp9OTJk5uamsaMGVPQSQAAglfAI3a9vb1f+cpX6urqvvGNb9x6662jR4++4YYb\nurq6oihauHBhc3Pz3Llzb7nlltra2vnz52ez2cJNAgCwLyhg2HV2dp555plNTU1ve9vbDjjg\ngHPPPbezs/O1115raWlZuXLlFVdcMWHChHHjxjU1NW3atGnNmjWFmwQAYF9QwLAbPnz42Wef\nXVNTE0VRe3v7v/zLv4wfP/7AAw988cUXKyoqJkyYkL9YfX39+PHj165dW7hJAAD2BYV9jV0U\nRdls9txzz02n09OnT7/xxhsrKioSiURDQ0NJSUnfZYYPH97W1tZ38r//+78feeSRvpOpVCqV\nSuWfw41FLpfLZrMx7nCQ6O3tjaKop6cnk8kUe5aY5XK5gNcrvNchBLxe6XS62IPEL79eW98n\nByB/N9jb2xvet2I2m02lUqWl3vs4GG3//ZbJZLq7u2O860in07lcrp8LFDzsSktLFy1a1Nra\n+stf/vJLX/rSrbfeGkVR//cg69evv+222/pOTpw4saurq7OzM97BYt/hIJFKpYo9QkGEul7d\n3d3d3d3FniJ+oa5XT09PT09PsaeIXzKZLPYIBZFOp4Ns8fBqNRg7vOvL/1gYl+KHXRRF48eP\nHz9+/LRp0y644ILHHnts1KhRiUQil8v15V1bW9uIESP6Lj9t2rSvfe1rfSeXLVtWV1fX0NAQ\n1zy5XC6ZTNbV1cW1w0Gip6enu7u7pqamvHxvLOve1NHRUV9fX+wpYpZOp1OplPUaKvLrVVVV\nVVlZWexZYtbZ2VlbWxveEbtkMllZWVlVVVXsWWKWTCarq6sdsRuctm+Vrq6uysrKsrKyuK4i\nnU73f2st4CPK6tWr/+Ef/uG2227L365KSkryD2CTJk1Kp9Pr169/+9vfHkVRIpHYsGHD1KlT\n+/7jmDFjTj755L6TP/3pT+O9ceaPY4d3a88/9VBRURHkA09465X/kau8vDy8Ty3I9YqiKJVK\nBbleyWSyqqoqsLDLH6grKysLb71SqVS8oUCMtv9+6+npqaysjPEH+NLS0v5vrQVM/kmTJqVS\nqYULF27YsOH111+/6667UqnU0UcfPXLkyGOOOeaOO+546aWXNm3atGDBgokTJx5++OGFmwQA\nYF9QwCN29fX1N95449133/35z3++pKTkoIMO+spXvrL//vtHUTRnzpzFixfPmzcvk8lMmzbt\n+uuvD+yHRQCAva+wL+45+OCD582bt/322traq666qqBXDQCwr/HqSwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBA\nCDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCA\nQAg7AIBACDsAgEAIOwCAQJQXewAA4K36zsrlxR6BKHrvBcWewBE7AIBQCDsAgEAIOwCAQAg7\nAIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBA\nCDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCA\nQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgECUF3sAAOCtWrTflcUe\ngejqYg8QOWIHABCMoXHELpfL5XK5GPfW929I+j6v8D61yHoNNeF9UtZraOn7jML71KJwvw8D\nsMN1KUTD9GMIhF0mk2lvb29ra4t3n/HucDDIZrNRFCWTya6urmLPErNsNhveeuVvnF1dXalU\nqtizxCzI9crfvlKpVE9PT7FniVkmk0kkEsWeImb521d3d3c6nS72LDHLPyaWlJQUexB2YPu7\nvmw229vbG+N6pdPp/N3RzgyBsCsrKxs2bFhjY2NcO8xms4lEIsYdDhLJZDKZTNbV1VVWVhZ7\nlpht3rw5vPVKpVIdHR21tbVVVVXFniVmQa5Xd3d3e3t7TU1NTU1NsWeJWWtr6/DhwwMLhXQ6\n3dbWVlVVVVdXV+xZYtbW1lZfX19WVlbsQdiB7e/68vcb5eWx5VY6nS4t7e91dF5jBwAQCGEH\nABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABCIAf3GvM7Ozn/7t3974IEHVq1a1dLS\nsmXLluHDh48ePXrmzJkf/OAHP/KRj4T3GyABAIacXRyx6+7uvvXWWydMmHDeeef98Ic/zGaz\nhx122Ac/+MHJkydns9kf/vCH55133oQJE2699dbu7u69MzEAADvU3xG7l19++Zxzzlm9evU5\n55xz8cUXn3TSSbW1tVtfIJlMPvroo0uXLv3bv/3bH//4x/fee+8hhxxS2HkBANiJ/o7YzZw5\nc9iwYc8+++w999xz6qmnblN1URTV1taeeuqp99xzz7PPPjts2LCjjz66kKMCANCf/sLus5/9\n7IMPPjh16tRd7mXq1KkPPvjglVdeGd9gAADsnv6eir3xxhv7Pk4mk21tbQcccEAURV1dXffc\nc8+bb7559tlnH3roofkLlJWVffWrXy3orAAA9GNAv+7khRdemDBhwtKlS6Mo6u3tPeGEEy65\n5JJrrrlm5syZq1evLvCEAAAMyIDC7stf/vLYsWPPPffcKIp+8pOf/P73v//Od76zbt26adOm\n3XTTTQWeEACAARlQ2P32t7+99tprJ06cGEXRz372s+nTp1955ZUTJ0787Gc/+5//+Z8FnhAA\ngAEZUNht2bIl/+q6TCbz6KOPnnrqqfnto0eP/vOf/1zA6QAAGLABhd3YsWP/9Kc/RVH08MMP\nt7a2nnLKKfntGzZs2G+//Qo4HQAAAzagPyn2wQ9+8Prrr1+3bt2Pf/zjiRMnnnDCCVEUNTc3\nL1q06LjjjivwhAAADMiAwu7GG2987rnnvva1r40aNepf//Vfy8rKoiiaM2fOK6+88oMf/KDA\nEwIAMCADCrsDDjjgiSeeSCQSNTU1FRUV+Y3XXHPNokWLxo4dW8jxAAAYqP5eY3fppZd2dXX1\nnRw2bFhf1UVR9M53vnPrquvq6rrssssKMSIAAAPRX9g9/PDDs2bNeuyxx3a5l8cee2zWrFnL\nly+PbzAAAHZPf2H35JNP7r///ieddNKJJ5549913b9q0aZsLbNq06e677z7xxBNPOumk/fff\n/8knnyzkqAAA9Ke/19jtt99+v/71r5ctW3bDDTdceumlURSNHTt21KhRw4cPb2tra2lpyf8S\nu0mTJv3gBz+44IILSksH9MtTAAAohF28eaK0tPQv//Ivzz///N/+9rcPPfTQ6tWr33jjjc2b\nNw8bNuyQQw55xzvecfLJJx9//PH598kCAFBEA3pXbFlZ2YknnnjiiScWehoAAPaYJ08BAAIh\n7AAAAiHsAAACIewAAAIh7AAAArEbYZdKpVauXHnfffe1tLREUdTb21uwqQAA2G0DDbtbb711\nzJgx7373uz/60Y+uW7cuiqK5c+decskl8g4AYJAYUNh973vfu+aaa973vvfdeeedfRsnT578\nwx/+cMGCBQWbDQCA3TCgsLv99tubmpp+8YtfXHzxxX0bL7rooi984Qt33XVXwWYDAGA3DCjs\n/vjHP37sYx/bfvtJJ5300ksvxT0SAAB7YkBhN2zYsFQqtf32tra2mpqauEcCAGBPDCjsjjzy\nyG9+85tdXV1bb9y8efP8+fNnzZpVmMEAANg95QO50Je//OWTTz75yCOPPO2006Io+t73vnfn\nnXfed999XV1dW7+dAgCAIhrQEbuTTjrp3//93xsaGhYtWhRF0ZIlS5YuXTplypQHH3zwuOOO\nK/CEAAAMyICO2EVR9IEPfGDVqlXNzc2vvvpqFEUHH3zwiBEjCjkYAAC7Z6Bhl1dTU3PIIYfk\nP96yZUv+g8bGxnhnAgBgDwwo7P70pz/NmTPn0Ucf7ezs3P7cXC4X91QAAOy2AYXdZZddtnr1\n6rPOOuuAAw4oKysr9EwAAOyBAYXdypUrH3jggWOPPbbQ0wAAsMcG9K7Yurq6vpfWAQAwOA0o\n7D75yU8uWbKk0KMAAPBWDOip2Jtuuum00067//77jznmmP3222+bc6+99toCDAYAwO4ZUNh9\n61vfeuihh6Io+t3vfrf9ucIOAGAwGFDYffvb3/7Yxz72uc99bv/99/euWACAwWlAYbd58+Zv\nf/vb48aNK/Q0AADssQG9eeLwww9/4403Cj0KAABvxYDCbuHChVdfffUzzzxT6GkAANhjA3oq\n9ktf+tIrr7wyY8aM+vr67d8V+/LLL8c/FwAAu2lAYVdaWjp58uTJkycXehoAAPbYgMLu8ccf\nL/QcAAC8RQN6jR0AAINff0fspkyZcvHFF1933XVTpkzp52IvvPBC3FMBALDb+gu7xsbGmpqa\n/Ad7ax4AAPZQf2G3YsWKbT4AAGDQGtBr7N75znc+//zz22//53/+58MPPzzukQAA2BMDCrsn\nn3yys7Nzm429vb3PPffc+vXrCzAVAAC7bRe/7qSkpCT/wbve9a4dXmDmzJkxTwQAwB7ZRdg9\n9dRTjz322N/8zd+ceeaZo0aN2vqskpKScePGffrTny7keAAADNQuwm7GjBkzZsz41a9+dcst\nt0yaNGnvzAQAwB4Y0F+euP/++ws9BwAAb9GA3jzR3Nz8qU996m1ve1tZWVnJdgo9IgAAAzGg\nI3Z/9Vd/dd9995144ol/8Rd/UV4+oP8CAMBeNqBKe/jhh++9994zzzyz0NMAALDHBvRUbFdX\n17HHHlvoUQAAeCsGFHZHH330c889V+hRAAB4KwYUdgsWLPjiF7/4xBNPFHoaAAD22IBeY/c3\nf/M3r7322rHHHltbWzt69Ohtzn355ZfjnwsAgN00oLArLS097LDDDjvssN3d++bNm5csWfL0\n00/39PQceuihl1xySX4nHR0dixcvfuaZZ9Lp9OTJk5uamsaMGbPbswMAsJUBhd3jjz++Z3v/\n6le/WllZecMNN9TU1Cxbtmz+/Pl33XVXdXX1woULOzo65s6dW1VVld/+7W9/u7R0QM8LAwCw\nQwVsqfb29tGjR3/2s5899NBDDzjggIsuuiiRSGzYsKGlpWXlypVXXHHFhAkTxo0b19TUtGnT\npjVr1hRuEgCAfcGAjtiNGjVqZ2f19PQkEokdntXQ0HDdddf1nXzzzTdLS0tHjRr1wgsvVFRU\nTJgwIb+9vr5+/Pjxa9eunTFjxu5MDgDA/zGgsDv++OO32fLaa6+tWbNm4sSJJ5544kD20N7e\nftttt5111lkjRoxIJBINDQ1b/y2y4cOHt7W19Z384x//eO+99/ad7OrqSiaTHR0dA7migcjl\nctlsNsYdDhK9vb1RFHV1dfX09BR7lpjlcrnw1iuTyURRlEql0ul0sWeJWcDr1d3dnf8gJNls\ntrOzs9hTxCybzUZR1NPTk8vlij1LzDKZTDKZ9Pc8B6ft7/p6e3uTyWSMLzZLp9P9f1cPKOx+\n/vOfb7/x9ddf/8QnPvHhD394l/9948aNN95441FHHXXxxRfnt/T/Hblp06af/exnfScnTpzY\n3d2dSqUGMurAxb7DQSKdTocXCpH1GmpCXa/e3t78T1CBCXW9MplMeCEeRVF3d3exR2DHdnhT\nivebMJ6w26H999//1ltvbWpqOu200/q52NNPP/2Nb3zj/PPP/8hHPpLf0tjYmEgkcrlcX961\ntbWNGDGi77+8853v/MEPftB38tZbbx02bFhjY+Mej7qN/I+nDQ0Nce1wkEilUqlUqq6urqKi\notizxCyRSAwbNqzYU8Ssp6cnmUzW1tZWVlYWe5aYBbxeNTU1VVVVxZ4lZts/ixKA3t7ejo6O\nqqqqmpqaYs8Ss46OjtraWm83HJy2b5VkMllVVVVWVhbXVaTT6f5Xf8/DLoqi8ePH/+EPf+jn\nAn/4wx++/vWvf/7znz/66KP7Nk6aNCmdTq9fv/7tb397FEX5d1RMnTq17wINDQ1bnywrKysr\nKysvf0ujbi2bzZaUlMS4w0Eiv9Lxfq0Gj/A+qfyBH+s1VOR/5i4tLQ3vU8vfHwYWdvlDGqGu\nV/5hsdiDsAPbf7/l1yvG78Ndvrpgz5M/l8stWbJkv/3229kFenp6Fi5ceMYZZxx88MEt/yOV\nSo0cOfKYY4654447XnrppU2bNi1YsGDixImHH374Hk8CAEA0wCN2Rx111DZbMpnM66+/3tLS\ncs011+zsfz3//POvv/76smXLli1b1rdx9uzZp5122pw5cxYvXjxv3rxMJjNt2rTrr78+sB8W\nAQD2vj08NlhRUXHkkUeeeeaZTU1NO7vMjBkz/uVf/mWHZ9XW1l511VV7dtUAAOzQgMLuqaee\nKvQcAAC8RW/1bTUvv/xyHGMAAPBW7SLsHn/88Q996EOTJk360Ic+9Otf/3rrs7q7u//+7//e\nmx4AAAaJ/sJuxYoVJ5988oMPPtjT0/PII4+cdtppP/3pT/NnPfDAA0ccccT1119/0EEH7ZU5\nAQDYhf7C7mtf+1ptbe3q1atfeeWVjRs3Hn300XPnzt24ceO55577oQ996I033liwYMGaNWv2\n2qwAAPSjvzdPPP3005/61KdmzJgRRdGYMWNuvPHGD3/4w/lfL3zllVfOnz9/1KhRe2tOAAB2\nob+w27hx42GHHdZ3Mv/XIN7znvfcfvvt06dPL/hoAADsjv6eiu3t7d36r1jm//QlEucAACAA\nSURBVELitddeq+oAAAYhf0UYACAQwg4AIBC7+MsTf/rTn1asWJH/ePPmzVEUvfDCC42NjVtf\nZtasWQUaDgCAgdtF2N18880333zz1ls+97nPbXOZXC4X81AAAOy+/sJu7ty5e20OAADeov7C\nbt68eXtrDAAA3ipvngAACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAhEebEHAGAwmv2bZcUeYV/3\n3fdeUOwRGHocsQMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAI\nhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAhEebEH2LVcLpfJZHp7e+PaYTabzeVyMe5wkMhms1EUxfu1GjzC+6Ss19CS\nyWSiKMpms+F9avn7w5KSkmIPwrZ2+M2Wf0zM5XJ7fx52afsly69XQa9iG0Mg7LLZbCqV6urq\nimuHuVwum83GuMNBIv+t09PTE94DT8DrlU6n473NDwa5XC7g9coXeUhyuVwqlSr2FOzADm9H\n+cdEIT44bb9kmUymu7s7xvXa5b3QEAi7srKyurq6hoaGuHaYzWYTiUSMOxwkkslkb29vTU1N\nZWVlsWeJWTqdDm+9UqlUR0dHdXV1VVVVsWeJ2ebNm8Nbr+7u7vb29qqqqpqammLPErPW1tb6\n+nqhMAjt8HbU1tZWV1dXVla29+dhl7Zfsvb29pqamvLy2HIrnU6Xlvb3OjqvsQMACISwAwAI\nhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAhEebEHAADeqguaU8UegUHBETsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7\nAIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBA\nlBd7AAAGo++sXF7sEfZ5772g2BMw9DhiBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhh\nBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAI\nYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQ\nCGEHABAIYQcAEAhhBwAQiPJCX8GmTZsWLFiwbt26n//8530bOzo6Fi9e/Mwzz6TT6cmTJzc1\nNY0ZM6bQkwAAhK2wYfeb3/zmrrvuesc73rFu3bqtty9cuLCjo2Pu3LlVVVXLli2bP3/+t7/9\n7dJShw8BBotF+11Z7BH2dVcXewCGosK2VDqd/uY3vzlr1qytN7a0tKxcufKKK66YMGHCuHHj\nmpqaNm3atGbNmoJOAgAQvMKG3fvf//7Ro0dvs/HFF1+sqKiYMGFC/mR9ff348ePXrl1b0EkA\nAIJX8NfYbS+RSDQ0NJSUlPRtGT58eFtbW9/Jp59++rvf/W7fyY6Ojvb29q0v8BblcrlMJhPj\nDgeJbDYbRVFnZ2dXV1exZ4lZNpsNdb26urpSqVSxZ4lZwOuVSqV6enqKPUvMMplMIpEo9hTs\nwA5vR729ve3t7Vs/hjJ4bL9kmUwmk8nEuF7pdDp/d7QzRQi7KIr6/ww3b978X//1X30nJ06c\n2Nvbm06n450h9h0OEvnvoWJPEb9Q16u3t7fYIxREqOvl9sXetLN1CfV+IwA7XLL+OyyWq9ha\nEcKusbExkUjkcrm+vGtraxsxYkTfBd73vvf9/ve/7zs5e/bsESNGjBo1Kq4BstlsIpFobGyM\na4eDRDKZTCaTw4YNq6ysLPYsMdu8efPIkSOLPUXMUqlUR0dHQ0NDVVVVsWeJWZDr1d3d3d7e\nXldXV1NTU+xZYtba2trY2Lijn7df3vvDsLUdPvC1tbXV19eXlZVts/31vTIS/dt+ydrb22tq\nasrLY8utdDrd/5tNi/BG1EmTJqXT6fXr1+dPJhKJDRs2TJ06de9PAgAQksKGXWtra0tLS3t7\nexRFLS0tLS0tqVRq5MiRxxxzzB133PHSSy/lf8vdxIkTDz/88IJOAgAQvMI+FfuFL3yhubk5\n//Gll14aRdHll19+xhlnzJkzZ/HixfPmzctkMtOmTbv++uu9DhQA4C0qbNjdddddO9xeW1t7\n1VVXFfSqAQD2Nf7YAwBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0AQCCEHQBAIIQdAEAghB0A\nQCAK+5cnAPrM/s2yYo+wr/vuey8o9ghAYTliBwAQCGEHABAIT8UCwJD3yBmLij0C0fnR8cUe\nwRE7AIBQCDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsA\ngEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7\nAIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBAlBd7AAAGowuaU8UeAdht\njtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEA\nBELYAQAEorzYAwD7iu+sXF7sEfZ5772g2BMAheWIHQBAIIQdAEAghB0AQCCEHQBAILx5giFs\n9m+WFXuEfd13vRgfYDBxxA4AIBDCDgAgEMIOACAQQ+A1dtlstru7O5VKxbXDXC6XzWZj3OEg\n0dvbG0VRT09PNpst9iwxy+Vy4a1XGHa4Ljtbr4rCz0P/+lmvkpKSvT8P/dvheuUfE0tLHZcZ\njLZfskwm09PTk3+AjkU6nc7lcv1cYAiEXRRF2Ww2k8nEtbf8VyTGHQ4S+c8r3q/V4BHkJxWA\nna3LDrcLu6Lb4brkf9bd+8OwSztbr0wm0/9DO8Wy/ZLFvl67fDQcAmFXWlpaU1NTV1cX1w6z\n2Wxvb2+MOxwkkslkOp2urq6urKws9iwx6+7uDm+9wrDDddnZemnzotvhuvT09NTW1m5/xK59\nr4xEP3a4Xr29vbW1tWVlZXt/HnZp+yXLZrM1NTXl5bHlVjqd7v/4umO5AACBEHYAAIEQdgAA\ngRB2AACBEHYAAIEYAu+KBWDve+SMRcUeYV93fnR8sUdg6HHEDgAgEMIOACAQwg4AIBDCDgAg\nEMIOACAQwg4AIBDCDgAgEMIOACAQfkExsJcs2u/KYo+wr7u62AMAheaIHQBAIIQdAEAghB0A\n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\nvvPOO08++eTvfe97yWQysmSDUi6Xmz9//ogRIxYvXrx06dLp06fPmzevvb09sl6DyW9+85sv\nfelL48eP32b7ztbI2u2hHENQIpG46aab/vu//zt/srm5+fTTT//jH//4xhtvnHHGGevXr89v\nb29vP+uss5566qniTcr/cfPNN3//+9//5Cc/+cQTT+RyOes1mH36059evnz5Nhst2eC0ZcuW\n008//fnnn8+f3Lx58+mnn7527VrrNagsX768ubn5iSeeOPPMM/s27myNrN0ec8RuSGpoaLju\nuuv6/sbom2++WVpaOmrUqBdffLGiomLChAn57fX19ePHj1+7dm3xJuV/PfHEE+vXr7/gggv6\ntlivQevNN998/fXXoyiaM2fOueeee80117zwwguRJRushg8fPmXKlPvvv7+9vT2VSt1///1j\nx4495JBDrNeg8v73v3/7P2W+szWydntM2A157e3tt91221lnnTVixIhEItHQ0LD1HxsePnx4\nW1tbEccjr6Oj48477/zsZz9bXV3dt9F6DVpvvvlmFEUPPfTQ3/7t3y5ZsmTy5Mk33HBDW1ub\nJRu0rr322nXr1l144YUf//jH77///muvvbaystJ6DX47WyNrt8eE3dC2cePGa665Zvr06Rdf\nfHF+y9Y3AwaP73//+zNnzjzqqKO22W69BrNPfOIT48ePb2houPTSS0tKSn7/+99HlmxQ6u3t\nnT9//pQpU37wgx/85Cc/Of300+fOndva2hpZr6FgZ2tk7faMsBvCnn766S9+8Yunn376lVde\nmb8BNDY2JhKJ3FZ/TaStrW3EiBHFm5EoiqKnnnpq1apVl1566TbbrdegNXLkyCiK6urq8ifL\nyspGjhzZ2tpqyQanNWvWvPTSS5dffvnw4cNra2vPOeecqqqq3/72t9Zr8NvZGlm7PSbshqo/\n/OEPX//616+++uqPfOQjfRsnTZqUTqfXr1+fP5lIJDZs2DB16tQizcj/9+CDD3Z2djY1NV14\n4YUXXnhhW1vbggULbr75Zus1aI0cOXLEiBH519VFUdTT0/PGG2+MHTvWkg1O+deMb/2Wyd7e\n3shd4lCwszWydnusbN68ecWegd3W09Pzd3/3d6eccsrMmTOT/6O0tLShoeGVV1555JFHJk+e\nnEwmv/Od79TV1V144YUOaBfXkUce+eGtPProo5dccsnZZ5/d2NhovQankpKSTCZz7733Hnro\noeXl5f/4j//Y3Nw8e/ZsN7HBafjw4fl3XOZ/d90vfvGLVatWXX755WPGjLFeg0dra2tnZ+cr\nr7yycuXKk08+uf+HrdraWmu3Z0q2Ps7JUPH0009/5Stf2Wbj7NmzTzvttGQyuXjx4tWrV2cy\nmWnTpjU1NTl2PdhcdNFFn/nMZ/K/oNh6DVrZbPaHP/zhQw891NHRMXny5M985jP596FbssHp\nlVdeWbp06R//+MdMJnPQQQf95V/+5RFHHBFZr8Hk8ssvb25u3mbLGWecsbM1snZ7RtgBAATC\na+wAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7IDdM2/evJKSkjFjxqTT6e3P\nvfzyy0tKSo4//vg92/l5551XX18/kEsef/zxU6ZM2dm5LS0tN91009FHHz1q1KiKiooxY8ac\ncsop//7v/953gVmzZvXz39+KN99885BDDrnsssv6tvzsZz/7+Mc/nv/4jTfeGDduXCGudxsD\n/0ruzPXXX7/ffvu9/PLLMU0E7A3lxR4AGHpKS0s3b978y1/+8qyzztp6e1dX109/+tOKiopi\nDZa3efPmd73rXc3NzZdeeunVV19dVla2fv36JUuWnHrqqT/60Y/OO++8KIrOO++8rq6u2K86\nm81ecMEFw4cPv/322/s2rlq16h3veMf2Hw9yN9xww3/8x3+cc845v/vd76qqqoo9DjAgwg7Y\nbaWlpe9+97vvvvvubcLuvvvu6+rqmjFjRrEGy1u6dOnLL7/8k5/85BOf+ETfxs985jNHHHHE\ntdde+/GPf7y0tPSqq64qxFUvW7bsgQceePTRR2tqavo2Pvnkk31Xt2rVqpkzZxbiqmNXVlZ2\nxx13TJ8+/fbbb//85z9f7HGAAfFULLDbent7P/KRj/zqV7/685//vPX2pUuXvu9979vm6M6v\nf/3rE044oaGhoaamZvr06d/61rf6/pJhLpebP3/+gQceWF1dfcQRR9x7773bXNFjjz32F3/x\nF8OGDautrZ05c+aSJUsGMt5rr70WRdHRRx+99cYRI0asWLHi+eefLy0tjbZ6Kvb3v/99yY48\n++yzuztDJpO58cYbTzjhhBNPPHHr7VvHXD9hd8IJJ7z3ve9dvXr1Bz7wgWHDho0ZM+b888/f\n+m9rFugr+dprr336058++OCDq6ur999//4997GMvvPBC/qypU6eec8453/jGNzo7O3f2WQOD\nSw5gd8ydOzeKohdffLG0tPSb3/xm3/aNGzeWlpYuWbJk1qxZxx13XH7jfffdV1JScsopp/z8\n5z9/6KGHrr766iiKvvCFL+TP/frXvx5F0YUXXvjggw/ec88906dPnzx5cl1dXf7chx56qKys\n7IQTTvjXf/3XBx54oKmpKYqivms87rjjJk+evMMJf/zjH0dRdPbZZ7e2tu7ss3jPe96T/++J\nROLBrfzbv/3b6NGjx48fv2XLll3OsI3HHnssiqIlS5bkT95yyy1VVVX5zK36HyUlJfkPNm7c\nuM1//8AHPnDggQe+613vevDBB//85z/fe++9ZWVlF198caG/krNmzdp///3vuuuuhx9++Ec/\n+tERRxwxZsyYzs7O/Lm//OUvoyi65557dvaVBAYVYQfsnnzYdXV1nXzyydOmTevb/rWvfa2m\npiaRSLznPe/pC7spU6YcdNBB3d3dfRc766yzKioqWlpastnsuHHjpk+f3nfWq6++WlFR0Zcj\n73jHO97+9rf3FUYulzvjjDMaGhq6urpy/YZdJpPJv1mhqqrq1FNP/frXv75ixYpMJrP1ZfrC\nbhuXXHJJVVXVf/7nfw5khm185StfiaJom2K79957P/rRj+Y/fv3118eNG7fDmXO53Ac+8IEo\nin77299uvaXv8gX6Sra1tUVRdO211/adtW7duptuumnTpk35k52dnZWVlZdddtnOxgYGFU/F\nAnvoU5/61HPPPbdy5cr8yaVLl5511lkNDQ19F3j11VdfeOGFU089tbKysm/j6aefnk6nV6xY\nsWHDhldfffX9739/31kHHHDAO9/5zvzHzc3Nq1evPu2000pLS1P/49RTT21vb1+zZk3/g5WW\nlt5zzz3333//xz72saeeeuqLX/zirFmzxo4de9111yWTyX7+4z/8wz/cfffdt99++7vf/e49\nmGHVqlVjx45929vetvXG3/3ud33vEf7d73537LHH9jNAbW3tcccd13dy/Pjxr7/+elTIr2RN\nTc1+++334x//ePny5dlsNoqiiRMnXnfddX1v3a2trZ0yZcqTTz7Zz9jA4CHsgD109tlnNzQ0\n3H333VEUrVy58vnnn7/ooou2vsCmTZuiKNomdA444IAoil599dV8sowePXrrc/t64tVXX42i\naNGiRTVbyT+HuHHjxoGM96EPfehHP/rRpk2b1q9f/73/1979hTT1hnEAf8/cVmgtk2mWy2SG\nKDSdXoRRJqibeBUTjVRwYHPQTJQupCBL8aaUEjJQDBd60XD+6Q8yxxj0x+FuTPOi8A+uixQm\nHkq80NTN87s4dDicwtxKzP2+n6tz3vOe7fG9kIfnPefZkycpKSn37t3Ly8tj05efud3u2tpa\no9FoMBiCi2FpaUkulwsGXS4Xl6u5XK7tEzvBaojFYjba3VtJiUTy8uVLkUiUl5cXExNTVFT0\n7Nkzn8/H/yi5XE7T9DZhA8C/A2/FAkCQwsPDi4uLLRbLw4cPu7u7jx8/rtFo+BMoiiKECBIp\nhmEIISKRiPnx4D+f3+/nn1ZUVFRWVgrmnD59OqA4lUqlUqm8evWqwWAwm80ul+vixYuCOV6v\nt6ioKD09va2tTXBp5zGsrKxERUVxpwqFgqbp9fV17us2NjYkEsmtW7dKS0t3+CIIa1dX8vz5\n87Ozs2/fvh0eHrbZbGVlZa2tre/eveNe7I2MjFxeXt55tACwh5DYAUDw9Hq92Wx2OBy9vb16\nvT4sLIx/VaFQkB/VJg57qlAo2AoTW23icO1w4+PjCSF+vz8zMzOgkNbX1/v7+yMiIgStWCiK\nys7ONpvNX758Edyyubl5+fJlv98/MDDA3+sMNAaZTMY+ssaan593u911dXUjIyOEEJ/Pd/To\nUZqmg+gJt9srGRYWlpOTk5OT09LS0t7ebjKZrFarXq9nry4vLx85ciTQmAFgT2ArFgCCl5WV\npVQqm5qaaJoW7MMSQmJjY8+cOTM0NPT9+3ducHBwMDw8/Ny5cwkJCXK53G63c4WomZmZyclJ\n9jgqKurs2bMvXrzg14p6enpu374t2CgUkEqljY2NRqPR4/Hwx/1+f19fHyEkNTVVcMuNGzfc\nbrfVahXsdQYaQ3R0tGDL8sOHD2q1mj3+9OlTYmJicJ1+d28l379/f+XKFX5TFa1WSwhZWlri\nRmiaFuzzAsA/C4kdAASPoqjy8vKxsbG0tLSfEyZCyP37971e76VLl169emW3200mk91ur6+v\nl8lkIpHo2rVrc3NzxcXFg4ODHR0dWq2W3+Otubl5dXU1Ozu7p6fH4XDU19cbDIaFhQWxeLut\nBoqiOjs719bW1Gq10Wh89OhRV1dXU1NTRkbG0NBQdXW1SqXiz7darY8fU3tKhgAAAfpJREFU\nPy4sLNzY2HDysHlhQDGo1erFxUV+XY2f2E1MTPxJa+JdWsm4uDibzabRaMxms9Pp7O3tLS8v\nl8lkOp2OvXd1dXV6enq//FoGAKDdCQAEhmt3wp56PB6Koh48eMBN4Lc7YRjG4XBcuHAhIiLi\nwIED6enpXJs3hmF8Pt/NmzdjY2OlUqlKpXr+/Pn169elUik3YWRkRKPRHD58WCKRJCUlNTc3\nb25uspe2aXfCMMzHjx8rKirYCplYLD527FhBQUF/fz8/SPb2mpqaX/5vvHv37m9jEHj9+jUh\n5OnTp/xvGRsbY49ramra2tq2Wdjc3NxTp07xR9gfnN3tlZycnNTpdDExMRKJ5MSJEzqdbnx8\nnLvRZrMRQiwWyzaRA8C/g2J+9dQtAAAEyufzJScnnzx5ks3wQkNJSYnT6fz8+fOhQ4f2OhYA\n+D1sxQIA/B1isfjOnTtv3rxh35YIAVNTU1arta6uDlkdwH6Bih0AwF+ztbWVn59P07Tb7T54\n8OBeh/NHtra2tFrt169fR0dH9/vfAvD/gYodAMBfIxKJLBbLt2/fqqqq9jqWP9XQ0DA+Pj4w\nMICsDmAfQcUOAAAAIESgYgcAAAAQIpDYAQAAAIQIJHYAAAAAIQKJHQAAAECIQGIHAAAAECKQ\n2AEAAACECCR2AAAAACHiP6WXkP19M9alAAAAAElFTkSuQmCC", | ||
673 | "text/plain": [ | ||
674 | "plot without title" | ||
675 | ] | ||
676 | }, | ||
677 | "metadata": { | ||
678 | "image/png": { | ||
679 | "height": 420, | ||
680 | "width": 420 | ||
681 | }, | ||
682 | "text/plain": { | ||
683 | "height": 420, | ||
684 | "width": 420 | ||
685 | } | ||
686 | }, | ||
687 | "output_type": "display_data" | ||
688 | } | ||
689 | ], | ||
690 | "source": [ | ||
691 | "SatelliteRQ2Raw <- rbind(\n", | ||
692 | " Load10Log(\"measurements/stats/Satellite//size020to-1r10n10rt3600stats.csv\", 20),\n", | ||
693 | " Load10Log(\"measurements/stats/Satellite//size040to-1r10n10rt3600stats.csv\", 40),\n", | ||
694 | " Load10Log(\"measurements/stats/Satellite//size060to-1r10n10rt3600stats.csv\", 60),\n", | ||
695 | " Load10Log(\"measurements/stats/Satellite//size080to-1r10n10rt3600stats.csv\", 80),\n", | ||
696 | " Load10Log(\"measurements/stats/Satellite//size100to-1r10n10rt3600stats.csv\", 100)\n", | ||
697 | ")\n", | ||
698 | "SatelliteRQ2 <- SatelliteRQ2Raw%>% ProcessRQ2\n", | ||
699 | "SatelliteRQ2\n", | ||
700 | "median(SatelliteRQ2Raw$preprocessingTime) / 1000.0\n", | ||
701 | "SatelliteRQ2 %>% RQ2Plot('Satellite')" | ||
702 | ] | ||
703 | }, | ||
704 | { | ||
705 | "cell_type": "markdown", | ||
706 | "metadata": {}, | ||
707 | "source": [ | ||
708 | "### Tax domain" | ||
709 | ] | ||
710 | }, | ||
711 | { | ||
712 | "cell_type": "code", | ||
713 | "execution_count": 50, | ||
714 | "metadata": {}, | ||
715 | "outputs": [ | ||
716 | { | ||
717 | "name": "stderr", | ||
718 | "output_type": "stream", | ||
719 | "text": [ | ||
720 | "Warning message:\n", | ||
721 | "“`cols` is now required when using unnest().\n", | ||
722 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
723 | "Warning message:\n", | ||
724 | "“`cols` is now required when using unnest().\n", | ||
725 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
726 | "Warning message:\n", | ||
727 | "“`cols` is now required when using unnest().\n", | ||
728 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
729 | "Warning message:\n", | ||
730 | "“`cols` is now required when using unnest().\n", | ||
731 | "Please use `cols = c(Solution1DetailedStatistics)`”\n", | ||
732 | "Warning message:\n", | ||
733 | "“`cols` is now required when using unnest().\n", | ||
734 | "Please use `cols = c(Solution1DetailedStatistics)`”\n" | ||
735 | ] | ||
736 | }, | ||
737 | { | ||
738 | "data": { | ||
739 | "text/html": [ | ||
740 | "<table>\n", | ||
741 | "<caption>A tibble: 5 × 7</caption>\n", | ||
742 | "<thead>\n", | ||
743 | "\t<tr><th scope=col>n</th><th scope=col>preprocessingTime</th><th scope=col>StateCoderTime</th><th scope=col>ForwardTime</th><th scope=col>BacktrackingTime</th><th scope=col>NumericalSolverSumTime</th><th scope=col>additionalTime</th></tr>\n", | ||
744 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
745 | "</thead>\n", | ||
746 | "<tbody>\n", | ||
747 | "\t<tr><td> 20</td><td>156.6110</td><td>0.0390</td><td>1.9825</td><td>2.3225</td><td>1.5325</td><td>1.9990</td></tr>\n", | ||
748 | "\t<tr><td> 40</td><td>145.8325</td><td>0.1520</td><td>3.0100</td><td>2.7595</td><td>2.7345</td><td>2.4120</td></tr>\n", | ||
749 | "\t<tr><td> 60</td><td>156.0370</td><td>0.3870</td><td>4.4595</td><td>3.4015</td><td>4.1200</td><td>3.2555</td></tr>\n", | ||
750 | "\t<tr><td> 80</td><td>148.0285</td><td>0.6785</td><td>6.2100</td><td>3.8615</td><td>5.6045</td><td>4.9620</td></tr>\n", | ||
751 | "\t<tr><td>100</td><td>142.0205</td><td>0.8895</td><td>6.4795</td><td>3.8965</td><td>6.3855</td><td>5.2630</td></tr>\n", | ||
752 | "</tbody>\n", | ||
753 | "</table>\n" | ||
754 | ], | ||
755 | "text/latex": [ | ||
756 | "A tibble: 5 × 7\n", | ||
757 | "\\begin{tabular}{lllllll}\n", | ||
758 | " n & preprocessingTime & StateCoderTime & ForwardTime & BacktrackingTime & NumericalSolverSumTime & additionalTime\\\\\n", | ||
759 | " <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl> & <dbl>\\\\\n", | ||
760 | "\\hline\n", | ||
761 | "\t 20 & 156.6110 & 0.0390 & 1.9825 & 2.3225 & 1.5325 & 1.9990\\\\\n", | ||
762 | "\t 40 & 145.8325 & 0.1520 & 3.0100 & 2.7595 & 2.7345 & 2.4120\\\\\n", | ||
763 | "\t 60 & 156.0370 & 0.3870 & 4.4595 & 3.4015 & 4.1200 & 3.2555\\\\\n", | ||
764 | "\t 80 & 148.0285 & 0.6785 & 6.2100 & 3.8615 & 5.6045 & 4.9620\\\\\n", | ||
765 | "\t 100 & 142.0205 & 0.8895 & 6.4795 & 3.8965 & 6.3855 & 5.2630\\\\\n", | ||
766 | "\\end{tabular}\n" | ||
767 | ], | ||
768 | "text/markdown": [ | ||
769 | "\n", | ||
770 | "A tibble: 5 × 7\n", | ||
771 | "\n", | ||
772 | "| n <dbl> | preprocessingTime <dbl> | StateCoderTime <dbl> | ForwardTime <dbl> | BacktrackingTime <dbl> | NumericalSolverSumTime <dbl> | additionalTime <dbl> |\n", | ||
773 | "|---|---|---|---|---|---|---|\n", | ||
774 | "| 20 | 156.6110 | 0.0390 | 1.9825 | 2.3225 | 1.5325 | 1.9990 |\n", | ||
775 | "| 40 | 145.8325 | 0.1520 | 3.0100 | 2.7595 | 2.7345 | 2.4120 |\n", | ||
776 | "| 60 | 156.0370 | 0.3870 | 4.4595 | 3.4015 | 4.1200 | 3.2555 |\n", | ||
777 | "| 80 | 148.0285 | 0.6785 | 6.2100 | 3.8615 | 5.6045 | 4.9620 |\n", | ||
778 | "| 100 | 142.0205 | 0.8895 | 6.4795 | 3.8965 | 6.3855 | 5.2630 |\n", | ||
779 | "\n" | ||
780 | ], | ||
781 | "text/plain": [ | ||
782 | " n preprocessingTime StateCoderTime ForwardTime BacktrackingTime\n", | ||
783 | "1 20 156.6110 0.0390 1.9825 2.3225 \n", | ||
784 | "2 40 145.8325 0.1520 3.0100 2.7595 \n", | ||
785 | "3 60 156.0370 0.3870 4.4595 3.4015 \n", | ||
786 | "4 80 148.0285 0.6785 6.2100 3.8615 \n", | ||
787 | "5 100 142.0205 0.8895 6.4795 3.8965 \n", | ||
788 | " NumericalSolverSumTime additionalTime\n", | ||
789 | "1 1.5325 1.9990 \n", | ||
790 | "2 2.7345 2.4120 \n", | ||
791 | "3 4.1200 3.2555 \n", | ||
792 | "4 5.6045 4.9620 \n", | ||
793 | "5 6.3855 5.2630 " | ||
794 | ] | ||
795 | }, | ||
796 | "metadata": {}, | ||
797 | "output_type": "display_data" | ||
798 | }, | ||
799 | { | ||
800 | "data": { | ||
801 | "text/html": [ | ||
802 | "150.1755" | ||
803 | ], | ||
804 | "text/latex": [ | ||
805 | "150.1755" | ||
806 | ], | ||
807 | "text/markdown": [ | ||
808 | "150.1755" | ||
809 | ], | ||
810 | "text/plain": [ | ||
811 | "[1] 150.1755" | ||
812 | ] | ||
813 | }, | ||
814 | "metadata": {}, | ||
815 | "output_type": "display_data" | ||
816 | }, | ||
817 | { | ||
818 | "data": { | ||
819 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAACXBIWXMAABJ0AAASdAHeZh94\nAAAgAElEQVR4nOzdeXzcdZ348e9MruZq0tILqEJboRQKFVAsNyIogiAqKhSlckgL7rLIAoKy\nW2hd0EUtyCFWLBYRRFFgvZBDTi0+KpRTQFqh0iKm6ZH7mOv3x/zMZps0TcNMZ/Lp8/kHj8w3\nw8w7eTfJK9+ZJLFMJhMBADD8xQs9AAAAuSHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAA\nAiHsAAACUVroAbbsK1/5ygsvvJDb20yn0/F4aFGbyWQymUwsFovFYoWeJcfsa3ixr+HFvoaX\nIPcVRVE6nQ51Xzl/u8aPH79o0aLNvXYYhF1jY+P111//jne8I1c3mE6nm5ub6+vrc3WDRaK9\nvb29vX3kyJHl5eWFniXH1q9fP3r06EJPkWOdnZ2tra21tbUVFRWFniXHgtxXV1dXS0tLdXV1\nZWVloWfJsQ0bNtTX1wf2BTWRSDQ1NVVWVlZXVxd6lhxramqqqakpKSkp9CC5lEqlNmzYMGLE\niJqamkLPkmMtLS2VlZWlpTnLrUQicdJJJw1whQCrHwBg+yTsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAA\nAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewA\nAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAlFa6AEAgLdrzuO3F3oEou8e\nOqvQIzhjBwAQCmEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQ\niOHxJ8UymUwmk8nhrfX8NyQ9b1d4b1pkX8NNeG+UfQ0vPW9ReG9aFO6/wwD0u5d8NMwAhkHY\npVKplpaWpqam3N5mbm+wGKTT6SiK2tvbOzo6Cj1LjqXT6fD2lf3g7Ojo6OzsLPQsORbkvrIf\nX52dnd3d3YWeJcdSqVRzc3Ohp8ix7MdXV1dXIpEo9Cw5lv2aGIvFCj0I/ej7qS+dTieTyRzu\nK5FIZD8dbc4wCLuSkpKRI0fW19fn6gbT6XRzc3MOb7BItLe3t7e3V1dXl5eXF3qWHFu/fn14\n++rs7Gxtba2qqqqoqCj0LDkW5L66urpaWloqKysrKysLPUuObdiwoa6uLrBQSCQSTU1NFRUV\n1dXVhZ4lx5qammpqakpKSgo9CP3o+6kv+3mjtDRnuZVIJOLxgZ5H5zl2AACBEHYAAIEQdgAA\ngRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYA\nAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2\nAACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEo\nLfQAABSjOY/fXugRtnffPXRWoUdg+HHGDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDC\nDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQ\nwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAg\nEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQpXm99fXr1y9evPjZZ5/t7u6e\nPHny6aefvvvuu0dR1NraumjRoueeey6RSEydOnXu3Lnjxo3L6yQAAMHL7xm7r371q42NjVdc\nccU111wzZsyY+fPnd3Z2RlF0zTXXNDQ0zJs37+qrr66qqpo/f346nc7rJAAAwctj2LW0tIwd\nO/YLX/jC5MmTd9xxx9NOO625ufmNN95obGxctmzZ2WefPWnSpJ122mnu3Llr1qx5/vnn8zcJ\nAMD2II8PxdbW1l566aU9F9etWxePx8eMGfPyyy+XlZVNmjQpe7ympmbixImvvPLKjBkzskfW\nr1+/YsWKnv8xkUgkk8lEIpGrwTKZTCaTyeENFonsWc9kMhmLxQo9S+6Ft69UKpX9b3hvWmRf\nw00ikQjy88Zw1+8/tkwmk0wmPcxVnPquLJ1OJ5PJTCaTw7sY+Nby+xy7Hi0tLdddd92JJ544\natSo5ubm2tra3p9E6urqmpqaei4+++yzF110Uc/FKVOmtLS09L5CTuT8BotEe3t7oUfIC/sa\nXkLdV2dnZ/b5JIFpbm4u9Aj0Y3MfRy0tLdt4Egap35Xl9rvBogi71atXL1iw4N3vfvfs2bOz\nRwb+1nCXXXbpuWYURX/6059GjBhRWVmZq3kymUx3d3dFRUWubrBIZM9rlpeXl5SUFHqWHOvs\n7BwxYkShp8ixVCrV3d1tX8NFdl9lZWWlpdvo++FtJsh9haHfL3xdXV3l5eXOsBanvivr7u4u\nLS2Nx3P2zLfS0tKBt5/3z1DPPvvsf//3f59yyikf+chHskfq6+ubm5szmUzPZE1NTaNGjer5\nXyZPnvyv//qvPRfnzJlTWVlZXV2dq5Gy50VzeINFor29PZFIjBgxory8vNCz5FhXV1d4++rs\n7Mx+gxHe9xhB7qurqysb4jn8JrNIdHd3V1VVCYUi1O/HUTKZrKysDO8bwjD0XVk6na6srMzh\nN4RbfOJEfn8q9s9//vPXv/71Cy64oKfqoijabbfdEonEypUrsxezP1Exbdq0vE4CABC8PIZd\nd3f3Nddcc8IJJ+yyyy6N/9TZ2Tl69OgDDzzwhhtueO2119asWbNw4cIpU6bsueee+ZsEAGB7\nkMeHYl966aW33nrr9ttvv/3223sOzpkz57jjjjvvvPMWLVp0+eWXp1Kpvfba67LLLvMoAADA\n25THsJsxY8b//M//9Puqqqqq888/P393DQCwHfK3YgEAAiHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAA\nAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewA\nAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHs\nAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh\n7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAJRWugBAIC368ZlDxV6BKLo0FmF\nnsAZOwCAUAg7AIBACDsAgEAMg+fYpdPpjo6Otra2XN1gJpNJp9M5vMEikUwmoyjq7OxMJBKF\nniXHMplMePtKpVJRFHV1dWUXF5KA99Xd3Z1Opws9S46l0+n29vZCT0E/+v04SqVS7e3t8fim\n52VGbJORGFjflSWTyY6Ojr77GrJEIpHJZAa4wjAIuyiK4vF4SUlJrm4t+x7J4Q0WiewXnty+\nr4pHeG9Utg/sa7jIft4Icl+xWCwej8disUIPwqb6/ccWi8VKSkpyGArkUN+V5XxfW/zechiE\nXTwer6ioGDEiZ9+NpNPprq6uHN5gkUin093d3eXl5eXl5YWeJcfa29vD21cURV1dXWVlZRUV\nFYUeJMeC3FdXV1dnZ2dpaWl4b1pHR8eIESOEXRHq9x9bV1dXRUVF34BIbZORGFjflSUSifLy\n8tLSnOVWSUnJwB+tkh8AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIO\nACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDC\nDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQ\nwg4AIBDCDgAgEMIOACAQpYUeAIBidOOyhwo9wnbv0FmFnoDhxxk7AIBACDsAgEAIOwCAQAg7\nAIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAI\nOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBACDsAgEAIOwCAQAg7AIBAlBZ6AGB7Mefx2ws9wvbu\nu4fOKvQIQH45YwcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAI\nYQcAEAhhBwAQCGEHABAIYQcAEIjSfN/BmjVrFi5cuGLFinvuuafn4Hnnnff666/3XBwxYsRP\nfvKTfE8CABC2/Ibd448/fvPNN++7774rVqzofby1tfXss8+eOXNm9mI87sQhAMDbld+wSyQS\n3/jGN1auXPnII4/0Pt7S0jJhwoQxY8bk9d4BALYr+Q27I488MoqilStX9j6YSCS6urqWLl16\n2223tbS0vOtd7zrttNN23nnnvE4CABC8vD/Hrq/29vb6+vpkMnnuuedGUXTHHXdceuml3/nO\nd6qrq7NXePHFF3/4wx/2XL+tra2tra2lpSVXA2QymXQ6ncMbLBKpVCqKoo6Ojq6urkLPkmOZ\nTCbUfXV2dnZ3dxd6lhwLcl9h6Hcv6XS6tbW17/Gq/M/DwPrdVyqVamtri8Vimxy3r2LQd2XJ\nZLK9vb3vvoYskUik0+kBrlCAsKurq7v11lt7Ll588cWzZ8/+wx/+cPTRR2ePNDQ0PPjggz1X\nmDJlSnd3d85jJbz6yUokEoUeIS/sa3gJdV/D3eb20u9xoVBwm9tXv98N2lcx6Hdl2W/jc2WL\nXzUKEHabqKysHDt2bGNjY8+RmTNn3nvvvT0X582bN3LkyFGjRuXqHrPfno4cOTJXN1gkOjs7\nOzo6ampqysrKCj1Ljm3cuLG+vr7QU+RYV1dXe3t7dXV1eXl5oWfJsSD3FYZ+P5E2NTWNHDky\nh2cUyJV+99XS0lJVVVVSUrLt52GL+q6sra1txIgROdxXIpEY+EdOCxB2q1at+sUvfjF37tzS\n0tIoijo7O9euXTthwoSeK1RWVvZ+yl3JP+VqgFgsFovFwvuoyH5ejsfjQb5p4b1R2Y9M+2Jb\n6ncv2X31DbtcnmRgSAbYV99X2Vcx6LuXWCyW28/zAz8OG+U77DZs2JBKpbIPOWfPydXU1Iwe\nPXrp0qXJZPLkk09OpVK33nprTU3NQQcdlNdJAACCl9+wu+iiixoaGrIvn3HGGVEUnXXWWSec\ncMKCBQtuueWW888/v6ysbOrUqVdddVVFRUVeJwEACF5+w+7mm2/u9/jkyZMXLFiQ17sGANje\n+JMPAACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYA\nAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2\nAACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQ\ndgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACB\nEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAA\ngRB2AACBEHYAAIEQdgAAgRB2AACBKB3Mldra2n75y1/ef//9Tz/9dGNj48aNG+vq6saOHbvf\nfvt98IMf/MhHPlJdXZ3vQQEAGNgWzth1dXV985vfnDRp0sknn3zbbbel0+ndd9/9gx/84NSp\nU9Pp9G233XbyySdPmjTpm9/8ZldX17aZGACAfg10xu71118/6aSTli9fftJJJ82ePfuII46o\nqqrqfYX29vZHHnlkyZIlF1988R133HHXXXftuuuu+Z0XAIDNGOiM3X777Tdy5MgXXnjhzjvv\nPPbYYzepuiiKqqqqjj322DvvvPOFF14YOXLk/vvvn89RAQAYyEBh94UvfOGBBx6YNm3aFm9l\n2rRpDzzwwDnnnJO7wQAA2DoDPRS7YMGCnpfb29ubmpp23HHHKIo6OjruvPPOdevWfexjH5s8\neXL2CiUlJV/96lfzOisAAAMY1K87efnllydNmrRkyZIoipLJ5GGHHXb66adfeOGF++233/Ll\ny/M8IQAAgzKosPvKV74yfvz4T37yk1EU/fjHP/7Tn/504403rlixYq+99rryyivzPCEAAIMy\nqLB74oknLrnkkilTpkRR9POf/3z69OnnnHPOlClTvvCFL/zxj3/M84QAAAzKoMJu48aN2WfX\npVKpRx555Nhjj80eHzt27D/+8Y88TgcAwKANKuzGjx//17/+NYqi3/3udxs2bDjmmGOyx994\n440ddtghj9MBADBog/qTYh/84Acvu+yyFStW3HHHHVOmTDnssMOiKGpoaLj22msPPvjgPE8I\nAMCgDCrsFixY8OKLL37ta18bM2bML37xi5KSkiiKzjvvvFWrVv3whz/M84QAAAzKoMJuxx13\nXLp0aXNzc2VlZVlZWfbghRdeeO21144fPz6f40VRFCWTyY0bN/b9uxdvRyaTWbduXQ5vsHg0\nNzfHYrFCT5FjAe+rtbW1tbW10FPkWMD7Gu763Usmk1m/fn3f4/X5n4eBbW5fGzdu7HvcvopB\nvyvr7u7O4V0kEol0Oj3AFQYKuzPOOOOGG26orKzMXhw5cmTv177nPe/pfbGjo+Nf/uVfvv/9\n7w911M2PWFpaX1+fwyfzpdPp5ubm+vrQPgra29vb29tHjhxZXl5e6FlybP369aNHjy70FDnW\n2dnZ2tpaU1NTUVFR6FlyLMh9haHfT6QbNmyor6/v+w1hapuMxAD63VdTU1NNTU32obPe7KsY\n9F1ZS0tLZWVlaemgzqMNRiKRiMcH+gGJgV73u9/9bubMmY8++ugW7+bRRx+dOXPmQw89tNUD\nAgCQIwOF3VNPPTVhwoQjjjji8MMPv+WWW9asWbPJFdasWXPLLbccfvjhRxxxxIQJE5566ql8\njgoAwEAGOje4ww47/OY3v7n99tuvuOKKM844I4qi8ePHjxkzpq6urqmpqbGxMftL7Hbbbbcf\n/vCHs2bNGvjcIAAAebWFB33j8fhnPvOZU0455YknnnjwwQeXL1++du3a9evXjxw5ctddd913\n332POuqoQw45pO+D/QCbuHGZZ2sU2qGzCj0BkF+DejZfSUnJ4Ycffvjhh+d7GgAAhsyDpwAA\ngRB2AACBEHYAAIEQdgAAgRB2AACB2Iqw6+zsXLZs2d13393Y2BhFUTKZzNtUAABstcGG3Te/\n+c1x48YdcMABH//4x1esWBFF0bx5804//XR5BwBQJAYVdt/73vcuvPDC97///TfddFPPwalT\np952220LFy7M22wAAGyFQYXd9ddfP3fu3HvvvXf27Nk9B0877bSLLrro5ptvzttsAABshUGF\n3V/+8pdPfOITfY8fccQRr732Wq5HAgBgKAYVdiNHjuzs7Ox7vKmpqbKyMtcjAQAwFIMKu332\n2ecb3/hGR0dH74Pr16+fP3/+zJkz8zMYAABbp3QwV/rKV75y1FFH7bPPPscdd1wURd/73vdu\nuummu+++u6Ojo/ePUwAAUECDOmN3xBFH/Pa3v62trb322mujKFq8ePGSJUv22GOPBx544OCD\nD87zhAAADMqgzthFUfSBD3zg6aefbmhoePPNN6Mo2mWXXUaNGpXPwQAA2DqDDbusysrKXXfd\nNfvyxo0bsy/U19fndiYAAIZgUGH317/+9bzzznvkkUfa2tr6vjaTyeR6KgAAttqgwu7MM89c\nvnz5iSeeuOOOO5aUlOR7JgAAhmBQYbds2bL777//oIMOyvc0AAAM2aB+Kra6urrnqXUAABSn\nQYXdZz/72cWLF+d7FAAA3o5BPRR75ZVXHnfccffdd9+BBx64ww47bPLaSy65JA+DAQCwdQYV\ndt/61rcefPDBKIp+//vf932tsAMAKAaDCrtvf/vbn/jEJ774xS9OmDDBT8UCABSnQYXd+vXr\nv/3tb++00075ngYAgCEb1A9P7LnnnmvXrs33KAAAvB2DCrtrrrnmggsueO655/I9DQAAQzao\nh2K//OUvr1q1asaMGTU1NX1/Kvb111/P/VwAAGylQYVdPB6fOnXq1KlT8z0NAABDNqiwe+yx\nx/I9BwAAb9OgnmMHAEDxG+iM3R577DF79uxLL710jz32GOBqL7/8cq6nAgBgqw0UdvX19ZWV\nldkXttU8AMBWu3aHcwo9AtEFhR4gGjjsnnzyyU1eAACgaA3qOXbvec97Xnrppb7Hf/azn+25\n5565HgkAgKEYVNg99dRTbW1tmxxMJpMvvvjiypUr8zAVAABbbQu/7iQWi2VfeO9739vvFfbb\nb78cTwQAwJBsIeyeeeaZRx999N/+7d8++tGPjhkzpverYrHYTjvt9PnPfz6f4wEAMFhbCLsZ\nM2bMmDHj17/+9dVXX73bbrttm5lgkOY8fnuhR9jefffQWYUeAYD/Nai/PHHfffflew4AAN6m\nQf3wRENDw+c+97mdd965pKQk1ke+RwQAYDAGdcbuX/7lX+6+++7DDz/86KOPLi0d1P8CAMA2\nNqhK+93vfnfXXXd99KMfzfc0AAAM2aAeiu3o6DjooIPyPQoAAG/HoMJu//33f/HFF/M9CgAA\nb8egwm7hwoVf+tKXli5dmu9pAAAYskE9x+7f/u3f/v73vx900EFVVVVjx47d5LWvv/567ucC\nAGArDSrs4vH47rvvvvvuu+d7GgAAhmxQYffYY4/lew4Aisq1O5xT6BG2dxcUegCGo0E9xw4A\ngOI3qDN2Y8aM2dyruru7m5ubczcPAABDNKiwO+SQQzY58ve///3555+fMmXK4YcfnoepAADY\naoMKu3vuuafvwbfeeuvTn/70hz/84VyPBADAUAz9OXYTJkz45je/OW/evBxOAwDAkL2tH56Y\nOHHin//851yNAgDA2zH0sMtkMosXL95hhx1yOA0AAEM2qOfYvfvd797kSCqVeuuttxobGy+8\n8MI8TAUAwFYbVNj1VVZWts8++3z0ox+dO3dubgcCAGBoBhV2zzzzTL7nAADgbRriGbser7/+\n+q677pqLSQCAIZrV0FnoESgKW/jhiccee+xDH/rQbrvt9qEPfeg3v/lN71d1dXX913/91557\n7pnP8QAAGKyBwu7JJ5886qijHnjgge7u7ocffvi444776U9/mn3V/fffv/fee1922WXvfOc7\nt8mcAABswUBh97Wvfa2qqmr58uWrVq1avXr1/vvvP2/evNWrV3/yk5/80Ic+tHbt2oULFz7/\n/PPbbFYAAAYw0HPsnn322c997nMzZsyIomjcuHELFiz48Ic/vNtuuyUSiXPOOWf+/PljxozZ\nVnMCALAFA4Xd6tWrd999956L06ZNi6Lofe973/XXXz99+vS8jwYAwNYY6KHYZDJZXl7ec7Gi\noiKKoksuuUTVAQAUobf76062aM2aNQsXLlyxYsU999zTc7C1tXXRokXPPfdcIpGYOnXq3Llz\n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\nAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh\n7AAAAiHsAAACIewAAAIh7AAAAlFa6AFg6B4+4dpCj7C9OyU6pNAjAPC/nLEDAAiEsAMACISw\nAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACERpoQfYslQq1dLS0tTUlKsbzGQyqVQqhzdIDvW7l3Q6bV/Fyb6Gl83tq7m5edsPwxb1\nu69kMtnS0hKLxbb9PGxR35WlUqlUKpXDfSUSiXQ6PcAVhkHYxePxqqqqmpqaXN1gOp1ubW3t\n9wY7cnUfDFW/e2lqasrhPwByyL6Gl3730tzcXF1dLRSKUL/7amlpqaqqKikp2fbzsEV9V9bW\n1jZixIgc7iuRSMTjAz3cOgzCLhaLlZSU5PCdEovFsreZqxskhza3F/sqTvY1vAywL2FXhPrd\nV86/JpJDffcSi8Xi8XgO9zXw6brIc+wAAIIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewA\nAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAlFa6AGKy8MnXFvoEbZ3p0SH\nFHoEABiunLEDAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAI\nhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMA\nCISwAwAIhLADAAhEaUHutbW1ddGiRc8991wikZg6dercuXPHjRtXkEkAAIJRmDN211xzTUND\nw7x5866++uqqqqr58+en0+mCTAIAEIwChF1jY+OyZcvOPvvsSZMm7bTTTnPnzl2zZs3zzz+/\n7ScBAAhJAcLu1VdfLSsrmzRpUvZiTU3NxIkTX3nllW0/CQBASArwHLvm5uba2tpYLNZzpK6u\nrqmpqefik08+edVVV/VcrK6ubmpqqqmpyeEM6XR6w4YNObxBcqXfvWQyGfsqTvY1vPS7l3Q6\nvXHjxm0/DFu0uX01Nzdv+2EYjL4rS6fTiUSid/O8TYlEYuBnrxXmhydy+Bbm1jHjFhV6hKHL\nZDLpdDoejxftuzfn7Gt4sa/hJYB9xWKxeHx7+eUPw3pfURSlUqnt6uMrfwoQdvX19c3NzZlM\npmd/TU1No0aN6rnCzJkz77333p6Lc+bMqaur632Ftyn77U59fX2ubrBItLe3t7e319TUlJeX\nF3qWHFu/fn0O/wEUic7OztbW1urq6oqKikLPkmNB7qurq6ulpaWysrKysrLQs+TYhg0b6uvr\nA/uCmkgkmpqaRowYUV1dXehZciz7EFZJSUmhB8mlVCq1YcOG8vLy3D46VwyynzdKS3OWW4lE\nYuBvVwrwrcxuu+2WSCRWrlyZvdjc3PzGG29MmzZt208CABCSAoTd6NGjDzzwwBtuuOG1115b\ns2bNwoULp0yZsueee277SQAAQlKY59idd955ixYtuvzyy1Op1F577XXZZZcF9igAAMC2V5iw\nq6qqOv/88wty1wAAodpeflwIACB4wg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4A\nIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIO\nACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQpYUeYFDu\nvvvuurq6XN1aJpPp7OysrKzM1Q0WiUQi0d3dPWLEiJKSkkLPkmPt7e1VVVWFniLHkslkV1dX\nRUVFaenw+DAcvID3VV5eXlZWVuhZcqyjo2PEiBGxWKzQg+RSKpXq7OwsKysrLy8v9Cw51tnZ\nWV5eHo8HdV4mnU53dHQEua+urq6ysrIc7iuVSg18hVgmk8nVneXJY4891tjYmMMbzGQyqVQq\nvK+mr7zyyooVKw444ICxY8cWepYcSyaT4e1r1apVL7zwwj777POOd7yj0LPkWJD7evPNN5cv\nXz5t2rTJkycXepYcC3Jf69ate/LJJydPnjxt2rRCz5JjyWSypKQksBBvaWl57LHHJk6cOGPG\njELPkmOpVCoej+d2XzU1NR/84Ac399ph8MF82GGHFXqE4WHRokU/+9nPzjzzzIMOOqjQs7Bl\nP/3pT3/0ox99/OMfP+644wo9C1v24IMP/uAHP3j/+9//8Y9/vNCzsGVPP/30d7/73Xe/+932\nNSy89tpr11133S677GJfb19Q53IBALZnwg4AIBDCDgAgEMPghycAABgMZ+wAAAIh7AAAAiHs\nAAACMQx+jx39Wr9+/eLFi5999tnu7u7Jkyeffvrpu+++exRFra2tixYteu655xKJxNSpU+fO\nnTtu3LhCD8v/euihh6699tovf/nLM2fOjOyruP3617++++67161bt/POO5922mnvfe97Iysr\nVqtXr77lllteeeWVZDI5adKkz372s3vuuWdkX0VmzZo1CxcuXLFixT333NNzcHM7sruhccZu\nuPrqV7/a2Nh4xRVXXHPNNWPGjJk/f35nZ2cURddcc01DQ8O8efOuvvrqqqqq+fPnp9PpQg/L\n/7dx48YlS5b0/ps59lW0HnrooTvvvHPOnDk33XTTUUcd9b3vfa+9vT2ysqKUyWTmz58/atSo\nRYsWLVmyZPr06ZdffnlLS0tkX8Xk8ccf//KXvzxx4sRNjm9uR3Y3RBmGoebm5iuvvPJvf/tb\n9mJDQ8Pxxx//l7/8Ze3atSeccMLKlSuzx1taWk488cRnnnmmcJPyf1x11VXf//73P/vZzy5d\nujSTydhXMfv85z//0EMPbXLQyorTxo0bjz/++Jdeeil7cf369ccff/wrr7xiX0XloYceamho\nWLp06Uc/+tGeg5vbkd0NmTN2w1Jtbe2ll17a8zdG161bF4/Hx4wZ8+qrr5aVlU2aNCl7vKam\nZuLEia+88krhJuV/LV26dOXKlbNmzeo5Yl9Fa926dW+99VYUReedd94nP/nJCy+88OWXX46s\nrFjV1dXtscce9913X0tLS2dn53333Td+/Phdd93VvorKkUce2fdPmW9uR3Y3ZMJu2Gtpabnu\nuutOPPHEUaNGNTc319bW9v5jw3V1dU1NTQUcj6zW1tabbrrpC1/4wogRI3oO2lfRWrduXRRF\nDz744MUXX7x48eKpU6deccUVTU1NVla0LrnkkhUrVpx66qmf+tSn7rvvvksuuaS8vNy+it/m\ndmR3QybshrfVq1dfeOGF06dPnz17dvZI7w8Disf3v//9/fbb793vfvcmx+2rmH3605+eOHFi\nbW3tGWecEYvF/vSnP0VWVpSSyeT8+fP32GOPH/7whz/+8Y+PP/74efPmbdiwIbKv4WBzO7K7\noRF2w9izzz77pS996fjjjz/nnHOyHwD19fXNzc2ZXn9NpKmpadSoUYWbkSiKomeeeebpp58+\n44wzNjluX0Vr9OjRURRVV1dnL5aUlIwePXrDhg1WVpyef/7511577ayzzqqrq6uqqjrppJMq\nKiqeeOIJ+yp+m9uR3Q2ZsBuu/vznP3/961+/4IILPvKRj/Qc3G233RKJxMqVK7MXm5ub33jj\njWnTphVoRv6/Bx54oK2tbe7cuaeeeuqpp57a1NS0cOHCq666yr6K1ujRo0eNGpV9Xl0URd3d\n3WvXrh0/fryVFafsc8Z7/8hkMpmMfEocDja3I7sbspLLL7+80DOw1bq7u//zP//zmGOO2W+/\n/dr/KR6P19bWrlq16uGHH546dWp7e/uNN95YXV196qmnOqFdWPvss8+He3nkkUdOP/30j33s\nY/X19fZVnGKxWCqVuuuuuyZPnlxaWvqDH/ygoaFhzpw5PsSKU11dXfYnLrO/u+7ee+99+umn\nzzrrrHHjxtlX8diwYUNbW9uqVauWLVt21FFHDfxlq6qqyu6GJtb7PCfDxbPPPvsf//Efmxyc\nM2fOcccd197evmjRouXLl6dSqb322mvu3LnOXReb00477dxzz83+gmL7KlrpdPq222578MEH\nW1tbp06deu6552Z/Dt3KitOqVauWLFnyl7/8JZVKvfOd7/zMZz6z9957R/ZVTM4666yGhoZN\njpxwwgmb25HdDY2wAwAIhOfYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgB\nW+fyyy+PxWLjxo1LJBJ9X3vWWWfFYrFDDjlkaDd+8skn19TUDOaahxxyyB577LG51zY2Nl55\n5ZX777//mDFjysrKxo0bd8wxx/z2t7/tucLMmTMH+N/fjnXr1u26665nnnlmz5Gf//znn/rU\np7Ivr127dqeddsrH/W5i8O/Jzbnssst22GGH119/PUcTAdtCaaEHAIafeDy+fv36X/3qVyee\neGLv4x0dHT/96U/LysoKNVjW+vXr3/ve9zY0NJxxxhkXXHBBSUnJypUrFy9efOyxx/7oRz86\n+eSToyg6+eSTOzo6cn7X6XR61qxZdXV1119/fc/Bp59+et999+37cpG74oor/vCHP5x00km/\n//3vKyoqCj0OMCjCDthq8Xj8gAMOuOWWWzYJu7vvvrujo2PGjBmFGixryZIlr7/++o9//ONP\nf/rTPQfPPffcvffe+5JLLvnUpz4Vj8fPP//8fNz17bfffv/99z/yyCOVlZU9B5966qmeu3v6\n6af322+/fNx1zpWUlNxwww3Tp0+//vrr//3f/73Q4wCD4qFYYKslk8mPfOQjv/71r//xj3/0\nPr5kyZL3v//9m5zd+c1vfnPYYYfV1tZWVlZOnz79W9/6Vs9fMsxkMvPnz3/HO94xYsSIvffe\n+6677trkjh599NGjjz565MiRVVVV++233+LFiwcz3t///vcoivbff//eB0eNGvXkk0++9NJL\n8Xg86vVQ7J/+9KdYf1544YWtnSGVSi1YsOCwww47/PDDex/vHXMDhN1hhx126KGHLl++/AMf\n+MDIkSPHjRt3yimn9P7bmnl6T/7973///Oc/v8suu4wYMWLChAmf+MQnXn755eyrpk2bdtJJ\nJ/33f/93W1vb5t5qoLhkALbGvHnzoih69dVX4/H4N77xjZ7jq1evjsfjixcvnjlz5sEHH5w9\nePfdd8disWOOOeaee+558MEHL7jggiiKLrroouxrv/71r0dRdOqppz7wwAN33nnn9OnTp06d\nWl1dnX3tgw8+WFJScthhh/3iF7+4//77586dG0VRzz0efPDBU6dO7XfCO+64I4qij33sYxs2\nbNjcW/G+970v+783Nzc/0Msvf/nLsWPHTpw4cePGjVucYROPPvpoFEWLFy/OXrz66qsrKiqy\nmVvxT7FYLPvC6tWrN/nfP/CBD7zjHe9473vf+8ADD/zjH/+46667SkpKZs+ene/35MyZMydM\nmHDzzTf/7ne/+9GPfrT33nuPGzeura0t+9pf/epXURTdeeedm3tPAkVF2AFbJxt2HR0dRx11\n1F577dVz/Gtf+1plZWVzc/P73ve+nrDbY4893vnOd3Z1dfVc7cQTTywrK2tsbEyn0zvttNP0\n6dN7XvXmm2+WlZX15Mi+++77rne9q6cwMpnMCSecUFtb29HRkRkw7FKpVPaHFSoqKo499tiv\nf/3rTz75ZCqV6n2dnrDbxOmnn15RUfHHP/5xMDNs4j/+4z+iKNqk2O66666Pf/zj2Zffeuut\nnXbaqd+ZM5nMBz7wgSiKnnjiid5Heq6fp/dkU1NTFEWXXHJJz6tWrFhx5ZVXrlmzJnuxra2t\nvLz8zDPP3NzYQFHxUCwwRJ/73OdefPHFZcuWZS8uWbLkxBNPrK2t7bnCm2+++fLLLx977LHl\n5eU9B48//vhEIvHkk0++8cYbb7755pFHHtnzqh133PE973lP9uWGhobly5cfd9xx8Xi885+O\nPfbYlpaW559/fuDB4vH4nXfeed99933iE5945plnvvSlL82cOXP8+PGXXnppe3v7AP/jd77z\nnVtuueX6668/4IADhjDD008/PX78+J133rn3wd///vc9PyP8+9///qCDDhpggKqqqoMPPrjn\n4sSJE996660on+/JysrKHXbY4Y477njooYfS6XQURVOmTLn00kt7fnS3qqpqjz32eOqppwYY\nGygewg4Yoo997GO1tbW33HJLFEXLli176aWXTjvttN5XWLNmTRRFm4TOjjvuGEXRm2++mU2W\nsWPH9n5tT0+8+eabURRde+21lb1kH0NcvXr1YMb70Ic+9KMf/WjNmjUrV6783ve+N23atK99\n7WtHHXVUNl/6Wrp06fnnn3/22WefddZZQ5th7dq1Y8aM2eTgE0880dNqTzzxxMBht8l7o7S0\nNDtt/t6TZWVl9957bzweP+qoo8aNG3fSSSfdfvvtyWSy902NGTOmsbFxgLGB4uGnYoEhqqqq\n+uQnP3nHHXd861vfWrJkyY477nj00Uf3vkIsFouiaJOQymQyURTF4/HMP5/431sqlep98Ywz\nzvj85z+/yXXe9a53bdWckydPnjx58plnnnnWWWctXrz4iSeeOOywwza5zltvvXXSSSftu+++\n11133SavGvwMzc3No0eP7rk4ceLExsbGrq6unrvr7u4uKyu79NJLZ82aNcgfBMnK63vy4IMP\nfvXVVx999NHf/OY3v/71r0899dSFCxc+9thjPT/YW19fv3HjxsFPCxSQsAOGbvbs2YsXL77/\n/vvvvPPO2bNnl5SU9H7txIkTo3+ebeqRvThx4sTsGabs2aYePb8O953vfGcURalUaubMmVs1\nUldX11133VVdXb3Jr2KJxWKHH3744sWL33jjjU3+l0Qi8alPfSqVSv3sZz/r/Vjn1s4wcuTI\n7FPWslavXr106dKLL7748ccfj6IomUyOGjWqsbFxCL8TLt/vyZKSkiOPPPLII4+8+uqrv/Od\n75x77rk/+clPZs+enX3txo0b6+rqtnZmoCA8FAsM3aGHHjp58uQFCxY0NjZu8jhsFEUTJkyY\nPn36L3/5y87Ozp6DP//5z6uqqg488MBdd911zJgx9913X8+JqL/85S/PPvts9uXRo0cfcMAB\n99xzT+9zRbfeeutll122yQOFmygvL7/iiivOPvvsv/71r72Pp1Kpn/70p1EU7bPPPpv8Lxdc\n8P/au3eQ1qE4juNJSaugdvOBIg6CuBSjs+AgjThJBEGXDiKCLwp3EJeq4GTBRR1EUMGlGHyA\nSCmloCDYpVYdFB3USVAsulXQ0twhUEKvVHyhzf1+pjQ9of+eofw4J/3nTzQa1TQta6/zvTWU\nlpZmbVkeHx/Lsmwcn52d1dbWfqzT7/fN5OHhYXd3t7mpiqIogiDc399nziQSiax9XgC/FsEO\nwMeJoujxeGKxWENDw7+BSRCE6enp29vbjo6O7e3tUCg0ODgYCoV8Pp/T6bTZbAMDA5eXl11d\nXZubmwsLC4qimHu8+f3+ZDLZ0tKyuroaDod9Pl9fX9/NzY0k5dpqEEVxcXHx6elJluX+/v7Z\n2dmlpaWpqammpqadnZ2RkRGXy2Uer2na/Px8Z2fn8/NzxMTIhe+qQZblu7s787qaOdgdHR19\npjXxN81kVVVVMBh0u93Ly8uRSGRtbc3j8TidTlVVjWuTyeTFxUW+PC0DAO1OALxPpt2J8fLq\n6koUxZmZmcwAc7sTXdfD4XBzc3NRUVFBQUFjY2OmzZuu66lUamxsrKKiwuFwuFyura2t4eFh\nh8ORGbC/v+92u0tKSux2e11dnd/vf3l5Md7K0e5E1/XT09Pe3l5jhUySpPLy8vb29vX1dXOR\nxuVer/fV38aJiYk3a8iyu7srCMLKyor5U2KxmHHs9Xrn5uZyTGxra2tNTY35jPHA2e+eyZOT\nE1VVy8rK7HZ7ZWWlqqrxeDxzYTAYFAQhEAjkqBzA7yHqr911CwB4r1QqVV9fX11dbSQ8a+jp\n6YlEItfX18XFxT9dC4C3sRULAF9DkqTx8fG9vT3j3xIWcH5+rmna6OgoqQ7IF6zYAcCXSafT\nbW1tiUQiGo0WFhb+dDmfkk6nFUV5eHg4ODjI9+8C/D9YsQOAL2Oz2QKBwOPj49DQ0E/X8lmT\nk5PxeHxjY4NUB+QRVuwAAAAsghU7AAAAiyDYAQAAWATBDgAAwCIIdgAAABZBsAMAALAIgh0A\nAIBFEOwAAAAs4i8nDdfMbsZcLgAAAABJRU5ErkJggg==", | ||
820 | "text/plain": [ | ||
821 | "plot without title" | ||
822 | ] | ||
823 | }, | ||
824 | "metadata": { | ||
825 | "image/png": { | ||
826 | "height": 420, | ||
827 | "width": 420 | ||
828 | }, | ||
829 | "text/plain": { | ||
830 | "height": 420, | ||
831 | "width": 420 | ||
832 | } | ||
833 | }, | ||
834 | "output_type": "display_data" | ||
835 | } | ||
836 | ], | ||
837 | "source": [ | ||
838 | "TaxationRQ2Raw <- rbind(\n", | ||
839 | " Load10Log(\"measurements/stats/Taxation//size020to-1r10n10rt3600hh1stats.csv\", 20),\n", | ||
840 | " Load10Log(\"measurements/stats/Taxation//size040to-1r10n10rt3600hh2stats.csv\", 40),\n", | ||
841 | " Load10Log(\"measurements/stats/Taxation//size060to-1r10n10rt3600hh3stats.csv\", 60),\n", | ||
842 | " Load10Log(\"measurements/stats/Taxation//size080to-1r10n10rt3600hh4stats.csv\", 80),\n", | ||
843 | " Load10Log(\"measurements/stats/Taxation//size100to-1r10n10rt3600hh5stats.csv\", 100)\n", | ||
844 | ")\n", | ||
845 | "TaxationRQ2 <- TaxationRQ2Raw %>% ProcessRQ2\n", | ||
846 | "TaxationRQ2\n", | ||
847 | "median(TaxationRQ2Raw$preprocessingTime) / 1000.0\n", | ||
848 | "TaxationRQ2 %>% RQ2Plot('Taxation')" | ||
849 | ] | ||
850 | }, | ||
851 | { | ||
852 | "cell_type": "markdown", | ||
853 | "metadata": {}, | ||
854 | "source": [ | ||
855 | "## RQ3\n", | ||
856 | "\n", | ||
857 | "Similarly to RQ2, we will create a plot for each of the 3 domains. Thus we factor the common logic out into a function." | ||
858 | ] | ||
859 | }, | ||
860 | { | ||
861 | "cell_type": "code", | ||
862 | "execution_count": 51, | ||
863 | "metadata": {}, | ||
864 | "outputs": [], | ||
865 | "source": [ | ||
866 | "RQ3Plot <- function(df, name, breaks) {\n", | ||
867 | " plot <- df %>% ggplot(aes(x=n, y=time)) +\n", | ||
868 | " geom_bar(stat='identity') +\n", | ||
869 | " scale_x_continuous(breaks=breaks, name=\"Model Size (# nodes)\") +\n", | ||
870 | " scale_y_continuous(name=\"Runtime(s)\") +\n", | ||
871 | " theme_bw()\n", | ||
872 | " ggsave(plot=plot, filename=paste0('plots/plot_RQ3_', name, '.pdf'), width=3.5, height=1.2)\n", | ||
873 | " plot\n", | ||
874 | "}" | ||
875 | ] | ||
876 | }, | ||
877 | { | ||
878 | "cell_type": "markdown", | ||
879 | "metadata": {}, | ||
880 | "source": [ | ||
881 | "Just like previously, we display aggreate results as a table after parsing the raw logs, then create the respective plots." | ||
882 | ] | ||
883 | }, | ||
884 | { | ||
885 | "cell_type": "markdown", | ||
886 | "metadata": {}, | ||
887 | "source": [ | ||
888 | "### Fam domain" | ||
889 | ] | ||
890 | }, | ||
891 | { | ||
892 | "cell_type": "code", | ||
893 | "execution_count": 52, | ||
894 | "metadata": {}, | ||
895 | "outputs": [ | ||
896 | { | ||
897 | "data": { | ||
898 | "text/html": [ | ||
899 | "<table>\n", | ||
900 | "<caption>A tibble: 5 × 2</caption>\n", | ||
901 | "<thead>\n", | ||
902 | "\t<tr><th scope=col>n</th><th scope=col>time</th></tr>\n", | ||
903 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
904 | "</thead>\n", | ||
905 | "<tbody>\n", | ||
906 | "\t<tr><td>100</td><td> 173.7245</td></tr>\n", | ||
907 | "\t<tr><td>150</td><td> 432.7295</td></tr>\n", | ||
908 | "\t<tr><td>200</td><td> 904.6210</td></tr>\n", | ||
909 | "\t<tr><td>250</td><td>1641.0980</td></tr>\n", | ||
910 | "\t<tr><td>300</td><td>2571.7965</td></tr>\n", | ||
911 | "</tbody>\n", | ||
912 | "</table>\n" | ||
913 | ], | ||
914 | "text/latex": [ | ||
915 | "A tibble: 5 × 2\n", | ||
916 | "\\begin{tabular}{ll}\n", | ||
917 | " n & time\\\\\n", | ||
918 | " <dbl> & <dbl>\\\\\n", | ||
919 | "\\hline\n", | ||
920 | "\t 100 & 173.7245\\\\\n", | ||
921 | "\t 150 & 432.7295\\\\\n", | ||
922 | "\t 200 & 904.6210\\\\\n", | ||
923 | "\t 250 & 1641.0980\\\\\n", | ||
924 | "\t 300 & 2571.7965\\\\\n", | ||
925 | "\\end{tabular}\n" | ||
926 | ], | ||
927 | "text/markdown": [ | ||
928 | "\n", | ||
929 | "A tibble: 5 × 2\n", | ||
930 | "\n", | ||
931 | "| n <dbl> | time <dbl> |\n", | ||
932 | "|---|---|\n", | ||
933 | "| 100 | 173.7245 |\n", | ||
934 | "| 150 | 432.7295 |\n", | ||
935 | "| 200 | 904.6210 |\n", | ||
936 | "| 250 | 1641.0980 |\n", | ||
937 | "| 300 | 2571.7965 |\n", | ||
938 | "\n" | ||
939 | ], | ||
940 | "text/plain": [ | ||
941 | " n time \n", | ||
942 | "1 100 173.7245\n", | ||
943 | "2 150 432.7295\n", | ||
944 | "3 200 904.6210\n", | ||
945 | "4 250 1641.0980\n", | ||
946 | "5 300 2571.7965" | ||
947 | ] | ||
948 | }, | ||
949 | "metadata": {}, | ||
950 | "output_type": "display_data" | ||
951 | }, | ||
952 | { | ||
953 | "data": { | ||
954 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC61BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZoaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBx\ncXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKD\ng4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+RkZGSkpKTk5OVlZWWlpaX\nl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGjo6OkpKSlpaWmpqanp6eoqKipqamq\nqqqrq6usrKytra2urq6vr6+wsLCxsbGzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9\nvb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzOzs7Pz8/Q\n0NDR0dHS0tLT09PU1NTV1dXW1tbX19fZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj\n4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT1\n9fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8taJGaAAAACXBIWXMAABJ0AAASdAHe\nZh94AAAgAElEQVR4nO3de4BedX3n8UMgiXKRWm6KKN16QRdMoaFgQWwFlro1F+QqoIQkBRW6\nKNIFhS5Q2tAaMK7QNtwEWURAK6AIimBdgoIGRUFIcCUQw5OZkHvI7fy5z2UmGfP7vknOycnM\n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\n/1mtp5fM7L8O6TCvfPyLzzxz+ceXDfUwzXX51M1dc2vaw3TJrVl3wvjPLRzsO1MPSJNbT5v3\npO86pMO0s+LkB4Z6mPyFc65b3zW3pj1MO11wa174+VXnLB3kO1MLSI91Pjvf2X8d0mE6+dT/\nGephZp9+T941t6YzTCdDf2uan5ROvXeQ70wtIPVMeDbPF098qv86pMP85str8nzlyQ8N8TC/\nPO2J1qU7bk3fMF1xa3569qo8X3/GvYN8Z7obUm/jgYmNxsr8qk/PnXf5Bes3XIdymCWnz5g/\nb9rkVUM7zKtn395odMut6R+mK27N0o//82/nzzxx/iDfme6GNLX1H/jGfytfPuPMM6b15huu\nQzrMnEtP/diVvxviYWa3hxl/b1fcmg3DdMWt+c1lJ59y4ex8kO9Md0MypiYRkjEVREjGVBAh\nGVNBhGRMBRGSMRVESMZUECEZU0GENLi5LNtrdefZ1OzI9N2n7jLwrSMP6H/W+Kc/3WOnvf7q\n/ubTww9IfteALNx/SvPx7pPz/OU3b3aY3/9o/bnkD5/f7O80m0ZIg5vLRuz4zfaTFW8YueWQ\nev5o5/O+evs//vGI2/N8xrTXqF933JjW301xSfM19//1ZoeJIa394NhK/rKN7StCGtxcttMR\nnb/B4LaRh245pC9mX2tdet+y/2b+xPSt2cOty4ean7qmXbrZYWJI+a9GdNH/y2NdIqTBzWXZ\ntJ1+13py3HFHtiB9+6hdX3fgNevzfP0V+40+6M72aj987G6vP+TGfACkv8uebV9fWNH+0u7x\nrJNfDHhtO2vf9YH2de+X8/ykb/T94lHv/+nRu+310QWb+2gv/c3bRu9zwtPNZ6fsXcnfcrRd\nRUiDm8uyZ9v/vp834qb3NSF9c4cP/cf3Lsj+Ls//JTvjwTsOOqC52t/b8QP3PPCJ7OoBkG7P\nPrLhb7tqQlryYDP37rXfKwNe284j2U15Pn306Gz06NE7jB49r/2Lx7z1zx5ccNeOkzb30d73\nphseuu29ey/P8/uyofwD9PWMkAY3l2Urjz2wef3n1y85vAnp3W97tfnG8SMXrt/3oOaTl0Y2\nV/uQdzR3OZ+w28qNkNadko3+6395rP11Xf8PGyaP/vHA17bz91nbzl0n5Pnv9u3/kMdkP2o9\n7ruZj7Y4u7j55LlpL+b58lFTt/mNGG4R0uCmCemr2U/y/D2n5U1IL2afaP3ijdm9/y/7H61n\nf75LviA7f2Uz/9Z81caf2uX3n75vlu158fINkK7Lrs8HvradD+/Tvnzmi3l+90n9v/WYnVuP\nk0Zs5qOt3mP/7/V/Bzbm4G14C4ZnhDS4aUJavtsn859k32lB+kl2ZesXv53N/HHn2Ym75D/r\n+wYo+8ZASM3Muf6o7M/X9UF6dNQ5zccBr23nsAPblz/7cQdTJ8fs33qcmm3uo/3ov2R7nHhb\n+6/qPXq/bXkPhmWENLhpQsqn/MHKc9+8tgXp8eyK1i/el93wWGe1j2+t9pRZ7TQ2gZTn66dk\nj3Qgzd/38NZXaQNe2867j2g+vKXzLdKo0ZM7v7gB0mY+Wr72+xf+1+zQ1o/PT9h1W9+HYRch\nDW5akB7JvrXnZ/MWpPlZ6/NKPjO7f052buvZwbvkPdmk/hf3Q1r11c5/e8pvyb7ahrT6qH3a\n3wwNeG07nc9Ij74/z9fsuuG/BW2AtJmP1s512Veaj0e/pbJ/4O0lQhrctCCt/+NDsyfbkPKD\n9m39mOBDOy9et+fbm9+gPLND89v/w3Zv/YTulkvWbIC0/p17zWld147Lft6GdN5Oj3Tes/G1\n7XS+R7ruvDx/8k82fMgNkF77oz1xausH5M9l03O/RyoRIQ1uWpDyy7PWmrcg3TfiuG9955PZ\nVa0fuJ1w97/uP7a52g+PHHPLdy8dedaAH3//YNfdzv7SDf8wJvvb9g8b7shOaf0A/ME5A17b\nziXtn9qdc0Oef2Xyhg+5EdJrfrT5u4258cGvHfGG5/J8+ejJuSkWIQ1u2pDm7nBN3oGUP/D+\nXUYfclPzydqL3zTqvd88b1Tz6X/+t91GvusLawb+b+1+OeXto3fa57/flbchnd/3A4LLBry2\nnR9kN7de8USen//lDR9yI6TX/mhPfmTvkft+5Kd568cRtw/GvRhWEdJwypq3/2UVNR/dc2kV\nNdtVhDSsckv2w60veXrEF7a+ZHuLkIZV1h178Mqt7jjmkK3u2P4ipOGVRvvPI21V/v6Nc6uY\nZDuLkIypIEIypoIIyZgKIiRjKoiQjKkgQjKmggjJmAoiJGMqyP8Hytpq6Z9ZZJkAAAAASUVO\nRK5CYII=", | ||
955 | "text/plain": [ | ||
956 | "plot without title" | ||
957 | ] | ||
958 | }, | ||
959 | "metadata": { | ||
960 | "image/png": { | ||
961 | "height": 420, | ||
962 | "width": 420 | ||
963 | }, | ||
964 | "text/plain": { | ||
965 | "height": 420, | ||
966 | "width": 420 | ||
967 | } | ||
968 | }, | ||
969 | "output_type": "display_data" | ||
970 | } | ||
971 | ], | ||
972 | "source": [ | ||
973 | "FamilyTreeRQ3Raw <- rbind(\n", | ||
974 | " Load1Log(\"measurements/stats/FamilyTree/size100to-1r10n1rt3600stats.csv\", 100),\n", | ||
975 | " Load1Log(\"measurements/stats/FamilyTree/size150to-1r10n1rt3600stats.csv\", 150),\n", | ||
976 | " Load1Log(\"measurements/stats/FamilyTree/size200to-1r10n1rt3600stats.csv\", 200),\n", | ||
977 | " Load1Log(\"measurements/stats/FamilyTree/size250to-1r10n1rt3600stats.csv\", 250),\n", | ||
978 | " Load1Log(\"measurements/stats/FamilyTree/size300to-1r10n1rt3600stats.csv\", 300)\n", | ||
979 | ")\n", | ||
980 | "FamilyTreeRQ3 <- FamilyTreeRQ3Raw %>% ProcessRQ3\n", | ||
981 | "FamilyTreeRQ3\n", | ||
982 | "FamilyTreeRQ3 %>% RQ3Plot('FamilyTree', c(100, 150, 200, 250, 300))" | ||
983 | ] | ||
984 | }, | ||
985 | { | ||
986 | "cell_type": "markdown", | ||
987 | "metadata": {}, | ||
988 | "source": [ | ||
989 | "### Sat domain" | ||
990 | ] | ||
991 | }, | ||
992 | { | ||
993 | "cell_type": "code", | ||
994 | "execution_count": 53, | ||
995 | "metadata": {}, | ||
996 | "outputs": [ | ||
997 | { | ||
998 | "data": { | ||
999 | "text/html": [ | ||
1000 | "<table>\n", | ||
1001 | "<caption>A tibble: 5 × 2</caption>\n", | ||
1002 | "<thead>\n", | ||
1003 | "\t<tr><th scope=col>n</th><th scope=col>time</th></tr>\n", | ||
1004 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
1005 | "</thead>\n", | ||
1006 | "<tbody>\n", | ||
1007 | "\t<tr><td>100</td><td> 31.3970</td></tr>\n", | ||
1008 | "\t<tr><td>150</td><td> 132.9415</td></tr>\n", | ||
1009 | "\t<tr><td>200</td><td> 373.5750</td></tr>\n", | ||
1010 | "\t<tr><td>250</td><td> 927.9225</td></tr>\n", | ||
1011 | "\t<tr><td>300</td><td>2234.0605</td></tr>\n", | ||
1012 | "</tbody>\n", | ||
1013 | "</table>\n" | ||
1014 | ], | ||
1015 | "text/latex": [ | ||
1016 | "A tibble: 5 × 2\n", | ||
1017 | "\\begin{tabular}{ll}\n", | ||
1018 | " n & time\\\\\n", | ||
1019 | " <dbl> & <dbl>\\\\\n", | ||
1020 | "\\hline\n", | ||
1021 | "\t 100 & 31.3970\\\\\n", | ||
1022 | "\t 150 & 132.9415\\\\\n", | ||
1023 | "\t 200 & 373.5750\\\\\n", | ||
1024 | "\t 250 & 927.9225\\\\\n", | ||
1025 | "\t 300 & 2234.0605\\\\\n", | ||
1026 | "\\end{tabular}\n" | ||
1027 | ], | ||
1028 | "text/markdown": [ | ||
1029 | "\n", | ||
1030 | "A tibble: 5 × 2\n", | ||
1031 | "\n", | ||
1032 | "| n <dbl> | time <dbl> |\n", | ||
1033 | "|---|---|\n", | ||
1034 | "| 100 | 31.3970 |\n", | ||
1035 | "| 150 | 132.9415 |\n", | ||
1036 | "| 200 | 373.5750 |\n", | ||
1037 | "| 250 | 927.9225 |\n", | ||
1038 | "| 300 | 2234.0605 |\n", | ||
1039 | "\n" | ||
1040 | ], | ||
1041 | "text/plain": [ | ||
1042 | " n time \n", | ||
1043 | "1 100 31.3970\n", | ||
1044 | "2 150 132.9415\n", | ||
1045 | "3 200 373.5750\n", | ||
1046 | "4 250 927.9225\n", | ||
1047 | "5 300 2234.0605" | ||
1048 | ] | ||
1049 | }, | ||
1050 | "metadata": {}, | ||
1051 | "output_type": "display_data" | ||
1052 | }, | ||
1053 | { | ||
1054 | "data": { | ||
1055 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC7lBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZoaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBx\ncXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKD\ng4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+RkZGSkpKTk5OVlZWWlpaX\nl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGjo6OkpKSlpaWmpqanp6eoqKipqamq\nqqqrq6usrKytra2urq6vr6+wsLCxsbGzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9\nvb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzOzs7Pz8/Q\n0NDR0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi\n4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P0\n9PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8z8EZqAAAACXBIWXMAABJ0AAAS\ndAHeZh94AAAgAElEQVR4nO3dbYBdVWGv8Q0SogJaKy+KKG19r0ilsWhFbAUv9da8IJAgCSQk\nEVTwgkgvKPQCTRtaA0SBthFQERFBrYBGUATrJShqEJSLkKASCGFnZjKTTCaEZPa3e17mTELW\negh7ZzFnzuT5f5gzyYxP1jmzfmYSS8kK59wOL2v3AZwbCxOScwkmJOcSTEjOJZiQnEswITmX\nYEJyLsGE5FyCJYL02cm4iZP4Y89/kxJlPAxlRtVhJqaoTJ6YKMMfOiU1pFP/gB/qeybFL7Au\nT5PZkKKyPk+TWZ+isiFPk1mXovJMnibTm6KyOU+T6cEPbZw8/K6QKkxINCHt4IRUJSMkyggp\nnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTK\nCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAj\nJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQ\nMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMrstJDm3t9NW40f\nKbOuPElmdVeKSleeJjP2DtOd5jCJLk2eJsOVVRNTQ/J3pCoZf0eizE77O5KQqmSERBkhhRMS\nZoREGSGFExJmhEQZIYUTEmaERBkhhRMSZoREmSEBJ7R3zUMIKZYREmWEJKQSGSFRRkhCKpER\nEmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFR\nRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWE\nJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhC\nKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQS\nGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpER\nEmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFR\nRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWE\nJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhC\nKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQSGSFRRkhCKpEREmWEJKQS\nGSFRRkgvKKSuBSdOO/eholh76azpF60KH4cmpCoZIVFm7EH61DnLnrhkxkAx75zljy84bXPw\nODQhVckIiTJjDlLf/JqQpyb9Np+8rPa70NFLt31sfZ6QqmSERJkxB6mxB6d0333sYO2d02/Y\n9rH2Zv2K2uY+uonW+zR+qMTW5kkyfetTVNblaTLrUlTW52kyfSkqT+drk2TWNB/bDKl5iI3d\neM6BUpD6PvGlYvHJ9ffOW7TtY+3NHRNqm3Zf7lzqtRnSds/3xMQSkB479crBYvHsIUDbPNbe\nPHBObTMe7KN19+KHSqw7T5NZk6LSk/ckyaSppDnMmu4Uld48Taar+dhmSM8+TGRdJSAtnX5z\n7e09zW/lbtz2sfVZ/hmpSsY/I1Fm7P0Z6dcn/Lz+0DX54aLonfLAto+tTxNSlYyQKDPmID19\nyvX17wUHiovPXL7iwrMGg8ehCalKRkiUGXOQlk5q7Jaif+HMGfO7i+BxaEKqkhESZcYcpOc7\nIVXJCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIky\nQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwI\niTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCick\nzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIK\nJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIky\nQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwI\niTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCick\nzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIK\nJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIky\nQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyQgonJMwI\niTJCCickzAiJMkIKJyTMCIkyQgonJMwIiTJCCickzAiJMkIKJyTMCIkyOy2kjz48QOvpxw+V\n2Jo8TWZtikpfnibTl6KyNk+TWZOi0p/3Jsl0Nx/bDKl5iPVdeM6+SckhPbSO1t2HHyqxnjxN\npjdFZU2eJrMmRaU3T5PpSVHpy9NkupqPbYbUPMTaLjxnT3JIfmtXJeO3dpTZab+1E1KVjJAo\nI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKM\nkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBC\nwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOk\ncELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAo\nI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKM\nkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBC\nwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOk\ncELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAo\nI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKM\nkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBC\nwoyQKCOkcELCjJAoI6RwQsKMkCgjpHBCwoyQKDMGIa349JT6wycn1Ta1KNZeOmv6Rau2PA5N\nSFUyQqLM2IP045kLG5Bm35zneVdRzDtn+eMLTts8/Dg0IVXJCIkyYw/SD59a0oB03L2NH+aT\nl9V+Nzp6aeux9WlCqpIREmXGHqSiaEDaOOkLZ8yZv6K4+9jB2o9Ov6H12PokIVXJCIkyYxbS\nmpMue+ihC09at/jk+k+dt6j1WHuz7Au1zXxoHa27Dz9UYj15mkxvisqaPE1mTYpKb54m05Oi\n0penyXQ1H9sMqXmItV14zp5JZSE1tn7qbYtnD0GaPQzpjgm1Tbsvdy712gxpu+d7YmIlSMUn\nvnZP81u6G1uPtTd9v6lt7qPP0Ho34IdKrC9Pk+lPUVmXp8msS1Hpz9Nk+lJUNuRpMmuaj22G\n1DzE0914zvWlv7X73eW1P6IMTL2ja/LDRdE75YHWY+uT/DNSlYx/RqLM2PszUnd+25Q8H+ib\nvnDlivmzNxQXn7l8xYVnDQ4/Dk1IVTJCoszYgzS3/j/ETvpOsez840+c92RR9C+cOWN+95bH\noQmpSkZIlBl7kJ7nhFQlIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQ\nMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggp\nnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTK\nCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAj\nJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQ\nMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggp\nnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTK\nCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAj\nJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQ\nMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggp\nnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTKCCmckDAjJMoIKZyQMCMkyggpnJAwIyTK\nCCmckDAjJMp0OKR1X5/zjgP2fM075ny97Msx9/5u2mr8SJl15Ukyq7tSVLryNJmxd5juNIdp\n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\ncBghRSYkzAgJDiOkyISEGSHBYYQUmZAwIyQ4jJAiExJmhASHEVJkQsKMkOAwQopMSJgREhxG\nSJGNSkij4iskJDqMkCITEn2FhESHEVJkQqKvkJDoMEKKTEj0FRISHUZIkQmJvkJCosMIKTIh\n0VdISHQYIUUmJPoKCYkOI6TIhERfISHRYYQUmZDoKyQkOoyQIhMSfYWERIcRUmRCoq+QkOgw\nQopMSPQVEhIdRkiRCYm+QkKiwwgpMiHRV0hIdBghRSYk+goJiQ4jpMiERF8hIdFhhBSZkOgr\nJCQ6jJAiExJ9hYREhxFSZEKir5CQ6DBCikxI9BUSEh1GSJEJib5CQqLDCCkyIdFXSEh0GCFF\nJiT6CgmJDiOkyIREXyEh0WGEFJmQ6CskJDqMkCITEn2FhESHEVJkQqKvkJDoMEKKTEj0FRIS\nHUZIkQmJvkJCosMIKTIh0VdISHQYIUUmJPoKCYkOI6TIhERfISHRYYQUWQvSqHhRhESHERId\nRkiRF0VIdBgh0WGEFHlRhESHERIdRkiRF0VIdBgh0WGEFHlRhESHERId5oWFtPbSWdMvWjX8\nQyFVOIyQ6DA7EaR55yx/fMFpm1s/FFKFwwiJDrPzQMonL6v9rnT00taPhVThMEKiw+w8kO4+\ndrD29vQbWj8WUoXDCIkOs/NAWnxy/e15i2pvlkyu7YT7u2mru5qPbX5Rmofo8jAdcZjVo+gw\n3avxbq+auMOQZpeGtGPrylNUhq/LDlbyNJmxd5juRIfhu1tmeZrMCwnpnua3dje2ftxp/7d2\nO7b1eZrM+hSVDXmazLoUlWfyNJneFJXNeZrMC/mtXdfkh4uid8oDrR8LqUpGSJTZaSAVF5+5\nfMWFZw22fiikKhkhUWbngdS/cOaM+d3DPxRSlYyQKLPzQNpmQqqSERJlhBROSJgREmWEFE5I\nmBESZYQUTkiYERJlhBROSJgREmWEFE5ImBESZYQUTkiYERJlhBROSJgREmWEFE5ImBESZYQU\nTkiYERJlhBROSJgREmWEFE5ImBESZYQUTkiYERJlhBROSJgREmWEFE5ImBESZYQUTkiYERJl\nhBROSJgREmWEFE5ImBESZYQUTkiYERJlhBROSJgREmWEFE5ImBESZYQUTkiYERJlhBROSJgR\nEmWEFE5ImBESZYQUTkiYERJlhBROSJgREmWEFE5ImBESZYQUTkiYERJlhBROSJgREmV2Xkif\n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\nAAAASUVORK5CYII=", | ||
1056 | "text/plain": [ | ||
1057 | "plot without title" | ||
1058 | ] | ||
1059 | }, | ||
1060 | "metadata": { | ||
1061 | "image/png": { | ||
1062 | "height": 420, | ||
1063 | "width": 420 | ||
1064 | }, | ||
1065 | "text/plain": { | ||
1066 | "height": 420, | ||
1067 | "width": 420 | ||
1068 | } | ||
1069 | }, | ||
1070 | "output_type": "display_data" | ||
1071 | } | ||
1072 | ], | ||
1073 | "source": [ | ||
1074 | "SatelliteRQ3Raw <- rbind(\n", | ||
1075 | " Load1Log(\"measurements/stats/Satellite//size100to-1r10n1rt3600stats.csv\", 100),\n", | ||
1076 | " Load1Log(\"measurements/stats/Satellite//size150to-1r10n1rt3600stats.csv\", 150),\n", | ||
1077 | " Load1Log(\"measurements/stats/Satellite//size200to-1r10n1rt3600stats.csv\", 200),\n", | ||
1078 | " Load1Log(\"measurements/stats/Satellite/size250to-1r10n1rt3600stats.csv\", 250),\n", | ||
1079 | " Load1Log(\"measurements/stats/Satellite/size300to-1r10n1rt3600stats.csv\", 300)\n", | ||
1080 | ")\n", | ||
1081 | "SatelliteRQ3 <- SatelliteRQ3Raw %>% ProcessRQ3\n", | ||
1082 | "SatelliteRQ3\n", | ||
1083 | "SatelliteRQ3 %>% RQ3Plot('Satellite', c(100, 150, 200, 250, 300))" | ||
1084 | ] | ||
1085 | }, | ||
1086 | { | ||
1087 | "cell_type": "markdown", | ||
1088 | "metadata": {}, | ||
1089 | "source": [ | ||
1090 | "### Tax domain" | ||
1091 | ] | ||
1092 | }, | ||
1093 | { | ||
1094 | "cell_type": "code", | ||
1095 | "execution_count": 54, | ||
1096 | "metadata": {}, | ||
1097 | "outputs": [ | ||
1098 | { | ||
1099 | "data": { | ||
1100 | "text/html": [ | ||
1101 | "<table>\n", | ||
1102 | "<caption>A tibble: 5 × 2</caption>\n", | ||
1103 | "<thead>\n", | ||
1104 | "\t<tr><th scope=col>n</th><th scope=col>time</th></tr>\n", | ||
1105 | "\t<tr><th scope=col><dbl></th><th scope=col><dbl></th></tr>\n", | ||
1106 | "</thead>\n", | ||
1107 | "<tbody>\n", | ||
1108 | "\t<tr><td> 300</td><td> 275.5005</td></tr>\n", | ||
1109 | "\t<tr><td> 500</td><td> 517.4950</td></tr>\n", | ||
1110 | "\t<tr><td> 700</td><td> 926.3555</td></tr>\n", | ||
1111 | "\t<tr><td> 900</td><td>1667.9120</td></tr>\n", | ||
1112 | "\t<tr><td>1100</td><td>2811.5475</td></tr>\n", | ||
1113 | "</tbody>\n", | ||
1114 | "</table>\n" | ||
1115 | ], | ||
1116 | "text/latex": [ | ||
1117 | "A tibble: 5 × 2\n", | ||
1118 | "\\begin{tabular}{ll}\n", | ||
1119 | " n & time\\\\\n", | ||
1120 | " <dbl> & <dbl>\\\\\n", | ||
1121 | "\\hline\n", | ||
1122 | "\t 300 & 275.5005\\\\\n", | ||
1123 | "\t 500 & 517.4950\\\\\n", | ||
1124 | "\t 700 & 926.3555\\\\\n", | ||
1125 | "\t 900 & 1667.9120\\\\\n", | ||
1126 | "\t 1100 & 2811.5475\\\\\n", | ||
1127 | "\\end{tabular}\n" | ||
1128 | ], | ||
1129 | "text/markdown": [ | ||
1130 | "\n", | ||
1131 | "A tibble: 5 × 2\n", | ||
1132 | "\n", | ||
1133 | "| n <dbl> | time <dbl> |\n", | ||
1134 | "|---|---|\n", | ||
1135 | "| 300 | 275.5005 |\n", | ||
1136 | "| 500 | 517.4950 |\n", | ||
1137 | "| 700 | 926.3555 |\n", | ||
1138 | "| 900 | 1667.9120 |\n", | ||
1139 | "| 1100 | 2811.5475 |\n", | ||
1140 | "\n" | ||
1141 | ], | ||
1142 | "text/plain": [ | ||
1143 | " n time \n", | ||
1144 | "1 300 275.5005\n", | ||
1145 | "2 500 517.4950\n", | ||
1146 | "3 700 926.3555\n", | ||
1147 | "4 900 1667.9120\n", | ||
1148 | "5 1100 2811.5475" | ||
1149 | ] | ||
1150 | }, | ||
1151 | "metadata": {}, | ||
1152 | "output_type": "display_data" | ||
1153 | }, | ||
1154 | { | ||
1155 | "data": { | ||
1156 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC8VBMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8QEBARERESEhITExMUFBQVFRUW\nFhYXFxcYGBgZGRkaGhobGxscHBwdHR0eHh4fHx8gICAhISEiIiIjIyMkJCQlJSUmJiYnJyco\nKCgpKSkqKiorKyssLCwtLS0uLi4vLy8wMDAxMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6\nOjo7Ozs8PDw9PT0+Pj4/Pz9AQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tM\nTExNTU1OTk5PT09QUFBRUVFSUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1e\nXl5fX19gYGBhYWFiYmJjY2NkZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29w\ncHBxcXFycnJzc3N0dHR1dXV2dnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGC\ngoKDg4OEhISFhYWGhoaHh4eIiIiJiYmKioqLi4uMjIyNjY2Ojo6Pj4+RkZGSkpKTk5OVlZWW\nlpaXl5eYmJiZmZmampqbm5ucnJydnZ2enp6fn5+goKChoaGjo6OkpKSlpaWmpqanp6eoqKip\nqamqqqqrq6usrKytra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7\nu7u8vLy9vb2+vr6/v7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzO\nzs7Pz8/Q0NDR0dHS0tLT09PU1NTV1dXW1tbX19fZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh\n4eHi4uLj4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz\n8/P09PT19fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///8qETbmAAAACXBIWXMAABJ0\nAAASdAHeZh94AAAgAElEQVR4nO3de4BdZXnv8cUliXKRWm6KKG29oAdMoaFgQWy5HOqpJOGO\ngBISkKOFHizSAwg9QGmDFTAeoZabghQR1HoERUC56CEIKgIKQgJHAjHszJBMbpjb+uvsy8xk\n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\nkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSU\nRkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVC\nohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIa\nIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJ\naoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmE\nhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySq\nEVIaIWGNkKhGSGmEhDVCohohpRES1giJaoSURkhYIySqEVIaIWGNkKhGSGmEhDVCohohpRES\n1nQjpK7YXSEFERLWCAl2V0hBhIQ1QoLdFVIQIWGNkGB3hRRESFgjJNhdIQUREtYICXZXSEGE\nhDVCgt0VUhAhYY2QYHeFFERIWCMk2F0hBRES1ggJdldIQYSENUKC3RVSECFhjZBgd4UUREhY\nIyTYXSEFERLWCAl2V0hBhIQ1QoLdFVIQIWGNkGB3hRRESFgjJNhdIQUREtYICXZXSEGEhDVC\ngt0VUhAhYY2QYHeFFERIWCMk2F0hBRES1ggJdldIQYSENUKC3a07pMVfn7bXrtu8ba9pXy/6\nXycTUpkaIcHu1hvSq1fsmI0df/BRB48fm+14RbFVEVKZGiHB7tYa0nMTNj/uziXth0vuPG7z\nCc8VOQYhlakREuxurSG9+aBfD3nJrw/6wyLHIKQyNUKC3a01pAtXvuY1Ky8ocgxCKlMjJNjd\nWkNqZclLzeP9yhWzCh+DkMrUCAl2t+6QntrpsnzFPlm23c+LHoOQytQICXa37pCOev+z+U3Z\n1c/uf0zRYxBSmRohwe7WHdJON+f5kXvm+c1vL3oMQipTIyTY3bpDGvujfOWb/2ee3z226DEI\nqUyNkGB36w7p7dfld2c/yvPr31r0GIRUpkZIsLt1h3TqW87b7Z0r83nj/RrpdSOkjby7dYf0\n0geyHWbm+fHb/bLoMQipTI2QYHfrDinPFy5vfnj0d4WPQUhlaoQEu1trSFNfex5LpxU5BiGV\n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\ndeTGWXrs3V0zzIOnrGyuSldM88TpRxx/8+n/pxuGeS2k4Ruo2yE1f+E9/o6HO78z3zZwHcFp\n/vY/umaYS1p70S3TLF6x4siZ3TDMayAN40BdDennn3g1z1efdEfPpGfyfOHkJweuIzLM819a\nkefLjv1RVwzTzOL2185dMc3KB3vz/JEjFnbDMK+BNIwDdTWkRR//3G/nXnP03PyyT8+ec/HZ\nqwevI5G+E2fMnTN96qtdMUwzj01s/3uRrpjmrOmNJ6dc3QXD9DbuntxoLBu8Dt9AXQ0pf/6i\nY487p/kL75IZJ580vXfNdUQy68LjP3bp77pkmDy/b1L7v2LRFdO8+NljPnbtii4Y5tT2v6b+\nzuB1+AbqbkjG1CRCMqaCCMmYCiIkYyqIkIypIEIypoIIyZgKIiRjKoiQhjcXZTsu7zw6NTsg\nffr4rYf+6IDdBx41/uXPtt9yx7++q/lwv92Tf2pI5u82rfnxm8fm+ctvXecwr/1sA7ngD59b\n5z9p1o6QhjcXbb7Ft9sPlr5pzPpD6vmjrc782i3//Ceb35LnM6a/Tv2qw8a3/m6KC5qvuetv\n1jlMDGnlQRMq+cs2Nq0IaXhz0Zb7d/4Gg5vH7LP+kL6Qfb116X3bbuv409I3Zfe3Lh9u/tY1\n/cJ1DhNDyn+9eRf9Vx7rEiENby7Kpm/5u9aDww47oAXpewdu84Y9rlyd56sv2XXcnre1V/v+\nQ7d9497X50Mg/UP2TPv6wtL2W7tHs06eGPLadla+50Pt604v5/kx3+r/yQM/+PODt93xo/PW\n9dleOu0d43Y+6qnmo+N2quRvOdqkIqThzUXZM+1f7+dsfsMHmpC+vdmH//Pes7N/yPN/zU66\n59Y9d2+u9r1bfOi7d38yu2IIpFuyIwf/tqsmpL57mrljx10XDHltOw9kN+T55ePGZePGjdts\n3Lg57Z885O1/fs+827eYsq7P9oG3XPejm9+/05I8vzMbwT9AX9MIaXhzUbbs0D2a18+9sW+/\nJqT3vuP3zR8cMWb+6l32bD54aUxztfd+V3OX80nbLlsDadVx2bi/+deH2+/rBr7ZMHXcT4e+\ntp1/zNp2bj8qz3+3y8CnPCT7SevjLuv4bAuz85oPnp3+Yp4vGXvqRr4Noy9CGt40IX0teyTP\n33dC3oT0YvbJ1k9en93x/7L/0Xr0F1vn87KzljXz5ear1nzXLr/rxF2ybIfzlgxCujq7Nh/6\n2nY+snP78vdfyPNvHjPwjx6yVevjlM3X8dmWb7/bvQNfgY3fa2Peg1EZIQ1vmpCWbPup/JHs\n+y1Ij2SXtn7ye9k1P+08Onrr/Bf9XwBl3xoKqZlZ1x6Y/cWqfkgPjT29+XHIa9vZd4/25c9/\n2sHUySG7tT6emq3rs/3kj7Ptj765/YecDt51Y96DURkhDW+akPJpf7DsjLeubEF6NLuk9ZN3\nZtc93FntI1qrPW1mO421IOX56mnZAx1Ic3fZr/Uubchr23nv/s0Pb+t8iTR23NTOTw5CWsdn\ny1f+8Jz/ku3T+vb5Udts5Nsw+iKk4U0L0gPZd3b4TN6CNDdr/b6SX5PdNSs7o/Vor63znmzK\nwIsHIL36tc6/e8pvzL7WhrT8wJ3bXwwNeW07nd+RHvpgnq/YZvDfBQ1CWsdna+fq7KvNjwe/\nrbL/wZtKhDS8aUFa/Sf7ZL9sQ8r33KX1bYIPb7Vw1Q7vbH6B8vRmzS//992u9R26Gy9YMQhp\n9bt3nNW6rjw8e7wN6cwtH+g8s+a17XS+Rrr6zDz/5Z8OfspBSK//2X52fOsb5M9ml+d+jVQi\nQhretCDlF2etNW9BunPzw77z/U9ll7W+4XbUN/9ttwnN1b5/zPgbf3DhmFOGfPv7vm22/cQX\nr/un8dnftb/ZcGt2XOsb4PfMGvLadi5of9fu9Ovy/KtTBz/lGkiv+9nmbjv++nu+vv+bns3z\nJeOm5qZYhDS8aUOavdmVeQdSfvcHtx639w3NByvPe8vY93/7zLHNhz/+r9uOec/nVwz9/9r9\nato7x22583+7PW9DOqv/GwQXDXltO/dlX2m94md5ftaXBj/lGkiv/9l+eeROY3Y58ud569sR\ntwzHvRhVEdJoyop3/lUVNR/dYVEVNZtUhDSqcmP24IaXPLX55ze8ZFOLkEZVVh2617IN7jhk\n7w3u2PQipNGVRvvPI21Q/vHNs6uYZBOLkIypIEIypoIIyZgKIiRjKoiQjKkgQjKmggjJmAoi\nJGMqyP8HNNSkiq77EC0AAAAASUVORK5CYII=", | ||
1157 | "text/plain": [ | ||
1158 | "plot without title" | ||
1159 | ] | ||
1160 | }, | ||
1161 | "metadata": { | ||
1162 | "image/png": { | ||
1163 | "height": 420, | ||
1164 | "width": 420 | ||
1165 | }, | ||
1166 | "text/plain": { | ||
1167 | "height": 420, | ||
1168 | "width": 420 | ||
1169 | } | ||
1170 | }, | ||
1171 | "output_type": "display_data" | ||
1172 | } | ||
1173 | ], | ||
1174 | "source": [ | ||
1175 | "TaxationRQ3Raw <- rbind(\n", | ||
1176 | " Load1Log(\"measurements/stats/Taxation//size300to-1r10n1rt3600hh15stats.csv\", 300),\n", | ||
1177 | " Load1Log(\"measurements/stats/Taxation//size500to-1r10n1rt3600hh25stats.csv\", 500),\n", | ||
1178 | " Load1Log(\"measurements/stats/Taxation//size700to-1r10n1rt3600hh35stats.csv\", 700),\n", | ||
1179 | " Load1Log(\"measurements/stats/Taxation//size900to-1r10n1rt3600hh45stats.csv\", 900),\n", | ||
1180 | " Load1Log(\"measurements/stats/Taxation//size1100to-1r10n1rt3600hh55stats.csv\", 1100)\n", | ||
1181 | ")\n", | ||
1182 | "TaxationRQ3 <- TaxationRQ3Raw %>% ProcessRQ3\n", | ||
1183 | "TaxationRQ3\n", | ||
1184 | "TaxationRQ3 %>% RQ3Plot('Taxation', c(300, 500, 700, 900, 1100))" | ||
1185 | ] | ||
1186 | }, | ||
1187 | { | ||
1188 | "cell_type": "markdown", | ||
1189 | "metadata": {}, | ||
1190 | "source": [ | ||
1191 | "## RQ4\n", | ||
1192 | "\n", | ||
1193 | "The diversity results output by the `models20.diversity-calculator` tool are nearly ready for visualization, we only need to take care of assigning the appropriate labels for the domains (as they are used in the paper, opposed to how they are named in the filesystem) and ordering the in a logical way. Then we can generate a box plot." | ||
1194 | ] | ||
1195 | }, | ||
1196 | { | ||
1197 | "cell_type": "code", | ||
1198 | "execution_count": 55, | ||
1199 | "metadata": {}, | ||
1200 | "outputs": [ | ||
1201 | { | ||
1202 | "data": { | ||
1203 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAMAAADKOT/pAAAC61BMVEUAAAABAQECAgIDAwME\nBAQFBQUGBgYHBwcICAgJCQkKCgoLCwsMDAwNDQ0ODg4PDw8RERESEhIUFBQVFRUWFhYXFxcY\nGBgZGRkaGhobGxscHBwdHR0eHh4fHx8hISEiIiIjIyMkJCQmJiYnJycoKCgpKSkrKyssLCwt\nLS0uLi4vLy8xMTEyMjIzMzM0NDQ1NTU2NjY3Nzc4ODg5OTk6Ojo7Ozs8PDw9PT0+Pj4/Pz9A\nQEBBQUFCQkJDQ0NERERFRUVGRkZHR0dISEhJSUlKSkpLS0tMTExNTU1OTk5PT09QUFBRUVFS\nUlJTU1NUVFRVVVVWVlZXV1dYWFhZWVlaWlpbW1tcXFxdXV1eXl5fX19gYGBhYWFiYmJjY2Nk\nZGRlZWVmZmZnZ2doaGhpaWlqampra2tsbGxtbW1ubm5vb29wcHBxcXFycnJzc3N0dHR1dXV2\ndnZ3d3d4eHh5eXl6enp7e3t8fHx9fX1+fn5/f3+AgICBgYGCgoKDg4OFhYWGhoaHh4eIiIiJ\niYmKioqLi4uMjIyNjY2Ojo6Pj4+QkJCRkZGSkpKTk5OUlJSVlZWWlpaXl5eYmJiZmZmampqb\nm5ucnJydnZ2enp6fn5+goKChoaGioqKjo6OkpKSlpaWmpqanp6eoqKipqamqqqqrq6usrKyt\nra2urq6vr6+wsLCxsbGysrKzs7O0tLS1tbW2tra3t7e4uLi5ubm6urq7u7u8vLy9vb2+vr6/\nv7/AwMDBwcHCwsLDw8PExMTFxcXGxsbHx8fIyMjJycnKysrLy8vMzMzNzc3Ozs7Pz8/Q0NDR\n0dHS0tLT09PU1NTV1dXW1tbX19fY2NjZ2dna2trb29vc3Nzd3d3e3t7f39/g4ODh4eHi4uLj\n4+Pk5OTl5eXm5ubn5+fo6Ojp6enq6urr6+vs7Ozt7e3u7u7v7+/w8PDx8fHy8vLz8/P09PT1\n9fX29vb39/f4+Pj5+fn6+vr7+/v8/Pz9/f3+/v7///92cknFAAAACXBIWXMAABJ0AAASdAHe\nZh94AAAgAElEQVR4nO3df4DVdZ3v8WP2w7Vyt273rrdu93Zv27bd3dHbT++6UWl3HdAAf+DP\nASVAycQUIgvUxU0lFNI1TNLaLBdp8WckhUYtZm6F5GYkCBE/wjM/GECGkWE+f97vYZjxgLxn\n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\nu8QAAAAASUVORK5CYII=", | ||
1204 | "text/plain": [ | ||
1205 | "plot without title" | ||
1206 | ] | ||
1207 | }, | ||
1208 | "metadata": { | ||
1209 | "image/png": { | ||
1210 | "height": 420, | ||
1211 | "width": 420 | ||
1212 | }, | ||
1213 | "text/plain": { | ||
1214 | "height": 420, | ||
1215 | "width": 420 | ||
1216 | } | ||
1217 | }, | ||
1218 | "output_type": "display_data" | ||
1219 | } | ||
1220 | ], | ||
1221 | "source": [ | ||
1222 | "diversity <- read_csv('measurements/diversity.csv',\n", | ||
1223 | " col_names = c('domain', 'file', 'diversity'),\n", | ||
1224 | " col_types = cols(domain = col_factor(),\n", | ||
1225 | " file = col_character(),\n", | ||
1226 | " diversity = col_double()))\n", | ||
1227 | "levels(diversity$domain) <- c(\"Fam+N\", \"Sat+N\", \"Tax+N\", \"Fam-N\", \"Sat-N\", \"Tax-N\")\n", | ||
1228 | "diversity$domain <- factor(diversity$domain, levels=c(\"Fam+N\", \"Fam-N\", \"Sat+N\", \"Sat-N\", \"Tax+N\", \"Tax-N\"))\n", | ||
1229 | "diversityPlot <- ggplot(diversity, aes(y = diversity, group=domain, x=domain)) +\n", | ||
1230 | " geom_boxplot() +\n", | ||
1231 | " scale_y_continuous(limits=c(0, 1), name=\"Diversity\", labels = scales::percent) +\n", | ||
1232 | " scale_x_discrete(name=\"Domain\") +\n", | ||
1233 | " theme_bw()\n", | ||
1234 | "ggsave(plot=diversityPlot, filename='plots/plot_diversity.pdf', width=5, height=1.5*5/4)\n", | ||
1235 | "diversityPlot" | ||
1236 | ] | ||
1237 | } | ||
1238 | ], | ||
1239 | "metadata": { | ||
1240 | "kernelspec": { | ||
1241 | "display_name": "R", | ||
1242 | "language": "R", | ||
1243 | "name": "ir" | ||
1244 | }, | ||
1245 | "language_info": { | ||
1246 | "codemirror_mode": "r", | ||
1247 | "file_extension": ".r", | ||
1248 | "mimetype": "text/x-r-source", | ||
1249 | "name": "R", | ||
1250 | "pygments_lexer": "r", | ||
1251 | "version": "4.0.0" | ||
1252 | } | ||
1253 | }, | ||
1254 | "nbformat": 4, | ||
1255 | "nbformat_minor": 2 | ||
1256 | } | ||