diff -r c6a0f424837a Include/code.h
--- a/Include/code.h Mon Jan 18 11:25:50 2016 +0100
+++ b/Include/code.h Mon Jan 18 11:47:49 2016 +0100
@@ -117,7 +117,7 @@ PyAPI_FUNC(int) _PyCode_CheckLineNumber(
#endif
PyAPI_FUNC(PyObject*) PyCode_Optimize(PyObject *code, PyObject* consts,
- PyObject *names, PyObject *lineno_obj);
+ PyObject *names, PyObject *lnotab);
#ifdef __cplusplus
}
diff -r c6a0f424837a Lib/dis.py
--- a/Lib/dis.py Mon Jan 18 11:25:50 2016 +0100
+++ b/Lib/dis.py Mon Jan 18 11:47:49 2016 +0100
@@ -397,8 +397,8 @@ def findlinestarts(code):
Generate pairs (offset, lineno) as described in Python/compile.c.
"""
- byte_increments = list(code.co_lnotab[0::2])
- line_increments = list(code.co_lnotab[1::2])
+ byte_increments = code.co_lnotabb[0::2]
+ line_increments = code.co_lnotab[1::2]
lastlineno = None
lineno = code.co_firstlineno
@@ -409,6 +409,9 @@ def findlinestarts(code):
yield (addr, lineno)
lastlineno = lineno
addr += byte_incr
+ if line_incr >= 0x80:
+ # line_increments is an array of 8-bit signed integers
+ line_incr -= 0x100
lineno += line_incr
if lineno != lastlineno:
yield (addr, lineno)
diff -r c6a0f424837a Lib/importlib/_bootstrap_external.py
--- a/Lib/importlib/_bootstrap_external.py Mon Jan 18 11:25:50 2016 +0100
+++ b/Lib/importlib/_bootstrap_external.py Mon Jan 18 11:47:49 2016 +0100
@@ -223,7 +223,8 @@ def _write_atomic(path, data, mode=0o666
# Python 3.5b1 3330 (PEP 448: Additional Unpacking Generalizations)
# Python 3.5b2 3340 (fix dictionary display evaluation order #11205)
# Python 3.5b2 3350 (add GET_YIELD_FROM_ITER opcode #24400)
-# Python 3.6a0 3360 (add FORMAT_VALUE opcode #25483)
+# Python 3.6a0 3360 (add FORMAT_VALUE opcode #25483
+# and lineno delta of code.co_lnotab becomes signed)
#
# MAGIC must change whenever the bytecode emitted by the compiler may no
# longer be understood by older implementations of the eval loop (usually
diff -r c6a0f424837a Objects/frameobject.c
--- a/Objects/frameobject.c Mon Jan 18 11:25:50 2016 +0100
+++ b/Objects/frameobject.c Mon Jan 18 11:47:49 2016 +0100
@@ -137,7 +137,7 @@ frame_setlineno(PyFrameObject *f, PyObje
new_lasti = -1;
for (offset = 0; offset < lnotab_len; offset += 2) {
addr += lnotab[offset];
- line += lnotab[offset+1];
+ line += (signed char)lnotab[offset+1];
if (line >= new_lineno) {
new_lasti = addr;
new_lineno = line;
diff -r c6a0f424837a Objects/lnotab_notes.txt
--- a/Objects/lnotab_notes.txt Mon Jan 18 11:25:50 2016 +0100
+++ b/Objects/lnotab_notes.txt Mon Jan 18 11:47:49 2016 +0100
@@ -12,26 +12,27 @@ pairs. The details are important and de
0 1
6 2
50 7
- 350 307
- 361 308
+ 350 207
+ 361 208
Instead of storing these numbers literally, we compress the list by storing only
the increments from one row to the next. Conceptually, the stored list might
look like:
- 0, 1, 6, 1, 44, 5, 300, 300, 11, 1
+ 0, 1, 6, 1, 44, 5, 300, 200, 11, 1
-The above doesn't really work, but it's a start. Note that an unsigned byte
-can't hold negative values, or values larger than 255, and the above example
+The above doesn't really work, but it's a start. Note that a signed byte
+can't hold values larger than 127 or less than -128, and the above example
contains two such values. So we make two tweaks:
(a) there's a deep assumption that byte code offsets and their corresponding
line #s both increase monotonically, and
- (b) if at least one column jumps by more than 255 from one row to the next,
- more than one pair is written to the table. In case #b, there's no way to know
- from looking at the table later how many were written. That's the delicate
- part. A user of co_lnotab desiring to find the source line number
- corresponding to a bytecode address A should do something like this
+ (b) if at least one column jumps by more than 127 or less than -128 from one
+ row to the next, more than one pair is written to the table. In case #b,
+ there's no way to know from looking at the table later how many were written.
+ That's the delicate part. A user of co_lnotab desiring to find the source
+ line number corresponding to a bytecode address A should do something like
+ this
lineno = addr = 0
for addr_incr, line_incr in co_lnotab:
@@ -44,10 +45,10 @@ contains two such values. So we make two
when the addr field increments by more than 255, the line # increment in each
pair generated must be 0 until the remaining addr increment is < 256. So, in
the example above, assemble_lnotab in compile.c should not (as was actually done
-until 2.2) expand 300, 300 to
+until 2.2) expand 300, 200 to
255, 255, 45, 45,
but to
- 255, 0, 45, 255, 0, 45.
+ 255, 0, 45, 128, 0, 72.
The above is sufficient to reconstruct line numbers for tracebacks, but not for
line tracing. Tracing is handled by PyCode_CheckLineNumber() in codeobject.c
diff -r c6a0f424837a Python/compile.c
--- a/Python/compile.c Mon Jan 18 11:25:50 2016 +0100
+++ b/Python/compile.c Mon Jan 18 11:47:49 2016 +0100
@@ -4452,7 +4452,6 @@ assemble_lnotab(struct assembler *a, str
d_lineno = i->i_lineno - a->a_lineno;
assert(d_bytecode >= 0);
- assert(d_lineno >= 0);
if(d_bytecode == 0 && d_lineno == 0)
return 1;
@@ -4482,9 +4481,21 @@ assemble_lnotab(struct assembler *a, str
d_bytecode -= ncodes * 255;
a->a_lnotab_off += ncodes * 2;
}
- assert(d_bytecode <= 255);
- if (d_lineno > 255) {
- int j, nbytes, ncodes = d_lineno / 255;
+ assert(0 <= d_bytecode && d_bytecode <= 255);
+
+ if (d_lineno < -128 || 127 < d_lineno) {
+ int j, nbytes, ncodes, k;
+ if (d_lineno < 0) {
+ k = -128;
+ /* use division on positive numbers */
+ ncodes = (-d_lineno) / 128;
+ }
+ else {
+ k = 127;
+ ncodes = d_lineno / 127;
+ }
+ d_lineno -= ncodes * k;
+ assert(ncodes >= 1);
nbytes = a->a_lnotab_off + 2 * ncodes;
len = PyBytes_GET_SIZE(a->a_lnotab);
if (nbytes >= len) {
@@ -4502,15 +4513,15 @@ assemble_lnotab(struct assembler *a, str
lnotab = (unsigned char *)
PyBytes_AS_STRING(a->a_lnotab) + a->a_lnotab_off;
*lnotab++ = d_bytecode;
- *lnotab++ = 255;
+ *lnotab++ = k;
d_bytecode = 0;
for (j = 1; j < ncodes; j++) {
*lnotab++ = 0;
- *lnotab++ = 255;
+ *lnotab++ = k;
}
- d_lineno -= ncodes * 255;
a->a_lnotab_off += ncodes * 2;
}
+ assert(-128 <= d_lineno && d_lineno <= 127);
len = PyBytes_GET_SIZE(a->a_lnotab);
if (a->a_lnotab_off + 2 >= len) {
diff -r c6a0f424837a Python/importlib_external.h
--- a/Python/importlib_external.h Mon Jan 18 11:25:50 2016 +0100
+++ b/Python/importlib_external.h Mon Jan 18 11:47:49 2016 +0100
@@ -368,7 +368,7 @@ const unsigned char _Py_M__importlib_ext
103,90,15,97,108,109,111,115,116,95,102,105,108,101,110,97,
109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
0,218,17,99,97,99,104,101,95,102,114,111,109,95,115,111,
- 117,114,99,101,244,0,0,0,115,46,0,0,0,0,18,12,
+ 117,114,99,101,245,0,0,0,115,46,0,0,0,0,18,12,
1,9,1,7,1,12,1,6,1,12,1,18,1,18,1,24,
1,12,1,12,1,12,1,36,1,12,1,18,1,9,2,12,
1,12,1,12,1,12,1,21,1,21,1,114,79,0,0,0,
@@ -447,7 +447,7 @@ const unsigned char _Py_M__importlib_ext
101,118,101,108,90,13,98,97,115,101,95,102,105,108,101,110,
97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,17,115,111,117,114,99,101,95,102,114,111,109,95,
- 99,97,99,104,101,32,1,0,0,115,44,0,0,0,0,9,
+ 99,97,99,104,101,33,1,0,0,115,44,0,0,0,0,9,
18,1,12,1,18,1,18,1,12,1,9,1,15,1,15,1,
12,1,9,1,15,1,12,1,22,1,15,1,9,1,12,1,
22,1,12,1,9,1,12,1,19,1,114,85,0,0,0,99,
@@ -484,7 +484,7 @@ const unsigned char _Py_M__importlib_ext
0,0,114,36,0,0,0,90,9,101,120,116,101,110,115,105,
111,110,218,11,115,111,117,114,99,101,95,112,97,116,104,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,15,
- 95,103,101,116,95,115,111,117,114,99,101,102,105,108,101,65,
+ 95,103,101,116,95,115,111,117,114,99,101,102,105,108,101,66,
1,0,0,115,20,0,0,0,0,7,18,1,4,1,24,1,
35,1,4,1,3,1,16,1,19,1,21,1,114,91,0,0,
0,99,1,0,0,0,0,0,0,0,1,0,0,0,11,0,
@@ -499,7 +499,7 @@ const unsigned char _Py_M__importlib_ext
0,0,114,79,0,0,0,114,66,0,0,0,114,74,0,0,
0,41,1,218,8,102,105,108,101,110,97,109,101,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,11,95,103,
- 101,116,95,99,97,99,104,101,100,84,1,0,0,115,16,0,
+ 101,116,95,99,97,99,104,101,100,85,1,0,0,115,16,0,
0,0,0,1,21,1,3,1,14,1,13,1,8,1,21,1,
4,2,114,95,0,0,0,99,1,0,0,0,0,0,0,0,
2,0,0,0,11,0,0,0,67,0,0,0,115,60,0,0,
@@ -514,7 +514,7 @@ const unsigned char _Py_M__importlib_ext
114,39,0,0,0,114,41,0,0,0,114,40,0,0,0,41,
2,114,35,0,0,0,114,42,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,10,95,99,97,108,
- 99,95,109,111,100,101,96,1,0,0,115,12,0,0,0,0,
+ 99,95,109,111,100,101,97,1,0,0,115,12,0,0,0,0,
2,3,1,19,1,13,1,11,3,10,1,114,97,0,0,0,
99,1,0,0,0,0,0,0,0,3,0,0,0,11,0,0,
0,3,0,0,0,115,84,0,0,0,100,1,0,135,0,0,
@@ -554,7 +554,7 @@ const unsigned char _Py_M__importlib_ext
103,115,90,6,107,119,97,114,103,115,41,1,218,6,109,101,
116,104,111,100,114,4,0,0,0,114,5,0,0,0,218,19,
95,99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,
- 112,101,114,116,1,0,0,115,12,0,0,0,0,1,12,1,
+ 112,101,114,117,1,0,0,115,12,0,0,0,0,1,12,1,
12,1,15,1,6,1,25,1,122,40,95,99,104,101,99,107,
95,110,97,109,101,46,60,108,111,99,97,108,115,62,46,95,
99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,112,
@@ -573,7 +573,7 @@ const unsigned char _Py_M__importlib_ext
116,97,116,116,114,218,8,95,95,100,105,99,116,95,95,218,
6,117,112,100,97,116,101,41,3,90,3,110,101,119,90,3,
111,108,100,114,52,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,218,5,95,119,114,97,112,127,1,
+ 0,0,114,5,0,0,0,218,5,95,119,114,97,112,128,1,
0,0,115,8,0,0,0,0,1,25,1,15,1,29,1,122,
26,95,99,104,101,99,107,95,110,97,109,101,46,60,108,111,
99,97,108,115,62,46,95,119,114,97,112,41,3,218,10,95,
@@ -581,7 +581,7 @@ const unsigned char _Py_M__importlib_ext
78,97,109,101,69,114,114,111,114,41,3,114,102,0,0,0,
114,103,0,0,0,114,113,0,0,0,114,4,0,0,0,41,
1,114,102,0,0,0,114,5,0,0,0,218,11,95,99,104,
- 101,99,107,95,110,97,109,101,108,1,0,0,115,14,0,0,
+ 101,99,107,95,110,97,109,101,109,1,0,0,115,14,0,0,
0,0,8,21,7,3,1,13,1,13,2,17,5,13,1,114,
116,0,0,0,99,2,0,0,0,0,0,0,0,5,0,0,
0,4,0,0,0,67,0,0,0,115,84,0,0,0,124,0,
@@ -611,7 +611,7 @@ const unsigned char _Py_M__importlib_ext
218,8,112,111,114,116,105,111,110,115,218,3,109,115,103,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,17,
95,102,105,110,100,95,109,111,100,117,108,101,95,115,104,105,
- 109,136,1,0,0,115,10,0,0,0,0,10,21,1,24,1,
+ 109,137,1,0,0,115,10,0,0,0,0,10,21,1,24,1,
6,1,29,1,114,123,0,0,0,99,4,0,0,0,0,0,
0,0,11,0,0,0,19,0,0,0,67,0,0,0,115,252,
1,0,0,105,0,0,125,4,0,124,2,0,100,1,0,107,
@@ -698,7 +698,7 @@ const unsigned char _Py_M__importlib_ext
218,11,115,111,117,114,99,101,95,115,105,122,101,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,25,95,118,
97,108,105,100,97,116,101,95,98,121,116,101,99,111,100,101,
- 95,104,101,97,100,101,114,153,1,0,0,115,76,0,0,0,
+ 95,104,101,97,100,101,114,154,1,0,0,115,76,0,0,0,
0,11,6,1,12,1,13,3,6,1,12,1,10,1,16,1,
16,1,16,1,12,1,18,1,16,1,18,1,18,1,15,1,
16,1,15,1,18,1,15,1,16,1,12,1,12,1,3,1,
@@ -729,7 +729,7 @@ const unsigned char _Py_M__importlib_ext
5,114,53,0,0,0,114,98,0,0,0,114,89,0,0,0,
114,90,0,0,0,218,4,99,111,100,101,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,109,
- 112,105,108,101,95,98,121,116,101,99,111,100,101,208,1,0,
+ 112,105,108,101,95,98,121,116,101,99,111,100,101,209,1,0,
0,115,16,0,0,0,0,2,15,1,15,1,16,1,12,1,
16,1,4,2,18,1,114,141,0,0,0,114,59,0,0,0,
99,3,0,0,0,0,0,0,0,4,0,0,0,3,0,0,
@@ -749,7 +749,7 @@ const unsigned char _Py_M__importlib_ext
100,117,109,112,115,41,4,114,140,0,0,0,114,126,0,0,
0,114,134,0,0,0,114,53,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,17,95,99,111,100,
- 101,95,116,111,95,98,121,116,101,99,111,100,101,220,1,0,
+ 101,95,116,111,95,98,121,116,101,99,111,100,101,221,1,0,
0,115,10,0,0,0,0,3,12,1,19,1,19,1,22,1,
114,144,0,0,0,99,1,0,0,0,0,0,0,0,5,0,
0,0,4,0,0,0,67,0,0,0,115,89,0,0,0,100,
@@ -778,7 +778,7 @@ const unsigned char _Py_M__importlib_ext
218,8,101,110,99,111,100,105,110,103,90,15,110,101,119,108,
105,110,101,95,100,101,99,111,100,101,114,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,13,100,101,99,111,
- 100,101,95,115,111,117,114,99,101,230,1,0,0,115,10,0,
+ 100,101,95,115,111,117,114,99,101,231,1,0,0,115,10,0,
0,0,0,5,12,1,18,1,15,1,18,1,114,149,0,0,
0,114,120,0,0,0,218,26,115,117,98,109,111,100,117,108,
101,95,115,101,97,114,99,104,95,108,111,99,97,116,105,111,
@@ -843,7 +843,7 @@ const unsigned char _Py_M__importlib_ext
102,105,120,101,115,114,153,0,0,0,90,7,100,105,114,110,
97,109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,
0,0,218,23,115,112,101,99,95,102,114,111,109,95,102,105,
- 108,101,95,108,111,99,97,116,105,111,110,247,1,0,0,115,
+ 108,101,95,108,111,99,97,116,105,111,110,248,1,0,0,115,
60,0,0,0,0,12,12,4,6,1,15,2,3,1,19,1,
13,1,5,8,24,1,9,3,12,1,22,1,21,1,15,1,
9,1,5,2,4,3,12,2,15,1,3,1,19,1,13,1,
@@ -883,7 +883,7 @@ const unsigned char _Py_M__importlib_ext
72,75,69,89,95,76,79,67,65,76,95,77,65,67,72,73,
78,69,41,2,218,3,99,108,115,218,3,107,101,121,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,218,14,95,
- 111,112,101,110,95,114,101,103,105,115,116,114,121,69,2,0,
+ 111,112,101,110,95,114,101,103,105,115,116,114,121,70,2,0,
0,115,8,0,0,0,0,2,3,1,23,1,13,1,122,36,
87,105,110,100,111,119,115,82,101,103,105,115,116,114,121,70,
105,110,100,101,114,46,95,111,112,101,110,95,114,101,103,105,
@@ -910,7 +910,7 @@ const unsigned char _Py_M__importlib_ext
121,95,107,101,121,114,165,0,0,0,90,4,104,107,101,121,
218,8,102,105,108,101,112,97,116,104,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,16,95,115,101,97,114,
- 99,104,95,114,101,103,105,115,116,114,121,76,2,0,0,115,
+ 99,104,95,114,101,103,105,115,116,114,121,77,2,0,0,115,
22,0,0,0,0,2,9,1,12,2,9,1,15,1,22,1,
3,1,18,1,29,1,13,1,9,1,122,38,87,105,110,100,
111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,
@@ -935,7 +935,7 @@ const unsigned char _Py_M__importlib_ext
103,101,116,114,171,0,0,0,114,120,0,0,0,114,160,0,
0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,9,102,105,110,100,95,115,112,101,
- 99,91,2,0,0,115,26,0,0,0,0,2,15,1,12,1,
+ 99,92,2,0,0,115,26,0,0,0,0,2,15,1,12,1,
4,1,3,1,14,1,13,1,9,1,22,1,21,1,9,1,
15,1,9,1,122,31,87,105,110,100,111,119,115,82,101,103,
105,115,116,114,121,70,105,110,100,101,114,46,102,105,110,100,
@@ -954,7 +954,7 @@ const unsigned char _Py_M__importlib_ext
175,0,0,0,114,120,0,0,0,41,4,114,164,0,0,0,
114,119,0,0,0,114,35,0,0,0,114,158,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,11,
- 102,105,110,100,95,109,111,100,117,108,101,107,2,0,0,115,
+ 102,105,110,100,95,109,111,100,117,108,101,108,2,0,0,115,
8,0,0,0,0,7,18,1,12,1,7,2,122,33,87,105,
110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,110,
100,101,114,46,102,105,110,100,95,109,111,100,117,108,101,41,
@@ -963,7 +963,7 @@ const unsigned char _Py_M__importlib_ext
167,0,0,0,218,11,99,108,97,115,115,109,101,116,104,111,
100,114,166,0,0,0,114,172,0,0,0,114,175,0,0,0,
114,176,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,162,0,0,0,57,2,
+ 4,0,0,0,114,5,0,0,0,114,162,0,0,0,58,2,
0,0,115,20,0,0,0,12,2,6,3,6,3,6,2,6,
2,18,7,18,15,3,1,21,15,3,1,114,162,0,0,0,
99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,
@@ -1001,7 +1001,7 @@ const unsigned char _Py_M__importlib_ext
100,0,0,0,114,119,0,0,0,114,94,0,0,0,90,13,
102,105,108,101,110,97,109,101,95,98,97,115,101,90,9,116,
97,105,108,95,110,97,109,101,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,153,0,0,0,126,2,0,0,
+ 0,0,114,5,0,0,0,114,153,0,0,0,127,2,0,0,
115,8,0,0,0,0,3,25,1,22,1,19,1,122,24,95,
76,111,97,100,101,114,66,97,115,105,99,115,46,105,115,95,
112,97,99,107,97,103,101,99,2,0,0,0,0,0,0,0,
@@ -1012,7 +1012,7 @@ const unsigned char _Py_M__importlib_ext
111,110,46,78,114,4,0,0,0,41,2,114,100,0,0,0,
114,158,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
5,0,0,0,218,13,99,114,101,97,116,101,95,109,111,100,
- 117,108,101,134,2,0,0,115,0,0,0,0,122,27,95,76,
+ 117,108,101,135,2,0,0,115,0,0,0,0,122,27,95,76,
111,97,100,101,114,66,97,115,105,99,115,46,99,114,101,97,
116,101,95,109,111,100,117,108,101,99,2,0,0,0,0,0,
0,0,3,0,0,0,4,0,0,0,67,0,0,0,115,80,
@@ -1033,7 +1033,7 @@ const unsigned char _Py_M__importlib_ext
101,99,114,111,0,0,0,41,3,114,100,0,0,0,218,6,
109,111,100,117,108,101,114,140,0,0,0,114,4,0,0,0,
114,4,0,0,0,114,5,0,0,0,218,11,101,120,101,99,
- 95,109,111,100,117,108,101,137,2,0,0,115,10,0,0,0,
+ 95,109,111,100,117,108,101,138,2,0,0,115,10,0,0,0,
0,2,18,1,12,1,9,1,15,1,122,25,95,76,111,97,
100,101,114,66,97,115,105,99,115,46,101,120,101,99,95,109,
111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,
@@ -1044,14 +1044,14 @@ const unsigned char _Py_M__importlib_ext
114,0,0,0,218,17,95,108,111,97,100,95,109,111,100,117,
108,101,95,115,104,105,109,41,2,114,100,0,0,0,114,119,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,218,11,108,111,97,100,95,109,111,100,117,108,101,145,
+ 0,0,218,11,108,111,97,100,95,109,111,100,117,108,101,146,
2,0,0,115,2,0,0,0,0,2,122,25,95,76,111,97,
100,101,114,66,97,115,105,99,115,46,108,111,97,100,95,109,
111,100,117,108,101,78,41,8,114,105,0,0,0,114,104,0,
0,0,114,106,0,0,0,114,107,0,0,0,114,153,0,0,
0,114,180,0,0,0,114,185,0,0,0,114,187,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,178,0,0,0,121,2,0,0,115,10,0,
+ 5,0,0,0,114,178,0,0,0,122,2,0,0,115,10,0,
0,0,12,3,6,2,12,8,12,3,12,8,114,178,0,0,
0,99,0,0,0,0,0,0,0,0,0,0,0,0,4,0,
0,0,64,0,0,0,115,106,0,0,0,101,0,0,90,1,
@@ -1079,7 +1079,7 @@ const unsigned char _Py_M__importlib_ext
41,1,218,7,73,79,69,114,114,111,114,41,2,114,100,0,
0,0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,10,112,97,116,104,95,109,116,105,
- 109,101,152,2,0,0,115,2,0,0,0,0,6,122,23,83,
+ 109,101,153,2,0,0,115,2,0,0,0,0,6,122,23,83,
111,117,114,99,101,76,111,97,100,101,114,46,112,97,116,104,
95,109,116,105,109,101,99,2,0,0,0,0,0,0,0,2,
0,0,0,3,0,0,0,67,0,0,0,115,19,0,0,0,
@@ -1114,7 +1114,7 @@ const unsigned char _Py_M__importlib_ext
32,32,32,32,114,126,0,0,0,41,1,114,190,0,0,0,
41,2,114,100,0,0,0,114,35,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,218,10,112,97,116,
- 104,95,115,116,97,116,115,160,2,0,0,115,2,0,0,0,
+ 104,95,115,116,97,116,115,161,2,0,0,115,2,0,0,0,
0,11,122,23,83,111,117,114,99,101,76,111,97,100,101,114,
46,112,97,116,104,95,115,116,97,116,115,99,4,0,0,0,
0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0,
@@ -1138,7 +1138,7 @@ const unsigned char _Py_M__importlib_ext
114,90,0,0,0,90,10,99,97,99,104,101,95,112,97,116,
104,114,53,0,0,0,114,4,0,0,0,114,4,0,0,0,
114,5,0,0,0,218,15,95,99,97,99,104,101,95,98,121,
- 116,101,99,111,100,101,173,2,0,0,115,2,0,0,0,0,
+ 116,101,99,111,100,101,174,2,0,0,115,2,0,0,0,0,
8,122,28,83,111,117,114,99,101,76,111,97,100,101,114,46,
95,99,97,99,104,101,95,98,121,116,101,99,111,100,101,99,
3,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,
@@ -1155,7 +1155,7 @@ const unsigned char _Py_M__importlib_ext
32,32,32,32,32,32,32,78,114,4,0,0,0,41,3,114,
100,0,0,0,114,35,0,0,0,114,53,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,192,0,
- 0,0,183,2,0,0,115,0,0,0,0,122,21,83,111,117,
+ 0,0,184,2,0,0,115,0,0,0,0,122,21,83,111,117,
114,99,101,76,111,97,100,101,114,46,115,101,116,95,100,97,
116,97,99,2,0,0,0,0,0,0,0,5,0,0,0,16,
0,0,0,67,0,0,0,115,105,0,0,0,124,0,0,106,
@@ -1177,7 +1177,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,119,0,0,0,114,35,0,0,0,114,147,0,
0,0,218,3,101,120,99,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,10,103,101,116,95,115,111,117,114,
- 99,101,190,2,0,0,115,14,0,0,0,0,2,15,1,3,
+ 99,101,191,2,0,0,115,14,0,0,0,0,2,15,1,3,
1,19,1,18,1,9,1,31,1,122,23,83,111,117,114,99,
101,76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,
99,101,218,9,95,111,112,116,105,109,105,122,101,114,29,0,
@@ -1199,7 +1199,7 @@ const unsigned char _Py_M__importlib_ext
108,101,41,4,114,100,0,0,0,114,53,0,0,0,114,35,
0,0,0,114,197,0,0,0,114,4,0,0,0,114,4,0,
0,0,114,5,0,0,0,218,14,115,111,117,114,99,101,95,
- 116,111,95,99,111,100,101,200,2,0,0,115,4,0,0,0,
+ 116,111,95,99,111,100,101,201,2,0,0,115,4,0,0,0,
0,5,21,1,122,27,83,111,117,114,99,101,76,111,97,100,
101,114,46,115,111,117,114,99,101,95,116,111,95,99,111,100,
101,99,2,0,0,0,0,0,0,0,10,0,0,0,43,0,
@@ -1260,7 +1260,7 @@ const unsigned char _Py_M__importlib_ext
89,0,0,0,218,2,115,116,114,53,0,0,0,218,10,98,
121,116,101,115,95,100,97,116,97,114,147,0,0,0,90,11,
99,111,100,101,95,111,98,106,101,99,116,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,181,0,0,0,208,
+ 114,4,0,0,0,114,5,0,0,0,114,181,0,0,0,209,
2,0,0,115,78,0,0,0,0,7,15,1,6,1,3,1,
16,1,13,1,11,2,3,1,19,1,13,1,5,2,16,1,
3,1,19,1,13,1,5,2,3,1,9,1,12,1,13,1,
@@ -1273,7 +1273,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,192,0,0,0,114,196,0,0,0,114,200,0,
0,0,114,181,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,188,0,0,0,
- 150,2,0,0,115,14,0,0,0,12,2,12,8,12,13,12,
+ 151,2,0,0,115,14,0,0,0,12,2,12,8,12,13,12,
10,12,7,12,10,18,8,114,188,0,0,0,99,0,0,0,
0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,
0,115,112,0,0,0,101,0,0,90,1,0,100,0,0,90,
@@ -1301,7 +1301,7 @@ const unsigned char _Py_M__importlib_ext
32,32,32,32,32,102,105,110,100,101,114,46,78,41,2,114,
98,0,0,0,114,35,0,0,0,41,3,114,100,0,0,0,
114,119,0,0,0,114,35,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,179,0,0,0,9,3,
+ 4,0,0,0,114,5,0,0,0,114,179,0,0,0,10,3,
0,0,115,4,0,0,0,0,3,9,1,122,19,70,105,108,
101,76,111,97,100,101,114,46,95,95,105,110,105,116,95,95,
99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,
@@ -1311,7 +1311,7 @@ const unsigned char _Py_M__importlib_ext
2,218,9,95,95,99,108,97,115,115,95,95,114,111,0,0,
0,41,2,114,100,0,0,0,218,5,111,116,104,101,114,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6,
- 95,95,101,113,95,95,15,3,0,0,115,4,0,0,0,0,
+ 95,95,101,113,95,95,16,3,0,0,115,4,0,0,0,0,
1,18,1,122,17,70,105,108,101,76,111,97,100,101,114,46,
95,95,101,113,95,95,99,1,0,0,0,0,0,0,0,1,
0,0,0,3,0,0,0,67,0,0,0,115,26,0,0,0,
@@ -1319,7 +1319,7 @@ const unsigned char _Py_M__importlib_ext
0,0,106,2,0,131,1,0,65,83,41,1,78,41,3,218,
4,104,97,115,104,114,98,0,0,0,114,35,0,0,0,41,
1,114,100,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,218,8,95,95,104,97,115,104,95,95,19,
+ 114,5,0,0,0,218,8,95,95,104,97,115,104,95,95,20,
3,0,0,115,2,0,0,0,0,1,122,19,70,105,108,101,
76,111,97,100,101,114,46,95,95,104,97,115,104,95,95,99,
2,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,
@@ -1334,7 +1334,7 @@ const unsigned char _Py_M__importlib_ext
32,32,32,32,32,32,32,41,3,218,5,115,117,112,101,114,
114,204,0,0,0,114,187,0,0,0,41,2,114,100,0,0,
0,114,119,0,0,0,41,1,114,205,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,187,0,0,0,22,3,0,0,
+ 0,0,114,5,0,0,0,114,187,0,0,0,23,3,0,0,
115,2,0,0,0,0,10,122,22,70,105,108,101,76,111,97,
100,101,114,46,108,111,97,100,95,109,111,100,117,108,101,99,
2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
@@ -1345,7 +1345,7 @@ const unsigned char _Py_M__importlib_ext
98,121,32,116,104,101,32,102,105,110,100,101,114,46,41,1,
114,35,0,0,0,41,2,114,100,0,0,0,114,119,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,151,0,0,0,34,3,0,0,115,2,0,0,0,0,3,
+ 114,151,0,0,0,35,3,0,0,115,2,0,0,0,0,3,
122,23,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,102,105,108,101,110,97,109,101,99,2,0,0,0,0,0,
0,0,3,0,0,0,9,0,0,0,67,0,0,0,115,42,
@@ -1358,14 +1358,14 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,50,0,0,0,90,4,114,101,97,100,41,3,
114,100,0,0,0,114,35,0,0,0,114,54,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,194,
- 0,0,0,39,3,0,0,115,4,0,0,0,0,2,21,1,
+ 0,0,0,40,3,0,0,115,4,0,0,0,0,2,21,1,
122,19,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,100,97,116,97,41,11,114,105,0,0,0,114,104,0,0,
0,114,106,0,0,0,114,107,0,0,0,114,179,0,0,0,
114,207,0,0,0,114,209,0,0,0,114,116,0,0,0,114,
187,0,0,0,114,151,0,0,0,114,194,0,0,0,114,4,
0,0,0,114,4,0,0,0,41,1,114,205,0,0,0,114,
- 5,0,0,0,114,204,0,0,0,4,3,0,0,115,14,0,
+ 5,0,0,0,114,204,0,0,0,5,3,0,0,115,14,0,
0,0,12,3,6,2,12,6,12,4,12,3,24,12,18,5,
114,204,0,0,0,99,0,0,0,0,0,0,0,0,0,0,
0,0,4,0,0,0,64,0,0,0,115,64,0,0,0,101,
@@ -1388,7 +1388,7 @@ const unsigned char _Py_M__importlib_ext
114,39,0,0,0,218,8,115,116,95,109,116,105,109,101,90,
7,115,116,95,115,105,122,101,41,3,114,100,0,0,0,114,
35,0,0,0,114,202,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,191,0,0,0,49,3,0,
+ 0,0,0,114,5,0,0,0,114,191,0,0,0,50,3,0,
0,115,4,0,0,0,0,2,12,1,122,27,83,111,117,114,
99,101,70,105,108,101,76,111,97,100,101,114,46,112,97,116,
104,95,115,116,97,116,115,99,4,0,0,0,0,0,0,0,
@@ -1399,7 +1399,7 @@ const unsigned char _Py_M__importlib_ext
97,0,0,0,114,192,0,0,0,41,5,114,100,0,0,0,
114,90,0,0,0,114,89,0,0,0,114,53,0,0,0,114,
42,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,193,0,0,0,54,3,0,0,115,4,0,0,
+ 0,0,0,114,193,0,0,0,55,3,0,0,115,4,0,0,
0,0,2,12,1,122,32,83,111,117,114,99,101,70,105,108,
101,76,111,97,100,101,114,46,95,99,97,99,104,101,95,98,
121,116,101,99,111,100,101,114,214,0,0,0,105,182,1,0,
@@ -1438,7 +1438,7 @@ const unsigned char _Py_M__importlib_ext
0,114,214,0,0,0,218,6,112,97,114,101,110,116,114,94,
0,0,0,114,27,0,0,0,114,23,0,0,0,114,195,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,192,0,0,0,59,3,0,0,115,42,0,0,0,0,
+ 0,114,192,0,0,0,60,3,0,0,115,42,0,0,0,0,
2,18,1,6,2,22,1,18,1,17,2,19,1,15,1,3,
1,17,1,13,2,7,1,18,3,9,1,10,1,27,1,3,
1,16,1,20,1,18,2,12,1,122,25,83,111,117,114,99,
@@ -1447,7 +1447,7 @@ const unsigned char _Py_M__importlib_ext
0,114,106,0,0,0,114,107,0,0,0,114,191,0,0,0,
114,193,0,0,0,114,192,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,212,
- 0,0,0,45,3,0,0,115,8,0,0,0,12,2,6,2,
+ 0,0,0,46,3,0,0,115,8,0,0,0,12,2,6,2,
12,5,12,5,114,212,0,0,0,99,0,0,0,0,0,0,
0,0,0,0,0,0,2,0,0,0,64,0,0,0,115,46,
0,0,0,101,0,0,90,1,0,100,0,0,90,2,0,100,
@@ -1469,7 +1469,7 @@ const unsigned char _Py_M__importlib_ext
0,114,141,0,0,0,41,5,114,100,0,0,0,114,119,0,
0,0,114,35,0,0,0,114,53,0,0,0,114,203,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,181,0,0,0,94,3,0,0,115,8,0,0,0,0,1,
+ 114,181,0,0,0,95,3,0,0,115,8,0,0,0,0,1,
15,1,15,1,24,1,122,29,83,111,117,114,99,101,108,101,
115,115,70,105,108,101,76,111,97,100,101,114,46,103,101,116,
95,99,111,100,101,99,2,0,0,0,0,0,0,0,2,0,
@@ -1479,13 +1479,13 @@ const unsigned char _Py_M__importlib_ext
111,32,115,111,117,114,99,101,32,99,111,100,101,46,78,114,
4,0,0,0,41,2,114,100,0,0,0,114,119,0,0,0,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,
- 196,0,0,0,100,3,0,0,115,2,0,0,0,0,2,122,
+ 196,0,0,0,101,3,0,0,115,2,0,0,0,0,2,122,
31,83,111,117,114,99,101,108,101,115,115,70,105,108,101,76,
111,97,100,101,114,46,103,101,116,95,115,111,117,114,99,101,
78,41,6,114,105,0,0,0,114,104,0,0,0,114,106,0,
0,0,114,107,0,0,0,114,181,0,0,0,114,196,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,217,0,0,0,90,3,0,0,115,6,
+ 114,5,0,0,0,114,217,0,0,0,91,3,0,0,115,6,
0,0,0,12,2,6,2,12,6,114,217,0,0,0,99,0,
0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,64,
0,0,0,115,136,0,0,0,101,0,0,90,1,0,100,0,
@@ -1510,7 +1510,7 @@ const unsigned char _Py_M__importlib_ext
1,0,100,0,0,83,41,1,78,41,2,114,98,0,0,0,
114,35,0,0,0,41,3,114,100,0,0,0,114,98,0,0,
0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,5,0,0,0,114,179,0,0,0,117,3,0,0,115,4,
+ 114,5,0,0,0,114,179,0,0,0,118,3,0,0,115,4,
0,0,0,0,1,9,1,122,28,69,120,116,101,110,115,105,
111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,105,
110,105,116,95,95,99,2,0,0,0,0,0,0,0,2,0,
@@ -1520,7 +1520,7 @@ const unsigned char _Py_M__importlib_ext
83,41,1,78,41,2,114,205,0,0,0,114,111,0,0,0,
41,2,114,100,0,0,0,114,206,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,207,0,0,0,
- 121,3,0,0,115,4,0,0,0,0,1,18,1,122,26,69,
+ 122,3,0,0,115,4,0,0,0,0,1,18,1,122,26,69,
120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,
101,114,46,95,95,101,113,95,95,99,1,0,0,0,0,0,
0,0,1,0,0,0,3,0,0,0,67,0,0,0,115,26,
@@ -1528,7 +1528,7 @@ const unsigned char _Py_M__importlib_ext
0,0,124,0,0,106,2,0,131,1,0,65,83,41,1,78,
41,3,114,208,0,0,0,114,98,0,0,0,114,35,0,0,
0,41,1,114,100,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,209,0,0,0,125,3,0,0,
+ 0,0,114,5,0,0,0,114,209,0,0,0,126,3,0,0,
115,2,0,0,0,0,1,122,28,69,120,116,101,110,115,105,
111,110,70,105,108,101,76,111,97,100,101,114,46,95,95,104,
97,115,104,95,95,99,2,0,0,0,0,0,0,0,3,0,
@@ -1546,7 +1546,7 @@ const unsigned char _Py_M__importlib_ext
97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35,
0,0,0,41,3,114,100,0,0,0,114,158,0,0,0,114,
184,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,180,0,0,0,128,3,0,0,115,10,0,0,
+ 0,0,0,114,180,0,0,0,129,3,0,0,115,10,0,0,
0,0,2,6,1,15,1,9,1,16,1,122,33,69,120,116,
101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,
46,99,114,101,97,116,101,95,109,111,100,117,108,101,99,2,
@@ -1564,7 +1564,7 @@ const unsigned char _Py_M__importlib_ext
97,109,105,99,114,129,0,0,0,114,98,0,0,0,114,35,
0,0,0,41,2,114,100,0,0,0,114,184,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,185,
- 0,0,0,136,3,0,0,115,6,0,0,0,0,2,19,1,
+ 0,0,0,137,3,0,0,115,6,0,0,0,0,2,19,1,
9,1,122,31,69,120,116,101,110,115,105,111,110,70,105,108,
101,76,111,97,100,101,114,46,101,120,101,99,95,109,111,100,
117,108,101,99,2,0,0,0,0,0,0,0,2,0,0,0,
@@ -1582,7 +1582,7 @@ const unsigned char _Py_M__importlib_ext
41,2,114,179,0,0,0,78,114,4,0,0,0,41,2,114,
22,0,0,0,218,6,115,117,102,102,105,120,41,1,218,9,
102,105,108,101,95,110,97,109,101,114,4,0,0,0,114,5,
- 0,0,0,250,9,60,103,101,110,101,120,112,114,62,145,3,
+ 0,0,0,250,9,60,103,101,110,101,120,112,114,62,146,3,
0,0,115,2,0,0,0,6,1,122,49,69,120,116,101,110,
115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,105,
115,95,112,97,99,107,97,103,101,46,60,108,111,99,97,108,
@@ -1591,7 +1591,7 @@ const unsigned char _Py_M__importlib_ext
88,84,69,78,83,73,79,78,95,83,85,70,70,73,88,69,
83,41,2,114,100,0,0,0,114,119,0,0,0,114,4,0,
0,0,41,1,114,220,0,0,0,114,5,0,0,0,114,153,
- 0,0,0,142,3,0,0,115,6,0,0,0,0,2,19,1,
+ 0,0,0,143,3,0,0,115,6,0,0,0,0,2,19,1,
18,1,122,30,69,120,116,101,110,115,105,111,110,70,105,108,
101,76,111,97,100,101,114,46,105,115,95,112,97,99,107,97,
103,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
@@ -1602,7 +1602,7 @@ const unsigned char _Py_M__importlib_ext
101,97,116,101,32,97,32,99,111,100,101,32,111,98,106,101,
99,116,46,78,114,4,0,0,0,41,2,114,100,0,0,0,
114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,181,0,0,0,148,3,0,0,115,2,0,
+ 5,0,0,0,114,181,0,0,0,149,3,0,0,115,2,0,
0,0,0,2,122,28,69,120,116,101,110,115,105,111,110,70,
105,108,101,76,111,97,100,101,114,46,103,101,116,95,99,111,
100,101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,
@@ -1612,7 +1612,7 @@ const unsigned char _Py_M__importlib_ext
117,108,101,115,32,104,97,118,101,32,110,111,32,115,111,117,
114,99,101,32,99,111,100,101,46,78,114,4,0,0,0,41,
2,114,100,0,0,0,114,119,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,152,
+ 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,153,
3,0,0,115,2,0,0,0,0,2,122,30,69,120,116,101,
110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,
103,101,116,95,115,111,117,114,99,101,99,2,0,0,0,0,
@@ -1624,7 +1624,7 @@ const unsigned char _Py_M__importlib_ext
101,32,102,105,110,100,101,114,46,41,1,114,35,0,0,0,
41,2,114,100,0,0,0,114,119,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,151,0,0,0,
- 156,3,0,0,115,2,0,0,0,0,3,122,32,69,120,116,
+ 157,3,0,0,115,2,0,0,0,0,3,122,32,69,120,116,
101,110,115,105,111,110,70,105,108,101,76,111,97,100,101,114,
46,103,101,116,95,102,105,108,101,110,97,109,101,78,41,14,
114,105,0,0,0,114,104,0,0,0,114,106,0,0,0,114,
@@ -1632,7 +1632,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,180,0,0,0,114,185,0,0,0,114,153,0,
0,0,114,181,0,0,0,114,196,0,0,0,114,116,0,0,
0,114,151,0,0,0,114,4,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,218,0,0,0,109,
+ 114,4,0,0,0,114,5,0,0,0,114,218,0,0,0,110,
3,0,0,115,20,0,0,0,12,6,6,2,12,4,12,4,
12,3,12,8,12,6,12,6,12,4,12,4,114,218,0,0,
0,99,0,0,0,0,0,0,0,0,0,0,0,0,2,0,
@@ -1677,7 +1677,7 @@ const unsigned char _Py_M__importlib_ext
100,101,114,41,4,114,100,0,0,0,114,98,0,0,0,114,
35,0,0,0,218,11,112,97,116,104,95,102,105,110,100,101,
114,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,179,0,0,0,169,3,0,0,115,8,0,0,0,0,1,
+ 114,179,0,0,0,170,3,0,0,115,8,0,0,0,0,1,
9,1,9,1,21,1,122,23,95,78,97,109,101,115,112,97,
99,101,80,97,116,104,46,95,95,105,110,105,116,95,95,99,
1,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,
@@ -1696,7 +1696,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,218,3,100,111,116,90,2,109,101,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,218,23,95,102,105,
110,100,95,112,97,114,101,110,116,95,112,97,116,104,95,110,
- 97,109,101,115,175,3,0,0,115,8,0,0,0,0,2,27,
+ 97,109,101,115,176,3,0,0,115,8,0,0,0,0,2,27,
1,12,2,4,3,122,38,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,102,105,110,100,95,112,97,114,101,
110,116,95,112,97,116,104,95,110,97,109,101,115,99,1,0,
@@ -1709,7 +1709,7 @@ const unsigned char _Py_M__importlib_ext
0,90,18,112,97,114,101,110,116,95,109,111,100,117,108,101,
95,110,97,109,101,90,14,112,97,116,104,95,97,116,116,114,
95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,227,0,0,0,185,3,0,0,115,4,0,
+ 5,0,0,0,114,227,0,0,0,186,3,0,0,115,4,0,
0,0,0,1,18,1,122,31,95,78,97,109,101,115,112,97,
99,101,80,97,116,104,46,95,103,101,116,95,112,97,114,101,
110,116,95,112,97,116,104,99,1,0,0,0,0,0,0,0,
@@ -1727,7 +1727,7 @@ const unsigned char _Py_M__importlib_ext
226,0,0,0,41,3,114,100,0,0,0,90,11,112,97,114,
101,110,116,95,112,97,116,104,114,158,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,114,
- 101,99,97,108,99,117,108,97,116,101,189,3,0,0,115,16,
+ 101,99,97,108,99,117,108,97,116,101,190,3,0,0,115,16,
0,0,0,0,2,18,1,15,1,21,3,27,1,9,1,12,
1,9,1,122,27,95,78,97,109,101,115,112,97,99,101,80,
97,116,104,46,95,114,101,99,97,108,99,117,108,97,116,101,
@@ -1736,7 +1736,7 @@ const unsigned char _Py_M__importlib_ext
106,1,0,131,0,0,131,1,0,83,41,1,78,41,2,218,
4,105,116,101,114,114,234,0,0,0,41,1,114,100,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 218,8,95,95,105,116,101,114,95,95,202,3,0,0,115,2,
+ 218,8,95,95,105,116,101,114,95,95,203,3,0,0,115,2,
0,0,0,0,1,122,23,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,95,105,116,101,114,95,95,99,1,
0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,67,
@@ -1744,7 +1744,7 @@ const unsigned char _Py_M__importlib_ext
0,131,0,0,131,1,0,83,41,1,78,41,2,114,31,0,
0,0,114,234,0,0,0,41,1,114,100,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,218,7,95,
- 95,108,101,110,95,95,205,3,0,0,115,2,0,0,0,0,
+ 95,108,101,110,95,95,206,3,0,0,115,2,0,0,0,0,
1,122,22,95,78,97,109,101,115,112,97,99,101,80,97,116,
104,46,95,95,108,101,110,95,95,99,1,0,0,0,0,0,
0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,16,
@@ -1753,7 +1753,7 @@ const unsigned char _Py_M__importlib_ext
99,101,80,97,116,104,40,123,33,114,125,41,41,2,114,47,
0,0,0,114,226,0,0,0,41,1,114,100,0,0,0,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8,
- 95,95,114,101,112,114,95,95,208,3,0,0,115,2,0,0,
+ 95,95,114,101,112,114,95,95,209,3,0,0,115,2,0,0,
0,0,1,122,23,95,78,97,109,101,115,112,97,99,101,80,
97,116,104,46,95,95,114,101,112,114,95,95,99,2,0,0,
0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
@@ -1761,7 +1761,7 @@ const unsigned char _Py_M__importlib_ext
0,0,107,6,0,83,41,1,78,41,1,114,234,0,0,0,
41,2,114,100,0,0,0,218,4,105,116,101,109,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,12,95,95,
- 99,111,110,116,97,105,110,115,95,95,211,3,0,0,115,2,
+ 99,111,110,116,97,105,110,115,95,95,212,3,0,0,115,2,
0,0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,
101,80,97,116,104,46,95,95,99,111,110,116,97,105,110,115,
95,95,99,2,0,0,0,0,0,0,0,2,0,0,0,2,
@@ -1769,7 +1769,7 @@ const unsigned char _Py_M__importlib_ext
0,0,106,1,0,124,1,0,131,1,0,1,100,0,0,83,
41,1,78,41,2,114,226,0,0,0,114,157,0,0,0,41,
2,114,100,0,0,0,114,239,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,157,0,0,0,214,
+ 114,4,0,0,0,114,5,0,0,0,114,157,0,0,0,215,
3,0,0,115,2,0,0,0,0,1,122,21,95,78,97,109,
101,115,112,97,99,101,80,97,116,104,46,97,112,112,101,110,
100,78,41,13,114,105,0,0,0,114,104,0,0,0,114,106,
@@ -1777,7 +1777,7 @@ const unsigned char _Py_M__importlib_ext
0,0,114,227,0,0,0,114,234,0,0,0,114,236,0,0,
0,114,237,0,0,0,114,238,0,0,0,114,240,0,0,0,
114,157,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 4,0,0,0,114,5,0,0,0,114,224,0,0,0,162,3,
+ 4,0,0,0,114,5,0,0,0,114,224,0,0,0,163,3,
0,0,115,20,0,0,0,12,5,6,2,12,6,12,10,12,
4,12,13,12,3,12,3,12,3,12,3,114,224,0,0,0,
99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,
@@ -1797,7 +1797,7 @@ const unsigned char _Py_M__importlib_ext
0,114,226,0,0,0,41,4,114,100,0,0,0,114,98,0,
0,0,114,35,0,0,0,114,230,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,179,0,0,0,
- 220,3,0,0,115,2,0,0,0,0,1,122,25,95,78,97,
+ 221,3,0,0,115,2,0,0,0,0,1,122,25,95,78,97,
109,101,115,112,97,99,101,76,111,97,100,101,114,46,95,95,
105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,2,
0,0,0,2,0,0,0,67,0,0,0,115,16,0,0,0,
@@ -1814,21 +1814,21 @@ const unsigned char _Py_M__importlib_ext
41,62,41,2,114,47,0,0,0,114,105,0,0,0,41,2,
114,164,0,0,0,114,184,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,11,109,111,100,117,108,
- 101,95,114,101,112,114,223,3,0,0,115,2,0,0,0,0,
+ 101,95,114,101,112,114,224,3,0,0,115,2,0,0,0,0,
7,122,28,95,78,97,109,101,115,112,97,99,101,76,111,97,
100,101,114,46,109,111,100,117,108,101,95,114,101,112,114,99,
2,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,
67,0,0,0,115,4,0,0,0,100,1,0,83,41,2,78,
84,114,4,0,0,0,41,2,114,100,0,0,0,114,119,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,153,0,0,0,232,3,0,0,115,2,0,0,0,0,
+ 0,114,153,0,0,0,233,3,0,0,115,2,0,0,0,0,
1,122,27,95,78,97,109,101,115,112,97,99,101,76,111,97,
100,101,114,46,105,115,95,112,97,99,107,97,103,101,99,2,
0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,67,
0,0,0,115,4,0,0,0,100,1,0,83,41,2,78,114,
30,0,0,0,114,4,0,0,0,41,2,114,100,0,0,0,
114,119,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,196,0,0,0,235,3,0,0,115,2,0,
+ 5,0,0,0,114,196,0,0,0,236,3,0,0,115,2,0,
0,0,0,1,122,27,95,78,97,109,101,115,112,97,99,101,
76,111,97,100,101,114,46,103,101,116,95,115,111,117,114,99,
101,99,2,0,0,0,0,0,0,0,2,0,0,0,6,0,
@@ -1838,7 +1838,7 @@ const unsigned char _Py_M__importlib_ext
110,103,62,114,183,0,0,0,114,198,0,0,0,84,41,1,
114,199,0,0,0,41,2,114,100,0,0,0,114,119,0,0,
0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,181,0,0,0,238,3,0,0,115,2,0,0,0,0,1,
+ 114,181,0,0,0,239,3,0,0,115,2,0,0,0,0,1,
122,25,95,78,97,109,101,115,112,97,99,101,76,111,97,100,
101,114,46,103,101,116,95,99,111,100,101,99,2,0,0,0,
0,0,0,0,2,0,0,0,1,0,0,0,67,0,0,0,
@@ -1847,14 +1847,14 @@ const unsigned char _Py_M__importlib_ext
99,115,32,102,111,114,32,109,111,100,117,108,101,32,99,114,
101,97,116,105,111,110,46,78,114,4,0,0,0,41,2,114,
100,0,0,0,114,158,0,0,0,114,4,0,0,0,114,4,
- 0,0,0,114,5,0,0,0,114,180,0,0,0,241,3,0,
+ 0,0,0,114,5,0,0,0,114,180,0,0,0,242,3,0,
0,115,0,0,0,0,122,30,95,78,97,109,101,115,112,97,
99,101,76,111,97,100,101,114,46,99,114,101,97,116,101,95,
109,111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,
0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0,
100,0,0,83,41,1,78,114,4,0,0,0,41,2,114,100,
0,0,0,114,184,0,0,0,114,4,0,0,0,114,4,0,
- 0,0,114,5,0,0,0,114,185,0,0,0,244,3,0,0,
+ 0,0,114,5,0,0,0,114,185,0,0,0,245,3,0,0,
115,2,0,0,0,0,1,122,28,95,78,97,109,101,115,112,
97,99,101,76,111,97,100,101,114,46,101,120,101,99,95,109,
111,100,117,108,101,99,2,0,0,0,0,0,0,0,2,0,
@@ -1873,7 +1873,7 @@ const unsigned char _Py_M__importlib_ext
41,4,114,114,0,0,0,114,129,0,0,0,114,226,0,0,
0,114,186,0,0,0,41,2,114,100,0,0,0,114,119,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,114,187,0,0,0,247,3,0,0,115,6,0,0,0,0,
+ 0,114,187,0,0,0,248,3,0,0,115,6,0,0,0,0,
7,9,1,10,1,122,28,95,78,97,109,101,115,112,97,99,
101,76,111,97,100,101,114,46,108,111,97,100,95,109,111,100,
117,108,101,78,41,12,114,105,0,0,0,114,104,0,0,0,
@@ -1881,7 +1881,7 @@ const unsigned char _Py_M__importlib_ext
242,0,0,0,114,153,0,0,0,114,196,0,0,0,114,181,
0,0,0,114,180,0,0,0,114,185,0,0,0,114,187,0,
0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,241,0,0,0,219,3,0,0,115,
+ 0,114,5,0,0,0,114,241,0,0,0,220,3,0,0,115,
16,0,0,0,12,1,12,3,18,9,12,3,12,3,12,3,
12,3,12,3,114,241,0,0,0,99,0,0,0,0,0,0,
0,0,0,0,0,0,5,0,0,0,64,0,0,0,115,160,
@@ -1919,7 +1919,7 @@ const unsigned char _Py_M__importlib_ext
99,104,101,218,6,118,97,108,117,101,115,114,108,0,0,0,
114,244,0,0,0,41,2,114,164,0,0,0,218,6,102,105,
110,100,101,114,114,4,0,0,0,114,4,0,0,0,114,5,
- 0,0,0,114,244,0,0,0,9,4,0,0,115,6,0,0,
+ 0,0,0,114,244,0,0,0,10,4,0,0,115,6,0,0,
0,0,4,22,1,15,1,122,28,80,97,116,104,70,105,110,
100,101,114,46,105,110,118,97,108,105,100,97,116,101,95,99,
97,99,104,101,115,99,2,0,0,0,0,0,0,0,3,0,
@@ -1944,7 +1944,7 @@ const unsigned char _Py_M__importlib_ext
0,114,61,0,0,0,114,118,0,0,0,114,99,0,0,0,
41,3,114,164,0,0,0,114,35,0,0,0,90,4,104,111,
111,107,114,4,0,0,0,114,4,0,0,0,114,5,0,0,
- 0,218,11,95,112,97,116,104,95,104,111,111,107,115,17,4,
+ 0,218,11,95,112,97,116,104,95,104,111,111,107,115,18,4,
0,0,115,16,0,0,0,0,7,25,1,16,1,16,1,3,
1,14,1,13,1,12,2,122,22,80,97,116,104,70,105,110,
100,101,114,46,95,112,97,116,104,95,104,111,111,107,115,99,
@@ -1977,7 +1977,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,41,3,114,164,0,0,0,114,35,0,0,0,114,
247,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,
0,0,0,218,20,95,112,97,116,104,95,105,109,112,111,114,
- 116,101,114,95,99,97,99,104,101,34,4,0,0,115,22,0,
+ 116,101,114,95,99,97,99,104,101,35,4,0,0,115,22,0,
0,0,0,8,12,1,3,1,16,1,13,3,9,1,3,1,
17,1,13,1,15,1,18,1,122,31,80,97,116,104,70,105,
110,100,101,114,46,95,112,97,116,104,95,105,109,112,111,114,
@@ -1997,7 +1997,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,247,0,0,0,114,120,0,0,0,114,121,0,
0,0,114,158,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,5,0,0,0,218,16,95,108,101,103,97,99,121,95,
- 103,101,116,95,115,112,101,99,56,4,0,0,115,18,0,0,
+ 103,101,116,95,115,112,101,99,57,4,0,0,115,18,0,0,
0,0,4,15,1,24,2,15,1,6,1,12,1,16,1,18,
1,9,1,122,27,80,97,116,104,70,105,110,100,101,114,46,
95,108,101,103,97,99,121,95,103,101,116,95,115,112,101,99,
@@ -2033,7 +2033,7 @@ const unsigned char _Py_M__importlib_ext
99,101,95,112,97,116,104,90,5,101,110,116,114,121,114,247,
0,0,0,114,158,0,0,0,114,121,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,218,9,95,103,
- 101,116,95,115,112,101,99,71,4,0,0,115,40,0,0,0,
+ 101,116,95,115,112,101,99,72,4,0,0,115,40,0,0,0,
0,5,6,1,13,1,21,1,3,1,15,1,12,1,15,1,
21,2,18,1,12,1,3,1,15,1,4,1,9,1,12,1,
12,5,17,2,18,1,9,1,122,20,80,97,116,104,70,105,
@@ -2060,7 +2060,7 @@ const unsigned char _Py_M__importlib_ext
0,114,152,0,0,0,114,224,0,0,0,41,6,114,164,0,
0,0,114,119,0,0,0,114,35,0,0,0,114,174,0,0,
0,114,158,0,0,0,114,254,0,0,0,114,4,0,0,0,
- 114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,103,
+ 114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,104,
4,0,0,115,26,0,0,0,0,4,12,1,9,1,21,1,
12,1,4,1,15,1,9,1,6,3,9,1,24,1,4,2,
7,2,122,20,80,97,116,104,70,105,110,100,101,114,46,102,
@@ -2083,7 +2083,7 @@ const unsigned char _Py_M__importlib_ext
0,114,120,0,0,0,41,4,114,164,0,0,0,114,119,0,
0,0,114,35,0,0,0,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,176,0,0,0,
- 125,4,0,0,115,8,0,0,0,0,8,18,1,12,1,4,
+ 126,4,0,0,115,8,0,0,0,0,8,18,1,12,1,4,
1,122,22,80,97,116,104,70,105,110,100,101,114,46,102,105,
110,100,95,109,111,100,117,108,101,41,12,114,105,0,0,0,
114,104,0,0,0,114,106,0,0,0,114,107,0,0,0,114,
@@ -2091,7 +2091,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,114,252,0,0,0,114,255,0,0,0,114,175,0,
0,0,114,176,0,0,0,114,4,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,243,0,0,0,
- 5,4,0,0,115,22,0,0,0,12,2,6,2,18,8,18,
+ 6,4,0,0,115,22,0,0,0,12,2,6,2,18,8,18,
17,18,22,18,15,3,1,18,31,3,1,21,21,3,1,114,
243,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,
0,3,0,0,0,64,0,0,0,115,133,0,0,0,101,0,
@@ -2140,7 +2140,7 @@ const unsigned char _Py_M__importlib_ext
3,0,100,0,0,83,41,1,78,114,4,0,0,0,41,2,
114,22,0,0,0,114,219,0,0,0,41,1,114,120,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0,
- 154,4,0,0,115,2,0,0,0,6,0,122,38,70,105,108,
+ 155,4,0,0,115,2,0,0,0,6,0,122,38,70,105,108,
101,70,105,110,100,101,114,46,95,95,105,110,105,116,95,95,
46,60,108,111,99,97,108,115,62,46,60,103,101,110,101,120,
112,114,62,114,58,0,0,0,114,29,0,0,0,78,114,87,
@@ -2152,7 +2152,7 @@ const unsigned char _Py_M__importlib_ext
100,0,0,0,114,35,0,0,0,218,14,108,111,97,100,101,
114,95,100,101,116,97,105,108,115,90,7,108,111,97,100,101,
114,115,114,160,0,0,0,114,4,0,0,0,41,1,114,120,
- 0,0,0,114,5,0,0,0,114,179,0,0,0,148,4,0,
+ 0,0,0,114,5,0,0,0,114,179,0,0,0,149,4,0,
0,115,16,0,0,0,0,4,6,1,19,1,36,1,9,2,
15,1,9,1,12,1,122,19,70,105,108,101,70,105,110,100,
101,114,46,95,95,105,110,105,116,95,95,99,1,0,0,0,
@@ -2163,7 +2163,7 @@ const unsigned char _Py_M__importlib_ext
116,105,109,101,46,114,29,0,0,0,78,114,87,0,0,0,
41,1,114,2,1,0,0,41,1,114,100,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,5,0,0,0,114,244,0,
- 0,0,162,4,0,0,115,2,0,0,0,0,2,122,28,70,
+ 0,0,163,4,0,0,115,2,0,0,0,0,2,122,28,70,
105,108,101,70,105,110,100,101,114,46,105,110,118,97,108,105,
100,97,116,101,95,99,97,99,104,101,115,99,2,0,0,0,
0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0,
@@ -2187,7 +2187,7 @@ const unsigned char _Py_M__importlib_ext
0,114,120,0,0,0,114,150,0,0,0,41,3,114,100,0,
0,0,114,119,0,0,0,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,117,0,0,0,
- 168,4,0,0,115,8,0,0,0,0,7,15,1,12,1,10,
+ 169,4,0,0,115,8,0,0,0,0,7,15,1,12,1,10,
1,122,22,70,105,108,101,70,105,110,100,101,114,46,102,105,
110,100,95,108,111,97,100,101,114,99,6,0,0,0,0,0,
0,0,7,0,0,0,7,0,0,0,67,0,0,0,115,40,
@@ -2198,7 +2198,7 @@ const unsigned char _Py_M__importlib_ext
7,114,100,0,0,0,114,159,0,0,0,114,119,0,0,0,
114,35,0,0,0,90,4,115,109,115,108,114,174,0,0,0,
114,120,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
- 5,0,0,0,114,255,0,0,0,180,4,0,0,115,6,0,
+ 5,0,0,0,114,255,0,0,0,181,4,0,0,115,6,0,
0,0,0,1,15,1,18,1,122,20,70,105,108,101,70,105,
110,100,101,114,46,95,103,101,116,95,115,112,101,99,78,99,
3,0,0,0,0,0,0,0,14,0,0,0,15,0,0,0,
@@ -2262,7 +2262,7 @@ const unsigned char _Py_M__importlib_ext
110,105,116,95,102,105,108,101,110,97,109,101,90,9,102,117,
108,108,95,112,97,116,104,114,158,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,175,0,0,0,
- 185,4,0,0,115,70,0,0,0,0,3,6,1,19,1,3,
+ 186,4,0,0,115,70,0,0,0,0,3,6,1,19,1,3,
1,34,1,13,1,11,1,15,1,10,1,9,2,9,1,9,
1,15,2,9,1,6,2,12,1,18,1,22,1,10,1,15,
1,12,1,32,4,12,2,22,1,22,1,22,1,16,1,12,
@@ -2298,7 +2298,7 @@ const unsigned char _Py_M__importlib_ext
0,0,146,2,0,113,6,0,83,114,4,0,0,0,41,1,
114,88,0,0,0,41,2,114,22,0,0,0,90,2,102,110,
114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,250,
- 9,60,115,101,116,99,111,109,112,62,4,5,0,0,115,2,
+ 9,60,115,101,116,99,111,109,112,62,5,5,0,0,115,2,
0,0,0,9,0,122,41,70,105,108,101,70,105,110,100,101,
114,46,95,102,105,108,108,95,99,97,99,104,101,46,60,108,
111,99,97,108,115,62,46,60,115,101,116,99,111,109,112,62,
@@ -2315,7 +2315,7 @@ const unsigned char _Py_M__importlib_ext
95,99,111,110,116,101,110,116,115,114,239,0,0,0,114,98,
0,0,0,114,231,0,0,0,114,219,0,0,0,90,8,110,
101,119,95,110,97,109,101,114,4,0,0,0,114,4,0,0,
- 0,114,5,0,0,0,114,7,1,0,0,231,4,0,0,115,
+ 0,114,5,0,0,0,114,7,1,0,0,232,4,0,0,115,
34,0,0,0,0,2,9,1,3,1,31,1,22,3,11,3,
18,1,18,7,9,1,13,1,24,1,6,1,27,2,6,1,
17,1,9,1,18,1,122,22,70,105,108,101,70,105,110,100,
@@ -2354,7 +2354,7 @@ const unsigned char _Py_M__importlib_ext
0,0,0,41,1,114,35,0,0,0,41,2,114,164,0,0,
0,114,6,1,0,0,114,4,0,0,0,114,5,0,0,0,
218,24,112,97,116,104,95,104,111,111,107,95,102,111,114,95,
- 70,105,108,101,70,105,110,100,101,114,16,5,0,0,115,6,
+ 70,105,108,101,70,105,110,100,101,114,17,5,0,0,115,6,
0,0,0,0,2,12,1,18,1,122,54,70,105,108,101,70,
105,110,100,101,114,46,112,97,116,104,95,104,111,111,107,46,
60,108,111,99,97,108,115,62,46,112,97,116,104,95,104,111,
@@ -2362,7 +2362,7 @@ const unsigned char _Py_M__importlib_ext
114,114,4,0,0,0,41,3,114,164,0,0,0,114,6,1,
0,0,114,12,1,0,0,114,4,0,0,0,41,2,114,164,
0,0,0,114,6,1,0,0,114,5,0,0,0,218,9,112,
- 97,116,104,95,104,111,111,107,6,5,0,0,115,4,0,0,
+ 97,116,104,95,104,111,111,107,7,5,0,0,115,4,0,0,
0,0,10,21,6,122,20,70,105,108,101,70,105,110,100,101,
114,46,112,97,116,104,95,104,111,111,107,99,1,0,0,0,
0,0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,
@@ -2371,7 +2371,7 @@ const unsigned char _Py_M__importlib_ext
110,100,101,114,40,123,33,114,125,41,41,2,114,47,0,0,
0,114,35,0,0,0,41,1,114,100,0,0,0,114,4,0,
0,0,114,4,0,0,0,114,5,0,0,0,114,238,0,0,
- 0,24,5,0,0,115,2,0,0,0,0,1,122,19,70,105,
+ 0,25,5,0,0,115,2,0,0,0,0,1,122,19,70,105,
108,101,70,105,110,100,101,114,46,95,95,114,101,112,114,95,
95,41,15,114,105,0,0,0,114,104,0,0,0,114,106,0,
0,0,114,107,0,0,0,114,179,0,0,0,114,244,0,0,
@@ -2379,7 +2379,7 @@ const unsigned char _Py_M__importlib_ext
114,255,0,0,0,114,175,0,0,0,114,7,1,0,0,114,
177,0,0,0,114,13,1,0,0,114,238,0,0,0,114,4,
0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,
- 0,0,114,0,1,0,0,139,4,0,0,115,20,0,0,0,
+ 0,0,114,0,1,0,0,140,4,0,0,115,20,0,0,0,
12,7,6,2,12,14,12,4,6,2,12,12,12,5,15,46,
12,31,18,18,114,0,1,0,0,99,4,0,0,0,0,0,
0,0,6,0,0,0,11,0,0,0,67,0,0,0,115,195,
@@ -2405,7 +2405,7 @@ const unsigned char _Py_M__importlib_ext
104,110,97,109,101,90,9,99,112,97,116,104,110,97,109,101,
114,120,0,0,0,114,158,0,0,0,114,4,0,0,0,114,
4,0,0,0,114,5,0,0,0,218,14,95,102,105,120,95,
- 117,112,95,109,111,100,117,108,101,30,5,0,0,115,34,0,
+ 117,112,95,109,111,100,117,108,101,31,5,0,0,115,34,0,
0,0,0,2,15,1,15,1,6,1,6,1,12,1,12,1,
18,2,15,1,6,1,21,1,3,1,10,1,10,1,10,1,
14,1,13,2,114,18,1,0,0,99,0,0,0,0,0,0,
@@ -2426,7 +2426,7 @@ const unsigned char _Py_M__importlib_ext
0,41,3,90,10,101,120,116,101,110,115,105,111,110,115,90,
6,115,111,117,114,99,101,90,8,98,121,116,101,99,111,100,
101,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,
- 114,155,0,0,0,53,5,0,0,115,8,0,0,0,0,5,
+ 114,155,0,0,0,54,5,0,0,115,8,0,0,0,0,5,
18,1,12,1,12,1,114,155,0,0,0,99,1,0,0,0,
0,0,0,0,12,0,0,0,12,0,0,0,67,0,0,0,
115,70,2,0,0,124,0,0,97,0,0,116,0,0,106,1,
@@ -2488,7 +2488,7 @@ const unsigned char _Py_M__importlib_ext
83,41,2,114,29,0,0,0,78,41,1,114,31,0,0,0,
41,2,114,22,0,0,0,114,77,0,0,0,114,4,0,0,
0,114,4,0,0,0,114,5,0,0,0,114,221,0,0,0,
- 89,5,0,0,115,2,0,0,0,6,0,122,25,95,115,101,
+ 90,5,0,0,115,2,0,0,0,6,0,122,25,95,115,101,
116,117,112,46,60,108,111,99,97,108,115,62,46,60,103,101,
110,101,120,112,114,62,114,59,0,0,0,122,30,105,109,112,
111,114,116,108,105,98,32,114,101,113,117,105,114,101,115,32,
@@ -2518,7 +2518,7 @@ const unsigned char _Py_M__importlib_ext
90,14,119,101,97,107,114,101,102,95,109,111,100,117,108,101,
90,13,119,105,110,114,101,103,95,109,111,100,117,108,101,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,6,
- 95,115,101,116,117,112,64,5,0,0,115,82,0,0,0,0,
+ 95,115,101,116,117,112,65,5,0,0,115,82,0,0,0,0,
8,6,1,9,1,9,3,13,1,13,1,15,1,18,2,13,
1,20,3,33,1,19,2,31,1,10,1,15,1,13,1,4,
2,3,1,15,1,5,1,13,1,12,2,12,1,16,1,16,
@@ -2544,7 +2544,7 @@ const unsigned char _Py_M__importlib_ext
114,212,0,0,0,41,2,114,26,1,0,0,90,17,115,117,
112,112,111,114,116,101,100,95,108,111,97,100,101,114,115,114,
4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8,
- 95,105,110,115,116,97,108,108,132,5,0,0,115,16,0,0,
+ 95,105,110,115,116,97,108,108,133,5,0,0,115,16,0,0,
0,0,2,10,1,9,1,28,1,15,1,16,1,16,4,9,
1,114,29,1,0,0,41,3,122,3,119,105,110,114,1,0,
0,0,114,2,0,0,0,41,56,114,107,0,0,0,114,10,
@@ -2571,11 +2571,12 @@ const unsigned char _Py_M__importlib_ext
114,18,1,0,0,114,155,0,0,0,114,27,1,0,0,114,
29,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
0,0,0,114,5,0,0,0,218,8,60,109,111,100,117,108,
- 101,62,8,0,0,0,115,98,0,0,0,6,17,6,3,12,
+ 101,62,8,0,0,0,115,102,0,0,0,6,17,6,3,12,
12,12,5,12,5,12,6,12,12,12,10,12,9,12,5,12,
- 7,15,22,15,111,22,1,18,2,6,1,6,2,9,2,9,
+ 7,15,22,15,112,22,1,18,2,6,1,6,2,9,2,9,
2,10,2,21,44,12,33,12,19,12,12,12,12,12,28,12,
17,21,55,21,12,18,10,12,14,9,3,12,1,15,65,19,
64,19,29,22,110,19,41,25,45,25,16,6,3,25,53,19,
- 57,19,42,19,134,19,147,15,23,12,11,12,68,
+ 57,19,42,19,127,0,7,19,127,0,20,15,23,12,11,12,
+ 68,
};
diff -r c6a0f424837a Python/peephole.c
--- a/Python/peephole.c Mon Jan 18 11:25:50 2016 +0100
+++ b/Python/peephole.c Mon Jan 18 11:47:49 2016 +0100
@@ -346,19 +346,19 @@ markblocks(unsigned char *code, Py_ssize
single basic block. All transformations keep the code size the same or
smaller. For those that reduce size, the gaps are initially filled with
NOPs. Later those NOPs are removed and the jump addresses retargeted in
- a single pass. Line numbering is adjusted accordingly. */
+ a single pass. Code offset is adjusted accordingly. */
PyObject *
PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names,
- PyObject *lineno_obj)
+ PyObject *lnotab_obj)
{
Py_ssize_t i, j, codelen;
int nops, h, adj;
int tgt, tgttgt, opcode;
unsigned char *codestr = NULL;
- unsigned char *lineno;
+ unsigned char *lnotab;
int *addrmap = NULL;
- int new_line, cum_orig_line, last_line;
+ int cum_orig_offset, last_offset;
Py_ssize_t tabsiz;
PyObject **const_stack = NULL;
Py_ssize_t *load_const_stack = NULL;
@@ -371,12 +371,17 @@ PyCode_Optimize(PyObject *code, PyObject
if (PyErr_Occurred())
goto exitError;
- /* Bypass optimization when the lineno table is too complex */
- assert(PyBytes_Check(lineno_obj));
- lineno = (unsigned char*)PyBytes_AS_STRING(lineno_obj);
- tabsiz = PyBytes_GET_SIZE(lineno_obj);
- if (memchr(lineno, 255, tabsiz) != NULL)
+ /* Bypass optimization when the lnotab table is too complex */
+ assert(PyBytes_Check(lnotab_obj));
+ lnotab = (unsigned char*)PyBytes_AS_STRING(lnotab_obj);
+ tabsiz = PyBytes_GET_SIZE(lnotab_obj);
+ assert(tabsiz == 0 || Py_REFCNT(lnotab_obj) == 1);
+ if (memchr(lnotab, 255, tabsiz) != NULL) {
+ /* 255 value are used for multibyte bytecode instructions */
goto exitUnchanged;
+ }
+ /* Note: -128 and 127 special values for line number delta are ok,
+ the peephole optimizer doesn't modify line numbers. */
/* Avoid situations where jump retargeting could overflow */
assert(PyBytes_Check(code));
@@ -663,21 +668,24 @@ PyCode_Optimize(PyObject *code, PyObject
}
}
- /* Fixup linenotab */
+ /* Fixup lnotab */
for (i=0, nops=0 ; i