[Python-checkins] cpython: Issue #27078: Added BUILD_STRING opcode. Optimized f-strings evaluation.

serhiy.storchaka python-checkins at python.org
Tue Sep 6 15:08:16 EDT 2016


https://hg.python.org/cpython/rev/28e280915508
changeset:   103130:28e280915508
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Tue Sep 06 22:07:53 2016 +0300
summary:
  Issue #27078: Added BUILD_STRING opcode.  Optimized f-strings evaluation.

files:
  Doc/library/dis.rst                  |    8 +
  Include/opcode.h                     |    1 +
  Include/unicodeobject.h              |    8 +
  Lib/importlib/_bootstrap_external.py |    5 +-
  Lib/opcode.py                        |    1 +
  Misc/NEWS                            |    2 +
  Objects/abstract.c                   |   20 +-
  Objects/unicodeobject.c              |   44 +-
  PC/launcher.c                        |    2 +-
  Python/ceval.c                       |   18 +
  Python/compile.c                     |   26 +-
  Python/importlib.h                   |  409 +++++++-------
  Python/importlib_external.h          |  208 +++---
  Python/opcode_targets.h              |    2 +-
  14 files changed, 397 insertions(+), 357 deletions(-)


diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst
--- a/Doc/library/dis.rst
+++ b/Doc/library/dis.rst
@@ -777,6 +777,14 @@
    .. versionadded:: 3.6
 
 
+.. opcode:: BUILD_STRING (count)
+
+   Concatenates *count* strings from the stack and pushes the resulting string
+   onto the stack.
+
+   .. versionadded:: 3.6
+
+
 .. opcode:: LOAD_ATTR (namei)
 
    Replaces TOS with ``getattr(TOS, co_names[namei])``.
diff --git a/Include/opcode.h b/Include/opcode.h
--- a/Include/opcode.h
+++ b/Include/opcode.h
@@ -123,6 +123,7 @@
 #define SETUP_ASYNC_WITH        154
 #define FORMAT_VALUE            155
 #define BUILD_CONST_KEY_MAP     156
+#define BUILD_STRING            157
 
 /* EXCEPT_HANDLER is a special, implicit block type which is created when
    entering an except handler. It is not an opcode but we define it here
diff --git a/Include/unicodeobject.h b/Include/unicodeobject.h
--- a/Include/unicodeobject.h
+++ b/Include/unicodeobject.h
@@ -1955,6 +1955,14 @@
     PyObject *seq               /* Sequence object */
     );
 
+#ifndef Py_LIMITED_API
+PyAPI_FUNC(PyObject *) _PyUnicode_JoinArray(
+    PyObject *separator,
+    PyObject **items,
+    Py_ssize_t seqlen
+    );
+#endif /* Py_LIMITED_API */
+
 /* Return 1 if substr matches str[start:end] at the given tail end, 0
    otherwise. */
 
diff --git a/Lib/importlib/_bootstrap_external.py b/Lib/importlib/_bootstrap_external.py
--- a/Lib/importlib/_bootstrap_external.py
+++ b/Lib/importlib/_bootstrap_external.py
@@ -232,7 +232,8 @@
 #     Python 3.6a1  3370 (16 bit wordcode)
 #     Python 3.6a1  3371 (add BUILD_CONST_KEY_MAP opcode #27140)
 #     Python 3.6a1  3372 (MAKE_FUNCTION simplification, remove MAKE_CLOSURE
-                          #27095)
+#                         #27095)
+#     Python 3.6b1  3373 (add BUILD_STRING opcode #27078)
 #
 # MAGIC must change whenever the bytecode emitted by the compiler may no
 # longer be understood by older implementations of the eval loop (usually
@@ -241,7 +242,7 @@
 # Whenever MAGIC_NUMBER is changed, the ranges in the magic_values array
 # in PC/launcher.c must also be updated.
 
-MAGIC_NUMBER = (3372).to_bytes(2, 'little') + b'\r\n'
+MAGIC_NUMBER = (3373).to_bytes(2, 'little') + b'\r\n'
 _RAW_MAGIC_NUMBER = int.from_bytes(MAGIC_NUMBER, 'little')  # For import.c
 
 _PYCACHE = '__pycache__'
diff --git a/Lib/opcode.py b/Lib/opcode.py
--- a/Lib/opcode.py
+++ b/Lib/opcode.py
@@ -213,5 +213,6 @@
 
 def_op('FORMAT_VALUE', 155)
 def_op('BUILD_CONST_KEY_MAP', 156)
+def_op('BUILD_STRING', 157)
 
 del def_op, name_op, jrel_op, jabs_op
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,8 @@
 Core and Builtins
 -----------------
 
+- Issue #27078: Added BUILD_STRING opcode.  Optimized f-strings evaluation.
+
 - Issue #17884: Python now requires systems with inttypes.h and stdint.h
 
 - Issue #27961: Require platforms to support ``long long``. Python hasn't
diff --git a/Objects/abstract.c b/Objects/abstract.c
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -675,13 +675,31 @@
     PyObject *result = NULL;
     _Py_IDENTIFIER(__format__);
 
+    if (format_spec != NULL && !PyUnicode_Check(format_spec)) {
+        PyErr_Format(PyExc_SystemError,
+                     "Format specifier must be a string, not %.200s",
+                     Py_TYPE(format_spec)->tp_name);
+        return NULL;
+    }
+
+    /* Fast path for common types. */
+    if (format_spec == NULL || PyUnicode_GET_LENGTH(format_spec) == 0) {
+        if (PyUnicode_CheckExact(obj)) {
+            Py_INCREF(obj);
+            return obj;
+        }
+        if (PyLong_CheckExact(obj)) {
+            return PyObject_Str(obj);
+        }
+    }
+
     /* If no format_spec is provided, use an empty string */
     if (format_spec == NULL) {
         empty = PyUnicode_New(0, 0);
         format_spec = empty;
     }
 
-    /* Find the (unbound!) __format__ method (a borrowed reference) */
+    /* Find the (unbound!) __format__ method */
     meth = _PyObject_LookupSpecial(obj, &PyId___format__);
     if (meth == NULL) {
         if (!PyErr_Occurred())
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -9892,12 +9892,33 @@
 PyObject *
 PyUnicode_Join(PyObject *separator, PyObject *seq)
 {
+    PyObject *res;
+    PyObject *fseq;
+    Py_ssize_t seqlen;
+    PyObject **items;
+
+    fseq = PySequence_Fast(seq, "can only join an iterable");
+    if (fseq == NULL) {
+        return NULL;
+    }
+
+    /* NOTE: the following code can't call back into Python code,
+     * so we are sure that fseq won't be mutated.
+     */
+
+    items = PySequence_Fast_ITEMS(fseq);
+    seqlen = PySequence_Fast_GET_SIZE(fseq);
+    res = _PyUnicode_JoinArray(separator, items, seqlen);
+    Py_DECREF(fseq);
+    return res;
+}
+
+PyObject *
+_PyUnicode_JoinArray(PyObject *separator, PyObject **items, Py_ssize_t seqlen)
+{
+    PyObject *res = NULL; /* the result */
     PyObject *sep = NULL;
     Py_ssize_t seplen;
-    PyObject *res = NULL; /* the result */
-    PyObject *fseq;          /* PySequence_Fast(seq) */
-    Py_ssize_t seqlen;       /* len(fseq) -- number of items in sequence */
-    PyObject **items;
     PyObject *item;
     Py_ssize_t sz, i, res_offset;
     Py_UCS4 maxchar;
@@ -9907,30 +9928,17 @@
     PyObject *last_obj;
     unsigned int kind = 0;
 
-    fseq = PySequence_Fast(seq, "can only join an iterable");
-    if (fseq == NULL) {
-        return NULL;
-    }
-
-    /* NOTE: the following code can't call back into Python code,
-     * so we are sure that fseq won't be mutated.
-     */
-
-    seqlen = PySequence_Fast_GET_SIZE(fseq);
     /* If empty sequence, return u"". */
     if (seqlen == 0) {
-        Py_DECREF(fseq);
         _Py_RETURN_UNICODE_EMPTY();
     }
 
     /* If singleton sequence with an exact Unicode, return that. */
     last_obj = NULL;
-    items = PySequence_Fast_ITEMS(fseq);
     if (seqlen == 1) {
         if (PyUnicode_CheckExact(items[0])) {
             res = items[0];
             Py_INCREF(res);
-            Py_DECREF(fseq);
             return res;
         }
         seplen = 0;
@@ -10065,13 +10073,11 @@
         assert(res_offset == PyUnicode_GET_LENGTH(res));
     }
 
-    Py_DECREF(fseq);
     Py_XDECREF(sep);
     assert(_PyUnicode_CheckConsistency(res, 1));
     return res;
 
   onError:
-    Py_DECREF(fseq);
     Py_XDECREF(sep);
     Py_XDECREF(res);
     return NULL;
diff --git a/PC/launcher.c b/PC/launcher.c
--- a/PC/launcher.c
+++ b/PC/launcher.c
@@ -1089,7 +1089,7 @@
     { 3190, 3230, L"3.3" },
     { 3250, 3310, L"3.4" },
     { 3320, 3351, L"3.5" },
-    { 3360, 3371, L"3.6" },
+    { 3360, 3373, L"3.6" },
     { 0 }
 };
 
diff --git a/Python/ceval.c b/Python/ceval.c
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -2538,6 +2538,24 @@
             DISPATCH();
         }
 
