[Python-checkins] cpython: Issue #14582: Import returns the module returned by a loader instead

brett.cannon python-checkins at python.org
Sun Apr 15 21:25:22 CEST 2012


http://hg.python.org/cpython/rev/005fd1fe31ab
changeset:   76329:005fd1fe31ab
user:        Brett Cannon <brett at python.org>
date:        Sun Apr 15 15:24:04 2012 -0400
summary:
  Issue #14582: Import returns the module returned by a loader instead
of sys.modules when possible.

This is being done for two reasons. One is to gain a little bit of
performance by skipping an unnecessary dict lookup in sys.modules. But
the other (and main) reason is to be a little bit more clear in how
things should work from the perspective of import's interactions with
loaders. Otherwise loaders can easily forget to return the module even
though PEP 302 explicitly states they are expected to return the module
they loaded.

files:
  Lib/importlib/_bootstrap.py                |   16 +-
  Lib/importlib/test/import_/test_caching.py |   32 +-
  Misc/NEWS                                  |    3 +
  Python/import.c                            |   19 +-
  Python/importlib.h                         |  924 +++++----
  5 files changed, 494 insertions(+), 500 deletions(-)


diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -974,12 +974,12 @@
     loader = _find_module(name, path)
     if loader is None:
         raise ImportError(_ERR_MSG.format(name), name=name)
-    elif name not in sys.modules:
-        # The parent import may have already imported this module.
-        loader.load_module(name)
+    elif name in sys.modules:
+        # The parent module already imported this module.
+        module = sys.modules[name]
+    else:
+        module = loader.load_module(name)
         verbose_message('import {!r} # {!r}', name, loader)
-    # Backwards-compatibility; be nicer to skip the dict lookup.
-    module = sys.modules[name]
     if parent:
         # Set the module as an attribute on its parent.
         parent_module = sys.modules[parent]
@@ -1078,7 +1078,11 @@
         # Return up to the first dot in 'name'. This is complicated by the fact
         # that 'name' may be relative.
         if level == 0:
-            return sys.modules[name.partition('.')[0]]
+            index = name.find('.')
+            if index == -1:
+                return module
+            else:
+                return sys.modules[name[:index]]
         elif not name:
             return module
         else:
diff --git a/Lib/importlib/test/import_/test_caching.py b/Lib/importlib/test/import_/test_caching.py
--- a/Lib/importlib/test/import_/test_caching.py
+++ b/Lib/importlib/test/import_/test_caching.py
@@ -47,36 +47,12 @@
         mock.load_module = MethodType(load_module, mock)
         return mock
 
-    # __import__ inconsistent between loaders and built-in import when it comes
-    #   to when to use the module in sys.modules and when not to.
-    @import_util.importlib_only
-    def test_using_cache_after_loader(self):
-        # [from cache on return]
-        with self.create_mock('module') as mock:
+    def test_using_loader_return(self):
+        loader_return = 'hi there!'
+        with self.create_mock('module', return_=loader_return) as mock:
             with util.import_state(meta_path=[mock]):
                 module = import_util.import_('module')
-                self.assertEqual(id(module), id(sys.modules['module']))
-
-    # See test_using_cache_after_loader() for reasoning.
-    @import_util.importlib_only
-    def test_using_cache_for_assigning_to_attribute(self):
-        # [from cache to attribute]
-        with self.create_mock('pkg.__init__', 'pkg.module') as importer:
-            with util.import_state(meta_path=[importer]):
-                module = import_util.import_('pkg.module')
-                self.assertTrue(hasattr(module, 'module'))
-                self.assertTrue(id(module.module), id(sys.modules['pkg.module']))
-
-    # See test_using_cache_after_loader() for reasoning.
-    @import_util.importlib_only
-    def test_using_cache_for_fromlist(self):
-        # [from cache for fromlist]
-        with self.create_mock('pkg.__init__', 'pkg.module') as importer:
-            with util.import_state(meta_path=[importer]):
-                module = import_util.import_('pkg', fromlist=['module'])
-                self.assertTrue(hasattr(module, 'module'))
-                self.assertEqual(id(module.module),
-                                 id(sys.modules['pkg.module']))
+                self.assertEqual(module, loader_return)
 
 
 def test_main():
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
 Core and Builtins
 -----------------
 
+- Issue #14582: Import directly returns the module as returned by a loader when
+  possible instead of fetching it from sys.modules.
+
 - Issue #13889: Check and (if necessary) set FPU control word before calling
   any of the dtoa.c string <-> float conversion functions, on MSVC builds of
   Python.  This fixes issues when embedding Python in a Delphi app.
