Browse Source

Sphinx Module documentation update

master
Dirk Alders 4 years ago
parent
commit
504310e228
98 changed files with 7448 additions and 2726 deletions
  1. 1
    1
      _docs_/.buildinfo
  2. BIN
      _docs_/_downloads/412e50d5e5a6e9ca1556b611fbae3c9c/unittest.pdf
  3. BIN
      _docs_/_downloads/unittest.pdf
  4. 1
    1
      _docs_/_sources/index.rst.txt
  5. BIN
      _docs_/_static/ajax-loader.gif
  6. 0
    607
      _docs_/_static/alabaster.css
  7. 30
    2
      _docs_/_static/basic.css
  8. BIN
      _docs_/_static/comment-bright.png
  9. BIN
      _docs_/_static/comment-close.png
  10. BIN
      _docs_/_static/comment.png
  11. 1
    0
      _docs_/_static/css/badge_only.css
  12. BIN
      _docs_/_static/css/fonts/Roboto-Slab-Bold.woff
  13. BIN
      _docs_/_static/css/fonts/Roboto-Slab-Bold.woff2
  14. BIN
      _docs_/_static/css/fonts/Roboto-Slab-Regular.woff
  15. BIN
      _docs_/_static/css/fonts/Roboto-Slab-Regular.woff2
  16. BIN
      _docs_/_static/css/fonts/fontawesome-webfont.eot
  17. 2671
    0
      _docs_/_static/css/fonts/fontawesome-webfont.svg
  18. BIN
      _docs_/_static/css/fonts/fontawesome-webfont.ttf
  19. BIN
      _docs_/_static/css/fonts/fontawesome-webfont.woff
  20. BIN
      _docs_/_static/css/fonts/fontawesome-webfont.woff2
  21. BIN
      _docs_/_static/css/fonts/lato-bold-italic.woff
  22. BIN
      _docs_/_static/css/fonts/lato-bold-italic.woff2
  23. BIN
      _docs_/_static/css/fonts/lato-bold.woff
  24. BIN
      _docs_/_static/css/fonts/lato-bold.woff2
  25. BIN
      _docs_/_static/css/fonts/lato-normal-italic.woff
  26. BIN
      _docs_/_static/css/fonts/lato-normal-italic.woff2
  27. BIN
      _docs_/_static/css/fonts/lato-normal.woff
  28. BIN
      _docs_/_static/css/fonts/lato-normal.woff2
  29. 4
    0
      _docs_/_static/css/theme.css
  30. 0
    1
      _docs_/_static/custom.css
  31. 8
    4
      _docs_/_static/doctools.js
  32. 10
    0
      _docs_/_static/documentation_options.js
  33. BIN
      _docs_/_static/down-pressed.png
  34. BIN
      _docs_/_static/down.png
  35. BIN
      _docs_/_static/fonts/FontAwesome.otf
  36. BIN
      _docs_/_static/fonts/Lato/lato-bold.eot
  37. BIN
      _docs_/_static/fonts/Lato/lato-bold.ttf
  38. BIN
      _docs_/_static/fonts/Lato/lato-bold.woff
  39. BIN
      _docs_/_static/fonts/Lato/lato-bold.woff2
  40. BIN
      _docs_/_static/fonts/Lato/lato-bolditalic.eot
  41. BIN
      _docs_/_static/fonts/Lato/lato-bolditalic.ttf
  42. BIN
      _docs_/_static/fonts/Lato/lato-bolditalic.woff
  43. BIN
      _docs_/_static/fonts/Lato/lato-bolditalic.woff2
  44. BIN
      _docs_/_static/fonts/Lato/lato-italic.eot
  45. BIN
      _docs_/_static/fonts/Lato/lato-italic.ttf
  46. BIN
      _docs_/_static/fonts/Lato/lato-italic.woff
  47. BIN
      _docs_/_static/fonts/Lato/lato-italic.woff2
  48. BIN
      _docs_/_static/fonts/Lato/lato-regular.eot
  49. BIN
      _docs_/_static/fonts/Lato/lato-regular.ttf
  50. BIN
      _docs_/_static/fonts/Lato/lato-regular.woff
  51. BIN
      _docs_/_static/fonts/Lato/lato-regular.woff2
  52. BIN
      _docs_/_static/fonts/Roboto-Slab-Bold.woff
  53. BIN
      _docs_/_static/fonts/Roboto-Slab-Bold.woff2
  54. BIN
      _docs_/_static/fonts/Roboto-Slab-Light.woff
  55. BIN
      _docs_/_static/fonts/Roboto-Slab-Light.woff2
  56. BIN
      _docs_/_static/fonts/Roboto-Slab-Regular.woff
  57. BIN
      _docs_/_static/fonts/Roboto-Slab-Regular.woff2
  58. BIN
      _docs_/_static/fonts/Roboto-Slab-Thin.woff
  59. BIN
      _docs_/_static/fonts/Roboto-Slab-Thin.woff2
  60. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot
  61. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf
  62. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff
  63. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2
  64. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot
  65. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf
  66. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff
  67. BIN
      _docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2
  68. BIN
      _docs_/_static/fonts/fontawesome-webfont.eot
  69. 2671
    0
      _docs_/_static/fonts/fontawesome-webfont.svg
  70. BIN
      _docs_/_static/fonts/fontawesome-webfont.ttf
  71. BIN
      _docs_/_static/fonts/fontawesome-webfont.woff
  72. BIN
      _docs_/_static/fonts/fontawesome-webfont.woff2
  73. BIN
      _docs_/_static/fonts/lato-bold-italic.woff
  74. BIN
      _docs_/_static/fonts/lato-bold-italic.woff2
  75. BIN
      _docs_/_static/fonts/lato-bold.woff
  76. BIN
      _docs_/_static/fonts/lato-bold.woff2
  77. BIN
      _docs_/_static/fonts/lato-normal-italic.woff
  78. BIN
      _docs_/_static/fonts/lato-normal-italic.woff2
  79. BIN
      _docs_/_static/fonts/lato-normal.woff
  80. BIN
      _docs_/_static/fonts/lato-normal.woff2
  81. 455
    343
      _docs_/_static/jquery.js
  82. 1
    0
      _docs_/_static/js/badge_only.js
  83. 4
    0
      _docs_/_static/js/html5shiv-printshiv.min.js
  84. 4
    0
      _docs_/_static/js/html5shiv.min.js
  85. 4
    0
      _docs_/_static/js/modernizr.min.js
  86. 1
    0
      _docs_/_static/js/theme.js
  87. 297
    0
      _docs_/_static/language_data.js
  88. 57
    57
      _docs_/_static/pygments.css
  89. 36
    316
      _docs_/_static/searchtools.js
  90. 423
    279
      _docs_/_static/underscore.js
  91. BIN
      _docs_/_static/up-pressed.png
  92. BIN
      _docs_/_static/up.png
  93. 0
    808
      _docs_/_static/websupport.js
  94. 179
    65
      _docs_/genindex.html
  95. 222
    100
      _docs_/index.html
  96. 176
    64
      _docs_/py-modindex.html
  97. 191
    77
      _docs_/search.html
  98. 1
    1
      _docs_/searchindex.js

+ 1
- 1
_docs_/.buildinfo View File

@@ -1,4 +1,4 @@
1 1
 # Sphinx build info version 1
2 2
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3
-config: 37119bbe4e61a9df7390cce354ca5758
3
+config: fb36c8d7065006c1c5d277a2995dc1c9
4 4
 tags: 645f666f9bcd5a90fca523b33c5a78b7

BIN
_docs_/_downloads/412e50d5e5a6e9ca1556b611fbae3c9c/unittest.pdf View File


BIN
_docs_/_downloads/unittest.pdf View File


+ 1
- 1
_docs_/_sources/index.rst.txt View File

@@ -1,5 +1,5 @@
1 1
 .. stringtools documentation master file, created by
2
-   sphinx-quickstart on Fri May 17 07:22:59 2019.
2
+   sphinx-quickstart on Fri Jan  1 20:29:09 2021.
3 3
    You can adapt this file completely to your liking, but it should at least
4 4
    contain the root `toctree` directive.
5 5
 

BIN
_docs_/_static/ajax-loader.gif View File


+ 0
- 607
_docs_/_static/alabaster.css View File

@@ -1,607 +0,0 @@
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-@import url("basic.css");
19
-
20
-/* -- page layout ----------------------------------------------------------- */
21
-
22
-body {
23
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
24
-    font-size: 17px;
25
-    background-color: white;
26
-    color: #000;
27
-    margin: 0;
28
-    padding: 0;
29
-}
30
-
31
-
32
-div.document {
33
-    width: auto;
34
-    margin: 30px auto 0 auto;
35
-}
36
-
37
-div.documentwrapper {
38
-    float: left;
39
-    width: 100%;
40
-}
41
-
42
-div.bodywrapper {
43
-    margin: 0 0 0 220px;
44
-}
45
-
46
-div.sphinxsidebar {
47
-    width: 220px;
48
-    font-size: 14px;
49
-    line-height: 1.5;
50
-}
51
-
52
-hr {
53
-    border: 1px solid #B1B4B6;
54
-}
55
-
56
-div.body {
57
-    background-color: #ffffff;
58
-    color: #3E4349;
59
-    padding: 0 30px 0 30px;
60
-}
61
-
62
-div.body > .section {
63
-    text-align: left;
64
-}
65
-
66
-div.footer {
67
-    width: auto;
68
-    margin: 20px auto 30px auto;
69
-    font-size: 14px;
70
-    color: #888;
71
-    text-align: right;
72
-}
73
-
74
-div.footer a {
75
-    color: #888;
76
-}
77
-
78
-p.caption {
79
-    font-family: ;
80
-    font-size: inherit;
81
-}
82
-
83
-
84
-div.relations {
85
-    display: none;
86
-}
87
-
88
-
89
-div.sphinxsidebar a {
90
-    color: #444;
91
-    text-decoration: none;
92
-    border-bottom: 1px dotted #999;
93
-}
94
-
95
-div.sphinxsidebar a:hover {
96
-    border-bottom: 1px solid #999;
97
-}
98
-
99
-div.sphinxsidebarwrapper {
100
-    padding: 18px 10px;
101
-}
102
-
103
-div.sphinxsidebarwrapper p.logo {
104
-    padding: 0;
105
-    margin: -10px 0 0 0px;
106
-    text-align: center;
107
-}
108
-
109
-div.sphinxsidebarwrapper h1.logo {
110
-    margin-top: -10px;
111
-    text-align: center;
112
-    margin-bottom: 5px;
113
-    text-align: left;
114
-}
115
-
116
-div.sphinxsidebarwrapper h1.logo-name {
117
-    margin-top: 0px;
118
-}
119
-
120
-div.sphinxsidebarwrapper p.blurb {
121
-    margin-top: 0;
122
-    font-style: normal;
123
-}
124
-
125
-div.sphinxsidebar h3,
126
-div.sphinxsidebar h4 {
127
-    font-family: 'Garamond', 'Georgia', serif;
128
-    color: #444;
129
-    font-size: 24px;
130
-    font-weight: normal;
131
-    margin: 0 0 5px 0;
132
-    padding: 0;
133
-}
134
-
135
-div.sphinxsidebar h4 {
136
-    font-size: 20px;
137
-}
138
-
139
-div.sphinxsidebar h3 a {
140
-    color: #444;
141
-}
142
-
143
-div.sphinxsidebar p.logo a,
144
-div.sphinxsidebar h3 a,
145
-div.sphinxsidebar p.logo a:hover,
146
-div.sphinxsidebar h3 a:hover {
147
-    border: none;
148
-}
149
-
150
-div.sphinxsidebar p {
151
-    color: #555;
152
-    margin: 10px 0;
153
-}
154
-
155
-div.sphinxsidebar ul {
156
-    margin: 10px 0;
157
-    padding: 0;
158
-    color: #000;
159
-}
160
-
161
-div.sphinxsidebar ul li.toctree-l1 > a {
162
-    font-size: 120%;
163
-}
164
-
165
-div.sphinxsidebar ul li.toctree-l2 > a {
166
-    font-size: 110%;
167
-}
168
-
169
-div.sphinxsidebar input {
170
-    border: 1px solid #CCC;
171
-    font-family: 'goudy old style', 'minion pro', 'bell mt', Georgia, 'Hiragino Mincho Pro', serif;
172
-    font-size: 1em;
173
-}
174
-
175
-div.sphinxsidebar hr {
176
-    border: none;
177
-    height: 1px;
178
-    color: #AAA;
179
-    background: #AAA;
180
-
181
-    text-align: left;
182
-    margin-left: 0;
183
-    width: 50%;
184
-}
185
-
186
-/* -- body styles ----------------------------------------------------------- */
187
-
188
-a {
189
-    color: #004B6B;
190
-    text-decoration: underline;
191
-}
192
-
193
-a:hover {
194
-    color: #6D4100;
195
-    text-decoration: underline;
196
-}
197
-
198
-div.body h1,
199
-div.body h2,
200
-div.body h3,
201
-div.body h4,
202
-div.body h5,
203
-div.body h6 {
204
-    font-family: 'Garamond', 'Georgia', serif;
205
-    font-weight: normal;
206
-    margin: 30px 0px 10px 0px;
207
-    padding: 0;
208
-}
209
-
210
-div.body h1 { margin-top: 0; padding-top: 0; font-size: 240%; }
211
-div.body h2 { font-size: 180%; }
212
-div.body h3 { font-size: 150%; }
213
-div.body h4 { font-size: 130%; }
214
-div.body h5 { font-size: 100%; }
215
-div.body h6 { font-size: 100%; }
216
-
217
-a.headerlink {
218
-    color: #DDD;
219
-    padding: 0 4px;
220
-    text-decoration: none;
221
-}
222
-
223
-a.headerlink:hover {
224
-    color: #444;
225
-    background: #EAEAEA;
226
-}
227
-
228
-div.body p, div.body dd, div.body li {
229
-    line-height: 1.4em;
230
-}
231
-
232
-div.admonition {
233
-    margin: 20px 0px;
234
-    padding: 10px 30px;
235
-    background-color: #FCC;
236
-    border: 1px solid #FAA;
237
-}
238
-
239
-div.admonition tt.xref, div.admonition a tt {
240
-    border-bottom: 1px solid #fafafa;
241
-}
242
-
243
-dd div.admonition {
244
-    margin-left: -60px;
245
-    padding-left: 60px;
246
-}
247
-
248
-div.admonition p.admonition-title {
249
-    font-family: 'Garamond', 'Georgia', serif;
250
-    font-weight: normal;
251
-    font-size: 24px;
252
-    margin: 0 0 10px 0;
253
-    padding: 0;
254
-    line-height: 1;
255
-}
256
-
257
-div.admonition p.last {
258
-    margin-bottom: 0;
259
-}
260
-
261
-div.highlight {
262
-    background-color: white;
263
-}
264
-
265
-dt:target, .highlight {
266
-    background: #FAF3E8;
267
-}
268
-
269
-div.note {
270
-    background-color: #EEE;
271
-    border: 1px solid #CCC;
272
-}
273
-
274
-div.seealso {
275
-    background-color: #EEE;
276
-    border: 1px solid #CCC;
277
-}
278
-
279
-div.topic {
280
-    background-color: #eee;
281
-}
282
-
283
-p.admonition-title {
284
-    display: inline;
285
-}
286
-
287
-p.admonition-title:after {
288
-    content: ":";
289
-}
290
-
291
-pre, tt, code {
292
-    font-family: 'Consolas', 'Menlo', 'Deja Vu Sans Mono', 'Bitstream Vera Sans Mono', monospace;
293
-    font-size: 0.9em;
294
-}
295
-
296
-.hll {
297
-    background-color: #FFC;
298
-    margin: 0 -12px;
299
-    padding: 0 12px;
300
-    display: block;
301
-}
302
-
303
-img.screenshot {
304
-}
305
-
306
-tt.descname, tt.descclassname, code.descname, code.descclassname {
307
-    font-size: 0.95em;
308
-}
309
-
310
-tt.descname, code.descname {
311
-    padding-right: 0.08em;
312
-}
313
-
314
-img.screenshot {
315
-    -moz-box-shadow: 2px 2px 4px #eee;
316
-    -webkit-box-shadow: 2px 2px 4px #eee;
317
-    box-shadow: 2px 2px 4px #eee;
318
-}
319
-
320
-table.docutils {
321
-    border: 1px solid #888;
322
-    -moz-box-shadow: 2px 2px 4px #eee;
323
-    -webkit-box-shadow: 2px 2px 4px #eee;
324
-    box-shadow: 2px 2px 4px #eee;
325
-}
326
-
327
-table.docutils td, table.docutils th {
328
-    border: 1px solid #888;
329
-    padding: 0.25em 0.7em;
330
-}
331
-
332
-table.field-list, table.footnote {
333
-    border: none;
334
-    -moz-box-shadow: none;
335
-    -webkit-box-shadow: none;
336
-    box-shadow: none;
337
-}
338
-
339
-table.footnote {
340
-    margin: 15px 0;
341
-    width: 100%;
342
-    border: 1px solid #EEE;
343
-    background: #FDFDFD;
344
-    font-size: 0.9em;
345
-}
346
-
347
-table.footnote + table.footnote {
348
-    margin-top: -15px;
349
-    border-top: none;
350
-}
351
-
352
-table.field-list th {
353
-    padding: 0 0.8em 0 0;
354
-}
355
-
356
-table.field-list td {
357
-    padding: 0;
358
-}
359
-
360
-table.field-list p {
361
-    margin-bottom: 0.8em;
362
-}
363
-
364
-table.footnote td.label {
365
-    width: .1px;
366
-    padding: 0.3em 0 0.3em 0.5em;
367
-}
368
-
369
-table.footnote td {
370
-    padding: 0.3em 0.5em;
371
-}
372
-
373
-dl {
374
-    margin: 0;
375
-    padding: 0;
376
-}
377
-
378
-dl dd {
379
-    margin-left: 30px;
380
-}
381
-
382
-blockquote {
383
-    margin: 0 0 0 30px;
384
-    padding: 0;
385
-}
386
-
387
-ul, ol {
388
-    /* Matches the 30px from the narrow-screen "li > ul" selector below */
389
-    margin: 10px 0 10px 30px;
390
-    padding: 0;
391
-}
392
-
393
-pre {
394
-    background: #EEE;
395
-    padding: 7px 30px;
396
-    margin: 15px 0px;
397
-    line-height: 1.3em;
398
-}
399
-
400
-dl pre, blockquote pre, li pre {
401
-    margin-left: 0;
402
-    padding-left: 30px;
403
-}
404
-
405
-dl dl pre {
406
-    margin-left: -90px;
407
-    padding-left: 90px;
408
-}
409
-
410
-tt, code {
411
-    background-color: #ecf0f3;
412
-    color: #222;
413
-    /* padding: 1px 2px; */
414
-}
415
-
416
-tt.xref, code.xref, a tt {
417
-    background-color: #FBFBFB;
418
-    border-bottom: 1px solid white;
419
-}
420
-
421
-a.reference {
422
-    text-decoration: none;
423
-    border-bottom: 1px dotted #004B6B;
424
-}
425
-
426
-/* Don't put an underline on images */
427
-a.image-reference, a.image-reference:hover {
428
-    border-bottom: none;
429
-}
430
-
431
-a.reference:hover {
432
-    border-bottom: 1px solid #6D4100;
433
-}
434
-
435
-a.footnote-reference {
436
-    text-decoration: none;
437
-    font-size: 0.7em;
438
-    vertical-align: top;
439
-    border-bottom: 1px dotted #004B6B;
440
-}
441
-
442
-a.footnote-reference:hover {
443
-    border-bottom: 1px solid #6D4100;
444
-}
445
-
446
-a:hover tt, a:hover code {
447
-    background: #EEE;
448
-}
449
-
450
-
451
-@media screen and (max-width: 870px) {
452
-
453
-    div.sphinxsidebar {
454
-    	display: none;
455
-    }
456
-
457
-    div.document {
458
-       width: 100%;
459
-
460
-    }
461
-
462
-    div.documentwrapper {
463
-    	margin-left: 0;
464
-    	margin-top: 0;
465
-    	margin-right: 0;
466
-    	margin-bottom: 0;
467
-    }
468
-
469
-    div.bodywrapper {
470
-    	margin-top: 0;
471
-    	margin-right: 0;
472
-    	margin-bottom: 0;
473
-    	margin-left: 0;
474
-    }
475
-
476
-    ul {
477
-    	margin-left: 0;
478
-    }
479
-
480
-	li > ul {
481
-        /* Matches the 30px from the "ul, ol" selector above */
482
-		margin-left: 30px;
483
-	}
484
-
485
-    .document {
486
-    	width: auto;
487
-    }
488
-
489
-    .footer {
490
-    	width: auto;
491
-    }
492
-
493
-    .bodywrapper {
494
-    	margin: 0;
495
-    }
496
-
497
-    .footer {
498
-    	width: auto;
499
-    }
500
-
501
-    .github {
502
-        display: none;
503
-    }
504
-
505
-
506
-
507
-}
508
-
509
-
510
-
511
-@media screen and (max-width: 875px) {
512
-
513
-    body {
514
-        margin: 0;
515
-        padding: 20px 30px;
516
-    }
517
-
518
-    div.documentwrapper {
519
-        float: none;
520
-        background: white;
521
-    }
522
-
523
-    div.sphinxsidebar {
524
-        display: block;
525
-        float: none;
526
-        width: 102.5%;
527
-        margin: 50px -30px -20px -30px;
528
-        padding: 10px 20px;
529
-        background: #333;
530
-        color: #FFF;
531
-    }
532
-
533
-    div.sphinxsidebar h3, div.sphinxsidebar h4, div.sphinxsidebar p,
534
-    div.sphinxsidebar h3 a {
535
-        color: white;
536
-    }
537
-
538
-    div.sphinxsidebar a {
539
-        color: #AAA;
540
-    }
541
-
542
-    div.sphinxsidebar p.logo {
543
-        display: none;
544
-    }
545
-
546
-    div.document {
547
-        width: 100%;
548
-        margin: 0;
549
-    }
550
-
551
-    div.footer {
552
-        display: none;
553
-    }
554
-
555
-    div.bodywrapper {
556
-        margin: 0;
557
-    }
558
-
559
-    div.body {
560
-        min-height: 0;
561
-        padding: 0;
562
-    }
563
-
564
-    .rtd_doc_footer {
565
-        display: none;
566
-    }
567
-
568
-    .document {
569
-        width: auto;
570
-    }
571
-
572
-    .footer {
573
-        width: auto;
574
-    }
575
-
576
-    .footer {
577
-        width: auto;
578
-    }
579
-
580
-    .github {
581
-        display: none;
582
-    }
583
-}
584
-
585
-
586
-/* misc. */
587
-
588
-.revsys-inline {
589
-    display: none!important;
590
-}
591
-
592
-/* Make nested-list/multi-paragraph items look better in Releases changelog
593
- * pages. Without this, docutils' magical list fuckery causes inconsistent
594
- * formatting between different release sub-lists.
595
- */
596
-div#changelog > div.section > ul > li > p:only-child {
597
-    margin-bottom: 0;
598
-}
599
-
600
-/* Hide fugly table cell borders in ..bibliography:: directive output */
601
-table.docutils.citation, table.docutils.citation td, table.docutils.citation th {
602
-  border: none;
603
-  /* Below needed in some edge cases; if not applied, bottom shadows appear */
604
-  -moz-box-shadow: none;
605
-  -webkit-box-shadow: none;
606
-  box-shadow: none;
607
-}