+        TARGET(BUILD_STRING) {
+            PyObject *str;
+            PyObject *empty = PyUnicode_New(0, 0);
+            if (empty == NULL) {
+                goto error;
+            }
+            str = _PyUnicode_JoinArray(empty, stack_pointer - oparg, oparg);
+            Py_DECREF(empty);
+            if (str == NULL)
+                goto error;
+            while (--oparg >= 0) {
+                PyObject *item = POP();
+                Py_DECREF(item);
+            }
+            PUSH(str);
+            DISPATCH();
+        }
+
         TARGET(BUILD_TUPLE) {
             PyObject *tup = PyTuple_New(oparg);
             if (tup == NULL)
diff --git a/Python/compile.c b/Python/compile.c
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -970,6 +970,7 @@
         case BUILD_TUPLE:
         case BUILD_LIST:
         case BUILD_SET:
+        case BUILD_STRING:
             return 1-oparg;
         case BUILD_LIST_UNPACK:
         case BUILD_TUPLE_UNPACK:
@@ -3315,31 +3316,8 @@
 static int
 compiler_joined_str(struct compiler *c, expr_ty e)
 {
-    /* Concatenate parts of a string using ''.join(parts). There are
-       probably better ways of doing this.
-
-       This is used for constructs like "'x=' f'{42}'", which have to
-       be evaluated at compile time. */
-
-    static PyObject *empty_string;
-    static PyObject *join_string;
-
-    if (!empty_string) {
-        empty_string = PyUnicode_FromString("");
-        if (!empty_string)
-            return 0;
-    }
-    if (!join_string) {
-        join_string = PyUnicode_FromString("join");
-        if (!join_string)
-            return 0;
-    }
-
-    ADDOP_O(c, LOAD_CONST, empty_string, consts);
-    ADDOP_NAME(c, LOAD_ATTR, join_string, names);
     VISIT_SEQ(c, expr, e->v.JoinedStr.values);
-    ADDOP_I(c, BUILD_LIST, asdl_seq_LEN(e->v.JoinedStr.values));
-    ADDOP_I(c, CALL_FUNCTION, 1);
+    ADDOP_I(c, BUILD_STRING, asdl_seq_LEN(e->v.JoinedStr.values));
     return 1;
 }
 
diff --git a/Python/importlib.h b/Python/importlib.h
--- a/Python/importlib.h
+++ b/Python/importlib.h
[stripped]
diff --git a/Python/importlib_external.h b/Python/importlib_external.h
--- a/Python/importlib_external.h
+++ b/Python/importlib_external.h
@@ -242,7 +242,7 @@
     101,95,97,116,111,109,105,99,106,0,0,0,115,26,0,0,
     0,0,5,16,1,6,1,26,1,2,3,14,1,20,1,16,
     1,14,1,2,1,14,1,14,1,6,1,114,58,0,0,0,
-    105,44,13,0,0,233,2,0,0,0,114,15,0,0,0,115,
+    105,45,13,0,0,233,2,0,0,0,114,15,0,0,0,115,
     2,0,0,0,13,10,90,11,95,95,112,121,99,97,99,104,
     101,95,95,122,4,111,112,116,45,122,3,46,112,121,122,4,
     46,112,121,99,78,41,1,218,12,111,112,116,105,109,105,122,
@@ -344,7 +344,7 @@
     4,114,101,115,116,90,3,116,97,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,6,0,0,0,218,17,99,97,99,104,
-    101,95,102,114,111,109,95,115,111,117,114,99,101,0,1,0,
+    101,95,102,114,111,109,95,115,111,117,114,99,101,1,1,0,
     0,115,46,0,0,0,0,18,8,1,6,1,6,1,8,1,
     4,1,8,1,12,1,12,1,16,1,8,1,8,1,8,1,
     24,1,8,1,12,1,6,2,8,1,8,1,8,1,8,1,
@@ -417,7 +417,7 @@
     90,9,111,112,116,95,108,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,6,0,0,0,218,17,115,111,117,114,99,
-    101,95,102,114,111,109,95,99,97,99,104,101,44,1,0,0,
+    101,95,102,114,111,109,95,99,97,99,104,101,45,1,0,0,
     115,44,0,0,0,0,9,12,1,8,1,12,1,12,1,8,
     1,6,1,10,1,10,1,8,1,6,1,10,1,8,1,16,
     1,10,1,6,1,8,1,16,1,8,1,6,1,8,1,14,
@@ -453,7 +453,7 @@
     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,6,0,0,
     0,218,15,95,103,101,116,95,115,111,117,114,99,101,102,105,
-    108,101,77,1,0,0,115,20,0,0,0,0,7,12,1,4,
+    108,101,78,1,0,0,115,20,0,0,0,0,7,12,1,4,
     1,16,1,26,1,4,1,2,1,12,1,18,1,18,1,114,
     94,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,
     0,11,0,0,0,67,0,0,0,115,74,0,0,0,124,0,
@@ -466,7 +466,7 @@
     0,0,0,114,82,0,0,0,114,69,0,0,0,114,77,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,6,0,0,0,218,11,95,
-    103,101,116,95,99,97,99,104,101,100,96,1,0,0,115,16,
+    103,101,116,95,99,97,99,104,101,100,97,1,0,0,115,16,
     0,0,0,0,1,14,1,2,1,8,1,14,1,8,1,14,
     1,6,2,114,98,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,52,0,
@@ -480,7 +480,7 @@
     0,0,233,128,0,0,0,41,3,114,41,0,0,0,114,43,
     0,0,0,114,42,0,0,0,41,2,114,37,0,0,0,114,
     44,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,
-    0,0,0,218,10,95,99,97,108,99,95,109,111,100,101,108,
+    0,0,0,218,10,95,99,97,108,99,95,109,111,100,101,109,
     1,0,0,115,12,0,0,0,0,2,2,1,14,1,14,1,
     10,3,8,1,114,100,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,68,
@@ -518,7 +518,7 @@
     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,6,0,0,0,218,19,
     95,99,104,101,99,107,95,110,97,109,101,95,119,114,97,112,
-    112,101,114,128,1,0,0,115,12,0,0,0,0,1,8,1,
+    112,101,114,129,1,0,0,115,12,0,0,0,0,1,8,1,
     8,1,10,1,4,1,20,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,
@@ -538,7 +538,7 @@
     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,55,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,218,5,95,119,114,97,112,139,1,0,
+    0,114,6,0,0,0,218,5,95,119,114,97,112,140,1,0,
     0,115,8,0,0,0,0,1,10,1,10,1,22,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,1,78,41,3,218,
@@ -546,7 +546,7 @@
     218,9,78,97,109,101,69,114,114,111,114,41,3,114,105,0,
     0,0,114,106,0,0,0,114,116,0,0,0,114,4,0,0,
     0,41,1,114,105,0,0,0,114,6,0,0,0,218,11,95,
-    99,104,101,99,107,95,110,97,109,101,120,1,0,0,115,14,
+    99,104,101,99,107,95,110,97,109,101,121,1,0,0,115,14,
     0,0,0,0,8,14,7,2,1,10,1,14,2,14,5,10,
     1,114,119,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,60,0,0,0,
@@ -574,7 +574,7 @@
     109,101,218,6,108,111,97,100,101,114,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,6,0,0,0,218,17,95,102,105,110,100,95,
-    109,111,100,117,108,101,95,115,104,105,109,148,1,0,0,115,
+    109,111,100,117,108,101,95,115,104,105,109,149,1,0,0,115,
     10,0,0,0,0,10,14,1,16,1,4,1,22,1,114,126,
     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,128,1,0,0,105,0,125,
@@ -654,7 +654,7 @@
     115,111,117,114,99,101,95,115,105,122,101,114,4,0,0,0,
     114,4,0,0,0,114,6,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,165,1,0,0,115,76,0,0,0,0,11,
+    101,97,100,101,114,166,1,0,0,115,76,0,0,0,0,11,
     4,1,8,1,10,3,4,1,8,1,8,1,12,1,12,1,
     12,1,8,1,12,1,12,1,12,1,12,1,10,1,12,1,
     10,1,12,1,10,1,12,1,8,1,10,1,2,1,16,1,
@@ -683,7 +683,7 @@
     41,5,114,56,0,0,0,114,101,0,0,0,114,92,0,0,
     0,114,93,0,0,0,218,4,99,111,100,101,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,218,17,95,99,111,
-    109,112,105,108,101,95,98,121,116,101,99,111,100,101,220,1,
+    109,112,105,108,101,95,98,121,116,101,99,111,100,101,221,1,
     0,0,115,16,0,0,0,0,2,10,1,10,1,12,1,8,
     1,12,1,6,2,12,1,114,144,0,0,0,114,62,0,0,
     0,99,3,0,0,0,0,0,0,0,4,0,0,0,3,0,
@@ -702,7 +702,7 @@
     112,115,41,4,114,143,0,0,0,114,129,0,0,0,114,137,
     0,0,0,114,56,0,0,0,114,4,0,0,0,114,4,0,
     0,0,114,6,0,0,0,218,17,95,99,111,100,101,95,116,
-    111,95,98,121,116,101,99,111,100,101,232,1,0,0,115,10,
+    111,95,98,121,116,101,99,111,100,101,233,1,0,0,115,10,
     0,0,0,0,3,8,1,14,1,14,1,16,1,114,147,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,62,0,0,0,100,1,100,2,
@@ -729,7 +729,7 @@
     110,101,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,6,0,0,0,218,13,100,101,
-    99,111,100,101,95,115,111,117,114,99,101,242,1,0,0,115,
+    99,111,100,101,95,115,111,117,114,99,101,243,1,0,0,115,
     10,0,0,0,0,5,8,1,12,1,10,1,12,1,114,152,
     0,0,0,41,2,114,123,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,
@@ -789,7 +789,7 @@
     115,117,102,102,105,120,101,115,114,156,0,0,0,90,7,100,
     105,114,110,97,109,101,114,4,0,0,0,114,4,0,0,0,
     114,6,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,3,2,
+    95,102,105,108,101,95,108,111,99,97,116,105,111,110,4,2,
     0,0,115,60,0,0,0,0,12,8,4,4,1,10,2,2,
     1,14,1,14,1,6,8,18,1,6,3,8,1,16,1,14,
     1,10,1,6,1,6,2,4,3,8,2,10,1,2,1,14,
@@ -826,7 +826,7 @@
     67,65,76,95,77,65,67,72,73,78,69,41,2,218,3,99,
     108,115,114,5,0,0,0,114,4,0,0,0,114,4,0,0,
     0,114,6,0,0,0,218,14,95,111,112,101,110,95,114,101,
-    103,105,115,116,114,121,81,2,0,0,115,8,0,0,0,0,
+    103,105,115,116,114,121,82,2,0,0,115,8,0,0,0,0,
     2,2,1,14,1,14,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,115,116,114,121,99,2,0,
@@ -852,7 +852,7 @@
     5,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,6,
     0,0,0,218,16,95,115,101,97,114,99,104,95,114,101,103,
-    105,115,116,114,121,88,2,0,0,115,22,0,0,0,0,2,
+    105,115,116,114,121,89,2,0,0,115,22,0,0,0,0,2,
     6,1,8,2,6,1,10,1,22,1,2,1,12,1,26,1,
     14,1,6,1,122,38,87,105,110,100,111,119,115,82,101,103,
     105,115,116,114,121,70,105,110,100,101,114,46,95,115,101,97,
@@ -874,7 +874,7 @@
     0,218,6,116,97,114,103,101,116,114,173,0,0,0,114,123,
     0,0,0,114,163,0,0,0,114,161,0,0,0,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,218,9,102,105,
-    110,100,95,115,112,101,99,103,2,0,0,115,26,0,0,0,
+    110,100,95,115,112,101,99,104,2,0,0,115,26,0,0,0,
     0,2,10,1,8,1,4,1,2,1,12,1,14,1,6,1,
     16,1,14,1,6,1,10,1,8,1,122,31,87,105,110,100,
     111,119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,
@@ -893,7 +893,7 @@
     0,114,123,0,0,0,41,4,114,167,0,0,0,114,122,0,
     0,0,114,37,0,0,0,114,161,0,0,0,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,218,11,102,105,110,
-    100,95,109,111,100,117,108,101,119,2,0,0,115,8,0,0,
+    100,95,109,111,100,117,108,101,120,2,0,0,115,8,0,0,
     0,0,7,12,1,8,1,8,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,2,78,78,
@@ -903,7 +903,7 @@
     101,116,104,111,100,114,168,0,0,0,114,174,0,0,0,114,
     177,0,0,0,114,178,0,0,0,114,4,0,0,0,114,4,
     0,0,0,114,4,0,0,0,114,6,0,0,0,114,165,0,
-    0,0,69,2,0,0,115,20,0,0,0,8,2,4,3,4,
+    0,0,70,2,0,0,115,20,0,0,0,8,2,4,3,4,
     3,4,2,4,2,12,7,12,15,2,1,12,15,2,1,114,
     165,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,48,0,0,0,101,0,
@@ -938,7 +938,7 @@
     97,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,6,0,0,0,114,156,0,
-    0,0,138,2,0,0,115,8,0,0,0,0,3,18,1,16,
+    0,0,139,2,0,0,115,8,0,0,0,0,3,18,1,16,
     1,14,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,2,0,0,0,1,0,0,0,67,0,
@@ -948,7 +948,7 @@
     99,114,101,97,116,105,111,110,46,78,114,4,0,0,0,41,
     2,114,103,0,0,0,114,161,0,0,0,114,4,0,0,0,
     114,4,0,0,0,114,6,0,0,0,218,13,99,114,101,97,
-    116,101,95,109,111,100,117,108,101,146,2,0,0,115,0,0,
+    116,101,95,109,111,100,117,108,101,147,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,
@@ -968,7 +968,7 @@
     114,114,0,0,0,41,3,114,103,0,0,0,218,6,109,111,
     100,117,108,101,114,143,0,0,0,114,4,0,0,0,114,4,
     0,0,0,114,6,0,0,0,218,11,101,120,101,99,95,109,
-    111,100,117,108,101,149,2,0,0,115,10,0,0,0,0,2,
+    111,100,117,108,101,150,2,0,0,115,10,0,0,0,0,2,
     12,1,8,1,6,1,10,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,0,0,
@@ -979,14 +979,14 @@
     95,108,111,97,100,95,109,111,100,117,108,101,95,115,104,105,
     109,41,2,114,103,0,0,0,114,122,0,0,0,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,218,11,108,111,
-    97,100,95,109,111,100,117,108,101,157,2,0,0,115,2,0,
+    97,100,95,109,111,100,117,108,101,158,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,108,0,0,0,114,107,0,0,0,114,109,0,0,
     0,114,110,0,0,0,114,156,0,0,0,114,182,0,0,0,
     114,187,0,0,0,114,189,0,0,0,114,4,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,180,
-    0,0,0,133,2,0,0,115,10,0,0,0,8,3,4,2,
+    0,0,0,134,2,0,0,115,10,0,0,0,8,3,4,2,
     8,8,8,3,8,8,114,180,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,74,0,0,0,101,0,90,1,100,0,90,2,100,1,100,
@@ -1011,7 +1011,7 @@
     32,32,32,32,32,32,32,78,41,1,218,7,73,79,69,114,
     114,111,114,41,2,114,103,0,0,0,114,37,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,10,
-    112,97,116,104,95,109,116,105,109,101,164,2,0,0,115,2,
+    112,97,116,104,95,109,116,105,109,101,165,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,
@@ -1046,7 +1046,7 @@
     32,32,32,32,32,32,32,114,129,0,0,0,41,1,114,192,
     0,0,0,41,2,114,103,0,0,0,114,37,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,218,10,
-    112,97,116,104,95,115,116,97,116,115,172,2,0,0,115,2,
+    112,97,116,104,95,115,116,97,116,115,173,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,
@@ -1070,7 +1070,7 @@
     93,0,0,0,90,10,99,97,99,104,101,95,112,97,116,104,
     114,56,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
     6,0,0,0,218,15,95,99,97,99,104,101,95,98,121,116,
-    101,99,111,100,101,185,2,0,0,115,2,0,0,0,0,8,
+    101,99,111,100,101,186,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,67,
@@ -1087,7 +1087,7 @@
     32,32,32,32,32,32,78,114,4,0,0,0,41,3,114,103,
     0,0,0,114,37,0,0,0,114,56,0,0,0,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,114,194,0,0,
-    0,195,2,0,0,115,0,0,0,0,122,21,83,111,117,114,
+    0,196,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,84,0,0,0,124,0,106,0,124,
@@ -1107,7 +1107,7 @@
     0,114,152,0,0,0,41,5,114,103,0,0,0,114,122,0,
     0,0,114,37,0,0,0,114,150,0,0,0,218,3,101,120,
     99,114,4,0,0,0,114,4,0,0,0,114,6,0,0,0,
-    218,10,103,101,116,95,115,111,117,114,99,101,202,2,0,0,
+    218,10,103,101,116,95,115,111,117,114,99,101,203,2,0,0,
     115,14,0,0,0,0,2,10,1,2,1,14,1,16,1,6,
     1,28,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,114,31,0,0,
@@ -1129,7 +1129,7 @@
     111,109,112,105,108,101,41,4,114,103,0,0,0,114,56,0,
     0,0,114,37,0,0,0,114,199,0,0,0,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,218,14,115,111,117,
-    114,99,101,95,116,111,95,99,111,100,101,212,2,0,0,115,
+    114,99,101,95,116,111,95,99,111,100,101,213,2,0,0,115,
     4,0,0,0,0,5,14,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,
@@ -1186,7 +1186,7 @@
     56,0,0,0,218,10,98,121,116,101,115,95,100,97,116,97,
     114,150,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,6,0,0,
-    0,114,183,0,0,0,220,2,0,0,115,78,0,0,0,0,
+    0,114,183,0,0,0,221,2,0,0,115,78,0,0,0,0,
     7,10,1,4,1,2,1,12,1,14,1,10,2,2,1,14,
     1,14,1,6,2,12,1,2,1,14,1,14,1,6,2,2,
     1,6,1,8,1,12,1,18,1,6,2,8,1,6,1,10,
@@ -1198,7 +1198,7 @@
     114,193,0,0,0,114,195,0,0,0,114,194,0,0,0,114,
     198,0,0,0,114,202,0,0,0,114,183,0,0,0,114,4,
     0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,
-    0,0,114,190,0,0,0,162,2,0,0,115,14,0,0,0,
+    0,0,114,190,0,0,0,163,2,0,0,115,14,0,0,0,
     8,2,8,8,8,13,8,10,8,7,8,10,14,8,114,190,
     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,76,0,0,0,101,0,90,
@@ -1224,7 +1224,7 @@
     32,32,102,105,110,100,101,114,46,78,41,2,114,101,0,0,
     0,114,37,0,0,0,41,3,114,103,0,0,0,114,122,0,
     0,0,114,37,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,181,0,0,0,21,3,0,0,115,
+    0,114,6,0,0,0,114,181,0,0,0,22,3,0,0,115,
     4,0,0,0,0,3,6,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,0,67,0,
@@ -1233,7 +1233,7 @@
     1,78,41,2,218,9,95,95,99,108,97,115,115,95,95,114,
     114,0,0,0,41,2,114,103,0,0,0,218,5,111,116,104,
     101,114,114,4,0,0,0,114,4,0,0,0,114,6,0,0,
-    0,218,6,95,95,101,113,95,95,27,3,0,0,115,4,0,
+    0,218,6,95,95,101,113,95,95,28,3,0,0,115,4,0,
     0,0,0,1,12,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,20,
@@ -1241,7 +1241,7 @@
     2,131,1,65,0,83,0,41,1,78,41,3,218,4,104,97,
     115,104,114,101,0,0,0,114,37,0,0,0,41,1,114,103,
     0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,
-    0,0,218,8,95,95,104,97,115,104,95,95,31,3,0,0,
+    0,0,218,8,95,95,104,97,115,104,95,95,32,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,3,0,0,
@@ -1256,7 +1256,7 @@
     218,5,115,117,112,101,114,114,206,0,0,0,114,189,0,0,
     0,41,2,114,103,0,0,0,114,122,0,0,0,41,1,114,
     207,0,0,0,114,4,0,0,0,114,6,0,0,0,114,189,
-    0,0,0,34,3,0,0,115,2,0,0,0,0,10,122,22,
+    0,0,0,35,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,67,0,0,0,115,6,0,0,0,
@@ -1266,7 +1266,7 @@
     102,111,117,110,100,32,98,121,32,116,104,101,32,102,105,110,
     100,101,114,46,41,1,114,37,0,0,0,41,2,114,103,0,
     0,0,114,122,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,154,0,0,0,46,3,0,0,115,
+    0,114,6,0,0,0,114,154,0,0,0,47,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,
@@ -1278,7 +1278,7 @@
     116,101,115,46,218,1,114,78,41,3,114,52,0,0,0,114,
     53,0,0,0,90,4,114,101,97,100,41,3,114,103,0,0,
     0,114,37,0,0,0,114,57,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,196,0,0,0,51,
+    114,4,0,0,0,114,6,0,0,0,114,196,0,0,0,52,
     3,0,0,115,4,0,0,0,0,2,14,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,108,0,0,0,114,107,0,0,0,114,109,0,
@@ -1286,7 +1286,7 @@
     0,114,211,0,0,0,114,119,0,0,0,114,189,0,0,0,
     114,154,0,0,0,114,196,0,0,0,114,4,0,0,0,114,
     4,0,0,0,41,1,114,207,0,0,0,114,6,0,0,0,
-    114,206,0,0,0,16,3,0,0,115,14,0,0,0,8,3,
+    114,206,0,0,0,17,3,0,0,115,14,0,0,0,8,3,
     4,2,8,6,8,4,8,3,16,12,12,5,114,206,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,46,0,0,0,101,0,90,1,100,
@@ -1308,7 +1308,7 @@
     109,101,90,7,115,116,95,115,105,122,101,41,3,114,103,0,
     0,0,114,37,0,0,0,114,204,0,0,0,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,114,193,0,0,0,
-    61,3,0,0,115,4,0,0,0,0,2,8,1,122,27,83,
+    62,3,0,0,115,4,0,0,0,0,2,8,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,5,0,0,0,5,0,0,0,67,0,0,0,115,
@@ -1318,7 +1318,7 @@
     194,0,0,0,41,5,114,103,0,0,0,114,93,0,0,0,
     114,92,0,0,0,114,56,0,0,0,114,44,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,195,
-    0,0,0,66,3,0,0,115,4,0,0,0,0,2,8,1,
+    0,0,0,67,3,0,0,115,4,0,0,0,0,2,8,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,105,182,1,0,0,41,1,114,216,0,0,0,99,3,
@@ -1352,7 +1352,7 @@
     114,37,0,0,0,114,56,0,0,0,114,216,0,0,0,218,
     6,112,97,114,101,110,116,114,97,0,0,0,114,29,0,0,
     0,114,25,0,0,0,114,197,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,194,0,0,0,71,
+    114,4,0,0,0,114,6,0,0,0,114,194,0,0,0,72,
     3,0,0,115,42,0,0,0,0,2,12,1,4,2,16,1,
     12,1,14,2,14,1,10,1,2,1,14,1,14,2,6,1,
     16,3,6,1,8,1,20,1,2,1,12,1,16,1,16,2,
@@ -1361,7 +1361,7 @@
     114,108,0,0,0,114,107,0,0,0,114,109,0,0,0,114,
     110,0,0,0,114,193,0,0,0,114,195,0,0,0,114,194,
     0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,0,
-    0,0,114,6,0,0,0,114,214,0,0,0,57,3,0,0,
+    0,0,114,6,0,0,0,114,214,0,0,0,58,3,0,0,
     115,8,0,0,0,8,2,4,2,8,5,8,5,114,214,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,32,0,0,0,101,0,90,1,
@@ -1381,7 +1381,7 @@
     0,0,0,114,138,0,0,0,114,144,0,0,0,41,5,114,
     103,0,0,0,114,122,0,0,0,114,37,0,0,0,114,56,
     0,0,0,114,205,0,0,0,114,4,0,0,0,114,4,0,
-    0,0,114,6,0,0,0,114,183,0,0,0,106,3,0,0,
+    0,0,114,6,0,0,0,114,183,0,0,0,107,3,0,0,
     115,8,0,0,0,0,1,10,1,10,1,18,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,
@@ -1391,14 +1391,14 @@
     114,101,32,105,115,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,103,0,
     0,0,114,122,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,198,0,0,0,112,3,0,0,115,
+    0,114,6,0,0,0,114,198,0,0,0,113,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,108,0,0,0,114,
     107,0,0,0,114,109,0,0,0,114,110,0,0,0,114,183,
     0,0,0,114,198,0,0,0,114,4,0,0,0,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,114,219,0,0,
-    0,102,3,0,0,115,6,0,0,0,8,2,4,2,8,6,
+    0,103,3,0,0,115,6,0,0,0,8,2,4,2,8,6,
     114,219,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,92,0,0,0,101,
     0,90,1,100,0,90,2,100,1,90,3,100,2,100,3,132,
@@ -1419,7 +1419,7 @@
     0,124,2,124,0,95,1,100,0,83,0,41,1,78,41,2,
     114,101,0,0,0,114,37,0,0,0,41,3,114,103,0,0,
     0,114,101,0,0,0,114,37,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,181,0,0,0,129,
+    114,4,0,0,0,114,6,0,0,0,114,181,0,0,0,130,
     3,0,0,115,4,0,0,0,0,1,6,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,
@@ -1428,7 +1428,7 @@
     124,0,106,1,124,1,106,1,107,2,83,0,41,1,78,41,
     2,114,207,0,0,0,114,114,0,0,0,41,2,114,103,0,
     0,0,114,208,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,209,0,0,0,133,3,0,0,115,
+    0,114,6,0,0,0,114,209,0,0,0,134,3,0,0,115,
     4,0,0,0,0,1,12,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,
@@ -1437,7 +1437,7 @@
     83,0,41,1,78,41,3,114,210,0,0,0,114,101,0,0,
     0,114,37,0,0,0,41,1,114,103,0,0,0,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,114,211,0,0,
-    0,137,3,0,0,115,2,0,0,0,0,1,122,28,69,120,
+    0,138,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,0,0,4,0,0,0,67,0,0,0,115,
@@ -1453,7 +1453,7 @@
     97,116,101,95,100,121,110,97,109,105,99,114,132,0,0,0,
     114,101,0,0,0,114,37,0,0,0,41,3,114,103,0,0,
     0,114,161,0,0,0,114,186,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,182,0,0,0,140,
+    114,4,0,0,0,114,6,0,0,0,114,182,0,0,0,141,
     3,0,0,115,10,0,0,0,0,2,4,1,10,1,6,1,
     12,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,
@@ -1470,7 +1470,7 @@
     0,90,12,101,120,101,99,95,100,121,110,97,109,105,99,114,
     132,0,0,0,114,101,0,0,0,114,37,0,0,0,41,2,
     114,103,0,0,0,114,186,0,0,0,114,4,0,0,0,114,
-    4,0,0,0,114,6,0,0,0,114,187,0,0,0,148,3,
+    4,0,0,0,114,6,0,0,0,114,187,0,0,0,149,3,
     0,0,115,6,0,0,0,0,2,14,1,6,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,
@@ -1488,7 +1488,7 @@
     0,78,114,4,0,0,0,41,2,114,24,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,6,0,0,0,250,9,60,
-    103,101,110,101,120,112,114,62,157,3,0,0,115,2,0,0,
+    103,101,110,101,120,112,114,62,158,3,0,0,115,2,0,0,
     0,4,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,115,62,46,60,103,101,
@@ -1496,7 +1496,7 @@
     0,0,218,3,97,110,121,218,18,69,88,84,69,78,83,73,
     79,78,95,83,85,70,70,73,88,69,83,41,2,114,103,0,
     0,0,114,122,0,0,0,114,4,0,0,0,41,1,114,222,
-    0,0,0,114,6,0,0,0,114,156,0,0,0,154,3,0,
+    0,0,0,114,6,0,0,0,114,156,0,0,0,155,3,0,
     0,115,6,0,0,0,0,2,14,1,12,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,
@@ -1508,7 +1508,7 @@
     32,99,111,100,101,32,111,98,106,101,99,116,46,78,114,4,
     0,0,0,41,2,114,103,0,0,0,114,122,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,183,
-    0,0,0,160,3,0,0,115,2,0,0,0,0,2,122,28,
+    0,0,0,161,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,0,0,0,67,0,0,
@@ -1518,7 +1518,7 @@
     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,103,0,0,0,
     114,122,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
-    6,0,0,0,114,198,0,0,0,164,3,0,0,115,2,0,
+    6,0,0,0,114,198,0,0,0,165,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,0,0,0,2,0,0,
@@ -1529,7 +1529,7 @@
     117,110,100,32,98,121,32,116,104,101,32,102,105,110,100,101,
     114,46,41,1,114,37,0,0,0,41,2,114,103,0,0,0,
     114,122,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
-    6,0,0,0,114,154,0,0,0,168,3,0,0,115,2,0,
+    6,0,0,0,114,154,0,0,0,169,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,108,0,0,0,114,107,
@@ -1538,7 +1538,7 @@
     0,114,187,0,0,0,114,156,0,0,0,114,183,0,0,0,
     114,198,0,0,0,114,119,0,0,0,114,154,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,
-    0,0,0,114,220,0,0,0,121,3,0,0,115,20,0,0,
+    0,0,0,114,220,0,0,0,122,3,0,0,115,20,0,0,
     0,8,6,4,2,8,4,8,4,8,3,8,8,8,6,8,
     6,8,4,8,4,114,220,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,
@@ -1579,7 +1579,7 @@
     97,116,104,95,102,105,110,100,101,114,41,4,114,103,0,0,
     0,114,101,0,0,0,114,37,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,6,0,0,0,114,181,0,0,0,181,3,0,0,
+    0,0,114,6,0,0,0,114,181,0,0,0,182,3,0,0,
     115,8,0,0,0,0,1,6,1,6,1,14,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,
@@ -1597,7 +1597,7 @@
     4,114,103,0,0,0,114,218,0,0,0,218,3,100,111,116,
     90,2,109,101,114,4,0,0,0,114,4,0,0,0,114,6,
     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,187,3,0,0,
+    116,95,112,97,116,104,95,110,97,109,101,115,188,3,0,0,
     115,8,0,0,0,0,2,18,1,8,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,
@@ -1610,7 +1610,7 @@
     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,6,0,
-    0,0,114,229,0,0,0,197,3,0,0,115,4,0,0,0,
+    0,0,114,229,0,0,0,198,3,0,0,115,4,0,0,0,
     0,1,12,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,3,0,
@@ -1626,7 +1626,7 @@
     0,0,0,90,11,112,97,114,101,110,116,95,112,97,116,104,
     114,161,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
     6,0,0,0,218,12,95,114,101,99,97,108,99,117,108,97,
-    116,101,201,3,0,0,115,16,0,0,0,0,2,12,1,10,
+    116,101,202,3,0,0,115,16,0,0,0,0,2,12,1,10,
     1,14,3,18,1,6,1,8,1,6,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,99,1,0,0,0,0,0,0,
@@ -1634,7 +1634,7 @@
     0,0,116,0,124,0,106,1,131,0,131,1,83,0,41,1,
     78,41,2,218,4,105,116,101,114,114,236,0,0,0,41,1,
     114,103,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
-    6,0,0,0,218,8,95,95,105,116,101,114,95,95,214,3,
+    6,0,0,0,218,8,95,95,105,116,101,114,95,95,215,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,3,0,0,0,0,0,0,0,3,0,0,0,3,
@@ -1643,14 +1643,14 @@
     228,0,0,0,41,3,114,103,0,0,0,218,5,105,110,100,
     101,120,114,37,0,0,0,114,4,0,0,0,114,4,0,0,
     0,114,6,0,0,0,218,11,95,95,115,101,116,105,116,101,
-    109,95,95,217,3,0,0,115,2,0,0,0,0,1,122,26,
+    109,95,95,218,3,0,0,115,2,0,0,0,0,1,122,26,
     95,78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,
     95,115,101,116,105,116,101,109,95,95,99,1,0,0,0,0,
     0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,
     12,0,0,0,116,0,124,0,106,1,131,0,131,1,83,0,
     41,1,78,41,2,114,33,0,0,0,114,236,0,0,0,41,
     1,114,103,0,0,0,114,4,0,0,0,114,4,0,0,0,
-    114,6,0,0,0,218,7,95,95,108,101,110,95,95,220,3,
+    114,6,0,0,0,218,7,95,95,108,101,110,95,95,221,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,
@@ -1659,7 +1659,7 @@
     101,115,112,97,99,101,80,97,116,104,40,123,33,114,125,41,
     41,2,114,50,0,0,0,114,228,0,0,0,41,1,114,103,
     0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,
-    0,0,218,8,95,95,114,101,112,114,95,95,223,3,0,0,
+    0,0,218,8,95,95,114,101,112,114,95,95,224,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,
@@ -1667,7 +1667,7 @@
     131,0,107,6,83,0,41,1,78,41,1,114,236,0,0,0,
     41,2,114,103,0,0,0,218,4,105,116,101,109,114,4,0,
     0,0,114,4,0,0,0,114,6,0,0,0,218,12,95,95,
-    99,111,110,116,97,105,110,115,95,95,226,3,0,0,115,2,
+    99,111,110,116,97,105,110,115,95,95,227,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,
@@ -1675,7 +1675,7 @@
     106,1,124,1,131,1,1,0,100,0,83,0,41,1,78,41,
     2,114,228,0,0,0,114,160,0,0,0,41,2,114,103,0,
     0,0,114,243,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,160,0,0,0,229,3,0,0,115,
+    0,114,6,0,0,0,114,160,0,0,0,230,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,14,
     114,108,0,0,0,114,107,0,0,0,114,109,0,0,0,114,
@@ -1683,7 +1683,7 @@
     0,0,0,114,236,0,0,0,114,238,0,0,0,114,240,0,
     0,0,114,241,0,0,0,114,242,0,0,0,114,244,0,0,
     0,114,160,0,0,0,114,4,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,226,0,0,0,174,
+    114,4,0,0,0,114,6,0,0,0,114,226,0,0,0,175,
     3,0,0,115,22,0,0,0,8,5,4,2,8,6,8,10,
     8,4,8,13,8,3,8,3,8,3,8,3,8,3,114,226,
     0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,
@@ -1700,7 +1700,7 @@
     41,2,114,226,0,0,0,114,228,0,0,0,41,4,114,103,
     0,0,0,114,101,0,0,0,114,37,0,0,0,114,232,0,
     0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,
-    0,114,181,0,0,0,235,3,0,0,115,2,0,0,0,0,
+    0,114,181,0,0,0,236,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,
@@ -1717,21 +1717,21 @@
     99,101,41,62,41,2,114,50,0,0,0,114,108,0,0,0,
     41,2,114,167,0,0,0,114,186,0,0,0,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,218,11,109,111,100,
-    117,108,101,95,114,101,112,114,238,3,0,0,115,2,0,0,
+    117,108,101,95,114,101,112,114,239,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,83,0,41,
     2,78,84,114,4,0,0,0,41,2,114,103,0,0,0,114,
     122,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,
-    0,0,0,114,156,0,0,0,247,3,0,0,115,2,0,0,
+    0,0,0,114,156,0,0,0,248,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,83,0,41,2,
     78,114,32,0,0,0,114,4,0,0,0,41,2,114,103,0,
     0,0,114,122,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,198,0,0,0,250,3,0,0,115,
+    0,114,6,0,0,0,114,198,0,0,0,251,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,
@@ -1741,7 +1741,7 @@
     62,114,185,0,0,0,114,200,0,0,0,84,41,1,114,201,
     0,0,0,41,2,114,103,0,0,0,114,122,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,183,
-    0,0,0,253,3,0,0,115,2,0,0,0,0,1,122,25,
+    0,0,0,254,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,115,4,
@@ -1750,14 +1750,14 @@
     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,103,0,
     0,0,114,161,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,182,0,0,0,0,4,0,0,115,
+    0,114,6,0,0,0,114,182,0,0,0,1,4,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,
     83,0,41,1,78,114,4,0,0,0,41,2,114,103,0,0,
     0,114,186,0,0,0,114,4,0,0,0,114,4,0,0,0,
-    114,6,0,0,0,114,187,0,0,0,3,4,0,0,115,2,
+    114,6,0,0,0,114,187,0,0,0,4,4,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,0,0,
@@ -1775,7 +1775,7 @@
     32,123,33,114,125,41,4,114,117,0,0,0,114,132,0,0,
     0,114,228,0,0,0,114,188,0,0,0,41,2,114,103,0,
     0,0,114,122,0,0,0,114,4,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,189,0,0,0,6,4,0,0,115,
+    0,114,6,0,0,0,114,189,0,0,0,7,4,0,0,115,
     6,0,0,0,0,7,6,1,8,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,108,0,0,0,
@@ -1784,7 +1784,7 @@
     0,0,0,114,183,0,0,0,114,182,0,0,0,114,187,0,
     0,0,114,189,0,0,0,114,4,0,0,0,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,114,245,0,0,0,
-    234,3,0,0,115,16,0,0,0,8,1,8,3,12,9,8,
+    235,3,0,0,115,16,0,0,0,8,1,8,3,12,9,8,
     3,8,3,8,3,8,3,8,3,114,245,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,90,1,100,0,90,2,
@@ -1817,7 +1817,7 @@
     99,97,99,104,101,218,6,118,97,108,117,101,115,114,111,0,
     0,0,114,248,0,0,0,41,2,114,167,0,0,0,218,6,
     102,105,110,100,101,114,114,4,0,0,0,114,4,0,0,0,
-    114,6,0,0,0,114,248,0,0,0,24,4,0,0,115,6,
+    114,6,0,0,0,114,248,0,0,0,25,4,0,0,115,6,
     0,0,0,0,4,16,1,10,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,
@@ -1837,7 +1837,7 @@
     114,121,0,0,0,114,102,0,0,0,41,3,114,167,0,0,
     0,114,37,0,0,0,90,4,104,111,111,107,114,4,0,0,
     0,114,4,0,0,0,114,6,0,0,0,218,11,95,112,97,
-    116,104,95,104,111,111,107,115,32,4,0,0,115,16,0,0,
+    116,104,95,104,111,111,107,115,33,4,0,0,115,16,0,0,
     0,0,3,18,1,12,1,12,1,2,1,8,1,14,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,2,0,0,0,0,0,
@@ -1868,7 +1868,7 @@
     0,0,0,114,253,0,0,0,41,3,114,167,0,0,0,114,
     37,0,0,0,114,251,0,0,0,114,4,0,0,0,114,4,
     0,0,0,114,6,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,45,4,
+    105,109,112,111,114,116,101,114,95,99,97,99,104,101,46,4,
     0,0,115,22,0,0,0,0,8,8,1,2,1,12,1,14,
     3,6,1,2,1,14,1,14,1,10,1,16,1,122,31,80,
     97,116,104,70,105,110,100,101,114,46,95,112,97,116,104,95,
@@ -1886,7 +1886,7 @@
     0,0,0,114,251,0,0,0,114,123,0,0,0,114,124,0,
     0,0,114,161,0,0,0,114,4,0,0,0,114,4,0,0,
     0,114,6,0,0,0,218,16,95,108,101,103,97,99,121,95,
-    103,101,116,95,115,112,101,99,67,4,0,0,115,18,0,0,
+    103,101,116,95,115,112,101,99,68,4,0,0,115,18,0,0,
     0,0,4,10,1,16,2,10,1,4,1,8,1,12,1,12,
     1,6,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,
@@ -1917,7 +1917,7 @@
     110,97,109,101,115,112,97,99,101,95,112,97,116,104,90,5,
     101,110,116,114,121,114,251,0,0,0,114,161,0,0,0,114,
     124,0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,
-    0,0,0,218,9,95,103,101,116,95,115,112,101,99,82,4,
+    0,0,0,218,9,95,103,101,116,95,115,112,101,99,83,4,
     0,0,115,40,0,0,0,0,5,4,1,10,1,14,1,2,
     1,10,1,8,1,10,1,14,2,12,1,8,1,2,1,10,
     1,4,1,6,1,8,1,8,5,14,2,12,1,6,1,122,
@@ -1945,7 +1945,7 @@
     155,0,0,0,114,226,0,0,0,41,6,114,167,0,0,0,
     114,122,0,0,0,114,37,0,0,0,114,176,0,0,0,114,
     161,0,0,0,114,2,1,0,0,114,4,0,0,0,114,4,
-    0,0,0,114,6,0,0,0,114,177,0,0,0,114,4,0,
+    0,0,0,114,6,0,0,0,114,177,0,0,0,115,4,0,
     0,115,26,0,0,0,0,6,8,1,6,1,14,1,8,1,
     6,1,10,1,6,1,4,3,6,1,16,1,6,2,6,2,
     122,20,80,97,116,104,70,105,110,100,101,114,46,102,105,110,
@@ -1967,7 +1967,7 @@
     177,0,0,0,114,123,0,0,0,41,4,114,167,0,0,0,
     114,122,0,0,0,114,37,0,0,0,114,161,0,0,0,114,
     4,0,0,0,114,4,0,0,0,114,6,0,0,0,114,178,
-    0,0,0,138,4,0,0,115,8,0,0,0,0,8,12,1,
+    0,0,0,139,4,0,0,115,8,0,0,0,0,8,12,1,
     8,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,1,78,41,
     2,78,78,41,1,78,41,12,114,108,0,0,0,114,107,0,
@@ -1975,7 +1975,7 @@
     0,114,248,0,0,0,114,253,0,0,0,114,255,0,0,0,
     114,0,1,0,0,114,3,1,0,0,114,177,0,0,0,114,
     178,0,0,0,114,4,0,0,0,114,4,0,0,0,114,4,
-    0,0,0,114,6,0,0,0,114,247,0,0,0,20,4,0,
+    0,0,0,114,6,0,0,0,114,247,0,0,0,21,4,0,
     0,115,22,0,0,0,8,2,4,2,12,8,12,13,12,22,
     12,15,2,1,12,31,2,1,12,23,2,1,114,247,0,0,
     0,99,0,0,0,0,0,0,0,0,0,0,0,0,3,0,
@@ -2019,7 +2019,7 @@
     1,124,1,136,0,102,2,86,0,1,0,113,2,100,0,83,
     0,41,1,78,114,4,0,0,0,41,2,114,24,0,0,0,
     114,221,0,0,0,41,1,114,123,0,0,0,114,4,0,0,
-    0,114,6,0,0,0,114,223,0,0,0,167,4,0,0,115,
+    0,114,6,0,0,0,114,223,0,0,0,168,4,0,0,115,
     2,0,0,0,4,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,61,
@@ -2032,7 +2032,7 @@
     37,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,163,0,
     0,0,114,4,0,0,0,41,1,114,123,0,0,0,114,6,
-    0,0,0,114,181,0,0,0,161,4,0,0,115,16,0,0,
+    0,0,0,114,181,0,0,0,162,4,0,0,115,16,0,0,
     0,0,4,4,1,14,1,28,1,6,2,10,1,6,1,8,
     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,0,0,0,0,1,
@@ -2042,7 +2042,7 @@
     101,99,116,111,114,121,32,109,116,105,109,101,46,114,31,0,
     0,0,78,114,90,0,0,0,41,1,114,6,1,0,0,41,
     1,114,103,0,0,0,114,4,0,0,0,114,4,0,0,0,
-    114,6,0,0,0,114,248,0,0,0,175,4,0,0,115,2,
+    114,6,0,0,0,114,248,0,0,0,176,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,
@@ -2065,7 +2065,7 @@
     78,41,3,114,177,0,0,0,114,123,0,0,0,114,153,0,
     0,0,41,3,114,103,0,0,0,114,122,0,0,0,114,161,
     0,0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,
-    0,0,114,120,0,0,0,181,4,0,0,115,8,0,0,0,
+    0,0,114,120,0,0,0,182,4,0,0,115,8,0,0,0,
     0,7,10,1,8,1,8,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,
@@ -2076,7 +2076,7 @@
     0,0,0,114,162,0,0,0,114,122,0,0,0,114,37,0,
     0,0,90,4,115,109,115,108,114,176,0,0,0,114,123,0,
     0,0,114,4,0,0,0,114,4,0,0,0,114,6,0,0,
-    0,114,3,1,0,0,193,4,0,0,115,6,0,0,0,0,
+    0,114,3,1,0,0,194,4,0,0,115,6,0,0,0,0,
     1,10,1,12,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,67,0,0,
@@ -2130,7 +2130,7 @@
     116,104,114,221,0,0,0,114,162,0,0,0,90,13,105,110,
     105,116,95,102,105,108,101,110,97,109,101,90,9,102,117,108,
     108,95,112,97,116,104,114,161,0,0,0,114,4,0,0,0,
-    114,4,0,0,0,114,6,0,0,0,114,177,0,0,0,198,
+    114,4,0,0,0,114,6,0,0,0,114,177,0,0,0,199,
     4,0,0,115,70,0,0,0,0,5,4,1,14,1,2,1,
     24,1,14,1,10,1,10,1,8,1,6,2,6,1,6,1,
     10,2,6,1,4,2,8,1,12,1,16,1,8,1,10,1,
@@ -2162,7 +2162,7 @@
     0,146,2,113,4,83,0,114,4,0,0,0,41,1,114,91,
     0,0,0,41,2,114,24,0,0,0,90,2,102,110,114,4,
     0,0,0,114,4,0,0,0,114,6,0,0,0,250,9,60,
-    115,101,116,99,111,109,112,62,19,5,0,0,115,2,0,0,
+    115,101,116,99,111,109,112,62,20,5,0,0,115,2,0,0,
     0,6,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,78,41,
@@ -2179,7 +2179,7 @@
     111,110,116,101,110,116,115,114,243,0,0,0,114,101,0,0,
     0,114,233,0,0,0,114,221,0,0,0,90,8,110,101,119,
     95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114,
-    6,0,0,0,114,11,1,0,0,246,4,0,0,115,34,0,
+    6,0,0,0,114,11,1,0,0,247,4,0,0,115,34,0,
     0,0,0,2,6,1,2,1,22,1,20,3,10,3,12,1,
     12,7,6,1,10,1,16,1,4,1,18,2,4,1,14,1,
     6,1,12,1,122,22,70,105,108,101,70,105,110,100,101,114,
@@ -2217,7 +2217,7 @@
     1,114,37,0,0,0,41,2,114,167,0,0,0,114,10,1,
     0,0,114,4,0,0,0,114,6,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,31,5,0,0,115,6,0,0,0,0,
+    70,105,110,100,101,114,32,5,0,0,115,6,0,0,0,0,
     2,8,1,14,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,111,107,95,102,
@@ -2225,7 +2225,7 @@
     0,0,41,3,114,167,0,0,0,114,10,1,0,0,114,16,
     1,0,0,114,4,0,0,0,41,2,114,167,0,0,0,114,
     10,1,0,0,114,6,0,0,0,218,9,112,97,116,104,95,
-    104,111,111,107,21,5,0,0,115,4,0,0,0,0,10,14,
+    104,111,111,107,22,5,0,0,115,4,0,0,0,0,10,14,
     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,115,12,0,0,
@@ -2233,7 +2233,7 @@
     122,16,70,105,108,101,70,105,110,100,101,114,40,123,33,114,
     125,41,41,2,114,50,0,0,0,114,37,0,0,0,41,1,
     114,103,0,0,0,114,4,0,0,0,114,4,0,0,0,114,
-    6,0,0,0,114,242,0,0,0,39,5,0,0,115,2,0,
+    6,0,0,0,114,242,0,0,0,40,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,1,78,41,15,114,108,
     0,0,0,114,107,0,0,0,114,109,0,0,0,114,110,0,
@@ -2242,7 +2242,7 @@
     114,177,0,0,0,114,11,1,0,0,114,179,0,0,0,114,
     17,1,0,0,114,242,0,0,0,114,4,0,0,0,114,4,
     0,0,0,114,4,0,0,0,114,6,0,0,0,114,4,1,
-    0,0,152,4,0,0,115,20,0,0,0,8,7,4,2,8,
+    0,0,153,4,0,0,115,20,0,0,0,8,7,4,2,8,
     14,8,4,4,2,8,12,8,5,10,48,8,31,12,18,114,
     4,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,148,0,0,0,124,0,
@@ -2265,7 +2265,7 @@
     101,90,9,99,112,97,116,104,110,97,109,101,114,123,0,0,
     0,114,161,0,0,0,114,4,0,0,0,114,4,0,0,0,
     114,6,0,0,0,218,14,95,102,105,120,95,117,112,95,109,
-    111,100,117,108,101,45,5,0,0,115,34,0,0,0,0,2,
+    111,100,117,108,101,46,5,0,0,115,34,0,0,0,0,2,
     10,1,10,1,4,1,4,1,8,1,8,1,12,2,10,1,
     4,1,16,1,2,1,8,1,8,1,8,1,12,1,14,2,
     114,22,1,0,0,99,0,0,0,0,0,0,0,0,3,0,
@@ -2285,7 +2285,7 @@
     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,6,0,0,0,114,158,0,0,0,
-    68,5,0,0,115,8,0,0,0,0,5,12,1,8,1,8,
+    69,5,0,0,115,8,0,0,0,0,5,12,1,8,1,8,
     1,114,158,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,188,1,0,0,
     124,0,97,0,116,0,106,1,97,1,116,0,106,2,97,2,
@@ -2337,7 +2337,7 @@
     2,86,0,1,0,113,2,100,1,83,0,41,2,114,31,0,
     0,0,78,41,1,114,33,0,0,0,41,2,114,24,0,0,
     0,114,80,0,0,0,114,4,0,0,0,114,4,0,0,0,
-    114,6,0,0,0,114,223,0,0,0,104,5,0,0,115,2,
+    114,6,0,0,0,114,223,0,0,0,105,5,0,0,115,2,
     0,0,0,4,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,62,0,0,0,122,30,105,109,112,111,114,116,108,105,98,
@@ -2368,7 +2368,7 @@
     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,6,0,0,0,218,6,95,115,101,116,117,112,
-    79,5,0,0,115,82,0,0,0,0,8,4,1,6,1,6,
+    80,5,0,0,115,82,0,0,0,0,8,4,1,6,1,6,
     3,10,1,10,1,10,1,12,2,10,1,16,3,22,1,14,
     2,22,1,8,1,10,1,10,1,4,2,2,1,10,1,6,
     1,14,1,12,2,8,1,12,1,12,1,18,3,2,1,14,
@@ -2392,7 +2392,7 @@
     2,114,30,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,6,0,0,0,218,8,95,105,110,115,116,97,
-    108,108,147,5,0,0,115,16,0,0,0,0,2,8,1,6,
+    108,108,148,5,0,0,115,16,0,0,0,0,2,8,1,6,
     1,20,1,10,1,12,1,12,4,6,1,114,33,1,0,0,
     41,1,122,3,119,105,110,41,2,114,1,0,0,0,114,2,
     0,0,0,41,1,114,49,0,0,0,41,1,78,41,3,78,
@@ -2426,7 +2426,7 @@
     0,114,6,0,0,0,218,8,60,109,111,100,117,108,101,62,
     8,0,0,0,115,108,0,0,0,4,16,4,1,4,1,2,
     1,6,3,8,17,8,5,8,5,8,6,8,12,8,10,8,
-    9,8,5,8,7,10,22,10,116,16,1,12,2,4,1,4,
+    9,8,5,8,7,10,22,10,117,16,1,12,2,4,1,4,
     2,6,2,6,2,8,2,16,44,8,33,8,19,8,12,8,
     12,8,28,8,17,10,55,10,12,10,10,8,14,6,3,4,
     1,14,65,14,64,14,29,16,110,14,41,18,45,18,16,4,
diff --git a/Python/opcode_targets.h b/Python/opcode_targets.h
--- a/Python/opcode_targets.h
+++ b/Python/opcode_targets.h
@@ -156,7 +156,7 @@
     &&TARGET_SETUP_ASYNC_WITH,
     &&TARGET_FORMAT_VALUE,
     &&TARGET_BUILD_CONST_KEY_MAP,
-    &&_unknown_opcode,
+    &&TARGET_BUILD_STRING,
     &&_unknown_opcode,
     &&_unknown_opcode,
     &&_unknown_opcode,

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list