diff --git a/Python/import.c b/Python/import.c
--- a/Python/import.c
+++ b/Python/import.c
@@ -3019,15 +3019,22 @@
             Py_DECREF(partition);
 
             if (level == 0) {
-                final_mod = PyDict_GetItem(interp->modules, front);
+                if (PyUnicode_GET_LENGTH(name) ==
+                        PyUnicode_GET_LENGTH(front)) {
+                    final_mod = mod;
+                }
+                else {
+                    final_mod = PyDict_GetItem(interp->modules, front);
+                    if (final_mod == NULL) {
+                        PyErr_Format(PyExc_KeyError,
+                                     "%R not in sys.modules as expected", front);
+                    }
+                }
                 Py_DECREF(front);
                 if (final_mod == NULL) {
-                    PyErr_Format(PyExc_KeyError,
-                                 "%R not in sys.modules as expected", front);
+                    goto error_with_unlock;
                 }
-                else {
-                    Py_INCREF(final_mod);
-                }
+                Py_INCREF(final_mod);
             }
             else {
                 Py_ssize_t cut_off = PyUnicode_GetLength(name) -
diff --git a/Python/importlib.h b/Python/importlib.h
--- a/Python/importlib.h
+++ b/Python/importlib.h
@@ -2606,7 +2606,7 @@
     115,97,110,105,116,121,95,99,104,101,99,107,117,20,0,0,
     0,78,111,32,109,111,100,117,108,101,32,110,97,109,101,100,
     32,123,33,114,125,99,2,0,0,0,0,0,0,0,8,0,
-    0,0,20,0,0,0,67,0,0,0,115,205,1,0,0,100,
+    0,0,20,0,0,0,67,0,0,0,115,207,1,0,0,100,
     9,0,125,2,0,124,0,0,106,1,0,100,1,0,131,1,
     0,100,2,0,25,125,3,0,124,3,0,114,175,0,124,3,
     0,116,2,0,106,3,0,107,7,0,114,59,0,124,1,0,
@@ -2621,468 +2621,472 @@
     0,124,0,0,124,2,0,131,2,0,125,6,0,124,6,0,
     100,9,0,107,8,0,114,232,0,116,8,0,116,6,0,106,
     7,0,124,0,0,131,1,0,100,4,0,124,0,0,131,1,
-    1,130,1,0,110,47,0,124,0,0,116,2,0,106,3,0,
-    107,7,0,114,23,1,124,6,0,106,10,0,124,0,0,131,
-    1,0,1,116,11,0,100,5,0,124,0,0,124,6,0,131,
-    3,0,1,110,0,0,116,2,0,106,3,0,124,0,0,25,
-    125,7,0,124,3,0,114,87,1,116,2,0,106,3,0,124,
-    3,0,25,125,4,0,116,12,0,124,4,0,124,0,0,106,
-    1,0,100,1,0,131,1,0,100,6,0,25,124,7,0,131,
-    3,0,1,110,0,0,116,13,0,124,7,0,100,7,0,131,
-    2,0,12,115,118,1,124,7,0,106,14,0,100,9,0,107,
-    8,0,114,201,1,121,59,0,124,7,0,106,15,0,124,7,
-    0,95,14,0,116,13,0,124,7,0,100,8,0,131,2,0,
-    115,176,1,124,7,0,106,14,0,106,1,0,100,1,0,131,
-    1,0,100,2,0,25,124,7,0,95,14,0,110,0,0,87,
-    113,201,1,4,116,5,0,107,10,0,114,197,1,1,1,1,
-    89,113,201,1,88,110,0,0,124,7,0,83,40,10,0,0,
-    0,117,25,0,0,0,70,105,110,100,32,97,110,100,32,108,
-    111,97,100,32,116,104,101,32,109,111,100,117,108,101,46,117,
-    1,0,0,0,46,105,0,0,0,0,117,21,0,0,0,59,
-    32,123,125,32,105,115,32,110,111,116,32,97,32,112,97,99,
-    107,97,103,101,117,4,0,0,0,110,97,109,101,117,18,0,
-    0,0,105,109,112,111,114,116,32,123,33,114,125,32,35,32,
-    123,33,114,125,105,2,0,0,0,117,11,0,0,0,95,95,
-    112,97,99,107,97,103,101,95,95,117,8,0,0,0,95,95,
-    112,97,116,104,95,95,78,40,16,0,0,0,117,4,0,0,
-    0,78,111,110,101,117,10,0,0,0,114,112,97,114,116,105,
-    116,105,111,110,117,3,0,0,0,115,121,115,117,7,0,0,
-    0,109,111,100,117,108,101,115,117,8,0,0,0,95,95,112,
-    97,116,104,95,95,117,14,0,0,0,65,116,116,114,105,98,
-    117,116,101,69,114,114,111,114,117,8,0,0,0,95,69,82,
-    82,95,77,83,71,117,6,0,0,0,102,111,114,109,97,116,
-    117,11,0,0,0,73,109,112,111,114,116,69,114,114,111,114,
-    117,12,0,0,0,95,102,105,110,100,95,109,111,100,117,108,
-    101,117,11,0,0,0,108,111,97,100,95,109,111,100,117,108,
-    101,117,15,0,0,0,118,101,114,98,111,115,101,95,109,101,
-    115,115,97,103,101,117,7,0,0,0,115,101,116,97,116,116,
-    114,117,7,0,0,0,104,97,115,97,116,116,114,117,11,0,
-    0,0,95,95,112,97,99,107,97,103,101,95,95,117,8,0,
-    0,0,95,95,110,97,109,101,95,95,40,8,0,0,0,117,
-    4,0,0,0,110,97,109,101,117,7,0,0,0,105,109,112,
-    111,114,116,95,117,4,0,0,0,112,97,116,104,117,6,0,
-    0,0,112,97,114,101,110,116,117,13,0,0,0,112,97,114,
-    101,110,116,95,109,111,100,117,108,101,117,3,0,0,0,109,
-    115,103,117,6,0,0,0,108,111,97,100,101,114,117,6,0,
-    0,0,109,111,100,117,108,101,40,0,0,0,0,40,0,0,
-    0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,105,
-    109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,116,
-    114,97,112,62,117,14,0,0,0,95,102,105,110,100,95,97,
-    110,100,95,108,111,97,100,189,3,0,0,115,62,0,0,0,
-    0,2,6,1,19,1,6,1,15,1,13,2,15,1,11,2,
-    13,1,3,1,13,1,13,1,22,1,26,1,15,1,12,1,
-    30,1,15,2,13,1,19,2,13,1,6,2,13,1,32,2,
-    31,1,3,1,12,1,15,1,32,1,13,1,8,1,117,14,
-    0,0,0,95,102,105,110,100,95,97,110,100,95,108,111,97,
-    100,105,0,0,0,0,99,3,0,0,0,0,0,0,0,5,
-    0,0,0,18,0,0,0,67,0,0,0,115,172,0,0,0,
-    116,0,0,124,0,0,124,1,0,124,2,0,131,3,0,1,
-    124,2,0,100,1,0,107,4,0,114,49,0,116,1,0,124,
-    0,0,124,1,0,124,2,0,131,3,0,125,0,0,110,0,
-    0,116,2,0,131,0,0,143,108,0,1,121,69,0,116,3,
-    0,106,4,0,124,0,0,25,125,3,0,124,3,0,100,4,
-    0,107,8,0,114,123,0,100,2,0,106,6,0,124,0,0,
-    131,1,0,125,4,0,116,7,0,124,4,0,100,3,0,124,
-    0,0,131,1,1,130,1,0,110,0,0,124,3,0,83,87,
-    110,18,0,4,116,8,0,107,10,0,114,148,0,1,1,1,
-    89,110,1,0,88,116,9,0,124,0,0,116,10,0,131,2,
-    0,83,87,100,4,0,81,88,100,4,0,83,40,5,0,0,
-    0,117,50,1,0,0,73,109,112,111,114,116,32,97,110,100,
-    32,114,101,116,117,114,110,32,116,104,101,32,109,111,100,117,
-    108,101,32,98,97,115,101,100,32,111,110,32,105,116,115,32,
-    110,97,109,101,44,32,116,104,101,32,112,97,99,107,97,103,
-    101,32,116,104,101,32,99,97,108,108,32,105,115,10,32,32,
-    32,32,98,101,105,110,103,32,109,97,100,101,32,102,114,111,
-    109,44,32,97,110,100,32,116,104,101,32,108,101,118,101,108,
-    32,97,100,106,117,115,116,109,101,110,116,46,10,10,32,32,
-    32,32,84,104,105,115,32,102,117,110,99,116,105,111,110,32,
-    114,101,112,114,101,115,101,110,116,115,32,116,104,101,32,103,
-    114,101,97,116,101,115,116,32,99,111,109,109,111,110,32,100,
-    101,110,111,109,105,110,97,116,111,114,32,111,102,32,102,117,
-    110,99,116,105,111,110,97,108,105,116,121,10,32,32,32,32,
-    98,101,116,119,101,101,110,32,105,109,112,111,114,116,95,109,
-    111,100,117,108,101,32,97,110,100,32,95,95,105,109,112,111,
-    114,116,95,95,46,32,84,104,105,115,32,105,110,99,108,117,
-    100,101,115,32,115,101,116,116,105,110,103,32,95,95,112,97,
-    99,107,97,103,101,95,95,32,105,102,10,32,32,32,32,116,
-    104,101,32,108,111,97,100,101,114,32,100,105,100,32,110,111,
-    116,46,10,10,32,32,32,32,105,0,0,0,0,117,40,0,
-    0,0,105,109,112,111,114,116,32,111,102,32,123,125,32,104,
-    97,108,116,101,100,59,32,78,111,110,101,32,105,110,32,115,
-    121,115,46,109,111,100,117,108,101,115,117,4,0,0,0,110,
-    97,109,101,78,40,11,0,0,0,117,13,0,0,0,95,115,
-    97,110,105,116,121,95,99,104,101,99,107,117,13,0,0,0,
-    95,114,101,115,111,108,118,101,95,110,97,109,101,117,18,0,
-    0,0,95,73,109,112,111,114,116,76,111,99,107,67,111,110,
-    116,101,120,116,117,3,0,0,0,115,121,115,117,7,0,0,
-    0,109,111,100,117,108,101,115,117,4,0,0,0,78,111,110,
-    101,117,6,0,0,0,102,111,114,109,97,116,117,11,0,0,
-    0,73,109,112,111,114,116,69,114,114,111,114,117,8,0,0,
-    0,75,101,121,69,114,114,111,114,117,14,0,0,0,95,102,
-    105,110,100,95,97,110,100,95,108,111,97,100,117,11,0,0,
-    0,95,103,99,100,95,105,109,112,111,114,116,40,5,0,0,
-    0,117,4,0,0,0,110,97,109,101,117,7,0,0,0,112,
-    97,99,107,97,103,101,117,5,0,0,0,108,101,118,101,108,
-    117,6,0,0,0,109,111,100,117,108,101,117,7,0,0,0,
-    109,101,115,115,97,103,101,40,0,0,0,0,40,0,0,0,
-    0,117,29,0,0,0,60,102,114,111,122,101,110,32,105,109,
+    1,130,1,0,110,62,0,124,0,0,116,2,0,106,3,0,
+    107,6,0,114,7,1,116,2,0,106,3,0,124,0,0,25,
+    125,7,0,110,31,0,124,6,0,106,10,0,124,0,0,131,
+    1,0,125,7,0,116,11,0,100,5,0,124,0,0,124,6,
+    0,131,3,0,1,124,3,0,114,89,1,116,2,0,106,3,
+    0,124,3,0,25,125,4,0,116,12,0,124,4,0,124,0,
+    0,106,1,0,100,1,0,131,1,0,100,6,0,25,124,7,
+    0,131,3,0,1,110,0,0,116,13,0,124,7,0,100,7,
+    0,131,2,0,12,115,120,1,124,7,0,106,14,0,100,9,
+    0,107,8,0,114,203,1,121,59,0,124,7,0,106,15,0,
+    124,7,0,95,14,0,116,13,0,124,7,0,100,8,0,131,
+    2,0,115,178,1,124,7,0,106,14,0,106,1,0,100,1,
+    0,131,1,0,100,2,0,25,124,7,0,95,14,0,110,0,
+    0,87,113,203,1,4,116,5,0,107,10,0,114,199,1,1,
+    1,1,89,113,203,1,88,110,0,0,124,7,0,83,40,10,
+    0,0,0,117,25,0,0,0,70,105,110,100,32,97,110,100,
+    32,108,111,97,100,32,116,104,101,32,109,111,100,117,108,101,
+    46,117,1,0,0,0,46,105,0,0,0,0,117,21,0,0,
+    0,59,32,123,125,32,105,115,32,110,111,116,32,97,32,112,
+    97,99,107,97,103,101,117,4,0,0,0,110,97,109,101,117,
+    18,0,0,0,105,109,112,111,114,116,32,123,33,114,125,32,
+    35,32,123,33,114,125,105,2,0,0,0,117,11,0,0,0,
+    95,95,112,97,99,107,97,103,101,95,95,117,8,0,0,0,
+    95,95,112,97,116,104,95,95,78,40,16,0,0,0,117,4,
+    0,0,0,78,111,110,101,117,10,0,0,0,114,112,97,114,
+    116,105,116,105,111,110,117,3,0,0,0,115,121,115,117,7,
+    0,0,0,109,111,100,117,108,101,115,117,8,0,0,0,95,
+    95,112,97,116,104,95,95,117,14,0,0,0,65,116,116,114,
+    105,98,117,116,101,69,114,114,111,114,117,8,0,0,0,95,
+    69,82,82,95,77,83,71,117,6,0,0,0,102,111,114,109,
+    97,116,117,11,0,0,0,73,109,112,111,114,116,69,114,114,
+    111,114,117,12,0,0,0,95,102,105,110,100,95,109,111,100,
+    117,108,101,117,11,0,0,0,108,111,97,100,95,109,111,100,
+    117,108,101,117,15,0,0,0,118,101,114,98,111,115,101,95,
+    109,101,115,115,97,103,101,117,7,0,0,0,115,101,116,97,
+    116,116,114,117,7,0,0,0,104,97,115,97,116,116,114,117,
+    11,0,0,0,95,95,112,97,99,107,97,103,101,95,95,117,
+    8,0,0,0,95,95,110,97,109,101,95,95,40,8,0,0,
+    0,117,4,0,0,0,110,97,109,101,117,7,0,0,0,105,
+    109,112,111,114,116,95,117,4,0,0,0,112,97,116,104,117,
+    6,0,0,0,112,97,114,101,110,116,117,13,0,0,0,112,
+    97,114,101,110,116,95,109,111,100,117,108,101,117,3,0,0,
+    0,109,115,103,117,6,0,0,0,108,111,97,100,101,114,117,
+    6,0,0,0,109,111,100,117,108,101,40,0,0,0,0,40,
+    0,0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,
+    32,105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,
+    115,116,114,97,112,62,117,14,0,0,0,95,102,105,110,100,
+    95,97,110,100,95,108,111,97,100,189,3,0,0,115,62,0,
+    0,0,0,2,6,1,19,1,6,1,15,1,13,2,15,1,
+    11,2,13,1,3,1,13,1,13,1,22,1,26,1,15,1,
+    12,1,30,1,15,2,16,2,15,1,16,1,6,2,13,1,
+    32,2,31,1,3,1,12,1,15,1,32,1,13,1,8,1,
+    117,14,0,0,0,95,102,105,110,100,95,97,110,100,95,108,
+    111,97,100,105,0,0,0,0,99,3,0,0,0,0,0,0,
+    0,5,0,0,0,18,0,0,0,67,0,0,0,115,172,0,
+    0,0,116,0,0,124,0,0,124,1,0,124,2,0,131,3,
+    0,1,124,2,0,100,1,0,107,4,0,114,49,0,116,1,
+    0,124,0,0,124,1,0,124,2,0,131,3,0,125,0,0,
+    110,0,0,116,2,0,131,0,0,143,108,0,1,121,69,0,
+    116,3,0,106,4,0,124,0,0,25,125,3,0,124,3,0,
+    100,4,0,107,8,0,114,123,0,100,2,0,106,6,0,124,
+    0,0,131,1,0,125,4,0,116,7,0,124,4,0,100,3,
+    0,124,0,0,131,1,1,130,1,0,110,0,0,124,3,0,
+    83,87,110,18,0,4,116,8,0,107,10,0,114,148,0,1,
+    1,1,89,110,1,0,88,116,9,0,124,0,0,116,10,0,
+    131,2,0,83,87,100,4,0,81,88,100,4,0,83,40,5,
+    0,0,0,117,50,1,0,0,73,109,112,111,114,116,32,97,
+    110,100,32,114,101,116,117,114,110,32,116,104,101,32,109,111,
+    100,117,108,101,32,98,97,115,101,100,32,111,110,32,105,116,
+    115,32,110,97,109,101,44,32,116,104,101,32,112,97,99,107,
+    97,103,101,32,116,104,101,32,99,97,108,108,32,105,115,10,
+    32,32,32,32,98,101,105,110,103,32,109,97,100,101,32,102,
+    114,111,109,44,32,97,110,100,32,116,104,101,32,108,101,118,
+    101,108,32,97,100,106,117,115,116,109,101,110,116,46,10,10,
+    32,32,32,32,84,104,105,115,32,102,117,110,99,116,105,111,
+    110,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101,
+    32,103,114,101,97,116,101,115,116,32,99,111,109,109,111,110,
+    32,100,101,110,111,109,105,110,97,116,111,114,32,111,102,32,
+    102,117,110,99,116,105,111,110,97,108,105,116,121,10,32,32,
+    32,32,98,101,116,119,101,101,110,32,105,109,112,111,114,116,
+    95,109,111,100,117,108,101,32,97,110,100,32,95,95,105,109,
+    112,111,114,116,95,95,46,32,84,104,105,115,32,105,110,99,
+    108,117,100,101,115,32,115,101,116,116,105,110,103,32,95,95,
+    112,97,99,107,97,103,101,95,95,32,105,102,10,32,32,32,
+    32,116,104,101,32,108,111,97,100,101,114,32,100,105,100,32,
+    110,111,116,46,10,10,32,32,32,32,105,0,0,0,0,117,
+    40,0,0,0,105,109,112,111,114,116,32,111,102,32,123,125,
+    32,104,97,108,116,101,100,59,32,78,111,110,101,32,105,110,
+    32,115,121,115,46,109,111,100,117,108,101,115,117,4,0,0,
+    0,110,97,109,101,78,40,11,0,0,0,117,13,0,0,0,
+    95,115,97,110,105,116,121,95,99,104,101,99,107,117,13,0,
+    0,0,95,114,101,115,111,108,118,101,95,110,97,109,101,117,
+    18,0,0,0,95,73,109,112,111,114,116,76,111,99,107,67,
+    111,110,116,101,120,116,117,3,0,0,0,115,121,115,117,7,
+    0,0,0,109,111,100,117,108,101,115,117,4,0,0,0,78,
+    111,110,101,117,6,0,0,0,102,111,114,109,97,116,117,11,
+    0,0,0,73,109,112,111,114,116,69,114,114,111,114,117,8,
+    0,0,0,75,101,121,69,114,114,111,114,117,14,0,0,0,
+    95,102,105,110,100,95,97,110,100,95,108,111,97,100,117,11,
+    0,0,0,95,103,99,100,95,105,109,112,111,114,116,40,5,
+    0,0,0,117,4,0,0,0,110,97,109,101,117,7,0,0,
+    0,112,97,99,107,97,103,101,117,5,0,0,0,108,101,118,
+    101,108,117,6,0,0,0,109,111,100,117,108,101,117,7,0,
+    0,0,109,101,115,115,97,103,101,40,0,0,0,0,40,0,
+    0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,
+    105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,
+    116,114,97,112,62,117,11,0,0,0,95,103,99,100,95,105,
+    109,112,111,114,116,230,3,0,0,115,28,0,0,0,0,9,
+    16,1,12,1,21,1,10,1,3,1,13,1,12,1,6,1,
+    9,1,21,1,8,1,13,1,5,1,117,11,0,0,0,95,
+    103,99,100,95,105,109,112,111,114,116,99,3,0,0,0,0,
+    0,0,0,4,0,0,0,13,0,0,0,3,0,0,0,115,
+    179,0,0,0,116,0,0,136,0,0,100,1,0,131,2,0,
+    114,175,0,100,2,0,124,1,0,107,6,0,114,86,0,116,
+    0,0,136,0,0,100,3,0,131,2,0,114,86,0,116,1,
+    0,124,1,0,131,1,0,125,1,0,124,1,0,106,2,0,
+    100,2,0,131,1,0,1,124,1,0,106,3,0,136,0,0,
+    106,4,0,131,1,0,1,110,0,0,120,86,0,135,0,0,
+    102,1,0,100,4,0,100,5,0,134,0,0,124,1,0,68,
+    131,1,0,68,93,56,0,125,3,0,121,29,0,124,2,0,
+    100,6,0,106,5,0,136,0,0,106,6,0,124,3,0,131,
+    2,0,131,1,0,1,87,113,112,0,4,116,7,0,107,10,
+    0,114,167,0,1,1,1,89,113,112,0,88,113,112,0,87,
+    110,0,0,136,0,0,83,40,7,0,0,0,117,238,0,0,
+    0,70,105,103,117,114,101,32,111,117,116,32,119,104,97,116,
+    32,95,95,105,109,112,111,114,116,95,95,32,115,104,111,117,
+    108,100,32,114,101,116,117,114,110,46,10,10,32,32,32,32,
+    84,104,101,32,105,109,112,111,114,116,95,32,112,97,114,97,
+    109,101,116,101,114,32,105,115,32,97,32,99,97,108,108,97,
+    98,108,101,32,119,104,105,99,104,32,116,97,107,101,115,32,
+    116,104,101,32,110,97,109,101,32,111,102,32,109,111,100,117,
+    108,101,32,116,111,10,32,32,32,32,105,109,112,111,114,116,
+    46,32,73,116,32,105,115,32,114,101,113,117,105,114,101,100,
+    32,116,111,32,100,101,99,111,117,112,108,101,32,116,104,101,
+    32,102,117,110,99,116,105,111,110,32,102,114,111,109,32,97,
+    115,115,117,109,105,110,103,32,105,109,112,111,114,116,108,105,
+    98,39,115,10,32,32,32,32,105,109,112,111,114,116,32,105,
+    109,112,108,101,109,101,110,116,97,116,105,111,110,32,105,115,
+    32,100,101,115,105,114,101,100,46,10,10,32,32,32,32,117,
+    8,0,0,0,95,95,112,97,116,104,95,95,117,1,0,0,
+    0,42,117,7,0,0,0,95,95,97,108,108,95,95,99,1,
+    0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,51,
+    0,0,0,115,36,0,0,0,124,0,0,93,26,0,125,1,
+    0,116,0,0,136,0,0,124,1,0,131,2,0,115,3,0,
+    124,1,0,86,1,113,3,0,100,0,0,83,40,1,0,0,
+    0,78,40,1,0,0,0,117,7,0,0,0,104,97,115,97,
+    116,116,114,40,2,0,0,0,117,2,0,0,0,46,48,117,
+    1,0,0,0,121,40,1,0,0,0,117,6,0,0,0,109,
+    111,100,117,108,101,40,0,0,0,0,117,29,0,0,0,60,
+    102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,98,
+    46,95,98,111,111,116,115,116,114,97,112,62,117,9,0,0,
+    0,60,103,101,110,101,120,112,114,62,14,4,0,0,115,2,
+    0,0,0,6,0,117,35,0,0,0,95,104,97,110,100,108,
+    101,95,102,114,111,109,108,105,115,116,46,60,108,111,99,97,
+    108,115,62,46,60,103,101,110,101,120,112,114,62,117,7,0,
+    0,0,123,48,125,46,123,49,125,40,8,0,0,0,117,7,
+    0,0,0,104,97,115,97,116,116,114,117,4,0,0,0,108,
+    105,115,116,117,6,0,0,0,114,101,109,111,118,101,117,6,
+    0,0,0,101,120,116,101,110,100,117,7,0,0,0,95,95,
+    97,108,108,95,95,117,6,0,0,0,102,111,114,109,97,116,
+    117,8,0,0,0,95,95,110,97,109,101,95,95,117,11,0,
+    0,0,73,109,112,111,114,116,69,114,114,111,114,40,4,0,
+    0,0,117,6,0,0,0,109,111,100,117,108,101,117,8,0,
+    0,0,102,114,111,109,108,105,115,116,117,7,0,0,0,105,
+    109,112,111,114,116,95,117,1,0,0,0,120,40,0,0,0,
+    0,40,1,0,0,0,117,6,0,0,0,109,111,100,117,108,
+    101,117,29,0,0,0,60,102,114,111,122,101,110,32,105,109,
     112,111,114,116,108,105,98,46,95,98,111,111,116,115,116,114,
-    97,112,62,117,11,0,0,0,95,103,99,100,95,105,109,112,
-    111,114,116,230,3,0,0,115,28,0,0,0,0,9,16,1,
-    12,1,21,1,10,1,3,1,13,1,12,1,6,1,9,1,
-    21,1,8,1,13,1,5,1,117,11,0,0,0,95,103,99,
-    100,95,105,109,112,111,114,116,99,3,0,0,0,0,0,0,
-    0,4,0,0,0,13,0,0,0,3,0,0,0,115,179,0,
-    0,0,116,0,0,136,0,0,100,1,0,131,2,0,114,175,
-    0,100,2,0,124,1,0,107,6,0,114,86,0,116,0,0,
-    136,0,0,100,3,0,131,2,0,114,86,0,116,1,0,124,
-    1,0,131,1,0,125,1,0,124,1,0,106,2,0,100,2,
-    0,131,1,0,1,124,1,0,106,3,0,136,0,0,106,4,
-    0,131,1,0,1,110,0,0,120,86,0,135,0,0,102,1,
-    0,100,4,0,100,5,0,134,0,0,124,1,0,68,131,1,
-    0,68,93,56,0,125,3,0,121,29,0,124,2,0,100,6,
-    0,106,5,0,136,0,0,106,6,0,124,3,0,131,2,0,
-    131,1,0,1,87,113,112,0,4,116,7,0,107,10,0,114,
-    167,0,1,1,1,89,113,112,0,88,113,112,0,87,110,0,
-    0,136,0,0,83,40,7,0,0,0,117,238,0,0,0,70,
-    105,103,117,114,101,32,111,117,116,32,119,104,97,116,32,95,
-    95,105,109,112,111,114,116,95,95,32,115,104,111,117,108,100,
-    32,114,101,116,117,114,110,46,10,10,32,32,32,32,84,104,
-    101,32,105,109,112,111,114,116,95,32,112,97,114,97,109,101,
-    116,101,114,32,105,115,32,97,32,99,97,108,108,97,98,108,
-    101,32,119,104,105,99,104,32,116,97,107,101,115,32,116,104,
-    101,32,110,97,109,101,32,111,102,32,109,111,100,117,108,101,
-    32,116,111,10,32,32,32,32,105,109,112,111,114,116,46,32,
-    73,116,32,105,115,32,114,101,113,117,105,114,101,100,32,116,
-    111,32,100,101,99,111,117,112,108,101,32,116,104,101,32,102,
-    117,110,99,116,105,111,110,32,102,114,111,109,32,97,115,115,
-    117,109,105,110,103,32,105,109,112,111,114,116,108,105,98,39,
-    115,10,32,32,32,32,105,109,112,111,114,116,32,105,109,112,
-    108,101,109,101,110,116,97,116,105,111,110,32,105,115,32,100,
-    101,115,105,114,101,100,46,10,10,32,32,32,32,117,8,0,
-    0,0,95,95,112,97,116,104,95,95,117,1,0,0,0,42,
-    117,7,0,0,0,95,95,97,108,108,95,95,99,1,0,0,
-    0,0,0,0,0,2,0,0,0,4,0,0,0,51,0,0,
-    0,115,36,0,0,0,124,0,0,93,26,0,125,1,0,116,
-    0,0,136,0,0,124,1,0,131,2,0,115,3,0,124,1,
-    0,86,1,113,3,0,100,0,0,83,40,1,0,0,0,78,
-    40,1,0,0,0,117,7,0,0,0,104,97,115,97,116,116,
-    114,40,2,0,0,0,117,2,0,0,0,46,48,117,1,0,
-    0,0,121,40,1,0,0,0,117,6,0,0,0,109,111,100,
-    117,108,101,40,0,0,0,0,117,29,0,0,0,60,102,114,
+    97,112,62,117,16,0,0,0,95,104,97,110,100,108,101,95,
+    102,114,111,109,108,105,115,116,255,3,0,0,115,22,0,0,
+    0,0,10,15,1,27,1,12,1,13,1,19,1,32,1,3,
+    1,29,1,13,1,12,1,117,16,0,0,0,95,104,97,110,
+    100,108,101,95,102,114,111,109,108,105,115,116,99,1,0,0,
+    0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0,
+    0,115,78,0,0,0,124,0,0,106,0,0,100,1,0,131,
+    1,0,125,1,0,124,1,0,100,6,0,107,8,0,114,74,
+    0,124,0,0,100,2,0,25,125,1,0,100,3,0,124,0,
+    0,107,7,0,114,74,0,124,1,0,106,2,0,100,4,0,
+    131,1,0,100,5,0,25,125,1,0,113,74,0,110,0,0,
+    124,1,0,83,40,7,0,0,0,117,167,0,0,0,67,97,
+    108,99,117,108,97,116,101,32,119,104,97,116,32,95,95,112,
+    97,99,107,97,103,101,95,95,32,115,104,111,117,108,100,32,
+    98,101,46,10,10,32,32,32,32,95,95,112,97,99,107,97,
+    103,101,95,95,32,105,115,32,110,111,116,32,103,117,97,114,
+    97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,102,
+    105,110,101,100,32,111,114,32,99,111,117,108,100,32,98,101,
+    32,115,101,116,32,116,111,32,78,111,110,101,10,32,32,32,
+    32,116,111,32,114,101,112,114,101,115,101,110,116,32,116,104,
+    97,116,32,105,116,115,32,112,114,111,112,101,114,32,118,97,
+    108,117,101,32,105,115,32,117,110,107,110,111,119,110,46,10,
+    10,32,32,32,32,117,11,0,0,0,95,95,112,97,99,107,
+    97,103,101,95,95,117,8,0,0,0,95,95,110,97,109,101,
+    95,95,117,8,0,0,0,95,95,112,97,116,104,95,95,117,
+    1,0,0,0,46,105,0,0,0,0,78,40,3,0,0,0,
+    117,3,0,0,0,103,101,116,117,4,0,0,0,78,111,110,
+    101,117,10,0,0,0,114,112,97,114,116,105,116,105,111,110,
+    40,2,0,0,0,117,7,0,0,0,103,108,111,98,97,108,
+    115,117,7,0,0,0,112,97,99,107,97,103,101,40,0,0,
+    0,0,40,0,0,0,0,117,29,0,0,0,60,102,114,111,
+    122,101,110,32,105,109,112,111,114,116,108,105,98,46,95,98,
+    111,111,116,115,116,114,97,112,62,117,17,0,0,0,95,99,
+    97,108,99,95,95,95,112,97,99,107,97,103,101,95,95,22,
+    4,0,0,115,12,0,0,0,0,7,15,1,12,1,10,1,
+    12,1,25,1,117,17,0,0,0,95,99,97,108,99,95,95,
+    95,112,97,99,107,97,103,101,95,95,99,5,0,0,0,0,
+    0,0,0,9,0,0,0,5,0,0,0,67,0,0,0,115,
+    235,0,0,0,124,4,0,100,1,0,107,2,0,114,27,0,
+    116,0,0,124,0,0,131,1,0,125,5,0,110,30,0,116,
+    1,0,124,1,0,131,1,0,125,6,0,116,0,0,124,0,
+    0,124,6,0,124,4,0,131,3,0,125,5,0,124,3,0,
+    115,215,0,124,4,0,100,1,0,107,2,0,114,130,0,124,
+    0,0,106,2,0,100,2,0,131,1,0,125,7,0,124,7,
+    0,100,5,0,107,2,0,114,106,0,124,5,0,83,116,3,
+    0,106,4,0,124,0,0,100,4,0,124,7,0,133,2,0,
+    25,25,83,113,231,0,124,0,0,115,140,0,124,5,0,83,
+    116,5,0,124,0,0,131,1,0,116,5,0,124,0,0,106,
+    6,0,100,2,0,131,1,0,100,1,0,25,131,1,0,24,
+    125,8,0,116,3,0,106,4,0,124,5,0,106,7,0,100,
+    4,0,116,5,0,124,5,0,106,7,0,131,1,0,124,8,
+    0,24,133,2,0,25,25,83,110,16,0,116,8,0,124,5,
+    0,124,3,0,116,0,0,131,3,0,83,100,4,0,83,40,
+    6,0,0,0,117,214,1,0,0,73,109,112,111,114,116,32,
+    97,32,109,111,100,117,108,101,46,10,10,32,32,32,32,84,
+    104,101,32,39,103,108,111,98,97,108,115,39,32,97,114,103,
+    117,109,101,110,116,32,105,115,32,117,115,101,100,32,116,111,
+    32,105,110,102,101,114,32,119,104,101,114,101,32,116,104,101,
+    32,105,109,112,111,114,116,32,105,115,32,111,99,99,117,114,
+    105,110,103,32,102,114,111,109,10,32,32,32,32,116,111,32,
+    104,97,110,100,108,101,32,114,101,108,97,116,105,118,101,32,
+    105,109,112,111,114,116,115,46,32,84,104,101,32,39,108,111,
+    99,97,108,115,39,32,97,114,103,117,109,101,110,116,32,105,
+    115,32,105,103,110,111,114,101,100,46,32,84,104,101,10,32,
+    32,32,32,39,102,114,111,109,108,105,115,116,39,32,97,114,
+    103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,115,
+    32,119,104,97,116,32,115,104,111,117,108,100,32,101,120,105,
+    115,116,32,97,115,32,97,116,116,114,105,98,117,116,101,115,
+    32,111,110,32,116,104,101,32,109,111,100,117,108,101,10,32,
+    32,32,32,98,101,105,110,103,32,105,109,112,111,114,116,101,
+    100,32,40,101,46,103,46,32,96,96,102,114,111,109,32,109,
+    111,100,117,108,101,32,105,109,112,111,114,116,32,60,102,114,
+    111,109,108,105,115,116,62,96,96,41,46,32,32,84,104,101,
+    32,39,108,101,118,101,108,39,10,32,32,32,32,97,114,103,
+    117,109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,
+    32,116,104,101,32,112,97,99,107,97,103,101,32,108,111,99,
+    97,116,105,111,110,32,116,111,32,105,109,112,111,114,116,32,
+    102,114,111,109,32,105,110,32,97,32,114,101,108,97,116,105,
+    118,101,10,32,32,32,32,105,109,112,111,114,116,32,40,101,
+    46,103,46,32,96,96,102,114,111,109,32,46,46,112,107,103,
+    32,105,109,112,111,114,116,32,109,111,100,96,96,32,119,111,
+    117,108,100,32,104,97,118,101,32,97,32,39,108,101,118,101,
+    108,39,32,111,102,32,50,41,46,10,10,32,32,32,32,105,
+    0,0,0,0,117,1,0,0,0,46,105,1,0,0,0,78,
+    105,255,255,255,255,40,9,0,0,0,117,11,0,0,0,95,
+    103,99,100,95,105,109,112,111,114,116,117,17,0,0,0,95,
+    99,97,108,99,95,95,95,112,97,99,107,97,103,101,95,95,
+    117,4,0,0,0,102,105,110,100,117,3,0,0,0,115,121,
+    115,117,7,0,0,0,109,111,100,117,108,101,115,117,3,0,
+    0,0,108,101,110,117,9,0,0,0,112,97,114,116,105,116,
+    105,111,110,117,8,0,0,0,95,95,110,97,109,101,95,95,
+    117,16,0,0,0,95,104,97,110,100,108,101,95,102,114,111,
+    109,108,105,115,116,40,9,0,0,0,117,4,0,0,0,110,
+    97,109,101,117,7,0,0,0,103,108,111,98,97,108,115,117,
+    6,0,0,0,108,111,99,97,108,115,117,8,0,0,0,102,
+    114,111,109,108,105,115,116,117,5,0,0,0,108,101,118,101,
+    108,117,6,0,0,0,109,111,100,117,108,101,117,7,0,0,
+    0,112,97,99,107,97,103,101,117,5,0,0,0,105,110,100,
+    101,120,117,7,0,0,0,99,117,116,95,111,102,102,40,0,
+    0,0,0,40,0,0,0,0,117,29,0,0,0,60,102,114,
     111,122,101,110,32,105,109,112,111,114,116,108,105,98,46,95,
-    98,111,111,116,115,116,114,97,112,62,117,9,0,0,0,60,
-    103,101,110,101,120,112,114,62,14,4,0,0,115,2,0,0,
-    0,6,0,117,35,0,0,0,95,104,97,110,100,108,101,95,
-    102,114,111,109,108,105,115,116,46,60,108,111,99,97,108,115,
-    62,46,60,103,101,110,101,120,112,114,62,117,7,0,0,0,
-    123,48,125,46,123,49,125,40,8,0,0,0,117,7,0,0,
-    0,104,97,115,97,116,116,114,117,4,0,0,0,108,105,115,
-    116,117,6,0,0,0,114,101,109,111,118,101,117,6,0,0,
-    0,101,120,116,101,110,100,117,7,0,0,0,95,95,97,108,
-    108,95,95,117,6,0,0,0,102,111,114,109,97,116,117,8,
-    0,0,0,95,95,110,97,109,101,95,95,117,11,0,0,0,
-    73,109,112,111,114,116,69,114,114,111,114,40,4,0,0,0,
-    117,6,0,0,0,109,111,100,117,108,101,117,8,0,0,0,
-    102,114,111,109,108,105,115,116,117,7,0,0,0,105,109,112,
-    111,114,116,95,117,1,0,0,0,120,40,0,0,0,0,40,
-    1,0,0,0,117,6,0,0,0,109,111,100,117,108,101,117,
+    98,111,111,116,115,116,114,97,112,62,117,10,0,0,0,95,
+    95,105,109,112,111,114,116,95,95,37,4,0,0,115,30,0,
+    0,0,0,11,12,1,15,2,12,1,18,1,6,3,12,1,
+    15,1,12,1,4,2,24,1,6,1,4,2,35,1,40,2,
+    117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,99,
+    2,0,0,0,0,0,0,0,9,0,0,0,12,0,0,0,
+    67,0,0,0,115,109,1,0,0,124,1,0,97,0,0,124,
+    0,0,97,1,0,120,47,0,116,0,0,116,1,0,102,2,
+    0,68,93,33,0,125,2,0,116,2,0,124,2,0,100,1,
+    0,131,2,0,115,25,0,116,3,0,124,2,0,95,4,0,
+    113,25,0,113,25,0,87,116,1,0,106,5,0,116,6,0,
+    25,125,3,0,120,76,0,100,17,0,68,93,68,0,125,4,
+    0,124,4,0,116,1,0,106,5,0,107,7,0,114,121,0,
+    116,3,0,106,7,0,124,4,0,131,1,0,125,5,0,110,
+    13,0,116,1,0,106,5,0,124,4,0,25,125,5,0,116,
+    8,0,124,3,0,124,4,0,124,5,0,131,3,0,1,113,
+    82,0,87,120,153,0,100,18,0,100,19,0,100,20,0,103,
+    3,0,68,93,124,0,92,2,0,125,6,0,125,7,0,124,
+    6,0,116,1,0,106,5,0,107,6,0,114,214,0,116,1,
+    0,106,5,0,124,6,0,25,125,8,0,80,113,170,0,121,
+    56,0,116,3,0,106,7,0,124,6,0,131,1,0,125,8,
+    0,124,6,0,100,10,0,107,2,0,114,12,1,100,11,0,
+    116,1,0,106,9,0,107,6,0,114,12,1,100,7,0,125,
+    7,0,110,0,0,80,87,113,170,0,4,116,10,0,107,10,
+    0,114,37,1,1,1,1,119,170,0,89,113,170,0,88,113,
+    170,0,87,116,10,0,100,12,0,131,1,0,130,1,0,116,
+    8,0,124,3,0,100,13,0,124,8,0,131,3,0,1,116,
+    8,0,124,3,0,100,14,0,124,7,0,131,3,0,1,116,
+    8,0,124,3,0,100,15,0,116,11,0,131,0,0,131,3,
+    0,1,100,16,0,83,40,21,0,0,0,117,249,0,0,0,
+    83,101,116,117,112,32,105,109,112,111,114,116,108,105,98,32,
+    98,121,32,105,109,112,111,114,116,105,110,103,32,110,101,101,
+    100,101,100,32,98,117,105,108,116,45,105,110,32,109,111,100,
+    117,108,101,115,32,97,110,100,32,105,110,106,101,99,116,105,
+    110,103,32,116,104,101,109,10,32,32,32,32,105,110,116,111,
+    32,116,104,101,32,103,108,111,98,97,108,32,110,97,109,101,
+    115,112,97,99,101,46,10,10,32,32,32,32,65,115,32,115,
+    121,115,32,105,115,32,110,101,101,100,101,100,32,102,111,114,
+    32,115,121,115,46,109,111,100,117,108,101,115,32,97,99,99,
+    101,115,115,32,97,110,100,32,105,109,112,32,105,115,32,110,
+    101,101,100,101,100,32,116,111,32,108,111,97,100,32,98,117,
+    105,108,116,45,105,110,10,32,32,32,32,109,111,100,117,108,
+    101,115,44,32,116,104,111,115,101,32,116,119,111,32,109,111,
+    100,117,108,101,115,32,109,117,115,116,32,98,101,32,101,120,
+    112,108,105,99,105,116,108,121,32,112,97,115,115,101,100,32,
+    105,110,46,10,10,32,32,32,32,117,10,0,0,0,95,95,
+    108,111,97,100,101,114,95,95,117,3,0,0,0,95,105,111,
+    117,9,0,0,0,95,119,97,114,110,105,110,103,115,117,8,
+    0,0,0,98,117,105,108,116,105,110,115,117,7,0,0,0,
+    109,97,114,115,104,97,108,117,5,0,0,0,112,111,115,105,
+    120,117,1,0,0,0,47,117,2,0,0,0,110,116,117,1,
+    0,0,0,92,117,3,0,0,0,111,115,50,117,7,0,0,
+    0,69,77,88,32,71,67,67,117,30,0,0,0,105,109,112,
+    111,114,116,108,105,98,32,114,101,113,117,105,114,101,115,32,
+    112,111,115,105,120,32,111,114,32,110,116,117,3,0,0,0,
+    95,111,115,117,8,0,0,0,112,97,116,104,95,115,101,112,
+    117,11,0,0,0,95,114,101,108,97,120,95,99,97,115,101,
+    78,40,4,0,0,0,117,3,0,0,0,95,105,111,117,9,
+    0,0,0,95,119,97,114,110,105,110,103,115,117,8,0,0,
+    0,98,117,105,108,116,105,110,115,117,7,0,0,0,109,97,
+    114,115,104,97,108,40,2,0,0,0,117,5,0,0,0,112,
+    111,115,105,120,117,1,0,0,0,47,40,2,0,0,0,117,
+    2,0,0,0,110,116,117,1,0,0,0,92,40,2,0,0,
+    0,117,3,0,0,0,111,115,50,117,1,0,0,0,92,40,
+    12,0,0,0,117,3,0,0,0,105,109,112,117,3,0,0,
+    0,115,121,115,117,7,0,0,0,104,97,115,97,116,116,114,
+    117,15,0,0,0,66,117,105,108,116,105,110,73,109,112,111,
+    114,116,101,114,117,10,0,0,0,95,95,108,111,97,100,101,
+    114,95,95,117,7,0,0,0,109,111,100,117,108,101,115,117,
+    8,0,0,0,95,95,110,97,109,101,95,95,117,11,0,0,
+    0,108,111,97,100,95,109,111,100,117,108,101,117,7,0,0,
+    0,115,101,116,97,116,116,114,117,7,0,0,0,118,101,114,
+    115,105,111,110,117,11,0,0,0,73,109,112,111,114,116,69,
+    114,114,111,114,117,16,0,0,0,95,109,97,107,101,95,114,
+    101,108,97,120,95,99,97,115,101,40,9,0,0,0,117,10,
+    0,0,0,115,121,115,95,109,111,100,117,108,101,117,10,0,
+    0,0,105,109,112,95,109,111,100,117,108,101,117,6,0,0,
+    0,109,111,100,117,108,101,117,11,0,0,0,115,101,108,102,
+    95,109,111,100,117,108,101,117,12,0,0,0,98,117,105,108,
+    116,105,110,95,110,97,109,101,117,14,0,0,0,98,117,105,
+    108,116,105,110,95,109,111,100,117,108,101,117,10,0,0,0,
+    98,117,105,108,116,105,110,95,111,115,117,8,0,0,0,112,
+    97,116,104,95,115,101,112,117,9,0,0,0,111,115,95,109,
+    111,100,117,108,101,40,0,0,0,0,40,0,0,0,0,117,
     29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,111,
     114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,
-    62,117,16,0,0,0,95,104,97,110,100,108,101,95,102,114,
-    111,109,108,105,115,116,255,3,0,0,115,22,0,0,0,0,
-    10,15,1,27,1,12,1,13,1,19,1,32,1,3,1,29,
-    1,13,1,12,1,117,16,0,0,0,95,104,97,110,100,108,
-    101,95,102,114,111,109,108,105,115,116,99,1,0,0,0,0,
-    0,0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,
-    78,0,0,0,124,0,0,106,0,0,100,1,0,131,1,0,
-    125,1,0,124,1,0,100,6,0,107,8,0,114,74,0,124,
-    0,0,100,2,0,25,125,1,0,100,3,0,124,0,0,107,
-    7,0,114,74,0,124,1,0,106,2,0,100,4,0,131,1,
-    0,100,5,0,25,125,1,0,113,74,0,110,0,0,124,1,
-    0,83,40,7,0,0,0,117,167,0,0,0,67,97,108,99,
-    117,108,97,116,101,32,119,104,97,116,32,95,95,112,97,99,
-    107,97,103,101,95,95,32,115,104,111,117,108,100,32,98,101,
-    46,10,10,32,32,32,32,95,95,112,97,99,107,97,103,101,
-    95,95,32,105,115,32,110,111,116,32,103,117,97,114,97,110,
-    116,101,101,100,32,116,111,32,98,101,32,100,101,102,105,110,
-    101,100,32,111,114,32,99,111,117,108,100,32,98,101,32,115,
-    101,116,32,116,111,32,78,111,110,101,10,32,32,32,32,116,
-    111,32,114,101,112,114,101,115,101,110,116,32,116,104,97,116,
-    32,105,116,115,32,112,114,111,112,101,114,32,118,97,108,117,
-    101,32,105,115,32,117,110,107,110,111,119,110,46,10,10,32,
-    32,32,32,117,11,0,0,0,95,95,112,97,99,107,97,103,
-    101,95,95,117,8,0,0,0,95,95,110,97,109,101,95,95,
-    117,8,0,0,0,95,95,112,97,116,104,95,95,117,1,0,
-    0,0,46,105,0,0,0,0,78,40,3,0,0,0,117,3,
-    0,0,0,103,101,116,117,4,0,0,0,78,111,110,101,117,
-    10,0,0,0,114,112,97,114,116,105,116,105,111,110,40,2,
-    0,0,0,117,7,0,0,0,103,108,111,98,97,108,115,117,
-    7,0,0,0,112,97,99,107,97,103,101,40,0,0,0,0,
-    40,0,0,0,0,117,29,0,0,0,60,102,114,111,122,101,
-    110,32,105,109,112,111,114,116,108,105,98,46,95,98,111,111,
-    116,115,116,114,97,112,62,117,17,0,0,0,95,99,97,108,
-    99,95,95,95,112,97,99,107,97,103,101,95,95,22,4,0,
-    0,115,12,0,0,0,0,7,15,1,12,1,10,1,12,1,
-    25,1,117,17,0,0,0,95,99,97,108,99,95,95,95,112,
-    97,99,107,97,103,101,95,95,99,5,0,0,0,0,0,0,
-    0,8,0,0,0,5,0,0,0,67,0,0,0,115,204,0,
-    0,0,124,4,0,100,1,0,107,2,0,114,27,0,116,0,
-    0,124,0,0,131,1,0,125,5,0,110,30,0,116,1,0,
-    124,1,0,131,1,0,125,6,0,116,0,0,124,0,0,124,
-    6,0,124,4,0,131,3,0,125,5,0,124,3,0,115,184,
-    0,124,4,0,100,1,0,107,2,0,114,99,0,116,2,0,
-    106,3,0,124,0,0,106,4,0,100,2,0,131,1,0,100,
-    1,0,25,25,83,124,0,0,115,109,0,124,5,0,83,116,
-    5,0,124,0,0,131,1,0,116,5,0,124,0,0,106,4,
-    0,100,2,0,131,1,0,100,1,0,25,131,1,0,24,125,
-    7,0,116,2,0,106,3,0,124,5,0,106,6,0,100,3,
-    0,116,5,0,124,5,0,106,6,0,131,1,0,124,7,0,
-    24,133,2,0,25,25,83,110,16,0,116,7,0,124,5,0,
-    124,3,0,116,0,0,131,3,0,83,100,3,0,83,40,4,
-    0,0,0,117,214,1,0,0,73,109,112,111,114,116,32,97,
-    32,109,111,100,117,108,101,46,10,10,32,32,32,32,84,104,
-    101,32,39,103,108,111,98,97,108,115,39,32,97,114,103,117,
-    109,101,110,116,32,105,115,32,117,115,101,100,32,116,111,32,
-    105,110,102,101,114,32,119,104,101,114,101,32,116,104,101,32,
-    105,109,112,111,114,116,32,105,115,32,111,99,99,117,114,105,
-    110,103,32,102,114,111,109,10,32,32,32,32,116,111,32,104,
-    97,110,100,108,101,32,114,101,108,97,116,105,118,101,32,105,
-    109,112,111,114,116,115,46,32,84,104,101,32,39,108,111,99,
-    97,108,115,39,32,97,114,103,117,109,101,110,116,32,105,115,
-    32,105,103,110,111,114,101,100,46,32,84,104,101,10,32,32,
-    32,32,39,102,114,111,109,108,105,115,116,39,32,97,114,103,
-    117,109,101,110,116,32,115,112,101,99,105,102,105,101,115,32,
-    119,104,97,116,32,115,104,111,117,108,100,32,101,120,105,115,
-    116,32,97,115,32,97,116,116,114,105,98,117,116,101,115,32,
-    111,110,32,116,104,101,32,109,111,100,117,108,101,10,32,32,
-    32,32,98,101,105,110,103,32,105,109,112,111,114,116,101,100,
-    32,40,101,46,103,46,32,96,96,102,114,111,109,32,109,111,
-    100,117,108,101,32,105,109,112,111,114,116,32,60,102,114,111,
-    109,108,105,115,116,62,96,96,41,46,32,32,84,104,101,32,
-    39,108,101,118,101,108,39,10,32,32,32,32,97,114,103,117,
-    109,101,110,116,32,114,101,112,114,101,115,101,110,116,115,32,
-    116,104,101,32,112,97,99,107,97,103,101,32,108,111,99,97,
-    116,105,111,110,32,116,111,32,105,109,112,111,114,116,32,102,
-    114,111,109,32,105,110,32,97,32,114,101,108,97,116,105,118,
-    101,10,32,32,32,32,105,109,112,111,114,116,32,40,101,46,
-    103,46,32,96,96,102,114,111,109,32,46,46,112,107,103,32,
-    105,109,112,111,114,116,32,109,111,100,96,96,32,119,111,117,
-    108,100,32,104,97,118,101,32,97,32,39,108,101,118,101,108,
-    39,32,111,102,32,50,41,46,10,10,32,32,32,32,105,0,
-    0,0,0,117,1,0,0,0,46,78,40,8,0,0,0,117,
-    11,0,0,0,95,103,99,100,95,105,109,112,111,114,116,117,
-    17,0,0,0,95,99,97,108,99,95,95,95,112,97,99,107,
-    97,103,101,95,95,117,3,0,0,0,115,121,115,117,7,0,
-    0,0,109,111,100,117,108,101,115,117,9,0,0,0,112,97,
-    114,116,105,116,105,111,110,117,3,0,0,0,108,101,110,117,
-    8,0,0,0,95,95,110,97,109,101,95,95,117,16,0,0,
-    0,95,104,97,110,100,108,101,95,102,114,111,109,108,105,115,
-    116,40,8,0,0,0,117,4,0,0,0,110,97,109,101,117,
-    7,0,0,0,103,108,111,98,97,108,115,117,6,0,0,0,
-    108,111,99,97,108,115,117,8,0,0,0,102,114,111,109,108,
-    105,115,116,117,5,0,0,0,108,101,118,101,108,117,6,0,
-    0,0,109,111,100,117,108,101,117,7,0,0,0,112,97,99,
-    107,97,103,101,117,7,0,0,0,99,117,116,95,111,102,102,
-    40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,60,
-    102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,98,
-    46,95,98,111,111,116,115,116,114,97,112,62,117,10,0,0,
-    0,95,95,105,109,112,111,114,116,95,95,37,4,0,0,115,
-    24,0,0,0,0,11,12,1,15,2,12,1,18,1,6,3,
-    12,1,24,1,6,1,4,2,35,1,40,2,117,10,0,0,
-    0,95,95,105,109,112,111,114,116,95,95,99,2,0,0,0,
-    0,0,0,0,9,0,0,0,12,0,0,0,67,0,0,0,
-    115,109,1,0,0,124,1,0,97,0,0,124,0,0,97,1,
-    0,120,47,0,116,0,0,116,1,0,102,2,0,68,93,33,
-    0,125,2,0,116,2,0,124,2,0,100,1,0,131,2,0,
-    115,25,0,116,3,0,124,2,0,95,4,0,113,25,0,113,
-    25,0,87,116,1,0,106,5,0,116,6,0,25,125,3,0,
-    120,76,0,100,17,0,68,93,68,0,125,4,0,124,4,0,
-    116,1,0,106,5,0,107,7,0,114,121,0,116,3,0,106,
-    7,0,124,4,0,131,1,0,125,5,0,110,13,0,116,1,
-    0,106,5,0,124,4,0,25,125,5,0,116,8,0,124,3,
-    0,124,4,0,124,5,0,131,3,0,1,113,82,0,87,120,
-    153,0,100,18,0,100,19,0,100,20,0,103,3,0,68,93,
-    124,0,92,2,0,125,6,0,125,7,0,124,6,0,116,1,
-    0,106,5,0,107,6,0,114,214,0,116,1,0,106,5,0,
-    124,6,0,25,125,8,0,80,113,170,0,121,56,0,116,3,
-    0,106,7,0,124,6,0,131,1,0,125,8,0,124,6,0,
-    100,10,0,107,2,0,114,12,1,100,11,0,116,1,0,106,
-    9,0,107,6,0,114,12,1,100,7,0,125,7,0,110,0,
-    0,80,87,113,170,0,4,116,10,0,107,10,0,114,37,1,
-    1,1,1,119,170,0,89,113,170,0,88,113,170,0,87,116,
-    10,0,100,12,0,131,1,0,130,1,0,116,8,0,124,3,
-    0,100,13,0,124,8,0,131,3,0,1,116,8,0,124,3,
-    0,100,14,0,124,7,0,131,3,0,1,116,8,0,124,3,
-    0,100,15,0,116,11,0,131,0,0,131,3,0,1,100,16,
-    0,83,40,21,0,0,0,117,249,0,0,0,83,101,116,117,
-    112,32,105,109,112,111,114,116,108,105,98,32,98,121,32,105,
-    109,112,111,114,116,105,110,103,32,110,101,101,100,101,100,32,
-    98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,
-    32,97,110,100,32,105,110,106,101,99,116,105,110,103,32,116,
-    104,101,109,10,32,32,32,32,105,110,116,111,32,116,104,101,
-    32,103,108,111,98,97,108,32,110,97,109,101,115,112,97,99,
-    101,46,10,10,32,32,32,32,65,115,32,115,121,115,32,105,
-    115,32,110,101,101,100,101,100,32,102,111,114,32,115,121,115,
-    46,109,111,100,117,108,101,115,32,97,99,99,101,115,115,32,
-    97,110,100,32,105,109,112,32,105,115,32,110,101,101,100,101,
-    100,32,116,111,32,108,111,97,100,32,98,117,105,108,116,45,
-    105,110,10,32,32,32,32,109,111,100,117,108,101,115,44,32,
-    116,104,111,115,101,32,116,119,111,32,109,111,100,117,108,101,
-    115,32,109,117,115,116,32,98,101,32,101,120,112,108,105,99,
-    105,116,108,121,32,112,97,115,115,101,100,32,105,110,46,10,
-    10,32,32,32,32,117,10,0,0,0,95,95,108,111,97,100,
-    101,114,95,95,117,3,0,0,0,95,105,111,117,9,0,0,
-    0,95,119,97,114,110,105,110,103,115,117,8,0,0,0,98,
-    117,105,108,116,105,110,115,117,7,0,0,0,109,97,114,115,
-    104,97,108,117,5,0,0,0,112,111,115,105,120,117,1,0,
-    0,0,47,117,2,0,0,0,110,116,117,1,0,0,0,92,
-    117,3,0,0,0,111,115,50,117,7,0,0,0,69,77,88,
-    32,71,67,67,117,30,0,0,0,105,109,112,111,114,116,108,
-    105,98,32,114,101,113,117,105,114,101,115,32,112,111,115,105,
-    120,32,111,114,32,110,116,117,3,0,0,0,95,111,115,117,
-    8,0,0,0,112,97,116,104,95,115,101,112,117,11,0,0,
-    0,95,114,101,108,97,120,95,99,97,115,101,78,40,4,0,
-    0,0,117,3,0,0,0,95,105,111,117,9,0,0,0,95,
-    119,97,114,110,105,110,103,115,117,8,0,0,0,98,117,105,
-    108,116,105,110,115,117,7,0,0,0,109,97,114,115,104,97,
-    108,40,2,0,0,0,117,5,0,0,0,112,111,115,105,120,
-    117,1,0,0,0,47,40,2,0,0,0,117,2,0,0,0,
-    110,116,117,1,0,0,0,92,40,2,0,0,0,117,3,0,
-    0,0,111,115,50,117,1,0,0,0,92,40,12,0,0,0,
-    117,3,0,0,0,105,109,112,117,3,0,0,0,115,121,115,
-    117,7,0,0,0,104,97,115,97,116,116,114,117,15,0,0,
-    0,66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,
-    117,10,0,0,0,95,95,108,111,97,100,101,114,95,95,117,
-    7,0,0,0,109,111,100,117,108,101,115,117,8,0,0,0,
-    95,95,110,97,109,101,95,95,117,11,0,0,0,108,111,97,
-    100,95,109,111,100,117,108,101,117,7,0,0,0,115,101,116,
-    97,116,116,114,117,7,0,0,0,118,101,114,115,105,111,110,
-    117,11,0,0,0,73,109,112,111,114,116,69,114,114,111,114,
+    62,117,6,0,0,0,95,115,101,116,117,112,71,4,0,0,
+    115,52,0,0,0,0,9,6,1,6,2,19,1,15,1,16,
+    2,13,1,13,1,15,1,18,2,13,1,20,2,28,1,15,
+    1,13,1,4,2,3,1,15,2,27,1,9,1,5,1,13,
+    1,12,2,12,1,16,1,16,2,117,6,0,0,0,95,115,
+    101,116,117,112,99,2,0,0,0,0,0,0,0,3,0,0,
+    0,3,0,0,0,67,0,0,0,115,44,0,0,0,116,0,
+    0,124,0,0,124,1,0,131,2,0,1,116,1,0,106,2,
+    0,125,2,0,116,2,0,116,1,0,95,2,0,124,2,0,
+    116,1,0,95,3,0,100,1,0,83,40,2,0,0,0,117,
+    201,0,0,0,73,110,115,116,97,108,108,32,105,109,112,111,
+    114,116,108,105,98,32,97,115,32,116,104,101,32,105,109,112,
+    108,101,109,101,110,116,97,116,105,111,110,32,111,102,32,105,
+    109,112,111,114,116,46,10,10,32,32,32,32,73,116,32,105,
+    115,32,97,115,115,117,109,101,100,32,116,104,97,116,32,105,
+    109,112,32,97,110,100,32,115,121,115,32,104,97,118,101,32,
+    98,101,101,110,32,105,109,112,111,114,116,101,100,32,97,110,
+    100,32,105,110,106,101,99,116,101,100,32,105,110,116,111,32,
+    116,104,101,10,32,32,32,32,103,108,111,98,97,108,32,110,
+    97,109,101,115,112,97,99,101,32,102,111,114,32,116,104,101,
+    32,109,111,100,117,108,101,32,112,114,105,111,114,32,116,111,
+    32,99,97,108,108,105,110,103,32,116,104,105,115,32,102,117,
+    110,99,116,105,111,110,46,10,10,32,32,32,32,78,40,4,
+    0,0,0,117,6,0,0,0,95,115,101,116,117,112,117,8,
+    0,0,0,98,117,105,108,116,105,110,115,117,10,0,0,0,
+    95,95,105,109,112,111,114,116,95,95,117,19,0,0,0,95,
+    95,111,114,105,103,105,110,97,108,95,105,109,112,111,114,116,
+    95,95,40,3,0,0,0,117,10,0,0,0,115,121,115,95,
+    109,111,100,117,108,101,117,10,0,0,0,105,109,112,95,109,
+    111,100,117,108,101,117,11,0,0,0,111,114,105,103,95,105,
+    109,112,111,114,116,40,0,0,0,0,40,0,0,0,0,117,
+    29,0,0,0,60,102,114,111,122,101,110,32,105,109,112,111,
+    114,116,108,105,98,46,95,98,111,111,116,115,116,114,97,112,
+    62,117,8,0,0,0,95,105,110,115,116,97,108,108,116,4,
+    0,0,115,8,0,0,0,0,7,13,1,9,1,9,1,117,
+    8,0,0,0,95,105,110,115,116,97,108,108,78,40,3,0,
+    0,0,117,3,0,0,0,119,105,110,117,6,0,0,0,99,
+    121,103,119,105,110,117,6,0,0,0,100,97,114,119,105,110,
+    40,55,0,0,0,117,7,0,0,0,95,95,100,111,99,95,
+    95,117,26,0,0,0,67,65,83,69,95,73,78,83,69,78,
+    83,73,84,73,86,69,95,80,76,65,84,70,79,82,77,83,
     117,16,0,0,0,95,109,97,107,101,95,114,101,108,97,120,
-    95,99,97,115,101,40,9,0,0,0,117,10,0,0,0,115,
-    121,115,95,109,111,100,117,108,101,117,10,0,0,0,105,109,
-    112,95,109,111,100,117,108,101,117,6,0,0,0,109,111,100,
-    117,108,101,117,11,0,0,0,115,101,108,102,95,109,111,100,
-    117,108,101,117,12,0,0,0,98,117,105,108,116,105,110,95,
-    110,97,109,101,117,14,0,0,0,98,117,105,108,116,105,110,
-    95,109,111,100,117,108,101,117,10,0,0,0,98,117,105,108,
-    116,105,110,95,111,115,117,8,0,0,0,112,97,116,104,95,
-    115,101,112,117,9,0,0,0,111,115,95,109,111,100,117,108,
-    101,40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,
-    60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,
-    98,46,95,98,111,111,116,115,116,114,97,112,62,117,6,0,
-    0,0,95,115,101,116,117,112,67,4,0,0,115,52,0,0,
-    0,0,9,6,1,6,2,19,1,15,1,16,2,13,1,13,
-    1,15,1,18,2,13,1,20,2,28,1,15,1,13,1,4,
-    2,3,1,15,2,27,1,9,1,5,1,13,1,12,2,12,
-    1,16,1,16,2,117,6,0,0,0,95,115,101,116,117,112,
-    99,2,0,0,0,0,0,0,0,3,0,0,0,3,0,0,
-    0,67,0,0,0,115,44,0,0,0,116,0,0,124,0,0,
-    124,1,0,131,2,0,1,116,1,0,106,2,0,125,2,0,
-    116,2,0,116,1,0,95,2,0,124,2,0,116,1,0,95,
-    3,0,100,1,0,83,40,2,0,0,0,117,201,0,0,0,
-    73,110,115,116,97,108,108,32,105,109,112,111,114,116,108,105,
-    98,32,97,115,32,116,104,101,32,105,109,112,108,101,109,101,
-    110,116,97,116,105,111,110,32,111,102,32,105,109,112,111,114,
-    116,46,10,10,32,32,32,32,73,116,32,105,115,32,97,115,
-    115,117,109,101,100,32,116,104,97,116,32,105,109,112,32,97,
-    110,100,32,115,121,115,32,104,97,118,101,32,98,101,101,110,
-    32,105,109,112,111,114,116,101,100,32,97,110,100,32,105,110,
-    106,101,99,116,101,100,32,105,110,116,111,32,116,104,101,10,
-    32,32,32,32,103,108,111,98,97,108,32,110,97,109,101,115,
-    112,97,99,101,32,102,111,114,32,116,104,101,32,109,111,100,
-    117,108,101,32,112,114,105,111,114,32,116,111,32,99,97,108,
-    108,105,110,103,32,116,104,105,115,32,102,117,110,99,116,105,
-    111,110,46,10,10,32,32,32,32,78,40,4,0,0,0,117,
-    6,0,0,0,95,115,101,116,117,112,117,8,0,0,0,98,
-    117,105,108,116,105,110,115,117,10,0,0,0,95,95,105,109,
-    112,111,114,116,95,95,117,19,0,0,0,95,95,111,114,105,
-    103,105,110,97,108,95,105,109,112,111,114,116,95,95,40,3,
-    0,0,0,117,10,0,0,0,115,121,115,95,109,111,100,117,
-    108,101,117,10,0,0,0,105,109,112,95,109,111,100,117,108,
-    101,117,11,0,0,0,111,114,105,103,95,105,109,112,111,114,
-    116,40,0,0,0,0,40,0,0,0,0,117,29,0,0,0,
-    60,102,114,111,122,101,110,32,105,109,112,111,114,116,108,105,
-    98,46,95,98,111,111,116,115,116,114,97,112,62,117,8,0,
-    0,0,95,105,110,115,116,97,108,108,112,4,0,0,115,8,
-    0,0,0,0,7,13,1,9,1,9,1,117,8,0,0,0,
-    95,105,110,115,116,97,108,108,78,40,3,0,0,0,117,3,
-    0,0,0,119,105,110,117,6,0,0,0,99,121,103,119,105,
-    110,117,6,0,0,0,100,97,114,119,105,110,40,55,0,0,
-    0,117,7,0,0,0,95,95,100,111,99,95,95,117,26,0,
-    0,0,67,65,83,69,95,73,78,83,69,78,83,73,84,73,
-    86,69,95,80,76,65,84,70,79,82,77,83,117,16,0,0,
-    0,95,109,97,107,101,95,114,101,108,97,120,95,99,97,115,
-    101,117,7,0,0,0,95,119,95,108,111,110,103,117,7,0,
-    0,0,95,114,95,108,111,110,103,117,10,0,0,0,95,112,
-    97,116,104,95,106,111,105,110,117,12,0,0,0,95,112,97,
-    116,104,95,101,120,105,115,116,115,117,18,0,0,0,95,112,
-    97,116,104,95,105,115,95,109,111,100,101,95,116,121,112,101,
-    117,12,0,0,0,95,112,97,116,104,95,105,115,102,105,108,
-    101,117,11,0,0,0,95,112,97,116,104,95,105,115,100,105,
-    114,117,17,0,0,0,95,112,97,116,104,95,119,105,116,104,
-    111,117,116,95,101,120,116,117,14,0,0,0,95,112,97,116,
-    104,95,97,98,115,111,108,117,116,101,117,13,0,0,0,95,
-    119,114,105,116,101,95,97,116,111,109,105,99,117,5,0,0,
-    0,95,119,114,97,112,117,4,0,0,0,116,121,112,101,117,
-    8,0,0,0,95,95,99,111,100,101,95,95,117,9,0,0,
-    0,99,111,100,101,95,116,121,112,101,117,15,0,0,0,118,
-    101,114,98,111,115,101,95,109,101,115,115,97,103,101,117,11,
-    0,0,0,115,101,116,95,112,97,99,107,97,103,101,117,10,
-    0,0,0,115,101,116,95,108,111,97,100,101,114,117,17,0,
-    0,0,109,111,100,117,108,101,95,102,111,114,95,108,111,97,
-    100,101,114,117,11,0,0,0,95,99,104,101,99,107,95,110,
-    97,109,101,117,17,0,0,0,95,114,101,113,117,105,114,101,
-    115,95,98,117,105,108,116,105,110,117,16,0,0,0,95,114,
-    101,113,117,105,114,101,115,95,102,114,111,122,101,110,117,12,
-    0,0,0,95,115,117,102,102,105,120,95,108,105,115,116,117,
-    15,0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,
-    116,101,114,117,14,0,0,0,70,114,111,122,101,110,73,109,
-    112,111,114,116,101,114,117,13,0,0,0,95,76,111,97,100,
-    101,114,66,97,115,105,99,115,117,12,0,0,0,83,111,117,
-    114,99,101,76,111,97,100,101,114,117,11,0,0,0,95,70,
-    105,108,101,76,111,97,100,101,114,117,17,0,0,0,95,83,
-    111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,117,
-    21,0,0,0,95,83,111,117,114,99,101,108,101,115,115,70,
-    105,108,101,76,111,97,100,101,114,117,20,0,0,0,95,69,
-    120,116,101,110,115,105,111,110,70,105,108,101,76,111,97,100,
-    101,114,117,10,0,0,0,80,97,116,104,70,105,110,100,101,
-    114,117,11,0,0,0,95,70,105,108,101,70,105,110,100,101,
-    114,117,20,0,0,0,95,83,111,117,114,99,101,70,105,110,
-    100,101,114,68,101,116,97,105,108,115,117,24,0,0,0,95,
-    83,111,117,114,99,101,108,101,115,115,70,105,110,100,101,114,
-    68,101,116,97,105,108,115,117,23,0,0,0,95,69,120,116,
-    101,110,115,105,111,110,70,105,110,100,101,114,68,101,116,97,
-    105,108,115,117,15,0,0,0,95,102,105,108,101,95,112,97,
-    116,104,95,104,111,111,107,117,18,0,0,0,95,68,69,70,
-    65,85,76,84,95,80,65,84,72,95,72,79,79,75,117,18,
-    0,0,0,95,68,101,102,97,117,108,116,80,97,116,104,70,
-    105,110,100,101,114,117,18,0,0,0,95,73,109,112,111,114,
-    116,76,111,99,107,67,111,110,116,101,120,116,117,13,0,0,
-    0,95,114,101,115,111,108,118,101,95,110,97,109,101,117,12,
-    0,0,0,95,102,105,110,100,95,109,111,100,117,108,101,117,
-    13,0,0,0,95,115,97,110,105,116,121,95,99,104,101,99,
-    107,117,19,0,0,0,95,73,77,80,76,73,67,73,84,95,
-    77,69,84,65,95,80,65,84,72,117,8,0,0,0,95,69,
-    82,82,95,77,83,71,117,14,0,0,0,95,102,105,110,100,
-    95,97,110,100,95,108,111,97,100,117,4,0,0,0,78,111,
-    110,101,117,11,0,0,0,95,103,99,100,95,105,109,112,111,
-    114,116,117,16,0,0,0,95,104,97,110,100,108,101,95,102,
-    114,111,109,108,105,115,116,117,17,0,0,0,95,99,97,108,
-    99,95,95,95,112,97,99,107,97,103,101,95,95,117,10,0,
-    0,0,95,95,105,109,112,111,114,116,95,95,117,6,0,0,
-    0,95,115,101,116,117,112,117,8,0,0,0,95,105,110,115,
-    116,97,108,108,40,0,0,0,0,40,0,0,0,0,40,0,
-    0,0,0,117,29,0,0,0,60,102,114,111,122,101,110,32,
-    105,109,112,111,114,116,108,105,98,46,95,98,111,111,116,115,
-    116,114,97,112,62,117,8,0,0,0,60,109,111,100,117,108,
-    101,62,8,0,0,0,115,102,0,0,0,6,14,6,3,12,
-    13,12,16,12,15,12,6,12,10,12,10,12,6,12,7,12,
-    9,12,13,12,21,12,8,15,4,12,8,12,13,12,11,12,
-    32,12,16,12,11,12,11,12,8,19,53,19,47,19,77,22,
-    114,19,22,25,38,25,24,19,45,19,68,19,77,19,8,19,
-    9,19,11,12,10,6,2,22,21,19,13,12,9,12,15,12,
-    17,15,2,6,2,12,41,18,25,12,23,12,15,24,30,12,
-    45,
+    95,99,97,115,101,117,7,0,0,0,95,119,95,108,111,110,
+    103,117,7,0,0,0,95,114,95,108,111,110,103,117,10,0,
+    0,0,95,112,97,116,104,95,106,111,105,110,117,12,0,0,
+    0,95,112,97,116,104,95,101,120,105,115,116,115,117,18,0,
+    0,0,95,112,97,116,104,95,105,115,95,109,111,100,101,95,
+    116,121,112,101,117,12,0,0,0,95,112,97,116,104,95,105,
+    115,102,105,108,101,117,11,0,0,0,95,112,97,116,104,95,
+    105,115,100,105,114,117,17,0,0,0,95,112,97,116,104,95,
+    119,105,116,104,111,117,116,95,101,120,116,117,14,0,0,0,
+    95,112,97,116,104,95,97,98,115,111,108,117,116,101,117,13,
+    0,0,0,95,119,114,105,116,101,95,97,116,111,109,105,99,
+    117,5,0,0,0,95,119,114,97,112,117,4,0,0,0,116,
+    121,112,101,117,8,0,0,0,95,95,99,111,100,101,95,95,
+    117,9,0,0,0,99,111,100,101,95,116,121,112,101,117,15,
+    0,0,0,118,101,114,98,111,115,101,95,109,101,115,115,97,
+    103,101,117,11,0,0,0,115,101,116,95,112,97,99,107,97,
+    103,101,117,10,0,0,0,115,101,116,95,108,111,97,100,101,
+    114,117,17,0,0,0,109,111,100,117,108,101,95,102,111,114,
+    95,108,111,97,100,101,114,117,11,0,0,0,95,99,104,101,
+    99,107,95,110,97,109,101,117,17,0,0,0,95,114,101,113,
+    117,105,114,101,115,95,98,117,105,108,116,105,110,117,16,0,
+    0,0,95,114,101,113,117,105,114,101,115,95,102,114,111,122,
+    101,110,117,12,0,0,0,95,115,117,102,102,105,120,95,108,
+    105,115,116,117,15,0,0,0,66,117,105,108,116,105,110,73,
+    109,112,111,114,116,101,114,117,14,0,0,0,70,114,111,122,
+    101,110,73,109,112,111,114,116,101,114,117,13,0,0,0,95,
+    76,111,97,100,101,114,66,97,115,105,99,115,117,12,0,0,
+    0,83,111,117,114,99,101,76,111,97,100,101,114,117,11,0,
+    0,0,95,70,105,108,101,76,111,97,100,101,114,117,17,0,
+    0,0,95,83,111,117,114,99,101,70,105,108,101,76,111,97,
+    100,101,114,117,21,0,0,0,95,83,111,117,114,99,101,108,
+    101,115,115,70,105,108,101,76,111,97,100,101,114,117,20,0,
+    0,0,95,69,120,116,101,110,115,105,111,110,70,105,108,101,
+    76,111,97,100,101,114,117,10,0,0,0,80,97,116,104,70,
+    105,110,100,101,114,117,11,0,0,0,95,70,105,108,101,70,
+    105,110,100,101,114,117,20,0,0,0,95,83,111,117,114,99,
+    101,70,105,110,100,101,114,68,101,116,97,105,108,115,117,24,
+    0,0,0,95,83,111,117,114,99,101,108,101,115,115,70,105,
+    110,100,101,114,68,101,116,97,105,108,115,117,23,0,0,0,
+    95,69,120,116,101,110,115,105,111,110,70,105,110,100,101,114,
+    68,101,116,97,105,108,115,117,15,0,0,0,95,102,105,108,
+    101,95,112,97,116,104,95,104,111,111,107,117,18,0,0,0,
+    95,68,69,70,65,85,76,84,95,80,65,84,72,95,72,79,
+    79,75,117,18,0,0,0,95,68,101,102,97,117,108,116,80,
+    97,116,104,70,105,110,100,101,114,117,18,0,0,0,95,73,
+    109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,116,
+    117,13,0,0,0,95,114,101,115,111,108,118,101,95,110,97,
+    109,101,117,12,0,0,0,95,102,105,110,100,95,109,111,100,
+    117,108,101,117,13,0,0,0,95,115,97,110,105,116,121,95,
+    99,104,101,99,107,117,19,0,0,0,95,73,77,80,76,73,
+    67,73,84,95,77,69,84,65,95,80,65,84,72,117,8,0,
+    0,0,95,69,82,82,95,77,83,71,117,14,0,0,0,95,
+    102,105,110,100,95,97,110,100,95,108,111,97,100,117,4,0,
+    0,0,78,111,110,101,117,11,0,0,0,95,103,99,100,95,
+    105,109,112,111,114,116,117,16,0,0,0,95,104,97,110,100,
+    108,101,95,102,114,111,109,108,105,115,116,117,17,0,0,0,
+    95,99,97,108,99,95,95,95,112,97,99,107,97,103,101,95,
+    95,117,10,0,0,0,95,95,105,109,112,111,114,116,95,95,
+    117,6,0,0,0,95,115,101,116,117,112,117,8,0,0,0,
+    95,105,110,115,116,97,108,108,40,0,0,0,0,40,0,0,
+    0,0,40,0,0,0,0,117,29,0,0,0,60,102,114,111,
+    122,101,110,32,105,109,112,111,114,116,108,105,98,46,95,98,
+    111,111,116,115,116,114,97,112,62,117,8,0,0,0,60,109,
+    111,100,117,108,101,62,8,0,0,0,115,102,0,0,0,6,
+    14,6,3,12,13,12,16,12,15,12,6,12,10,12,10,12,
+    6,12,7,12,9,12,13,12,21,12,8,15,4,12,8,12,
+    13,12,11,12,32,12,16,12,11,12,11,12,8,19,53,19,
+    47,19,77,22,114,19,22,25,38,25,24,19,45,19,68,19,
+    77,19,8,19,9,19,11,12,10,6,2,22,21,19,13,12,
+    9,12,15,12,17,15,2,6,2,12,41,18,25,12,23,12,
+    15,24,34,12,45,
 };

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


More information about the Python-checkins mailing list