+ 30
- 2
_docs_/_static/basic.css View File

@@ -4,7 +4,7 @@
4 4
  *
5 5
  * Sphinx stylesheet -- basic theme.
6 6
  *
7
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
8 8
  * :license: BSD, see LICENSE for details.
9 9
  *
10 10
  */
@@ -81,10 +81,26 @@ div.sphinxsidebar input {
81 81
     font-size: 1em;
82 82
 }
83 83
 
84
+div.sphinxsidebar #searchbox form.search {
85
+    overflow: hidden;
86
+}
87
+
84 88
 div.sphinxsidebar #searchbox input[type="text"] {
85
-    width: 170px;
89
+    float: left;
90
+    width: 80%;
91
+    padding: 0.25em;
92
+    box-sizing: border-box;
86 93
 }
87 94
 
95
+div.sphinxsidebar #searchbox input[type="submit"] {
96
+    float: left;
97
+    width: 20%;
98
+    border-left: none;
99
+    padding: 0.25em;
100
+    box-sizing: border-box;
101
+}
102
+
103
+
88 104
 img {
89 105
     border: 0;
90 106
     max-width: 100%;
@@ -199,6 +215,11 @@ table.modindextable td {
199 215
 
200 216
 /* -- general body styles --------------------------------------------------- */
201 217
 
218
+div.body {
219
+    min-width: 450px;
220
+    max-width: 800px;
221
+}
222
+
202 223
 div.body p, div.body dd, div.body li, div.body blockquote {
203 224
     -moz-hyphens: auto;
204 225
     -ms-hyphens: auto;
@@ -410,6 +431,13 @@ table.field-list td, table.field-list th {
410 431
     hyphens: manual;
411 432
 }
412 433
 
434
+/* -- hlist styles ---------------------------------------------------------- */
435
+
436
+table.hlist td {
437
+    vertical-align: top;
438
+}
439
+
440
+
413 441
 /* -- other body styles ----------------------------------------------------- */
414 442
 
415 443
 ol.arabic {

BIN
_docs_/_static/comment-bright.png View File


BIN
_docs_/_static/comment-close.png View File


BIN
_docs_/_static/comment.png View File


+ 1
- 0
_docs_/_static/css/badge_only.css View File

@@ -0,0 +1 @@
1
+.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

BIN
_docs_/_static/css/fonts/Roboto-Slab-Bold.woff View File


BIN
_docs_/_static/css/fonts/Roboto-Slab-Bold.woff2 View File


BIN
_docs_/_static/css/fonts/Roboto-Slab-Regular.woff View File


BIN
_docs_/_static/css/fonts/Roboto-Slab-Regular.woff2 View File


BIN
_docs_/_static/css/fonts/fontawesome-webfont.eot View File


+ 2671
- 0
_docs_/_static/css/fonts/fontawesome-webfont.svg
File diff suppressed because it is too large
View File


BIN
_docs_/_static/css/fonts/fontawesome-webfont.ttf View File


BIN
_docs_/_static/css/fonts/fontawesome-webfont.woff View File


BIN
_docs_/_static/css/fonts/fontawesome-webfont.woff2 View File


BIN
_docs_/_static/css/fonts/lato-bold-italic.woff View File


BIN
_docs_/_static/css/fonts/lato-bold-italic.woff2 View File


BIN
_docs_/_static/css/fonts/lato-bold.woff View File


BIN
_docs_/_static/css/fonts/lato-bold.woff2 View File


BIN
_docs_/_static/css/fonts/lato-normal-italic.woff View File


BIN
_docs_/_static/css/fonts/lato-normal-italic.woff2 View File


BIN
_docs_/_static/css/fonts/lato-normal.woff View File


BIN
_docs_/_static/css/fonts/lato-normal.woff2 View File


+ 4
- 0
_docs_/_static/css/theme.css
File diff suppressed because it is too large
View File


+ 0
- 1
_docs_/_static/custom.css View File

@@ -1 +0,0 @@
1
-/* This file intentionally left blank. */

+ 8
- 4
_docs_/_static/doctools.js View File

@@ -4,7 +4,7 @@
4 4
  *
5 5
  * Sphinx JavaScript utilities for all documentation.
6 6
  *
7
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
8 8
  * :license: BSD, see LICENSE for details.
9 9
  *
10 10
  */
@@ -70,7 +70,9 @@ jQuery.fn.highlightText = function(text, className) {
70 70
     if (node.nodeType === 3) {
71 71
       var val = node.nodeValue;
72 72
       var pos = val.toLowerCase().indexOf(text);
73
-      if (pos >= 0 && !jQuery(node.parentNode).hasClass(className)) {
73
+      if (pos >= 0 &&
74
+          !jQuery(node.parentNode).hasClass(className) &&
75
+          !jQuery(node.parentNode).hasClass("nohighlight")) {
74 76
         var span;
75 77
         var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg");
76 78
         if (isInSVG) {
@@ -148,7 +150,9 @@ var Documentation = {
148 150
     this.fixFirefoxAnchorBug();
149 151
     this.highlightSearchWords();
150 152
     this.initIndexTable();
151
-    
153
+    if (DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) {
154
+      this.initOnKeyListeners();
155
+    }
152 156
   },
153 157
 
154 158
   /**
@@ -308,4 +312,4 @@ _ = Documentation.gettext;
308 312
 
309 313
 $(document).ready(function() {
310 314
   Documentation.init();
311
-});
315
+});

+ 10
- 0
_docs_/_static/documentation_options.js View File

@@ -0,0 +1,10 @@
1
+var DOCUMENTATION_OPTIONS = {
2
+    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
3
+    VERSION: '',
4
+    LANGUAGE: 'None',
5
+    COLLAPSE_INDEX: false,
6
+    FILE_SUFFIX: '.html',
7
+    HAS_SOURCE: true,
8
+    SOURCELINK_SUFFIX: '.txt',
9
+    NAVIGATION_WITH_KEYS: false,
10
+};

BIN
_docs_/_static/down-pressed.png View File


BIN
_docs_/_static/down.png View File


BIN
_docs_/_static/fonts/FontAwesome.otf View File


BIN
_docs_/_static/fonts/Lato/lato-bold.eot View File


BIN
_docs_/_static/fonts/Lato/lato-bold.ttf View File


BIN
_docs_/_static/fonts/Lato/lato-bold.woff View File


BIN
_docs_/_static/fonts/Lato/lato-bold.woff2 View File


BIN
_docs_/_static/fonts/Lato/lato-bolditalic.eot View File


BIN
_docs_/_static/fonts/Lato/lato-bolditalic.ttf View File


BIN
_docs_/_static/fonts/Lato/lato-bolditalic.woff View File


BIN
_docs_/_static/fonts/Lato/lato-bolditalic.woff2 View File


BIN
_docs_/_static/fonts/Lato/lato-italic.eot View File


BIN
_docs_/_static/fonts/Lato/lato-italic.ttf View File


BIN
_docs_/_static/fonts/Lato/lato-italic.woff View File


BIN
_docs_/_static/fonts/Lato/lato-italic.woff2 View File


BIN
_docs_/_static/fonts/Lato/lato-regular.eot View File


BIN
_docs_/_static/fonts/Lato/lato-regular.ttf View File


BIN
_docs_/_static/fonts/Lato/lato-regular.woff View File


BIN
_docs_/_static/fonts/Lato/lato-regular.woff2 View File


BIN
_docs_/_static/fonts/Roboto-Slab-Bold.woff View File


BIN
_docs_/_static/fonts/Roboto-Slab-Bold.woff2 View File


BIN
_docs_/_static/fonts/Roboto-Slab-Light.woff View File


BIN
_docs_/_static/fonts/Roboto-Slab-Light.woff2 View File


BIN
_docs_/_static/fonts/Roboto-Slab-Regular.woff View File


BIN
_docs_/_static/fonts/Roboto-Slab-Regular.woff2 View File


BIN
_docs_/_static/fonts/Roboto-Slab-Thin.woff View File


BIN
_docs_/_static/fonts/Roboto-Slab-Thin.woff2 View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff View File


BIN
_docs_/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 View File


BIN
_docs_/_static/fonts/fontawesome-webfont.eot View File


+ 2671
- 0
_docs_/_static/fonts/fontawesome-webfont.svg
File diff suppressed because it is too large
View File


BIN
_docs_/_static/fonts/fontawesome-webfont.ttf View File


BIN
_docs_/_static/fonts/fontawesome-webfont.woff View File


BIN
_docs_/_static/fonts/fontawesome-webfont.woff2 View File


BIN
_docs_/_static/fonts/lato-bold-italic.woff View File


BIN
_docs_/_static/fonts/lato-bold-italic.woff2 View File


BIN
_docs_/_static/fonts/lato-bold.woff View File


BIN
_docs_/_static/fonts/lato-bold.woff2 View File


BIN
_docs_/_static/fonts/lato-normal-italic.woff View File


BIN
_docs_/_static/fonts/lato-normal-italic.woff2 View File


BIN
_docs_/_static/fonts/lato-normal.woff View File


BIN
_docs_/_static/fonts/lato-normal.woff2 View File


+ 455
- 343
_docs_/_static/jquery.js
File diff suppressed because it is too large
View File


+ 1
- 0
_docs_/_static/js/badge_only.js View File

@@ -0,0 +1 @@
1
+!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});

+ 4
- 0
_docs_/_static/js/html5shiv-printshiv.min.js View File

@@ -0,0 +1,4 @@
1
+/**
2
+* @preserve HTML5 Shiv 3.7.3-pre | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3
+*/
4
+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=y.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=y.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),y.elements=c+" "+a,j(b)}function f(a){var b=x[a[v]];return b||(b={},w++,a[v]=w,x[w]=b),b}function g(a,c,d){if(c||(c=b),q)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():u.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||t.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),q)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return y.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(y,b.frag)}function j(a){a||(a=b);var d=f(a);return!y.shivCSS||p||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),q||i(a,d),a}function k(a){for(var b,c=a.getElementsByTagName("*"),e=c.length,f=RegExp("^(?:"+d().join("|")+")$","i"),g=[];e--;)b=c[e],f.test(b.nodeName)&&g.push(b.applyElement(l(b)));return g}function l(a){for(var b,c=a.attributes,d=c.length,e=a.ownerDocument.createElement(A+":"+a.nodeName);d--;)b=c[d],b.specified&&e.setAttribute(b.nodeName,b.nodeValue);return e.style.cssText=a.style.cssText,e}function m(a){for(var b,c=a.split("{"),e=c.length,f=RegExp("(^|[\\s,>+~])("+d().join("|")+")(?=[[\\s,>+~#.:]|$)","gi"),g="$1"+A+"\\:$2";e--;)b=c[e]=c[e].split("}"),b[b.length-1]=b[b.length-1].replace(f,g),c[e]=b.join("}");return c.join("{")}function n(a){for(var b=a.length;b--;)a[b].removeNode()}function o(a){function b(){clearTimeout(g._removeSheetTimer),d&&d.removeNode(!0),d=null}var d,e,g=f(a),h=a.namespaces,i=a.parentWindow;return!B||a.printShived?a:("undefined"==typeof h[A]&&h.add(A),i.attachEvent("onbeforeprint",function(){b();for(var f,g,h,i=a.styleSheets,j=[],l=i.length,n=Array(l);l--;)n[l]=i[l];for(;h=n.pop();)if(!h.disabled&&z.test(h.media)){try{f=h.imports,g=f.length}catch(o){g=0}for(l=0;g>l;l++)n.push(f[l]);try{j.push(h.cssText)}catch(o){}}j=m(j.reverse().join("")),e=k(a),d=c(a,j)}),i.attachEvent("onafterprint",function(){n(e),clearTimeout(g._removeSheetTimer),g._removeSheetTimer=setTimeout(b,500)}),a.printShived=!0,a)}var p,q,r="3.7.3",s=a.html5||{},t=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,u=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,v="_html5shiv",w=0,x={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",p="hidden"in a,q=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){p=!0,q=!0}}();var y={elements:s.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:r,shivCSS:s.shivCSS!==!1,supportsUnknownElements:q,shivMethods:s.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=y,j(b);var z=/^$|\b(?:all|print)\b/,A="html5shiv",B=!q&&function(){var c=b.documentElement;return!("undefined"==typeof b.namespaces||"undefined"==typeof b.parentWindow||"undefined"==typeof c.applyElement||"undefined"==typeof c.removeNode||"undefined"==typeof a.attachEvent)}();y.type+=" print",y.shivPrint=o,o(b),"object"==typeof module&&module.exports&&(module.exports=y)}("undefined"!=typeof window?window:this,document);

+ 4
- 0
_docs_/_static/js/html5shiv.min.js View File

@@ -0,0 +1,4 @@
1
+/**
2
+* @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
3
+*/
4
+!function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3-pre",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document);

+ 4
- 0
_docs_/_static/js/modernizr.min.js
File diff suppressed because it is too large
View File


+ 1
- 0
_docs_/_static/js/theme.js View File

@@ -0,0 +1 @@
1
+!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current"),e.find("> ul li.current").removeClass("current"),e.toggleClass("current")}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);

+ 297
- 0
_docs_/_static/language_data.js View File

@@ -0,0 +1,297 @@
1
+/*
2
+ * language_data.js
3
+ * ~~~~~~~~~~~~~~~~
4
+ *
5
+ * This script contains the language-specific data used by searchtools.js,
6
+ * namely the list of stopwords, stemmer, scorer and splitter.
7
+ *
8
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
9
+ * :license: BSD, see LICENSE for details.
10
+ *
11
+ */
12
+
13
+var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
14
+
15
+
16
+/* Non-minified version JS is _stemmer.js if file is provided */ 
17
+/**
18
+ * Porter Stemmer
19
+ */
20
+var Stemmer = function() {
21
+
22
+  var step2list = {
23
+    ational: 'ate',
24
+    tional: 'tion',
25
+    enci: 'ence',
26
+    anci: 'ance',
27
+    izer: 'ize',
28
+    bli: 'ble',
29
+    alli: 'al',
30
+    entli: 'ent',
31
+    eli: 'e',
32
+    ousli: 'ous',
33
+    ization: 'ize',
34
+    ation: 'ate',
35
+    ator: 'ate',
36
+    alism: 'al',
37
+    iveness: 'ive',
38
+    fulness: 'ful',
39
+    ousness: 'ous',
40
+    aliti: 'al',
41
+    iviti: 'ive',
42
+    biliti: 'ble',
43
+    logi: 'log'
44
+  };
45
+
46
+  var step3list = {
47
+    icate: 'ic',
48
+    ative: '',
49
+    alize: 'al',
50
+    iciti: 'ic',
51
+    ical: 'ic',
52
+    ful: '',
53
+    ness: ''
54
+  };
55
+
56
+  var c = "[^aeiou]";          // consonant
57
+  var v = "[aeiouy]";          // vowel
58
+  var C = c + "[^aeiouy]*";    // consonant sequence
59
+  var V = v + "[aeiou]*";      // vowel sequence
60
+
61
+  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
62
+  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
63
+  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
64
+  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
65
+
66
+  this.stemWord = function (w) {
67
+    var stem;
68
+    var suffix;
69
+    var firstch;
70
+    var origword = w;
71
+
72
+    if (w.length < 3)
73
+      return w;
74
+
75
+    var re;
76
+    var re2;
77
+    var re3;
78
+    var re4;
79
+
80
+    firstch = w.substr(0,1);
81
+    if (firstch == "y")
82
+      w = firstch.toUpperCase() + w.substr(1);
83
+
84
+    // Step 1a
85
+    re = /^(.+?)(ss|i)es$/;
86
+    re2 = /^(.+?)([^s])s$/;
87
+
88
+    if (re.test(w))
89
+      w = w.replace(re,"$1$2");
90
+    else if (re2.test(w))
91
+      w = w.replace(re2,"$1$2");
92
+
93
+    // Step 1b
94
+    re = /^(.+?)eed$/;
95
+    re2 = /^(.+?)(ed|ing)$/;
96
+    if (re.test(w)) {
97
+      var fp = re.exec(w);
98
+      re = new RegExp(mgr0);
99
+      if (re.test(fp[1])) {
100
+        re = /.$/;
101
+        w = w.replace(re,"");
102
+      }
103
+    }
104
+    else if (re2.test(w)) {
105
+      var fp = re2.exec(w);
106
+      stem = fp[1];
107
+      re2 = new RegExp(s_v);
108
+      if (re2.test(stem)) {
109
+        w = stem;
110
+        re2 = /(at|bl|iz)$/;
111
+        re3 = new RegExp("([^aeiouylsz])\\1$");
112
+        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
113
+        if (re2.test(w))
114
+          w = w + "e";
115
+        else if (re3.test(w)) {
116
+          re = /.$/;
117
+          w = w.replace(re,"");
118
+        }
119
+        else if (re4.test(w))
120
+          w = w + "e";
121
+      }
122
+    }
123
+
124
+    // Step 1c
125
+    re = /^(.+?)y$/;
126
+    if (re.test(w)) {
127
+      var fp = re.exec(w);
128
+      stem = fp[1];
129
+      re = new RegExp(s_v);
130
+      if (re.test(stem))
131
+        w = stem + "i";
132
+    }
133
+
134
+    // Step 2
135
+    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
136
+    if (re.test(w)) {
137
+      var fp = re.exec(w);
138
+      stem = fp[1];
139
+      suffix = fp[2];
140
+      re = new RegExp(mgr0);
141
+      if (re.test(stem))
142
+        w = stem + step2list[suffix];
143
+    }
144
+
145
+    // Step 3
146
+    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
147
+    if (re.test(w)) {
148
+      var fp = re.exec(w);
149
+      stem = fp[1];
150
+      suffix = fp[2];
151
+      re = new RegExp(mgr0);
152
+      if (re.test(stem))
153
+        w = stem + step3list[suffix];
154
+    }
155
+
156
+    // Step 4
157
+    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
158
+    re2 = /^(.+?)(s|t)(ion)$/;
159
+    if (re.test(w)) {
160
+      var fp = re.exec(w);
161
+      stem = fp[1];
162
+      re = new RegExp(mgr1);
163
+      if (re.test(stem))
164
+        w = stem;
165
+    }
166
+    else if (re2.test(w)) {
167
+      var fp = re2.exec(w);
168
+      stem = fp[1] + fp[2];
169
+      re2 = new RegExp(mgr1);
170
+      if (re2.test(stem))
171
+        w = stem;
172
+    }
173
+
174
+    // Step 5
175
+    re = /^(.+?)e$/;
176
+    if (re.test(w)) {
177
+      var fp = re.exec(w);
178
+      stem = fp[1];
179
+      re = new RegExp(mgr1);
180
+      re2 = new RegExp(meq1);
181
+      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
182
+      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
183
+        w = stem;
184
+    }
185
+    re = /ll$/;
186
+    re2 = new RegExp(mgr1);
187
+    if (re.test(w) && re2.test(w)) {
188
+      re = /.$/;
189
+      w = w.replace(re,"");
190
+    }
191
+
192
+    // and turn initial Y back to y
193
+    if (firstch == "y")
194
+      w = firstch.toLowerCase() + w.substr(1);
195
+    return w;
196
+  }
197
+}
198
+
199
+
200
+
201
+
202
+
203
+var splitChars = (function() {
204
+    var result = {};
205
+    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
206
+         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
207
+         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
208
+         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
209
+         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
210
+         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
211
+         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
212
+         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
213
+         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
214
+         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
215
+    var i, j, start, end;
216
+    for (i = 0; i < singles.length; i++) {
217
+        result[singles[i]] = true;
218
+    }
219
+    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
220
+         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
221
+         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
222
+         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
223
+         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
224
+         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
225
+         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
226
+         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
227
+         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
228
+         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
229
+         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
230
+         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
231
+         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
232
+         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
233
+         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
234
+         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
235
+         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
236
+         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
237
+         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
238
+         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
239
+         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
240
+         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
241
+         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
242
+         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
243
+         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
244
+         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
245
+         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
246
+         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
247
+         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
248
+         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
249
+         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
250
+         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
251
+         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
252
+         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
253
+         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
254
+         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
255
+         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
256
+         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
257
+         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
258
+         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
259
+         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
260
+         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
261
+         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
262
+         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
263
+         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
264
+         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
265
+         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
266
+         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
267
+         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
268
+    for (i = 0; i < ranges.length; i++) {
269
+        start = ranges[i][0];
270
+        end = ranges[i][1];
271
+        for (j = start; j <= end; j++) {
272
+            result[j] = true;
273
+        }
274
+    }
275
+    return result;
276
+})();
277
+
278
+function splitQuery(query) {
279
+    var result = [];
280
+    var start = -1;
281
+    for (var i = 0; i < query.length; i++) {
282
+        if (splitChars[query.charCodeAt(i)]) {
283
+            if (start !== -1) {
284
+                result.push(query.slice(start, i));
285
+                start = -1;
286
+            }
287
+        } else if (start === -1) {
288
+            start = i;
289
+        }
290
+    }
291
+    if (start !== -1) {
292
+        result.push(query.slice(start));
293
+    }
294
+    return result;
295
+}
296
+
297
+

+ 57
- 57
_docs_/_static/pygments.css View File

@@ -1,69 +1,69 @@
1 1
 .highlight .hll { background-color: #ffffcc }
2
-.highlight  { background: #eeffcc; }
3
-.highlight .c { color: #408090; font-style: italic } /* Comment */
2
+.highlight  { background: #f8f8f8; }
3
+.highlight .c { color: #408080; font-style: italic } /* Comment */
4 4
 .highlight .err { border: 1px solid #FF0000 } /* Error */
5
-.highlight .k { color: #007020; font-weight: bold } /* Keyword */
5
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
6 6
 .highlight .o { color: #666666 } /* Operator */
7
-.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
8
-.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
9
-.highlight .cp { color: #007020 } /* Comment.Preproc */
10
-.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
11
-.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
12
-.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
7
+.highlight .ch { color: #408080; font-style: italic } /* Comment.Hashbang */
8
+.highlight .cm { color: #408080; font-style: italic } /* Comment.Multiline */
9
+.highlight .cp { color: #BC7A00 } /* Comment.Preproc */
10
+.highlight .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */
11
+.highlight .c1 { color: #408080; font-style: italic } /* Comment.Single */
12
+.highlight .cs { color: #408080; font-style: italic } /* Comment.Special */
13 13
 .highlight .gd { color: #A00000 } /* Generic.Deleted */
14 14
 .highlight .ge { font-style: italic } /* Generic.Emph */
15 15
 .highlight .gr { color: #FF0000 } /* Generic.Error */
16 16
 .highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
17 17
 .highlight .gi { color: #00A000 } /* Generic.Inserted */
18
-.highlight .go { color: #333333 } /* Generic.Output */
19
-.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
18
+.highlight .go { color: #888888 } /* Generic.Output */
19
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
20 20
 .highlight .gs { font-weight: bold } /* Generic.Strong */
21 21
 .highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
22 22
 .highlight .gt { color: #0044DD } /* Generic.Traceback */
23
-.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
24
-.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
25
-.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
26
-.highlight .kp { color: #007020 } /* Keyword.Pseudo */
27
-.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
28
-.highlight .kt { color: #902000 } /* Keyword.Type */
29
-.highlight .m { color: #208050 } /* Literal.Number */
30
-.highlight .s { color: #4070a0 } /* Literal.String */
31
-.highlight .na { color: #4070a0 } /* Name.Attribute */
32
-.highlight .nb { color: #007020 } /* Name.Builtin */
33
-.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
34
-.highlight .no { color: #60add5 } /* Name.Constant */
35
-.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
36
-.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
37
-.highlight .ne { color: #007020 } /* Name.Exception */
38
-.highlight .nf { color: #06287e } /* Name.Function */
39
-.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
40
-.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
41
-.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
42
-.highlight .nv { color: #bb60d5 } /* Name.Variable */
43
-.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
23
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
24
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
25
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
26
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
27
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
28
+.highlight .kt { color: #B00040 } /* Keyword.Type */
29
+.highlight .m { color: #666666 } /* Literal.Number */
30
+.highlight .s { color: #BA2121 } /* Literal.String */
31
+.highlight .na { color: #7D9029 } /* Name.Attribute */
32
+.highlight .nb { color: #008000 } /* Name.Builtin */
33
+.highlight .nc { color: #0000FF; font-weight: bold } /* Name.Class */
34
+.highlight .no { color: #880000 } /* Name.Constant */
35
+.highlight .nd { color: #AA22FF } /* Name.Decorator */
36
+.highlight .ni { color: #999999; font-weight: bold } /* Name.Entity */
37
+.highlight .ne { color: #D2413A; font-weight: bold } /* Name.Exception */
38
+.highlight .nf { color: #0000FF } /* Name.Function */
39
+.highlight .nl { color: #A0A000 } /* Name.Label */
40
+.highlight .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */
41
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
42
+.highlight .nv { color: #19177C } /* Name.Variable */
43
+.highlight .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */
44 44
 .highlight .w { color: #bbbbbb } /* Text.Whitespace */
45
-.highlight .mb { color: #208050 } /* Literal.Number.Bin */
46
-.highlight .mf { color: #208050 } /* Literal.Number.Float */
47
-.highlight .mh { color: #208050 } /* Literal.Number.Hex */
48
-.highlight .mi { color: #208050 } /* Literal.Number.Integer */
49
-.highlight .mo { color: #208050 } /* Literal.Number.Oct */
50
-.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
51
-.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
52
-.highlight .sc { color: #4070a0 } /* Literal.String.Char */
53
-.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
54
-.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
55
-.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
56
-.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
57
-.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
58
-.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
59
-.highlight .sx { color: #c65d09 } /* Literal.String.Other */
60
-.highlight .sr { color: #235388 } /* Literal.String.Regex */
61
-.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
62
-.highlight .ss { color: #517918 } /* Literal.String.Symbol */
63
-.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
64
-.highlight .fm { color: #06287e } /* Name.Function.Magic */
65
-.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
66
-.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
67
-.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
68
-.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
69
-.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
45
+.highlight .mb { color: #666666 } /* Literal.Number.Bin */
46
+.highlight .mf { color: #666666 } /* Literal.Number.Float */
47
+.highlight .mh { color: #666666 } /* Literal.Number.Hex */
48
+.highlight .mi { color: #666666 } /* Literal.Number.Integer */
49
+.highlight .mo { color: #666666 } /* Literal.Number.Oct */
50
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
51
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
52
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
53
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
54
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
55
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
56
+.highlight .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */
57
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
58
+.highlight .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */
59
+.highlight .sx { color: #008000 } /* Literal.String.Other */
60
+.highlight .sr { color: #BB6688 } /* Literal.String.Regex */
61
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
62
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
63
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
64
+.highlight .fm { color: #0000FF } /* Name.Function.Magic */
65
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
66
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
67
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
68
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
69
+.highlight .il { color: #666666 } /* Literal.Number.Integer.Long */

+ 36
- 316
_docs_/_static/searchtools.js View File

@@ -1,331 +1,52 @@
1 1
 /*
2
- * searchtools.js_t
2
+ * searchtools.js
3 3
  * ~~~~~~~~~~~~~~~~
4 4
  *
5 5
  * Sphinx JavaScript utilities for the full-text search.
6 6
  *
7
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
7
+ * :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
8 8
  * :license: BSD, see LICENSE for details.
9 9
  *
10 10
  */
11 11
 
12
-
13
-/* Non-minified version JS is _stemmer.js if file is provided */ 
14
-/**
15
- * Porter Stemmer
16
- */
17
-var Stemmer = function() {
18
-
19
-  var step2list = {
20
-    ational: 'ate',
21
-    tional: 'tion',
22
-    enci: 'ence',
23
-    anci: 'ance',
24
-    izer: 'ize',
25
-    bli: 'ble',
26
-    alli: 'al',
27
-    entli: 'ent',
28
-    eli: 'e',
29
-    ousli: 'ous',
30
-    ization: 'ize',
31
-    ation: 'ate',
32
-    ator: 'ate',
33
-    alism: 'al',
34
-    iveness: 'ive',
35
-    fulness: 'ful',
36
-    ousness: 'ous',
37
-    aliti: 'al',
38
-    iviti: 'ive',
39
-    biliti: 'ble',
40
-    logi: 'log'
41
-  };
42
-
43
-  var step3list = {
44
-    icate: 'ic',
45
-    ative: '',
46
-    alize: 'al',
47
-    iciti: 'ic',
48
-    ical: 'ic',
49
-    ful: '',
50
-    ness: ''
12
+if (!Scorer) {
13
+  /**
14
+   * Simple result scoring code.
15
+   */
16
+  var Scorer = {
17
+    // Implement the following function to further tweak the score for each result
18
+    // The function takes a result array [filename, title, anchor, descr, score]
19
+    // and returns the new score.
20
+    /*
21
+    score: function(result) {
22
+      return result[4];
23
+    },
24
+    */
25
+
26
+    // query matches the full name of an object
27
+    objNameMatch: 11,
28
+    // or matches in the last dotted part of the object name
29
+    objPartialMatch: 6,
30
+    // Additive scores depending on the priority of the object
31
+    objPrio: {0:  15,   // used to be importantResults
32
+              1:  5,   // used to be objectResults
33
+              2: -5},  // used to be unimportantResults
34
+    //  Used when the priority is not in the mapping.
35
+    objPrioDefault: 0,
36
+
37
+    // query found in title
38
+    title: 15,
39
+    // query found in terms
40
+    term: 5
51 41
   };
52
-
53
-  var c = "[^aeiou]";          // consonant
54
-  var v = "[aeiouy]";          // vowel
55
-  var C = c + "[^aeiouy]*";    // consonant sequence
56
-  var V = v + "[aeiou]*";      // vowel sequence
57
-
58
-  var mgr0 = "^(" + C + ")?" + V + C;                      // [C]VC... is m>0
59
-  var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$";    // [C]VC[V] is m=1
60
-  var mgr1 = "^(" + C + ")?" + V + C + V + C;              // [C]VCVC... is m>1
61
-  var s_v   = "^(" + C + ")?" + v;                         // vowel in stem
62
-
63
-  this.stemWord = function (w) {
64
-    var stem;
65
-    var suffix;
66
-    var firstch;
67
-    var origword = w;
68
-
69
-    if (w.length < 3)
70
-      return w;
71
-
72
-    var re;
73
-    var re2;
74
-    var re3;
75
-    var re4;
76
-
77
-    firstch = w.substr(0,1);
78
-    if (firstch == "y")
79
-      w = firstch.toUpperCase() + w.substr(1);
80
-
81
-    // Step 1a
82
-    re = /^(.+?)(ss|i)es$/;
83
-    re2 = /^(.+?)([^s])s$/;
84
-
85
-    if (re.test(w))
86
-      w = w.replace(re,"$1$2");
87
-    else if (re2.test(w))
88
-      w = w.replace(re2,"$1$2");
89
-
90
-    // Step 1b
91
-    re = /^(.+?)eed$/;
92
-    re2 = /^(.+?)(ed|ing)$/;
93
-    if (re.test(w)) {
94
-      var fp = re.exec(w);
95
-      re = new RegExp(mgr0);
96
-      if (re.test(fp[1])) {
97
-        re = /.$/;
98
-        w = w.replace(re,"");
99
-      }
100
-    }
101
-    else if (re2.test(w)) {
102
-      var fp = re2.exec(w);
103
-      stem = fp[1];
104
-      re2 = new RegExp(s_v);
105
-      if (re2.test(stem)) {
106
-        w = stem;
107
-        re2 = /(at|bl|iz)$/;
108
-        re3 = new RegExp("([^aeiouylsz])\\1$");
109
-        re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
110
-        if (re2.test(w))
111
-          w = w + "e";
112
-        else if (re3.test(w)) {
113
-          re = /.$/;
114
-          w = w.replace(re,"");
115
-        }
116
-        else if (re4.test(w))
117
-          w = w + "e";
118
-      }
119
-    }
120
-
121
-    // Step 1c
122
-    re = /^(.+?)y$/;
123
-    if (re.test(w)) {
124
-      var fp = re.exec(w);
125
-      stem = fp[1];
126
-      re = new RegExp(s_v);
127
-      if (re.test(stem))
128
-        w = stem + "i";
129
-    }
130
-
131
-    // Step 2
132
-    re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
133
-    if (re.test(w)) {
134
-      var fp = re.exec(w);
135
-      stem = fp[1];
136
-      suffix = fp[2];
137
-      re = new RegExp(mgr0);
138
-      if (re.test(stem))
139
-        w = stem + step2list[suffix];
140
-    }
141
-
142
-    // Step 3
143
-    re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
144
-    if (re.test(w)) {
145
-      var fp = re.exec(w);
146
-      stem = fp[1];
147
-      suffix = fp[2];
148
-      re = new RegExp(mgr0);
149
-      if (re.test(stem))
150
-        w = stem + step3list[suffix];
151
-    }
152
-
153
-    // Step 4
154
-    re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
155
-    re2 = /^(.+?)(s|t)(ion)$/;
156
-    if (re.test(w)) {
157
-      var fp = re.exec(w);
158
-      stem = fp[1];
159
-      re = new RegExp(mgr1);
160
-      if (re.test(stem))
161
-        w = stem;
162
-    }
163
-    else if (re2.test(w)) {
164
-      var fp = re2.exec(w);
165
-      stem = fp[1] + fp[2];
166
-      re2 = new RegExp(mgr1);
167
-      if (re2.test(stem))
168
-        w = stem;
169
-    }
170
-
171
-    // Step 5
172
-    re = /^(.+?)e$/;
173
-    if (re.test(w)) {
174
-      var fp = re.exec(w);
175
-      stem = fp[1];
176
-      re = new RegExp(mgr1);
177
-      re2 = new RegExp(meq1);
178
-      re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
179
-      if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
180
-        w = stem;
181
-    }
182
-    re = /ll$/;
183
-    re2 = new RegExp(mgr1);
184
-    if (re.test(w) && re2.test(w)) {
185
-      re = /.$/;
186
-      w = w.replace(re,"");
187
-    }
188
-
189
-    // and turn initial Y back to y
190
-    if (firstch == "y")
191
-      w = firstch.toLowerCase() + w.substr(1);
192
-    return w;
193
-  }
194 42
 }
195 43
 
196
-
197
-
198
-/**
199
- * Simple result scoring code.
200
- */
201
-var Scorer = {
202
-  // Implement the following function to further tweak the score for each result
203
-  // The function takes a result array [filename, title, anchor, descr, score]
204
-  // and returns the new score.
205
-  /*
206
-  score: function(result) {
207
-    return result[4];
208
-  },
209
-  */
210
-
211
-  // query matches the full name of an object
212
-  objNameMatch: 11,
213
-  // or matches in the last dotted part of the object name
214
-  objPartialMatch: 6,
215
-  // Additive scores depending on the priority of the object
216
-  objPrio: {0:  15,   // used to be importantResults
217
-            1:  5,   // used to be objectResults
218
-            2: -5},  // used to be unimportantResults
219
-  //  Used when the priority is not in the mapping.
220
-  objPrioDefault: 0,
221
-
222
-  // query found in title
223
-  title: 15,
224
-  // query found in terms
225
-  term: 5
226
-};
227
-
228
-
229
-
230
-
231
-
232
-var splitChars = (function() {
233
-    var result = {};
234
-    var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648,
235
-         1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702,
236
-         2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971,
237
-         2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345,
238
-         3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761,
239
-         3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823,
240
-         4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125,
241
-         8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695,
242
-         11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587,
243
-         43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141];
244
-    var i, j, start, end;
245
-    for (i = 0; i < singles.length; i++) {
246
-        result[singles[i]] = true;
247
-    }
248
-    var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709],
249
-         [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161],
250
-         [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568],
251
-         [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807],
252
-         [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047],
253
-         [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383],
254
-         [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450],
255
-         [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547],
256
-         [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673],
257
-         [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820],
258
-         [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946],
259
-         [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023],
260
-         [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173],
261
-         [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332],
262
-         [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481],
263
-         [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718],
264
-         [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791],
265
-         [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095],
266
-         [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205],
267
-         [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687],
268
-         [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968],
269
-         [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869],
270
-         [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102],
271
-         [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271],
272
-         [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592],
273
-         [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822],
274
-         [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167],
275
-         [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959],
276
-         [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143],
277
-         [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318],
278
-         [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483],
279
-         [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101],
280
-         [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567],
281
-         [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292],
282
-         [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444],
283
-         [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783],
284
-         [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311],
285
-         [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511],
286
-         [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774],
287
-         [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071],
288
-         [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263],
289
-         [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519],
290
-         [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647],
291
-         [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967],
292
-         [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295],
293
-         [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274],
294
-         [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007],
295
-         [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381],
296
-         [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]];
297
-    for (i = 0; i < ranges.length; i++) {
298
-        start = ranges[i][0];
299
-        end = ranges[i][1];
300
-        for (j = start; j <= end; j++) {
301
-            result[j] = true;
302
-        }
303
-    }
304
-    return result;
305
-})();
306
-
307
-function splitQuery(query) {
308
-    var result = [];
309
-    var start = -1;
310
-    for (var i = 0; i < query.length; i++) {
311
-        if (splitChars[query.charCodeAt(i)]) {
312
-            if (start !== -1) {
313
-                result.push(query.slice(start, i));
314
-                start = -1;
315
-            }
316
-        } else if (start === -1) {
317
-            start = i;
318
-        }
319
-    }
320
-    if (start !== -1) {
321
-        result.push(query.slice(start));
322
-    }
323
-    return result;
44
+if (!splitQuery) {
45
+  function splitQuery(query) {
46
+    return query.split(/\s+/);
47
+  }
324 48
 }
325 49
 
326
-
327
-
328
-
329 50
 /**
330 51
  * Search Module
331 52
  */
@@ -417,7 +138,6 @@ var Search = {
417 138
    */
418 139
   query : function(query) {
419 140
     var i;
420
-    var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"];
421 141
 
422 142
     // stem the searchterms and add them to the correct list
423 143
     var stemmer = new Stemmer();
@@ -758,4 +478,4 @@ var Search = {
758 478
 
759 479
 $(document).ready(function() {
760 480
   Search.init();
761
-});
481
+});

+ 423
- 279
_docs_/_static/underscore.js
File diff suppressed because it is too large
View File


BIN
_docs_/_static/up-pressed.png View File


BIN
_docs_/_static/up.png View File


+ 0
- 808
_docs_/_static/websupport.js View File

@@ -1,808 +0,0 @@
1
-/*
2
- * websupport.js
3
- * ~~~~~~~~~~~~~
4
- *
5
- * sphinx.websupport utilities for all documentation.
6
- *
7
- * :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS.
8
- * :license: BSD, see LICENSE for details.
9
- *
10
- */
11
-
12
-(function($) {
13
-  $.fn.autogrow = function() {
14
-    return this.each(function() {
15
-    var textarea = this;
16
-
17
-    $.fn.autogrow.resize(textarea);
18
-
19
-    $(textarea)
20
-      .focus(function() {
21
-        textarea.interval = setInterval(function() {
22
-          $.fn.autogrow.resize(textarea);
23
-        }, 500);
24
-      })
25
-      .blur(function() {
26
-        clearInterval(textarea.interval);
27
-      });
28
-    });
29
-  };
30
-
31
-  $.fn.autogrow.resize = function(textarea) {
32
-    var lineHeight = parseInt($(textarea).css('line-height'), 10);
33
-    var lines = textarea.value.split('\n');
34
-    var columns = textarea.cols;
35
-    var lineCount = 0;
36
-    $.each(lines, function() {
37
-      lineCount += Math.ceil(this.length / columns) || 1;
38
-    });
39
-    var height = lineHeight * (lineCount + 1);
40
-    $(textarea).css('height', height);
41
-  };
42
-})(jQuery);
43
-
44
-(function($) {
45
-  var comp, by;
46
-
47
-  function init() {
48
-    initEvents();
49
-    initComparator();
50
-  }
51
-
52
-  function initEvents() {
53
-    $(document).on("click", 'a.comment-close', function(event) {
54
-      event.preventDefault();
55
-      hide($(this).attr('id').substring(2));
56
-    });
57
-    $(document).on("click", 'a.vote', function(event) {
58
-      event.preventDefault();
59
-      handleVote($(this));
60
-    });
61
-    $(document).on("click", 'a.reply', function(event) {
62
-      event.preventDefault();
63
-      openReply($(this).attr('id').substring(2));
64
-    });
65
-    $(document).on("click", 'a.close-reply', function(event) {
66
-      event.preventDefault();
67
-      closeReply($(this).attr('id').substring(2));
68
-    });
69
-    $(document).on("click", 'a.sort-option', function(event) {
70
-      event.preventDefault();
71
-      handleReSort($(this));
72
-    });
73
-    $(document).on("click", 'a.show-proposal', function(event) {
74
-      event.preventDefault();
75
-      showProposal($(this).attr('id').substring(2));
76
-    });
77
-    $(document).on("click", 'a.hide-proposal', function(event) {
78
-      event.preventDefault();
79
-      hideProposal($(this).attr('id').substring(2));
80
-    });
81
-    $(document).on("click", 'a.show-propose-change', function(event) {
82
-      event.preventDefault();
83
-      showProposeChange($(this).attr('id').substring(2));
84
-    });
85
-    $(document).on("click", 'a.hide-propose-change', function(event) {
86
-      event.preventDefault();
87
-      hideProposeChange($(this).attr('id').substring(2));
88
-    });
89
-    $(document).on("click", 'a.accept-comment', function(event) {
90
-      event.preventDefault();
91
-      acceptComment($(this).attr('id').substring(2));
92
-    });
93
-    $(document).on("click", 'a.delete-comment', function(event) {
94
-      event.preventDefault();
95
-      deleteComment($(this).attr('id').substring(2));
96
-    });
97
-    $(document).on("click", 'a.comment-markup', function(event) {
98
-      event.preventDefault();
99
-      toggleCommentMarkupBox($(this).attr('id').substring(2));
100
-    });
101
-  }
102
-
103
-  /**
104
-   * Set comp, which is a comparator function used for sorting and
105
-   * inserting comments into the list.
106
-   */
107
-  function setComparator() {
108
-    // If the first three letters are "asc", sort in ascending order
109
-    // and remove the prefix.
110
-    if (by.substring(0,3) == 'asc') {
111
-      var i = by.substring(3);
112
-      comp = function(a, b) { return a[i] - b[i]; };
113
-    } else {
114
-      // Otherwise sort in descending order.
115
-      comp = function(a, b) { return b[by] - a[by]; };
116
-    }
117
-
118
-    // Reset link styles and format the selected sort option.
119
-    $('a.sel').attr('href', '#').removeClass('sel');
120
-    $('a.by' + by).removeAttr('href').addClass('sel');
121
-  }
122
-
123
-  /**
124
-   * Create a comp function. If the user has preferences stored in
125
-   * the sortBy cookie, use those, otherwise use the default.
126
-   */
127
-  function initComparator() {
128
-    by = 'rating'; // Default to sort by rating.
129
-    // If the sortBy cookie is set, use that instead.
130
-    if (document.cookie.length > 0) {
131
-      var start = document.cookie.indexOf('sortBy=');
132
-      if (start != -1) {
133
-        start = start + 7;
134
-        var end = document.cookie.indexOf(";", start);
135
-        if (end == -1) {
136
-          end = document.cookie.length;
137
-          by = unescape(document.cookie.substring(start, end));
138
-        }
139
-      }
140
-    }
141
-    setComparator();
142
-  }
143
-
144
-  /**
145
-   * Show a comment div.
146
-   */
147
-  function show(id) {
148
-    $('#ao' + id).hide();
149
-    $('#ah' + id).show();
150
-    var context = $.extend({id: id}, opts);
151
-    var popup = $(renderTemplate(popupTemplate, context)).hide();
152
-    popup.find('textarea[name="proposal"]').hide();
153
-    popup.find('a.by' + by).addClass('sel');
154
-    var form = popup.find('#cf' + id);
155
-    form.submit(function(event) {
156
-      event.preventDefault();
157
-      addComment(form);
158
-    });
159
-    $('#s' + id).after(popup);
160
-    popup.slideDown('fast', function() {
161
-      getComments(id);
162
-    });
163
-  }
164
-
165
-  /**
166
-   * Hide a comment div.
167
-   */
168
-  function hide(id) {
169
-    $('#ah' + id).hide();
170
-    $('#ao' + id).show();
171
-    var div = $('#sc' + id);
172
-    div.slideUp('fast', function() {
173
-      div.remove();
174
-    });
175
-  }
176
-
177
-  /**
178
-   * Perform an ajax request to get comments for a node
179
-   * and insert the comments into the comments tree.
180
-   */
181
-  function getComments(id) {
182
-    $.ajax({
183
-     type: 'GET',
184
-     url: opts.getCommentsURL,
185
-     data: {node: id},
186
-     success: function(data, textStatus, request) {
187
-       var ul = $('#cl' + id);
188
-       var speed = 100;
189
-       $('#cf' + id)
190
-         .find('textarea[name="proposal"]')
191
-         .data('source', data.source);
192
-
193
-       if (data.comments.length === 0) {
194
-         ul.html('<li>No comments yet.</li>');
195
-         ul.data('empty', true);
196
-       } else {
197
-         // If there are comments, sort them and put them in the list.
198
-         var comments = sortComments(data.comments);
199
-         speed = data.comments.length * 100;
200
-         appendComments(comments, ul);
201
-         ul.data('empty', false);
202
-       }
203
-       $('#cn' + id).slideUp(speed + 200);
204
-       ul.slideDown(speed);
205
-     },
206
-     error: function(request, textStatus, error) {
207
-       showError('Oops, there was a problem retrieving the comments.');
208
-     },
209
-     dataType: 'json'
210
-    });
211
-  }
212
-
213
-  /**
214
-   * Add a comment via ajax and insert the comment into the comment tree.
215
-   */
216
-  function addComment(form) {
217
-    var node_id = form.find('input[name="node"]').val();
218
-    var parent_id = form.find('input[name="parent"]').val();
219
-    var text = form.find('textarea[name="comment"]').val();
220
-    var proposal = form.find('textarea[name="proposal"]').val();
221
-
222
-    if (text == '') {
223
-      showError('Please enter a comment.');
224
-      return;
225
-    }
226
-
227
-    // Disable the form that is being submitted.
228
-    form.find('textarea,input').attr('disabled', 'disabled');
229
-
230
-    // Send the comment to the server.
231
-    $.ajax({
232
-      type: "POST",
233
-      url: opts.addCommentURL,
234
-      dataType: 'json',
235
-      data: {
236
-        node: node_id,
237
-        parent: parent_id,
238
-        text: text,
239
-        proposal: proposal
240
-      },
241
-      success: function(data, textStatus, error) {
242
-        // Reset the form.
243
-        if (node_id) {
244
-          hideProposeChange(node_id);
245
-        }
246
-        form.find('textarea')
247
-          .val('')
248
-          .add(form.find('input'))
249
-          .removeAttr('disabled');
250
-	var ul = $('#cl' + (node_id || parent_id));
251
-        if (ul.data('empty')) {
252
-          $(ul).empty();
253
-          ul.data('empty', false);
254
-        }
255
-        insertComment(data.comment);
256
-        var ao = $('#ao' + node_id);
257
-        ao.find('img').attr({'src': opts.commentBrightImage});
258
-        if (node_id) {
259
-          // if this was a "root" comment, remove the commenting box
260
-          // (the user can get it back by reopening the comment popup)
261
-          $('#ca' + node_id).slideUp();
262
-        }
263
-      },
264
-      error: function(request, textStatus, error) {
265
-        form.find('textarea,input').removeAttr('disabled');
266
-        showError('Oops, there was a problem adding the comment.');
267
-      }
268
-    });
269
-  }
270
-
271
-  /**
272
-   * Recursively append comments to the main comment list and children
273
-   * lists, creating the comment tree.
274
-   */
275
-  function appendComments(comments, ul) {
276
-    $.each(comments, function() {
277
-      var div = createCommentDiv(this);
278
-      ul.append($(document.createElement('li')).html(div));
279
-      appendComments(this.children, div.find('ul.comment-children'));
280
-      // To avoid stagnating data, don't store the comments children in data.
281
-      this.children = null;
282
-      div.data('comment', this);
283
-    });
284
-  }
285
-
286
-  /**
287
-   * After adding a new comment, it must be inserted in the correct
288
-   * location in the comment tree.
289
-   */
290
-  function insertComment(comment) {
291
-    var div = createCommentDiv(comment);
292
-
293
-    // To avoid stagnating data, don't store the comments children in data.
294
-    comment.children = null;
295
-    div.data('comment', comment);
296
-
297
-    var ul = $('#cl' + (comment.node || comment.parent));
298
-    var siblings = getChildren(ul);
299
-
300
-    var li = $(document.createElement('li'));
301
-    li.hide();
302
-
303
-    // Determine where in the parents children list to insert this comment.
304
-    for(i=0; i < siblings.length; i++) {
305
-      if (comp(comment, siblings[i]) <= 0) {
306
-        $('#cd' + siblings[i].id)
307
-          .parent()
308
-          .before(li.html(div));
309
-        li.slideDown('fast');
310
-        return;
311
-      }
312
-    }
313
-
314
-    // If we get here, this comment rates lower than all the others,
315
-    // or it is the only comment in the list.
316
-    ul.append(li.html(div));
317
-    li.slideDown('fast');
318
-  }
319
-
320
-  function acceptComment(id) {
321
-    $.ajax({
322
-      type: 'POST',
323
-      url: opts.acceptCommentURL,
324
-      data: {id: id},
325
-      success: function(data, textStatus, request) {
326
-        $('#cm' + id).fadeOut('fast');
327
-        $('#cd' + id).removeClass('moderate');
328
-      },
329
-      error: function(request, textStatus, error) {
330
-        showError('Oops, there was a problem accepting the comment.');
331
-      }
332
-    });
333
-  }
334
-
335
-  function deleteComment(id) {
336
-    $.ajax({
337
-      type: 'POST',
338
-      url: opts.deleteCommentURL,
339
-      data: {id: id},
340
-      success: function(data, textStatus, request) {
341
-        var div = $('#cd' + id);
342
-        if (data == 'delete') {
343
-          // Moderator mode: remove the comment and all children immediately
344
-          div.slideUp('fast', function() {
345
-            div.remove();
346
-          });
347
-          return;
348
-        }
349
-        // User mode: only mark the comment as deleted
350
-        div
351
-          .find('span.user-id:first')
352
-          .text('[deleted]').end()
353
-          .find('div.comment-text:first')
354
-          .text('[deleted]').end()
355
-          .find('#cm' + id + ', #dc' + id + ', #ac' + id + ', #rc' + id +
356
-                ', #sp' + id + ', #hp' + id + ', #cr' + id + ', #rl' + id)
357
-          .remove();
358
-        var comment = div.data('comment');
359
-        comment.username = '[deleted]';
360
-        comment.text = '[deleted]';
361
-        div.data('comment', comment);
362
-      },
363
-      error: function(request, textStatus, error) {
364
-        showError('Oops, there was a problem deleting the comment.');
365
-      }
366
-    });
367
-  }
368
-
369
-  function showProposal(id) {
370
-    $('#sp' + id).hide();
371
-    $('#hp' + id).show();
372
-    $('#pr' + id).slideDown('fast');
373
-  }
374
-
375
-  function hideProposal(id) {
376
-    $('#hp' + id).hide();
377
-    $('#sp' + id).show();
378
-    $('#pr' + id).slideUp('fast');
379
-  }
380
-
381
-  function showProposeChange(id) {
382
-    $('#pc' + id).hide();
383
-    $('#hc' + id).show();
384
-    var textarea = $('#pt' + id);
385
-    textarea.val(textarea.data('source'));
386
-    $.fn.autogrow.resize(textarea[0]);
387
-    textarea.slideDown('fast');
388
-  }
389
-
390
-  function hideProposeChange(id) {
391
-    $('#hc' + id).hide();
392
-    $('#pc' + id).show();
393
-    var textarea = $('#pt' + id);
394
-    textarea.val('').removeAttr('disabled');
395
-    textarea.slideUp('fast');
396
-  }
397
-
398
-  function toggleCommentMarkupBox(id) {
399
-    $('#mb' + id).toggle();
400
-  }
401
-
402
-  /** Handle when the user clicks on a sort by link. */
403
-  function handleReSort(link) {
404
-    var classes = link.attr('class').split(/\s+/);
405
-    for (var i=0; i<classes.length; i++) {
406
-      if (classes[i] != 'sort-option') {
407
-	by = classes[i].substring(2);
408
-      }
409
-    }
410
-    setComparator();
411
-    // Save/update the sortBy cookie.
412
-    var expiration = new Date();
413
-    expiration.setDate(expiration.getDate() + 365);
414
-    document.cookie= 'sortBy=' + escape(by) +
415
-                     ';expires=' + expiration.toUTCString();
416
-    $('ul.comment-ul').each(function(index, ul) {
417
-      var comments = getChildren($(ul), true);
418
-      comments = sortComments(comments);
419
-      appendComments(comments, $(ul).empty());
420
-    });
421
-  }
422
-
423
-  /**
424
-   * Function to process a vote when a user clicks an arrow.
425
-   */
426
-  function handleVote(link) {
427
-    if (!opts.voting) {
428
-      showError("You'll need to login to vote.");
429
-      return;
430
-    }
431
-
432
-    var id = link.attr('id');
433
-    if (!id) {
434
-      // Didn't click on one of the voting arrows.
435
-      return;
436
-    }
437
-    // If it is an unvote, the new vote value is 0,
438
-    // Otherwise it's 1 for an upvote, or -1 for a downvote.
439
-    var value = 0;
440
-    if (id.charAt(1) != 'u') {
441
-      value = id.charAt(0) == 'u' ? 1 : -1;
442
-    }
443
-    // The data to be sent to the server.
444
-    var d = {
445
-      comment_id: id.substring(2),
446
-      value: value
447
-    };
448
-
449
-    // Swap the vote and unvote links.
450
-    link.hide();
451
-    $('#' + id.charAt(0) + (id.charAt(1) == 'u' ? 'v' : 'u') + d.comment_id)
452
-      .show();
453
-
454
-    // The div the comment is displayed in.
455
-    var div = $('div#cd' + d.comment_id);
456
-    var data = div.data('comment');
457
-
458
-    // If this is not an unvote, and the other vote arrow has
459
-    // already been pressed, unpress it.
460
-    if ((d.value !== 0) && (data.vote === d.value * -1)) {
461
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'u' + d.comment_id).hide();
462
-      $('#' + (d.value == 1 ? 'd' : 'u') + 'v' + d.comment_id).show();
463
-    }
464
-
465
-    // Update the comments rating in the local data.
466
-    data.rating += (data.vote === 0) ? d.value : (d.value - data.vote);
467
-    data.vote = d.value;
468
-    div.data('comment', data);
469
-
470
-    // Change the rating text.
471
-    div.find('.rating:first')
472
-      .text(data.rating + ' point' + (data.rating == 1 ? '' : 's'));
473
-
474
-    // Send the vote information to the server.
475
-    $.ajax({
476
-      type: "POST",
477
-      url: opts.processVoteURL,
478
-      data: d,
479
-      error: function(request, textStatus, error) {
480
-        showError('Oops, there was a problem casting that vote.');
481
-      }
482
-    });
483
-  }
484
-
485
-  /**
486
-   * Open a reply form used to reply to an existing comment.
487
-   */
488
-  function openReply(id) {
489
-    // Swap out the reply link for the hide link
490
-    $('#rl' + id).hide();
491
-    $('#cr' + id).show();
492
-
493
-    // Add the reply li to the children ul.
494
-    var div = $(renderTemplate(replyTemplate, {id: id})).hide();
495
-    $('#cl' + id)
496
-      .prepend(div)
497
-      // Setup the submit handler for the reply form.
498
-      .find('#rf' + id)
499
-      .submit(function(event) {
500
-        event.preventDefault();
501
-        addComment($('#rf' + id));
502
-        closeReply(id);
503
-      })
504
-      .find('input[type=button]')
505
-      .click(function() {
506
-        closeReply(id);
507
-      });
508
-    div.slideDown('fast', function() {
509
-      $('#rf' + id).find('textarea').focus();
510
-    });
511
-  }
512
-
513
-  /**
514
-   * Close the reply form opened with openReply.
515
-   */
516
-  function closeReply(id) {
517
-    // Remove the reply div from the DOM.
518
-    $('#rd' + id).slideUp('fast', function() {
519
-      $(this).remove();
520
-    });
521
-
522
-    // Swap out the hide link for the reply link
523
-    $('#cr' + id).hide();
524
-    $('#rl' + id).show();
525
-  }
526
-
527
-  /**
528
-   * Recursively sort a tree of comments using the comp comparator.
529
-   */
530
-  function sortComments(comments) {
531
-    comments.sort(comp);
532
-    $.each(comments, function() {
533
-      this.children = sortComments(this.children);
534
-    });
535
-    return comments;
536
-  }
537
-
538
-  /**
539
-   * Get the children comments from a ul. If recursive is true,
540
-   * recursively include childrens' children.
541
-   */
542
-  function getChildren(ul, recursive) {
543
-    var children = [];
544
-    ul.children().children("[id^='cd']")
545
-      .each(function() {
546
-        var comment = $(this).data('comment');
547
-        if (recursive)
548
-          comment.children = getChildren($(this).find('#cl' + comment.id), true);
549
-        children.push(comment);
550
-      });
551
-    return children;
552
-  }
553
-
554
-  /** Create a div to display a comment in. */
555
-  function createCommentDiv(comment) {
556
-    if (!comment.displayed && !opts.moderator) {
557
-      return $('<div class="moderate">Thank you!  Your comment will show up '
558
-               + 'once it is has been approved by a moderator.</div>');
559
-    }
560
-    // Prettify the comment rating.
561
-    comment.pretty_rating = comment.rating + ' point' +
562
-      (comment.rating == 1 ? '' : 's');
563
-    // Make a class (for displaying not yet moderated comments differently)
564
-    comment.css_class = comment.displayed ? '' : ' moderate';
565
-    // Create a div for this comment.
566
-    var context = $.extend({}, opts, comment);
567
-    var div = $(renderTemplate(commentTemplate, context));
568
-
569
-    // If the user has voted on this comment, highlight the correct arrow.
570
-    if (comment.vote) {
571
-      var direction = (comment.vote == 1) ? 'u' : 'd';
572
-      div.find('#' + direction + 'v' + comment.id).hide();
573
-      div.find('#' + direction + 'u' + comment.id).show();
574
-    }
575
-
576
-    if (opts.moderator || comment.text != '[deleted]') {
577
-      div.find('a.reply').show();
578
-      if (comment.proposal_diff)
579
-        div.find('#sp' + comment.id).show();
580
-      if (opts.moderator && !comment.displayed)
581
-        div.find('#cm' + comment.id).show();
582
-      if (opts.moderator || (opts.username == comment.username))
583
-        div.find('#dc' + comment.id).show();
584
-    }
585
-    return div;
586
-  }
587
-
588
-  /**
589
-   * A simple template renderer. Placeholders such as <%id%> are replaced
590
-   * by context['id'] with items being escaped. Placeholders such as <#id#>
591
-   * are not escaped.
592
-   */
593
-  function renderTemplate(template, context) {
594
-    var esc = $(document.createElement('div'));
595
-
596
-    function handle(ph, escape) {
597
-      var cur = context;
598
-      $.each(ph.split('.'), function() {
599
-        cur = cur[this];
600
-      });
601
-      return escape ? esc.text(cur || "").html() : cur;
602
-    }
603
-
604
-    return template.replace(/<([%#])([\w\.]*)\1>/g, function() {
605
-      return handle(arguments[2], arguments[1] == '%' ? true : false);
606
-    });
607
-  }
608
-
609
-  /** Flash an error message briefly. */
610
-  function showError(message) {
611
-    $(document.createElement('div')).attr({'class': 'popup-error'})
612
-      .append($(document.createElement('div'))
613
-               .attr({'class': 'error-message'}).text(message))
614
-      .appendTo('body')
615
-      .fadeIn("slow")
616
-      .delay(2000)
617
-      .fadeOut("slow");
618
-  }
619
-
620
-  /** Add a link the user uses to open the comments popup. */
621
-  $.fn.comment = function() {
622
-    return this.each(function() {
623
-      var id = $(this).attr('id').substring(1);
624
-      var count = COMMENT_METADATA[id];
625
-      var title = count + ' comment' + (count == 1 ? '' : 's');
626
-      var image = count > 0 ? opts.commentBrightImage : opts.commentImage;
627
-      var addcls = count == 0 ? ' nocomment' : '';
628
-      $(this)
629
-        .append(
630
-          $(document.createElement('a')).attr({
631
-            href: '#',
632
-            'class': 'sphinx-comment-open' + addcls,
633
-            id: 'ao' + id
634
-          })
635
-            .append($(document.createElement('img')).attr({
636
-              src: image,
637
-              alt: 'comment',
638
-              title: title
639
-            }))
640
-            .click(function(event) {
641
-              event.preventDefault();
642
-              show($(this).attr('id').substring(2));
643
-            })
644
-        )
645
-        .append(
646
-          $(document.createElement('a')).attr({
647
-            href: '#',
648
-            'class': 'sphinx-comment-close hidden',
649
-            id: 'ah' + id
650
-          })
651
-            .append($(document.createElement('img')).attr({
652
-              src: opts.closeCommentImage,
653
-              alt: 'close',
654
-              title: 'close'
655
-            }))
656
-            .click(function(event) {
657
-              event.preventDefault();
658
-              hide($(this).attr('id').substring(2));
659
-            })
660
-        );
661
-    });
662
-  };
663
-
664
-  var opts = {
665
-    processVoteURL: '/_process_vote',
666
-    addCommentURL: '/_add_comment',
667
-    getCommentsURL: '/_get_comments',
668
-    acceptCommentURL: '/_accept_comment',
669
-    deleteCommentURL: '/_delete_comment',
670
-    commentImage: '/static/_static/comment.png',
671
-    closeCommentImage: '/static/_static/comment-close.png',
672
-    loadingImage: '/static/_static/ajax-loader.gif',
673
-    commentBrightImage: '/static/_static/comment-bright.png',
674
-    upArrow: '/static/_static/up.png',
675
-    downArrow: '/static/_static/down.png',
676
-    upArrowPressed: '/static/_static/up-pressed.png',
677
-    downArrowPressed: '/static/_static/down-pressed.png',
678
-    voting: false,
679
-    moderator: false
680
-  };
681
-
682
-  if (typeof COMMENT_OPTIONS != "undefined") {
683
-    opts = jQuery.extend(opts, COMMENT_OPTIONS);
684
-  }
685
-
686
-  var popupTemplate = '\
687
-    <div class="sphinx-comments" id="sc<%id%>">\
688
-      <p class="sort-options">\
689
-        Sort by:\
690
-        <a href="#" class="sort-option byrating">best rated</a>\
691
-        <a href="#" class="sort-option byascage">newest</a>\
692
-        <a href="#" class="sort-option byage">oldest</a>\
693
-      </p>\
694
-      <div class="comment-header">Comments</div>\
695
-      <div class="comment-loading" id="cn<%id%>">\
696
-        loading comments... <img src="<%loadingImage%>" alt="" /></div>\
697
-      <ul id="cl<%id%>" class="comment-ul"></ul>\
698
-      <div id="ca<%id%>">\
699
-      <p class="add-a-comment">Add a comment\
700
-        (<a href="#" class="comment-markup" id="ab<%id%>">markup</a>):</p>\
701
-      <div class="comment-markup-box" id="mb<%id%>">\
702
-        reStructured text markup: <i>*emph*</i>, <b>**strong**</b>, \
703
-        <code>``code``</code>, \
704
-        code blocks: <code>::</code> and an indented block after blank line</div>\
705
-      <form method="post" id="cf<%id%>" class="comment-form" action="">\
706
-        <textarea name="comment" cols="80"></textarea>\
707
-        <p class="propose-button">\
708
-          <a href="#" id="pc<%id%>" class="show-propose-change">\
709
-            Propose a change &#9657;\
710
-          </a>\
711
-          <a href="#" id="hc<%id%>" class="hide-propose-change">\
712
-            Propose a change &#9663;\
713
-          </a>\
714
-        </p>\
715
-        <textarea name="proposal" id="pt<%id%>" cols="80"\
716
-                  spellcheck="false"></textarea>\
717
-        <input type="submit" value="Add comment" />\
718
-        <input type="hidden" name="node" value="<%id%>" />\
719
-        <input type="hidden" name="parent" value="" />\
720
-      </form>\
721
-      </div>\
722
-    </div>';
723
-
724
-  var commentTemplate = '\
725
-    <div id="cd<%id%>" class="sphinx-comment<%css_class%>">\
726
-      <div class="vote">\
727
-        <div class="arrow">\
728
-          <a href="#" id="uv<%id%>" class="vote" title="vote up">\
729
-            <img src="<%upArrow%>" />\
730
-          </a>\
731
-          <a href="#" id="uu<%id%>" class="un vote" title="vote up">\
732
-            <img src="<%upArrowPressed%>" />\
733
-          </a>\
734
-        </div>\
735
-        <div class="arrow">\
736
-          <a href="#" id="dv<%id%>" class="vote" title="vote down">\
737
-            <img src="<%downArrow%>" id="da<%id%>" />\
738
-          </a>\
739
-          <a href="#" id="du<%id%>" class="un vote" title="vote down">\
740
-            <img src="<%downArrowPressed%>" />\
741
-          </a>\
742
-        </div>\
743
-      </div>\
744
-      <div class="comment-content">\
745
-        <p class="tagline comment">\
746
-          <span class="user-id"><%username%></span>\
747
-          <span class="rating"><%pretty_rating%></span>\
748
-          <span class="delta"><%time.delta%></span>\
749
-        </p>\
750
-        <div class="comment-text comment"><#text#></div>\
751
-        <p class="comment-opts comment">\
752
-          <a href="#" class="reply hidden" id="rl<%id%>">reply &#9657;</a>\
753
-          <a href="#" class="close-reply" id="cr<%id%>">reply &#9663;</a>\
754
-          <a href="#" id="sp<%id%>" class="show-proposal">proposal &#9657;</a>\
755
-          <a href="#" id="hp<%id%>" class="hide-proposal">proposal &#9663;</a>\
756
-          <a href="#" id="dc<%id%>" class="delete-comment hidden">delete</a>\
757
-          <span id="cm<%id%>" class="moderation hidden">\
758
-            <a href="#" id="ac<%id%>" class="accept-comment">accept</a>\
759
-          </span>\
760
-        </p>\
761
-        <pre class="proposal" id="pr<%id%>">\
762
-<#proposal_diff#>\
763
-        </pre>\
764
-          <ul class="comment-children" id="cl<%id%>"></ul>\
765
-        </div>\
766
-        <div class="clearleft"></div>\
767
-      </div>\
768
-    </div>';
769
-
770
-  var replyTemplate = '\
771
-    <li>\
772
-      <div class="reply-div" id="rd<%id%>">\
773
-        <form id="rf<%id%>">\
774
-          <textarea name="comment" cols="80"></textarea>\
775
-          <input type="submit" value="Add reply" />\
776
-          <input type="button" value="Cancel" />\
777
-          <input type="hidden" name="parent" value="<%id%>" />\
778
-          <input type="hidden" name="node" value="" />\
779
-        </form>\
780
-      </div>\
781
-    </li>';
782
-
783
-  $(document).ready(function() {
784
-    init();
785
-  });
786
-})(jQuery);
787
-
788
-$(document).ready(function() {
789
-  // add comment anchors for all paragraphs that are commentable
790
-  $('.sphinx-has-comment').comment();
791
-
792
-  // highlight search words in search results
793
-  $("div.context").each(function() {
794
-    var params = $.getQueryParameters();
795
-    var terms = (params.q) ? params.q[0].split(/\s+/) : [];
796
-    var result = $(this);
797
-    $.each(terms, function() {
798
-      result.highlightText(this.toLowerCase(), 'highlighted');
799
-    });
800
-  });
801
-
802
-  // directly open comment window if requested
803
-  var anchor = document.location.hash;
804
-  if (anchor.substring(0, 9) == '#comment-') {
805
-    $('#ao' + anchor.substring(9)).click();
806
-    document.location.hash = '#s' + anchor.substring(9);
807
-  }
808
-});

+ 179
- 65
_docs_/genindex.html View File

@@ -1,42 +1,148 @@
1 1
 
2 2
 
3
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
-<html xmlns="http://www.w3.org/1999/xhtml">
7
-  <head>
8
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
9
-    <title>Index &#8212; stringtools  documentation</title>
10
-    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
11
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
12
-    <script type="text/javascript">
13
-      var DOCUMENTATION_OPTIONS = {
14
-        URL_ROOT:    './',
15
-        VERSION:     '',
16
-        COLLAPSE_INDEX: false,
17
-        FILE_SUFFIX: '.html',
18
-        HAS_SOURCE:  true,
19
-        SOURCELINK_SUFFIX: '.txt'
20
-      };
21
-    </script>
22
-    <script type="text/javascript" src="_static/jquery.js"></script>
23
-    <script type="text/javascript" src="_static/underscore.js"></script>
24
-    <script type="text/javascript" src="_static/doctools.js"></script>
25
-    <link rel="index" title="Index" href="#" />
26
-    <link rel="search" title="Search" href="search.html" />
27
-   
28
-  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
3
+
4
+<!DOCTYPE html>
5
+<html class="writer-html4" lang="en" >
6
+<head>
7
+  <meta charset="utf-8">
8
+  
9
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
+  
11
+  <title>Index &mdash; stringtools  documentation</title>
12
+  
13
+
14
+  
15
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
16
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
17
+
18
+  
19
+  
20
+  
29 21
   
30
-  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
31 22
 
32
-  </head>
33
-  <body>
34 23
   
24
+  <!--[if lt IE 9]>
25
+    <script src="_static/js/html5shiv.min.js"></script>
26
+  <![endif]-->
27
+  
28
+    
29
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
30
+        <script type="text/javascript" src="_static/jquery.js"></script>
31
+        <script type="text/javascript" src="_static/underscore.js"></script>
32
+        <script type="text/javascript" src="_static/doctools.js"></script>
33
+        <script type="text/javascript" src="_static/language_data.js"></script>
34
+    
35
+    <script type="text/javascript" src="_static/js/theme.js"></script>
36
+
37
+    
38
+    <link rel="index" title="Index" href="#" />
39
+    <link rel="search" title="Search" href="search.html" /> 
40
+</head>
41
+
42
+<body class="wy-body-for-nav">
43
+
44
+   
45
+  <div class="wy-grid-for-nav">
46
+    
47
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
48
+      <div class="wy-side-scroll">
49
+        <div class="wy-side-nav-search" >
50
+          
51
+
52
+          
53
+            <a href="index.html" class="icon icon-home" alt="Documentation Home"> stringtools
54
+          
55
+
56
+          
57
+          </a>
58
+
59
+          
60
+            
61
+            
62
+          
63
+
64
+          
65
+<div role="search">
66
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
67
+    <input type="text" name="q" placeholder="Search docs" />
68
+    <input type="hidden" name="check_keywords" value="yes" />
69
+    <input type="hidden" name="area" value="default" />
70
+  </form>
71
+</div>
72
+
73
+          
74
+        </div>
75
+
76
+        
77
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
78
+          
79
+            
80
+            
81
+              
82
+            
83
+            
84
+              <!-- Local TOC -->
85
+              <div class="local-toc"></div>
86
+            
87
+          
88
+        </div>
89
+        
90
+      </div>
91
+    </nav>
92
+
93
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
94
+
95
+      
96
+      <nav class="wy-nav-top" aria-label="top navigation">
97
+        
98
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
99
+          <a href="index.html">stringtools</a>
100
+        
101
+      </nav>
102
+
103
+
104
+      <div class="wy-nav-content">
105
+        
106
+        <div class="rst-content">
107
+        
108
+          
109
+
110
+
35 111
 
36
-    <div class="document">
37
-      <div class="documentwrapper">
38
-        <div class="bodywrapper">
39
-          <div class="body" role="main">
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+<div role="navigation" aria-label="breadcrumbs navigation">
125
+
126
+  <ul class="wy-breadcrumbs">
127
+    
128
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
129
+        
130
+      <li>Index</li>
131
+    
132
+    
133
+      <li class="wy-breadcrumbs-aside">
134
+        
135
+            
136
+        
137
+      </li>
138
+    
139
+  </ul>
140
+
141
+  
142
+  <hr/>
143
+</div>
144
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
145
+           <div itemprop="articleBody">
40 146
             
41 147
 
42 148
 <h1 id="index">Index</h1>
@@ -145,42 +251,50 @@
145 251
 
146 252
 
147 253
 
254
+           </div>
255
+           
148 256
           </div>
257
+          <footer>
258
+  
259
+
260
+  <hr/>
261
+
262
+  <div role="contentinfo">
263
+    <p>
264
+        
265
+        &copy; Copyright 2021, Dirk Alders
266
+
267
+    </p>
268
+  </div>
269
+    
270
+    
271
+    
272
+    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
273
+    
274
+    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
275
+    
276
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
277
+
278
+</footer>
279
+
149 280
         </div>
150 281
       </div>
151
-      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
152
-        <div class="sphinxsidebarwrapper"><div class="relations">
153
-<h3>Related Topics</h3>
154
-<ul>
155
-  <li><a href="index.html">Documentation overview</a><ul>
156
-  </ul></li>
157
-</ul>
158
-</div>
159
-<div id="searchbox" style="display: none" role="search">
160
-  <h3>Quick search</h3>
161
-    <form class="search" action="search.html" method="get">
162
-      <div><input type="text" name="q" /></div>
163
-      <div><input type="submit" value="Go" /></div>
164
-      <input type="hidden" name="check_keywords" value="yes" />
165
-      <input type="hidden" name="area" value="default" />
166
-    </form>
167
-</div>
168
-<script type="text/javascript">$('#searchbox').show(0);</script>
169
-        </div>
170
-      </div>
171
-      <div class="clearer"></div>
172
-    </div>
173
-    <div class="footer">
174
-      &copy;2019, Dirk Alders.
175
-      
176
-      |
177
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
178
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
179
-      
180
-    </div>
181 282
 
182
-    
283
+    </section>
284
+
285
+  </div>
286
+  
183 287
 
288
+  <script type="text/javascript">
289
+      jQuery(function () {
290
+          SphinxRtdTheme.Navigation.enable(true);
291
+      });
292
+  </script>
293
+
294
+  
295
+  
184 296
     
185
-  </body>
297
+   
298
+
299
+</body>
186 300
 </html>

+ 222
- 100
_docs_/index.html View File

@@ -1,41 +1,158 @@
1 1
 
2
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
-
5
-<html xmlns="http://www.w3.org/1999/xhtml">
6
-  <head>
7
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-    <title>Welcome to stringtools’s documentation! &#8212; stringtools  documentation</title>
9
-    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
10
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
11
-    <script type="text/javascript">
12
-      var DOCUMENTATION_OPTIONS = {
13
-        URL_ROOT:    './',
14
-        VERSION:     '',
15
-        COLLAPSE_INDEX: false,
16
-        FILE_SUFFIX: '.html',
17
-        HAS_SOURCE:  true,
18
-        SOURCELINK_SUFFIX: '.txt'
19
-      };
20
-    </script>
21
-    <script type="text/javascript" src="_static/jquery.js"></script>
22
-    <script type="text/javascript" src="_static/underscore.js"></script>
23
-    <script type="text/javascript" src="_static/doctools.js"></script>
24
-    <link rel="index" title="Index" href="genindex.html" />
25
-    <link rel="search" title="Search" href="search.html" />
26
-   
27
-  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
2
+
3
+<!DOCTYPE html>
4
+<html class="writer-html4" lang="en" >
5
+<head>
6
+  <meta charset="utf-8">
7
+  
8
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+  
10
+  <title>Welcome to stringtools’s documentation! &mdash; stringtools  documentation</title>
11
+  
12
+
13
+  
14
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
15
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
16
+
17
+  
18
+  
19
+  
28 20
   
29
-  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
30 21
 
31
-  </head>
32
-  <body>
33 22
   
23
+  <!--[if lt IE 9]>
24
+    <script src="_static/js/html5shiv.min.js"></script>
25
+  <![endif]-->
26
+  
27
+    
28
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
29
+        <script type="text/javascript" src="_static/jquery.js"></script>
30
+        <script type="text/javascript" src="_static/underscore.js"></script>
31
+        <script type="text/javascript" src="_static/doctools.js"></script>
32
+        <script type="text/javascript" src="_static/language_data.js"></script>
33
+    
34
+    <script type="text/javascript" src="_static/js/theme.js"></script>
35
+
36
+    
37
+    <link rel="index" title="Index" href="genindex.html" />
38
+    <link rel="search" title="Search" href="search.html" /> 
39
+</head>
40
+
41
+<body class="wy-body-for-nav">
42
+
43
+   
44
+  <div class="wy-grid-for-nav">
45
+    
46
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
47
+      <div class="wy-side-scroll">
48
+        <div class="wy-side-nav-search" >
49
+          
50
+
51
+          
52
+            <a href="#" class="icon icon-home" alt="Documentation Home"> stringtools
53
+          
54
+
55
+          
56
+          </a>
34 57
 
35
-    <div class="document">
36
-      <div class="documentwrapper">
37
-        <div class="bodywrapper">
38
-          <div class="body" role="main">
58
+          
59
+            
60
+            
61
+          
62
+
63
+          
64
+<div role="search">
65
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
66
+    <input type="text" name="q" placeholder="Search docs" />
67
+    <input type="hidden" name="check_keywords" value="yes" />
68
+    <input type="hidden" name="area" value="default" />
69
+  </form>
70
+</div>
71
+
72
+          
73
+        </div>
74
+
75
+        
76
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
77
+          
78
+            
79
+            
80
+              
81
+            
82
+            
83
+              <!-- Local TOC -->
84
+              <div class="local-toc"><ul>
85
+<li><a class="reference internal" href="#">Welcome to stringtools’s documentation!</a><ul>
86
+<li><a class="reference internal" href="#stringtools-stringtools">stringtools (Stringtools)</a></li>
87
+<li><a class="reference internal" href="#csp-carriage-return-seperation-protocol">csp (Carriage-Return seperation protocol)</a></li>
88
+<li><a class="reference internal" href="#stp-serial-transfer-protocol">stp (Serial transfer protocol)</a></li>
89
+</ul>
90
+</li>
91
+<li><a class="reference internal" href="#indices-and-tables">Indices and tables</a></li>
92
+</ul>
93
+</div>
94
+            
95
+          
96
+        </div>
97
+        
98
+      </div>
99
+    </nav>
100
+
101
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
102
+
103
+      
104
+      <nav class="wy-nav-top" aria-label="top navigation">
105
+        
106
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
107
+          <a href="#">stringtools</a>
108
+        
109
+      </nav>
110
+
111
+
112
+      <div class="wy-nav-content">
113
+        
114
+        <div class="rst-content">
115
+        
116
+          
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+
130
+
131
+
132
+<div role="navigation" aria-label="breadcrumbs navigation">
133
+
134
+  <ul class="wy-breadcrumbs">
135
+    
136
+      <li><a href="#" class="icon icon-home"></a> &raquo;</li>
137
+        
138
+      <li>Welcome to stringtools’s documentation!</li>
139
+    
140
+    
141
+      <li class="wy-breadcrumbs-aside">
142
+        
143
+            
144
+            <a href="_sources/index.rst.txt" rel="nofollow"> View page source</a>
145
+          
146
+        
147
+      </li>
148
+    
149
+  </ul>
150
+
151
+  
152
+  <hr/>
153
+</div>
154
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
155
+           <div itemprop="articleBody">
39 156
             
40 157
   <div class="section" id="module-stringtools">
41 158
 <span id="welcome-to-stringtools-s-documentation"></span><h1>Welcome to stringtools’s documentation!<a class="headerlink" href="#module-stringtools" title="Permalink to this headline">¶</a></h1>
@@ -50,15 +167,15 @@
50 167
 <div>This Module supports functionality around string operations.</div></blockquote>
51 168
 <p><strong>Submodules:</strong></p>
52 169
 <ul class="simple">
53
-<li><a class="reference internal" href="#module-stringtools.csp" title="stringtools.csp"><code class="xref py py-mod docutils literal"><span class="pre">stringtools.csp</span></code></a></li>
54
-<li><a class="reference internal" href="#module-stringtools.stp" title="stringtools.stp"><code class="xref py py-mod docutils literal"><span class="pre">stringtools.stp</span></code></a></li>
55
-<li><a class="reference internal" href="#stringtools.gzip_compress" title="stringtools.gzip_compress"><code class="xref py py-func docutils literal"><span class="pre">gzip_compress()</span></code></a></li>
56
-<li><a class="reference internal" href="#stringtools.gzip_extract" title="stringtools.gzip_extract"><code class="xref py py-func docutils literal"><span class="pre">gzip_extract()</span></code></a></li>
57
-<li><a class="reference internal" href="#stringtools.hexlify" title="stringtools.hexlify"><code class="xref py py-func docutils literal"><span class="pre">hexlify()</span></code></a></li>
170
+<li><a class="reference internal" href="#module-stringtools.csp" title="stringtools.csp"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringtools.csp</span></code></a></li>
171
+<li><a class="reference internal" href="#module-stringtools.stp" title="stringtools.stp"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringtools.stp</span></code></a></li>
172
+<li><a class="reference internal" href="#stringtools.gzip_compress" title="stringtools.gzip_compress"><code class="xref py py-func docutils literal notranslate"><span class="pre">gzip_compress()</span></code></a></li>
173
+<li><a class="reference internal" href="#stringtools.gzip_extract" title="stringtools.gzip_extract"><code class="xref py py-func docutils literal notranslate"><span class="pre">gzip_extract()</span></code></a></li>
174
+<li><a class="reference internal" href="#stringtools.hexlify" title="stringtools.hexlify"><code class="xref py py-func docutils literal notranslate"><span class="pre">hexlify()</span></code></a></li>
58 175
 </ul>
59 176
 <p><strong>Unittest:</strong></p>
60 177
 <blockquote>
61
-<div>See also the <a class="reference download internal" href="_downloads/unittest.pdf" download=""><code class="xref download docutils literal"><span class="pre">unittest</span></code></a> documentation.</div></blockquote>
178
+<div>See also the <a class="reference download internal" download="" href="_downloads/412e50d5e5a6e9ca1556b611fbae3c9c/unittest.pdf"><code class="xref download docutils literal notranslate"><span class="pre">unittest</span></code></a> documentation.</div></blockquote>
62 179
 <p><strong>Module Documentation:</strong></p>
63 180
 <dl class="function">
64 181
 <dt id="stringtools.gzip_compress">
@@ -83,7 +200,7 @@
83 200
 </tbody>
84 201
 </table>
85 202
 <p><strong>Example:</strong></p>
86
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
203
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
87 204
 <span class="kn">import</span> <span class="nn">report</span>
88 205
 
89 206
 
@@ -92,7 +209,7 @@
92 209
 </pre></div>
93 210
 </div>
94 211
 <p>Will result to the following output:</p>
95
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">24</span><span class="p">,</span><span class="mi">558</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">compress</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
212
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">24</span><span class="p">,</span><span class="mi">558</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">compress</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
96 213
 <span class="p">(</span><span class="mi">26</span><span class="p">):</span> <span class="mi">1</span><span class="n">f</span> <span class="mi">8</span><span class="n">b</span> <span class="mi">08</span> <span class="mi">00</span> <span class="mi">64</span> <span class="mi">9</span><span class="n">d</span> <span class="mi">30</span> <span class="mi">5</span><span class="n">e</span> <span class="mi">02</span> <span class="n">ff</span> <span class="mi">63</span> <span class="mi">60</span> <span class="mi">40</span> <span class="mi">01</span> <span class="n">ff</span> <span class="mi">51</span> <span class="mi">01</span> <span class="mi">00</span> <span class="mi">2</span><span class="n">d</span> <span class="mi">8</span><span class="n">a</span> <span class="mi">7</span><span class="n">d</span> <span class="n">de</span> <span class="mi">1</span><span class="n">e</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span>
97 214
 </pre></div>
98 215
 </div>
@@ -115,7 +232,7 @@
115 232
 </tbody>
116 233
 </table>
117 234
 <p><strong>Example:</strong></p>
118
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
235
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
119 236
 <span class="kn">import</span> <span class="nn">report</span>
120 237
 
121 238
 
@@ -124,7 +241,7 @@
124 241
 </pre></div>
125 242
 </div>
126 243
 <p>Will result to the following output:</p>
127
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">39</span><span class="p">,</span><span class="mi">899</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">extract</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
244
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">45</span><span class="p">:</span><span class="mi">39</span><span class="p">,</span><span class="mi">899</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">GZIP</span><span class="p">:</span> <span class="n">Finished</span> <span class="n">to</span> <span class="n">extract</span> <span class="n">a</span> <span class="n">string</span> <span class="p">(</span><span class="n">compression_rate</span><span class="o">=</span><span class="mf">0.867</span><span class="p">,</span> <span class="n">consumed_time</span><span class="o">=</span><span class="mf">0.0</span><span class="n">s</span><span class="p">)</span><span class="o">.</span>
128 245
 <span class="p">(</span><span class="mi">30</span><span class="p">):</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="mi">00</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span> <span class="n">ff</span>
129 246
 </pre></div>
130 247
 </div>
@@ -147,14 +264,14 @@
147 264
 </tbody>
148 265
 </table>
149 266
 <p><strong>Example:</strong></p>
150
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
267
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
151 268
 
152 269
 
153 270
 <span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;A stringexample with non printable characters like </span><span class="se">\x12</span><span class="s1">&#39;</span><span class="p">))</span>
154 271
 </pre></div>
155 272
 </div>
156 273
 <p>Will result to the following output:</p>
157
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">52</span><span class="p">):</span> <span class="mi">41</span> <span class="mi">20</span> <span class="mi">73</span> <span class="mi">74</span> <span class="mi">72</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">67</span> <span class="mi">65</span> <span class="mi">78</span> <span class="mi">61</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">70</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">77</span> <span class="mi">69</span> <span class="mi">74</span> <span class="mi">68</span> <span class="mi">20</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">6</span><span class="n">f</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">20</span> <span class="mi">70</span> <span class="mi">72</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">74</span> <span class="mi">61</span> <span class="mi">62</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">63</span> <span class="mi">68</span> <span class="mi">61</span> <span class="mi">72</span> <span class="mi">61</span> <span class="mi">63</span> <span class="mi">74</span> <span class="mi">65</span> <span class="mi">72</span> <span class="mi">73</span> <span class="mi">20</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">b</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">12</span>
274
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">52</span><span class="p">):</span> <span class="mi">41</span> <span class="mi">20</span> <span class="mi">73</span> <span class="mi">74</span> <span class="mi">72</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">67</span> <span class="mi">65</span> <span class="mi">78</span> <span class="mi">61</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">70</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">77</span> <span class="mi">69</span> <span class="mi">74</span> <span class="mi">68</span> <span class="mi">20</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">6</span><span class="n">f</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">20</span> <span class="mi">70</span> <span class="mi">72</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">e</span> <span class="mi">74</span> <span class="mi">61</span> <span class="mi">62</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">63</span> <span class="mi">68</span> <span class="mi">61</span> <span class="mi">72</span> <span class="mi">61</span> <span class="mi">63</span> <span class="mi">74</span> <span class="mi">65</span> <span class="mi">72</span> <span class="mi">73</span> <span class="mi">20</span> <span class="mi">6</span><span class="n">c</span> <span class="mi">69</span> <span class="mi">6</span><span class="n">b</span> <span class="mi">65</span> <span class="mi">20</span> <span class="mi">12</span>
158 275
 </pre></div>
159 276
 </div>
160 277
 </dd></dl>
@@ -168,15 +285,15 @@
168 285
 </ul>
169 286
 <p><strong>Description:</strong></p>
170 287
 <blockquote>
171
-<div>This module is a submodule of <a class="reference internal" href="#module-stringtools" title="stringtools"><code class="xref py py-mod docutils literal"><span class="pre">stringtools</span></code></a> and creates an frame to transmit and receive messages via an serial interface.</div></blockquote>
288
+<div>This module is a submodule of <a class="reference internal" href="#module-stringtools" title="stringtools"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringtools</span></code></a> and creates an frame to transmit and receive messages via an serial interface.</div></blockquote>
172 289
 <p><strong>Submodules:</strong></p>
173 290
 <ul class="simple">
174
-<li><a class="reference internal" href="#stringtools.csp.csp" title="stringtools.csp.csp"><code class="xref py py-class docutils literal"><span class="pre">stringtools.csp.csp</span></code></a></li>
175
-<li><a class="reference internal" href="#stringtools.csp.build_frame" title="stringtools.csp.build_frame"><code class="xref py py-func docutils literal"><span class="pre">stringtools.csp.build_frame()</span></code></a></li>
291
+<li><a class="reference internal" href="#stringtools.csp.csp" title="stringtools.csp.csp"><code class="xref py py-class docutils literal notranslate"><span class="pre">stringtools.csp.csp</span></code></a></li>
292
+<li><a class="reference internal" href="#stringtools.csp.build_frame" title="stringtools.csp.build_frame"><code class="xref py py-func docutils literal notranslate"><span class="pre">stringtools.csp.build_frame()</span></code></a></li>
176 293
 </ul>
177 294
 <dl class="function">
178 295
 <dt id="stringtools.csp.build_frame">
179
-<code class="descclassname">stringtools.csp.</code><code class="descname">build_frame</code><span class="sig-paren">(</span><em>msg</em>, <em>seperator='\n'</em><span class="sig-paren">)</span><a class="headerlink" href="#stringtools.csp.build_frame" title="Permalink to this definition">¶</a></dt>
296
+<code class="descclassname">stringtools.csp.</code><code class="descname">build_frame</code><span class="sig-paren">(</span><em>msg</em>, <em>seperator=b'\n'</em><span class="sig-paren">)</span><a class="headerlink" href="#stringtools.csp.build_frame" title="Permalink to this definition">¶</a></dt>
180 297
 <dd><p>This Method builds an “csp-frame” to be transfered via a stream.</p>
181 298
 <table class="docutils field-list" frame="void" rules="none">
182 299
 <col class="field-name" />
@@ -191,7 +308,7 @@
191 308
 </tbody>
192 309
 </table>
193 310
 <p><strong>Example:</strong></p>
194
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
311
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
195 312
 
196 313
 <span class="n">data</span> <span class="o">=</span> <span class="sa">b</span><span class="s1">&#39;message&#39;</span>
197 314
 <span class="nb">print</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">hexlify</span><span class="p">(</span><span class="n">data</span><span class="p">))</span>
@@ -200,7 +317,7 @@
200 317
 </pre></div>
201 318
 </div>
202 319
 <p>Will result to the following output:</p>
203
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">7</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span>
320
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="p">(</span><span class="mi">7</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span>
204 321
 <span class="p">(</span><span class="mi">8</span><span class="p">):</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">65</span> <span class="mi">73</span> <span class="mi">73</span> <span class="mi">61</span> <span class="mi">67</span> <span class="mi">65</span> <span class="mi">0</span><span class="n">a</span>
205 322
 </pre></div>
206 323
 </div>
@@ -208,10 +325,10 @@
208 325
 
209 326
 <dl class="class">
210 327
 <dt id="stringtools.csp.csp">
211
-<em class="property">class </em><code class="descclassname">stringtools.csp.</code><code class="descname">csp</code><span class="sig-paren">(</span><em>seperator='n'</em><span class="sig-paren">)</span><a class="headerlink" href="#stringtools.csp.csp" title="Permalink to this definition">¶</a></dt>
328
+<em class="property">class </em><code class="descclassname">stringtools.csp.</code><code class="descname">csp</code><span class="sig-paren">(</span><em>seperator=b'n'</em><span class="sig-paren">)</span><a class="headerlink" href="#stringtools.csp.csp" title="Permalink to this definition">¶</a></dt>
212 329
 <dd><p>This class extracts messages from an “csp-stream”.</p>
213 330
 <p><strong>Example:</strong></p>
214
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
331
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
215 332
 <span class="kn">import</span> <span class="nn">stringtools</span>
216 333
 
217 334
 <span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
@@ -223,7 +340,7 @@
223 340
 </pre></div>
224 341
 </div>
225 342
 <p>Will result to the following output:</p>
226
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">093</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">5</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
343
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">093</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">5</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
227 344
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">094</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">10</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
228 345
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">094</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">15</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
229 346
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">31</span><span class="p">:</span><span class="mi">22</span><span class="p">,</span><span class="mi">095</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">CSP</span><span class="p">:</span> <span class="n">Leaving</span> <span class="n">data</span> <span class="ow">in</span> <span class="n">buffer</span> <span class="p">(</span><span class="n">to</span> <span class="n">be</span> <span class="n">processed</span> <span class="nb">next</span> <span class="n">time</span><span class="p">):</span> <span class="p">(</span><span class="mi">20</span><span class="p">):</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">6</span><span class="n">d</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">65</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span> <span class="mi">5</span><span class="n">b</span> <span class="mi">27</span> <span class="mi">73</span> <span class="mi">27</span> <span class="mi">5</span><span class="n">d</span>
@@ -262,33 +379,33 @@
262 379
 </ul>
263 380
 <p><strong>Description:</strong></p>
264 381
 <blockquote>
265
-<div>This module is a submodule of <a class="reference internal" href="#module-stringtools" title="stringtools"><code class="xref py py-mod docutils literal"><span class="pre">stringtools</span></code></a> and creates an serial frame to transmit and receive messages via an serial interface.</div></blockquote>
382
+<div>This module is a submodule of <a class="reference internal" href="#module-stringtools" title="stringtools"><code class="xref py py-mod docutils literal notranslate"><span class="pre">stringtools</span></code></a> and creates an serial frame to transmit and receive messages via an serial interface.</div></blockquote>
266 383
 <p><strong>Submodules:</strong></p>
267 384
 <ul class="simple">
268
-<li><a class="reference internal" href="#stringtools.stp.stp" title="stringtools.stp.stp"><code class="xref py py-class docutils literal"><span class="pre">stringtools.stp.stp</span></code></a></li>
269
-<li><a class="reference internal" href="#stringtools.stp.build_frame" title="stringtools.stp.build_frame"><code class="xref py py-func docutils literal"><span class="pre">stringtools.stp.build_frame()</span></code></a></li>
385
+<li><a class="reference internal" href="#stringtools.stp.stp" title="stringtools.stp.stp"><code class="xref py py-class docutils literal notranslate"><span class="pre">stringtools.stp.stp</span></code></a></li>
386
+<li><a class="reference internal" href="#stringtools.stp.build_frame" title="stringtools.stp.build_frame"><code class="xref py py-func docutils literal notranslate"><span class="pre">stringtools.stp.build_frame()</span></code></a></li>
270 387
 </ul>
271 388
 <dl class="data">
272 389
 <dt id="stringtools.stp.DATA_CLEAR_BUFFER">
273
-<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_CLEAR_BUFFER</code><em class="property"> = '&lt;'</em><a class="headerlink" href="#stringtools.stp.DATA_CLEAR_BUFFER" title="Permalink to this definition">¶</a></dt>
390
+<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_CLEAR_BUFFER</code><em class="property"> = b'&lt;'</em><a class="headerlink" href="#stringtools.stp.DATA_CLEAR_BUFFER" title="Permalink to this definition">¶</a></dt>
274 391
 <dd><p>The clear buffer byte (‘\x3a\x3c’ -&gt; start of message)</p>
275 392
 </dd></dl>
276 393
 
277 394
 <dl class="data">
278 395
 <dt id="stringtools.stp.DATA_STORE_SYNC_VALUE">
279
-<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_STORE_SYNC_VALUE</code><em class="property"> = '='</em><a class="headerlink" href="#stringtools.stp.DATA_STORE_SYNC_VALUE" title="Permalink to this definition">¶</a></dt>
396
+<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_STORE_SYNC_VALUE</code><em class="property"> = b'='</em><a class="headerlink" href="#stringtools.stp.DATA_STORE_SYNC_VALUE" title="Permalink to this definition">¶</a></dt>
280 397
 <dd><p>The store sync value byte (‘\x3a\x3d’ -&gt; ‘\x3a’ inside a message)</p>
281 398
 </dd></dl>
282 399
 
283 400
 <dl class="data">
284 401
 <dt id="stringtools.stp.DATA_SYNC">
285
-<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_SYNC</code><em class="property"> = ':'</em><a class="headerlink" href="#stringtools.stp.DATA_SYNC" title="Permalink to this definition">¶</a></dt>
402
+<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_SYNC</code><em class="property"> = b':'</em><a class="headerlink" href="#stringtools.stp.DATA_SYNC" title="Permalink to this definition">¶</a></dt>
286 403
 <dd><p>The data sync byte</p>
287 404
 </dd></dl>
288 405
 
289 406
 <dl class="data">
290 407
 <dt id="stringtools.stp.DATA_VALID_MSG">
291
-<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_VALID_MSG</code><em class="property"> = '&gt;'</em><a class="headerlink" href="#stringtools.stp.DATA_VALID_MSG" title="Permalink to this definition">¶</a></dt>
408
+<code class="descclassname">stringtools.stp.</code><code class="descname">DATA_VALID_MSG</code><em class="property"> = b'&gt;'</em><a class="headerlink" href="#stringtools.stp.DATA_VALID_MSG" title="Permalink to this definition">¶</a></dt>
292 409
 <dd><p>The valid message byte (‘\x3a\x3e’ -&gt; end of message)</p>
293 410
 </dd></dl>
294 411
 
@@ -333,13 +450,13 @@
333 450
 </tbody>
334 451
 </table>
335 452
 <p><strong>Example:</strong></p>
336
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
453
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">stringtools</span>
337 454
 
338 455
 <span class="nb">print</span><span class="p">(</span><span class="nb">repr</span><span class="p">(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">stp</span><span class="o">.</span><span class="n">build_frame</span><span class="p">(</span><span class="sa">b</span><span class="s1">&#39;:message:&#39;</span><span class="p">)))</span>
339 456
 </pre></div>
340 457
 </div>
341 458
 <p>Will result to the following output:</p>
342
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="sa">b</span><span class="s1">&#39;:&lt;:=message:=:&gt;&#39;</span>
459
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="sa">b</span><span class="s1">&#39;:&lt;:=message:=:&gt;&#39;</span>
343 460
 </pre></div>
344 461
 </div>
345 462
 </dd></dl>
@@ -349,7 +466,7 @@
349 466
 <em class="property">class </em><code class="descclassname">stringtools.stp.</code><code class="descname">stp</code><a class="headerlink" href="#stringtools.stp.stp" title="Permalink to this definition">¶</a></dt>
350 467
 <dd><p>This class extracts messages from an “stp-stream”.</p>
351 468
 <p><strong>Example:</strong></p>
352
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
469
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">report</span>
353 470
 <span class="kn">import</span> <span class="nn">stringtools</span>
354 471
 
355 472
 <span class="n">report</span><span class="o">.</span><span class="n">stdoutLoggingConfigure</span><span class="p">(</span><span class="n">log_name_lvl</span><span class="o">=</span><span class="p">[(</span><span class="n">stringtools</span><span class="o">.</span><span class="n">logger_name</span><span class="p">,</span> <span class="s1">&#39;DEBUG&#39;</span><span class="p">),</span> <span class="p">])</span>
@@ -361,7 +478,7 @@
361 478
 </pre></div>
362 479
 </div>
363 480
 <p>Will result to the following output:</p>
364
-<div class="highlight-default"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_IDLE</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_1</span>
481
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_IDLE</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_1</span>
365 482
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">start</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">c</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_1</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
366 483
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">data</span> <span class="n">sync</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_STORE_DATA</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_ESCAPE_2</span>
367 484
 <span class="mi">2020</span><span class="o">-</span><span class="mi">01</span><span class="o">-</span><span class="mi">28</span> <span class="mi">21</span><span class="p">:</span><span class="mi">38</span><span class="p">:</span><span class="mi">27</span><span class="p">,</span><span class="mi">329</span><span class="p">:</span> <span class="n">STRINGTOOLS</span> <span class="o">-</span> <span class="n">DEBUG</span> <span class="o">-</span> <span class="n">STP</span><span class="p">:</span> <span class="n">store</span> <span class="n">sync</span> <span class="n">pattern</span> <span class="p">(</span><span class="mi">3</span><span class="n">a</span> <span class="mi">3</span><span class="n">d</span><span class="p">)</span> <span class="n">received</span> <span class="o">=&gt;</span> <span class="n">changing</span> <span class="n">state</span> <span class="n">STP_STATE_ESCAPE_2</span> <span class="o">-&gt;</span> <span class="n">STP_STATE_STORE_DATA</span>
@@ -407,45 +524,50 @@
407 524
 </div>
408 525
 
409 526
 
527
+           </div>
528
+           
410 529
           </div>
530
+          <footer>
531
+  
532
+
533
+  <hr/>
534
+
535
+  <div role="contentinfo">
536
+    <p>
537
+        
538
+        &copy; Copyright 2021, Dirk Alders
539
+
540
+    </p>
541
+  </div>
542
+    
543
+    
544
+    
545
+    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
546
+    
547
+    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
548
+    
549
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
550
+
551
+</footer>
552
+
411 553
         </div>
412 554
       </div>
413
-      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
414
-        <div class="sphinxsidebarwrapper"><div class="relations">
415
-<h3>Related Topics</h3>
416
-<ul>
417
-  <li><a href="#">Documentation overview</a><ul>
418
-  </ul></li>
419
-</ul>
420
-</div>
421
-<div id="searchbox" style="display: none" role="search">
422
-  <h3>Quick search</h3>
423
-    <form class="search" action="search.html" method="get">
424
-      <div><input type="text" name="q" /></div>
425
-      <div><input type="submit" value="Go" /></div>
426
-      <input type="hidden" name="check_keywords" value="yes" />
427
-      <input type="hidden" name="area" value="default" />
428
-    </form>
429
-</div>
430
-<script type="text/javascript">$('#searchbox').show(0);</script>
431
-        </div>
432
-      </div>
433
-      <div class="clearer"></div>
434
-    </div>
435
-    <div class="footer">
436
-      &copy;2019, Dirk Alders.
437
-      
438
-      |
439
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
440
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
441
-      
442
-      |
443
-      <a href="_sources/index.rst.txt"
444
-          rel="nofollow">Page source</a>
445
-    </div>
446 555
 
447
-    
556
+    </section>
557
+
558
+  </div>
559
+  
448 560
 
561
+  <script type="text/javascript">
562
+      jQuery(function () {
563
+          SphinxRtdTheme.Navigation.enable(true);
564
+      });
565
+  </script>
566
+
567
+  
568
+  
449 569
     
450
-  </body>
570
+   
571
+
572
+</body>
451 573
 </html>

+ 176
- 64
_docs_/py-modindex.html View File

@@ -1,44 +1,148 @@
1 1
 
2
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
-
5
-<html xmlns="http://www.w3.org/1999/xhtml">
6
-  <head>
7
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-    <title>Python Module Index &#8212; stringtools  documentation</title>
9
-    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
10
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
11
-    <script type="text/javascript">
12
-      var DOCUMENTATION_OPTIONS = {
13
-        URL_ROOT:    './',
14
-        VERSION:     '',
15
-        COLLAPSE_INDEX: false,
16
-        FILE_SUFFIX: '.html',
17
-        HAS_SOURCE:  true,
18
-        SOURCELINK_SUFFIX: '.txt'
19
-      };
20
-    </script>
21
-    <script type="text/javascript" src="_static/jquery.js"></script>
22
-    <script type="text/javascript" src="_static/underscore.js"></script>
23
-    <script type="text/javascript" src="_static/doctools.js"></script>
2
+
3
+<!DOCTYPE html>
4
+<html class="writer-html4" lang="en" >
5
+<head>
6
+  <meta charset="utf-8">
7
+  
8
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
+  
10
+  <title>Python Module Index &mdash; stringtools  documentation</title>
11
+  
12
+
13
+  
14
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
15
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
16
+
17
+  
18
+  
19
+  
20
+  
21
+
22
+  
23
+  <!--[if lt IE 9]>
24
+    <script src="_static/js/html5shiv.min.js"></script>
25
+  <![endif]-->
26
+  
27
+    
28
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
29
+        <script type="text/javascript" src="_static/jquery.js"></script>
30
+        <script type="text/javascript" src="_static/underscore.js"></script>
31
+        <script type="text/javascript" src="_static/doctools.js"></script>
32
+        <script type="text/javascript" src="_static/language_data.js"></script>
33
+    
34
+    <script type="text/javascript" src="_static/js/theme.js"></script>
35
+
36
+    
24 37
     <link rel="index" title="Index" href="genindex.html" />
25 38
     <link rel="search" title="Search" href="search.html" />
39
+ 
40
+
41
+
42
+</head>
43
+
44
+<body class="wy-body-for-nav">
26 45
 
27 46
    
28
-  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
29
-  
30
-  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
47
+  <div class="wy-grid-for-nav">
48
+    
49
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
50
+      <div class="wy-side-scroll">
51
+        <div class="wy-side-nav-search" >
52
+          
31 53
 
54
+          
55
+            <a href="index.html" class="icon icon-home" alt="Documentation Home"> stringtools
56
+          
57
+
58
+          
59
+          </a>
60
+
61
+          
62
+            
63
+            
64
+          
65
+
66
+          
67
+<div role="search">
68
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
69
+    <input type="text" name="q" placeholder="Search docs" />
70
+    <input type="hidden" name="check_keywords" value="yes" />
71
+    <input type="hidden" name="area" value="default" />
72
+  </form>
73
+</div>
74
+
75
+          
76
+        </div>
77
+
78
+        
79
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
80
+          
81
+            
82
+            
83
+              
84
+            
85
+            
86
+              <!-- Local TOC -->
87
+              <div class="local-toc"></div>
88
+            
89
+          
90
+        </div>
91
+        
92
+      </div>
93
+    </nav>
94
+
95
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
96
+
97
+      
98
+      <nav class="wy-nav-top" aria-label="top navigation">
99
+        
100
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
101
+          <a href="index.html">stringtools</a>
102
+        
103
+      </nav>
104
+
105
+
106
+      <div class="wy-nav-content">
107
+        
108
+        <div class="rst-content">
109
+        
110
+          
32 111
 
33 112
 
34
-  </head>
35
-  <body>
36
-  
37 113
 
38
-    <div class="document">
39
-      <div class="documentwrapper">
40
-        <div class="bodywrapper">
41
-          <div class="body" role="main">
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+
126
+<div role="navigation" aria-label="breadcrumbs navigation">
127
+
128
+  <ul class="wy-breadcrumbs">
129
+    
130
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
131
+        
132
+      <li>Python Module Index</li>
133
+    
134
+    
135
+      <li class="wy-breadcrumbs-aside">
136
+        
137
+      </li>
138
+    
139
+  </ul>
140
+
141
+  
142
+  <hr/>
143
+</div>
144
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
145
+           <div itemprop="articleBody">
42 146
             
43 147
 
44 148
    <h1>Python Module Index</h1>
@@ -70,42 +174,50 @@
70 174
    </table>
71 175
 
72 176
 
177
+           </div>
178
+           
73 179
           </div>
180
+          <footer>
181
+  
182
+
183
+  <hr/>
184
+
185
+  <div role="contentinfo">
186
+    <p>
187
+        
188
+        &copy; Copyright 2021, Dirk Alders
189
+
190
+    </p>
191
+  </div>
192
+    
193
+    
194
+    
195
+    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
196
+    
197
+    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
198
+    
199
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
200
+
201
+</footer>
202
+
74 203
         </div>
75 204
       </div>
76
-      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
77
-        <div class="sphinxsidebarwrapper"><div class="relations">
78
-<h3>Related Topics</h3>
79
-<ul>
80
-  <li><a href="index.html">Documentation overview</a><ul>
81
-  </ul></li>
82
-</ul>
83
-</div>
84
-<div id="searchbox" style="display: none" role="search">
85
-  <h3>Quick search</h3>
86
-    <form class="search" action="search.html" method="get">
87
-      <div><input type="text" name="q" /></div>
88
-      <div><input type="submit" value="Go" /></div>
89
-      <input type="hidden" name="check_keywords" value="yes" />
90
-      <input type="hidden" name="area" value="default" />
91
-    </form>
92
-</div>
93
-<script type="text/javascript">$('#searchbox').show(0);</script>
94
-        </div>
95
-      </div>
96
-      <div class="clearer"></div>
97
-    </div>
98
-    <div class="footer">
99
-      &copy;2019, Dirk Alders.
100
-      
101
-      |
102
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
103
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
104
-      
105
-    </div>
106 205
 
107
-    
206
+    </section>
207
+
208
+  </div>
209
+  
108 210
 
211
+  <script type="text/javascript">
212
+      jQuery(function () {
213
+          SphinxRtdTheme.Navigation.enable(true);
214
+      });
215
+  </script>
216
+
217
+  
218
+  
109 219
     
110
-  </body>
220
+   
221
+
222
+</body>
111 223
 </html>

+ 191
- 77
_docs_/search.html View File

@@ -1,100 +1,214 @@
1 1
 
2
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3
-  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
-
5
-<html xmlns="http://www.w3.org/1999/xhtml">
6
-  <head>
7
-    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
-    <title>Search &#8212; stringtools  documentation</title>
9
-    <link rel="stylesheet" href="_static/alabaster.css" type="text/css" />
10
-    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
11
-    <script type="text/javascript">
12
-      var DOCUMENTATION_OPTIONS = {
13
-        URL_ROOT:    './',
14
-        VERSION:     '',
15
-        COLLAPSE_INDEX: false,
16
-        FILE_SUFFIX: '.html',
17
-        HAS_SOURCE:  true,
18
-        SOURCELINK_SUFFIX: '.txt'
19
-      };
20
-    </script>
21
-    <script type="text/javascript" src="_static/jquery.js"></script>
22
-    <script type="text/javascript" src="_static/underscore.js"></script>
23
-    <script type="text/javascript" src="_static/doctools.js"></script>
24
-    <script type="text/javascript" src="_static/searchtools.js"></script>
25
-    <link rel="index" title="Index" href="genindex.html" />
26
-    <link rel="search" title="Search" href="#" />
27
-  <script type="text/javascript">
28
-    jQuery(function() { Search.loadIndex("searchindex.js"); });
29
-  </script>
2
+
3
+<!DOCTYPE html>
4
+<html class="writer-html4" lang="en" >
5
+<head>
6
+  <meta charset="utf-8">
30 7
   
31
-  <script type="text/javascript" id="searchindexloader"></script>
8
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
32 9
   
33
-   
34
-  <link rel="stylesheet" href="_static/custom.css" type="text/css" />
10
+  <title>Search &mdash; stringtools  documentation</title>
11
+  
12
+
35 13
   
36
-  <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
14
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
15
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
37 16
 
17
+  
18
+  
19
+  
20
+  
38 21
 
39
-  </head>
40
-  <body>
41 22
   
23
+    
24
+  <!--[if lt IE 9]>
25
+    <script src="_static/js/html5shiv.min.js"></script>
26
+  <![endif]-->
27
+  
28
+    
29
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
30
+        <script type="text/javascript" src="_static/jquery.js"></script>
31
+        <script type="text/javascript" src="_static/underscore.js"></script>
32
+        <script type="text/javascript" src="_static/doctools.js"></script>
33
+        <script type="text/javascript" src="_static/language_data.js"></script>
34
+    
35
+    <script type="text/javascript" src="_static/js/theme.js"></script>
36
+
37
+    
38
+    <script type="text/javascript" src="_static/searchtools.js"></script>
39
+    <link rel="index" title="Index" href="genindex.html" />
40
+    <link rel="search" title="Search" href="#" /> 
41
+</head>
42
+
43
+<body class="wy-body-for-nav">
44
+
45
+   
46
+  <div class="wy-grid-for-nav">
47
+    
48
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
49
+      <div class="wy-side-scroll">
50
+        <div class="wy-side-nav-search" >
51
+          
52
+
53
+          
54
+            <a href="index.html" class="icon icon-home" alt="Documentation Home"> stringtools
55
+          
56
+
57
+          
58
+          </a>
42 59
 
43
-    <div class="document">
44
-      <div class="documentwrapper">
45
-        <div class="bodywrapper">
46
-          <div class="body" role="main">
60
+          
47 61
             
48
-  <h1 id="search-documentation">Search</h1>
62
+            
63
+          
64
+
65
+          
66
+<div role="search">
67
+  <form id="rtd-search-form" class="wy-form" action="#" method="get">
68
+    <input type="text" name="q" placeholder="Search docs" />
69
+    <input type="hidden" name="check_keywords" value="yes" />
70
+    <input type="hidden" name="area" value="default" />
71
+  </form>
72
+</div>
73
+
74
+          
75
+        </div>
76
+
77
+        
78
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
79
+          
80
+            
81
+            
82
+              
83
+            
84
+            
85
+              <!-- Local TOC -->
86
+              <div class="local-toc"></div>
87
+            
88
+          
89
+        </div>
90
+        
91
+      </div>
92
+    </nav>
93
+
94
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
95
+
96
+      
97
+      <nav class="wy-nav-top" aria-label="top navigation">
98
+        
99
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
100
+          <a href="index.html">stringtools</a>
101
+        
102
+      </nav>
103
+
104
+
105
+      <div class="wy-nav-content">
106
+        
107
+        <div class="rst-content">
108
+        
109
+          
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+
124
+
125
+<div role="navigation" aria-label="breadcrumbs navigation">
126
+
127
+  <ul class="wy-breadcrumbs">
128
+    
129
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
130
+        
131
+      <li>Search</li>
132
+    
133
+    
134
+      <li class="wy-breadcrumbs-aside">
135
+        
136
+            
137
+        
138
+      </li>
139
+    
140
+  </ul>
141
+
142
+  
143
+  <hr/>
144
+</div>
145
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
146
+           <div itemprop="articleBody">
147
+            
148
+  <noscript>
49 149
   <div id="fallback" class="admonition warning">
50
-  <script type="text/javascript">$('#fallback').hide();</script>
51
-  <p>
52
-    Please activate JavaScript to enable the search
53
-    functionality.
54
-  </p>
150
+    <p class="last">
151
+      Please activate JavaScript to enable the search functionality.
152
+    </p>
55 153
   </div>
56
-  <p>
57
-    From here you can search these documents. Enter your search
58
-    words into the box below and click "search". Note that the search
59
-    function will automatically search for all of the words. Pages
60
-    containing fewer words won't appear in the result list.
61
-  </p>
62
-  <form action="" method="get">
63
-    <input type="text" name="q" value="" />
64
-    <input type="submit" value="search" />
65
-    <span id="search-progress" style="padding-left: 10px"></span>
66
-  </form>
154
+  </noscript>
155
+
67 156
   
68 157
   <div id="search-results">
69 158
   
70 159
   </div>
71 160
 
161
+           </div>
162
+           
72 163
           </div>
164
+          <footer>
165
+  
166
+
167
+  <hr/>
168
+
169
+  <div role="contentinfo">
170
+    <p>
171
+        
172
+        &copy; Copyright 2021, Dirk Alders
173
+
174
+    </p>
175
+  </div>
176
+    
177
+    
178
+    
179
+    Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a
180
+    
181
+    <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a>
182
+    
183
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
184
+
185
+</footer>
186
+
73 187
         </div>
74 188
       </div>
75
-      <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
76
-        <div class="sphinxsidebarwrapper"><div class="relations">
77
-<h3>Related Topics</h3>
78
-<ul>
79
-  <li><a href="index.html">Documentation overview</a><ul>
80
-  </ul></li>
81
-</ul>
82
-</div>
83
-        </div>
84
-      </div>
85
-      <div class="clearer"></div>
86
-    </div>
87
-    <div class="footer">
88
-      &copy;2019, Dirk Alders.
89
-      
90
-      |
91
-      Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.7</a>
92
-      &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.8</a>
93
-      
94
-    </div>
95 189
 
96
-    
190
+    </section>
97 191
 
192
+  </div>
193
+  
194
+
195
+  <script type="text/javascript">
196
+      jQuery(function () {
197
+          SphinxRtdTheme.Navigation.enable(true);
198
+      });
199
+  </script>
200
+
201
+  
202
+  
98 203
     
99
-  </body>
204
+  
205
+  <script type="text/javascript">
206
+    jQuery(function() { Search.loadIndex("searchindex.js"); });
207
+  </script>
208
+  
209
+  <script type="text/javascript" id="searchindexloader"></script>
210
+   
211
+
212
+
213
+</body>
100 214
 </html>

+ 1
- 1
_docs_/searchindex.js View File

@@ -1 +1 @@
1
-Search.setIndex({docnames:["index"],envversion:52,filenames:["index.rst"],objects:{"":{stringtools:[0,0,0,"-"]},"stringtools.csp":{build_frame:[0,1,1,""],csp:[0,2,1,""]},"stringtools.csp.csp":{process:[0,3,1,""]},"stringtools.stp":{DATA_CLEAR_BUFFER:[0,4,1,""],DATA_STORE_SYNC_VALUE:[0,4,1,""],DATA_SYNC:[0,4,1,""],DATA_VALID_MSG:[0,4,1,""],STP_STATE_ESCAPE_1:[0,4,1,""],STP_STATE_ESCAPE_2:[0,4,1,""],STP_STATE_IDLE:[0,4,1,""],STP_STATE_STORE_DATA:[0,4,1,""],build_frame:[0,1,1,""],stp:[0,2,1,""]},"stringtools.stp.stp":{process:[0,3,1,""]},stringtools:{csp:[0,0,0,"-"],gzip_compress:[0,1,1,""],gzip_extract:[0,1,1,""],hexlify:[0,1,1,""],stp:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:data"},terms:{"byte":0,"class":0,"default":0,"function":0,"import":0,"int":0,The:0,Will:0,alder:0,also:0,around:0,author:0,buffer:0,build:0,build_fram:0,bytestream:0,chang:0,charact:0,clear:0,compress:0,compression_r:0,compressionn:0,compresslevel:0,consumed_tim:0,creat:0,data:0,data_clear_buff:0,data_store_sync_valu:0,data_sync:0,data_valid_msg:0,debug:0,definit:0,descript:0,dirk:0,end:0,escap:0,exampl:0,extract:0,finish:0,follow:0,found:0,frame:0,from:0,gzip:0,gzip_compress:0,gzip_extract:0,hexlifi:0,identifi:0,idl:0,includ:0,index:0,info:0,insid:0,interfac:0,leav:0,len:0,level:0,like:0,list:0,log_name_lvl:0,logger_nam:0,messag:0,method:0,mockeri:0,modul:0,mount:0,msg:0,next:0,non:0,none:0,oper:0,option:0,out:0,output:0,page:0,paramet:0,pattern:0,print:0,printabl:0,process:0,receiv:0,report:0,repr:0,result:0,search:0,see:0,sent:0,start:0,state:0,stdoutloggingconfigur:0,store:0,stp_state_escape_1:0,stp_state_escape_2:0,stp_state_idl:0,stp_state_store_data:0,str:0,stream:0,string:0,stringexampl:0,submodul:0,sudo:0,support:0,sync:0,thi:0,time:0,transmit:0,type:0,unittest:0,valid:0,valu:0,via:0,x00:0,x01:0,x02:0,x08:0,x12:0,x1e:0,x1f:0,x2d:0,x3a:0,x3c:0,x3d:0,x3e:0,x40:0,x51:0,x5c:0,x60:0,x63:0,x7d:0,x82:0,x8a:0,x8b:0,xd0:0,xde:0,xe5:0,xff:0,yet:0},titles:["Welcome to stringtools\u2019s documentation!"],titleterms:{"return":0,carriag:0,csp:0,document:0,indic:0,protocol:0,seper:0,serial:0,stp:0,stringtool:0,tabl:0,transfer:0,welcom:0}})
1
+Search.setIndex({docnames:["index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,sphinx:55},filenames:["index.rst"],objects:{"":{stringtools:[0,0,0,"-"]},"stringtools.csp":{build_frame:[0,1,1,""],csp:[0,2,1,""]},"stringtools.csp.csp":{process:[0,3,1,""]},"stringtools.stp":{DATA_CLEAR_BUFFER:[0,4,1,""],DATA_STORE_SYNC_VALUE:[0,4,1,""],DATA_SYNC:[0,4,1,""],DATA_VALID_MSG:[0,4,1,""],STP_STATE_ESCAPE_1:[0,4,1,""],STP_STATE_ESCAPE_2:[0,4,1,""],STP_STATE_IDLE:[0,4,1,""],STP_STATE_STORE_DATA:[0,4,1,""],build_frame:[0,1,1,""],stp:[0,2,1,""]},"stringtools.stp.stp":{process:[0,3,1,""]},stringtools:{csp:[0,0,0,"-"],gzip_compress:[0,1,1,""],gzip_extract:[0,1,1,""],hexlify:[0,1,1,""],stp:[0,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","method","Python method"],"4":["py","data","Python data"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:method","4":"py:data"},terms:{"byte":0,"class":0,"default":0,"function":0,"import":0,"int":0,The:0,Will:0,alder:0,also:0,around:0,author:0,buffer:0,build:0,build_fram:0,bytestream:0,chang:0,charact:0,clear:0,compress:0,compression_r:0,compressionn:0,compresslevel:0,consumed_tim:0,creat:0,data:0,data_clear_buff:0,data_store_sync_valu:0,data_sync:0,data_valid_msg:0,debug:0,definit:0,descript:0,dirk:0,end:0,escap:0,exampl:0,extract:0,finish:0,follow:0,found:0,frame:0,from:0,gzip:0,gzip_compress:0,gzip_extract:0,hexlifi:0,identifi:0,idl:0,includ:0,index:0,info:0,insid:0,interfac:0,leav:0,len:0,level:0,like:0,list:0,log_name_lvl:0,logger_nam:0,messag:0,method:0,mockeri:0,modul:0,mount:0,msg:0,next:0,non:0,none:0,oper:0,option:0,out:0,output:0,page:0,paramet:0,pattern:0,print:0,printabl:0,process:0,receiv:0,report:0,repr:0,result:0,search:0,see:0,sent:0,start:0,state:0,stdoutloggingconfigur:0,store:0,stp_state_escape_1:0,stp_state_escape_2:0,stp_state_idl:0,stp_state_store_data:0,str:0,stream:0,string:0,stringexampl:0,submodul:0,sudo:0,support:0,sync:0,thi:0,time:0,transmit:0,type:0,unittest:0,valid:0,valu:0,via:0,x00:0,x01:0,x02:0,x08:0,x12:0,x1e:0,x1f:0,x2d:0,x3a:0,x3c:0,x3d:0,x3e:0,x40:0,x51:0,x5c:0,x60:0,x63:0,x7d:0,x82:0,x8a:0,x8b:0,xd0:0,xde:0,xe5:0,xff:0,yet:0},titles:["Welcome to stringtools\u2019s documentation!"],titleterms:{"return":0,carriag:0,csp:0,document:0,indic:0,protocol:0,seper:0,serial:0,stp:0,stringtool:0,tabl:0,transfer:0,welcom:0}})

Loading…
Cancel
Save