diff options
Diffstat (limited to 'Python')
-rw-r--r-- | Python/Python-ast.c | 268 | ||||
-rw-r--r-- | Python/ast.c | 95 | ||||
-rw-r--r-- | Python/bltinmodule.c | 33 | ||||
-rw-r--r-- | Python/ceval.c | 2150 | ||||
-rw-r--r-- | Python/codecs.c | 6 | ||||
-rw-r--r-- | Python/compile.c | 50 | ||||
-rw-r--r-- | Python/condvar.h | 2 | ||||
-rw-r--r-- | Python/dynload_os2.c | 42 | ||||
-rw-r--r-- | Python/dynload_shlib.c | 36 | ||||
-rw-r--r-- | Python/errors.c | 21 | ||||
-rw-r--r-- | Python/fileutils.c | 6 | ||||
-rw-r--r-- | Python/formatter_unicode.c | 9 | ||||
-rw-r--r-- | Python/frozen.c | 4 | ||||
-rw-r--r-- | Python/future.c | 26 | ||||
-rw-r--r-- | Python/getargs.c | 57 | ||||
-rw-r--r-- | Python/import.c | 60 | ||||
-rw-r--r-- | Python/importdl.h | 5 | ||||
-rw-r--r-- | Python/importlib.h | 7799 | ||||
-rw-r--r-- | Python/marshal.c | 336 | ||||
-rw-r--r-- | Python/opcode_targets.h | 2 | ||||
-rw-r--r-- | Python/peephole.c | 46 | ||||
-rw-r--r-- | Python/pystate.c | 9 | ||||
-rw-r--r-- | Python/pythonrun.c | 29 | ||||
-rw-r--r-- | Python/random.c | 33 | ||||
-rw-r--r-- | Python/symtable.c | 70 | ||||
-rw-r--r-- | Python/sysmodule.c | 48 | ||||
-rw-r--r-- | Python/thread.c | 4 | ||||
-rw-r--r-- | Python/thread_nt.h | 2 | ||||
-rw-r--r-- | Python/thread_os2.h | 267 |
29 files changed, 5354 insertions, 6161 deletions
diff --git a/Python/Python-ast.c b/Python/Python-ast.c index e6f1e58252..6632001c0e 100644 --- a/Python/Python-ast.c +++ b/Python/Python-ast.c @@ -271,6 +271,10 @@ static PyTypeObject *Bytes_type; static char *Bytes_fields[]={ "s", }; +static PyTypeObject *NameConstant_type; +static char *NameConstant_fields[]={ + "value", +}; static PyTypeObject *Ellipsis_type; static PyTypeObject *Attribute_type; _Py_IDENTIFIER(attr); @@ -408,24 +412,24 @@ static char *ExceptHandler_fields[]={ static PyTypeObject *arguments_type; static PyObject* ast2obj_arguments(void*); _Py_IDENTIFIER(vararg); -_Py_IDENTIFIER(varargannotation); _Py_IDENTIFIER(kwonlyargs); +_Py_IDENTIFIER(kw_defaults); _Py_IDENTIFIER(kwarg); -_Py_IDENTIFIER(kwargannotation); _Py_IDENTIFIER(defaults); -_Py_IDENTIFIER(kw_defaults); static char *arguments_fields[]={ "args", "vararg", - "varargannotation", "kwonlyargs", + "kw_defaults", "kwarg", - "kwargannotation", "defaults", - "kw_defaults", }; static PyTypeObject *arg_type; static PyObject* ast2obj_arg(void*); +static char *arg_attributes[] = { + "lineno", + "col_offset", +}; _Py_IDENTIFIER(arg); _Py_IDENTIFIER(annotation); static char *arg_fields[]={ @@ -673,6 +677,7 @@ static PyObject* ast2obj_object(void *o) Py_INCREF((PyObject*)o); return (PyObject*)o; } +#define ast2obj_singleton ast2obj_object #define ast2obj_identifier ast2obj_object #define ast2obj_string ast2obj_object #define ast2obj_bytes ast2obj_object @@ -684,6 +689,17 @@ static PyObject* ast2obj_int(long b) /* Conversion Python -> AST */ +static int obj2ast_singleton(PyObject *obj, PyObject** out, PyArena* arena) +{ + if (obj != Py_None && obj != Py_True && obj != Py_False) { + PyErr_SetString(PyExc_ValueError, + "AST singleton must be True, False, or None"); + return 1; + } + *out = obj; + return 0; +} + static int obj2ast_object(PyObject* obj, PyObject** out, PyArena* arena) { if (obj == Py_None) @@ -754,6 +770,19 @@ static int add_ast_fields(void) return 0; } +static int exists_not_none(PyObject *obj, _Py_Identifier *id) +{ + int isnone; + PyObject *attr = _PyObject_GetAttrId(obj, id); + if (!attr) { + PyErr_Clear(); + return 0; + } + isnone = attr == Py_None; + Py_DECREF(attr); + return !isnone; +} + static int init_types(void) { @@ -860,6 +889,9 @@ static int init_types(void) if (!Str_type) return 0; Bytes_type = make_type("Bytes", expr_type, Bytes_fields, 1); if (!Bytes_type) return 0; + NameConstant_type = make_type("NameConstant", expr_type, + NameConstant_fields, 1); + if (!NameConstant_type) return 0; Ellipsis_type = make_type("Ellipsis", expr_type, NULL, 0); if (!Ellipsis_type) return 0; Attribute_type = make_type("Attribute", expr_type, Attribute_fields, 3); @@ -1037,6 +1069,7 @@ static int init_types(void) comprehension_type = make_type("comprehension", &AST_type, comprehension_fields, 3); if (!comprehension_type) return 0; + if (!add_attributes(comprehension_type, NULL, 0)) return 0; excepthandler_type = make_type("excepthandler", &AST_type, NULL, 0); if (!excepthandler_type) return 0; if (!add_attributes(excepthandler_type, excepthandler_attributes, 2)) @@ -1044,16 +1077,21 @@ static int init_types(void) ExceptHandler_type = make_type("ExceptHandler", excepthandler_type, ExceptHandler_fields, 3); if (!ExceptHandler_type) return 0; - arguments_type = make_type("arguments", &AST_type, arguments_fields, 8); + arguments_type = make_type("arguments", &AST_type, arguments_fields, 6); if (!arguments_type) return 0; + if (!add_attributes(arguments_type, NULL, 0)) return 0; arg_type = make_type("arg", &AST_type, arg_fields, 2); if (!arg_type) return 0; + if (!add_attributes(arg_type, arg_attributes, 2)) return 0; keyword_type = make_type("keyword", &AST_type, keyword_fields, 2); if (!keyword_type) return 0; + if (!add_attributes(keyword_type, NULL, 0)) return 0; alias_type = make_type("alias", &AST_type, alias_fields, 2); if (!alias_type) return 0; + if (!add_attributes(alias_type, NULL, 0)) return 0; withitem_type = make_type("withitem", &AST_type, withitem_fields, 2); if (!withitem_type) return 0; + if (!add_attributes(withitem_type, NULL, 0)) return 0; initialized = 1; return 1; } @@ -1921,6 +1959,25 @@ Bytes(bytes s, int lineno, int col_offset, PyArena *arena) } expr_ty +NameConstant(singleton value, int lineno, int col_offset, PyArena *arena) +{ + expr_ty p; + if (!value) { + PyErr_SetString(PyExc_ValueError, + "field value is required for NameConstant"); + return NULL; + } + p = (expr_ty)PyArena_Malloc(arena, sizeof(*p)); + if (!p) + return NULL; + p->kind = NameConstant_kind; + p->v.NameConstant.value = value; + p->lineno = lineno; + p->col_offset = col_offset; + return p; +} + +expr_ty Ellipsis(int lineno, int col_offset, PyArena *arena) { expr_ty p; @@ -2175,9 +2232,8 @@ ExceptHandler(expr_ty type, identifier name, asdl_seq * body, int lineno, int } arguments_ty -arguments(asdl_seq * args, identifier vararg, expr_ty varargannotation, - asdl_seq * kwonlyargs, identifier kwarg, expr_ty kwargannotation, - asdl_seq * defaults, asdl_seq * kw_defaults, PyArena *arena) +arguments(asdl_seq * args, arg_ty vararg, asdl_seq * kwonlyargs, asdl_seq * + kw_defaults, arg_ty kwarg, asdl_seq * defaults, PyArena *arena) { arguments_ty p; p = (arguments_ty)PyArena_Malloc(arena, sizeof(*p)); @@ -2185,12 +2241,10 @@ arguments(asdl_seq * args, identifier vararg, expr_ty varargannotation, return NULL; p->args = args; p->vararg = vararg; - p->varargannotation = varargannotation; p->kwonlyargs = kwonlyargs; + p->kw_defaults = kw_defaults; p->kwarg = kwarg; - p->kwargannotation = kwargannotation; p->defaults = defaults; - p->kw_defaults = kw_defaults; return p; } @@ -2948,6 +3002,15 @@ ast2obj_expr(void* _o) goto failed; Py_DECREF(value); break; + case NameConstant_kind: + result = PyType_GenericNew(NameConstant_type, NULL, NULL); + if (!result) goto failed; + value = ast2obj_singleton(o->v.NameConstant.value); + if (!value) goto failed; + if (_PyObject_SetAttrId(result, &PyId_value, value) == -1) + goto failed; + Py_DECREF(value); + break; case Ellipsis_kind: result = PyType_GenericNew(Ellipsis_type, NULL, NULL); if (!result) goto failed; @@ -3366,29 +3429,24 @@ ast2obj_arguments(void* _o) if (_PyObject_SetAttrId(result, &PyId_args, value) == -1) goto failed; Py_DECREF(value); - value = ast2obj_identifier(o->vararg); + value = ast2obj_arg(o->vararg); if (!value) goto failed; if (_PyObject_SetAttrId(result, &PyId_vararg, value) == -1) goto failed; Py_DECREF(value); - value = ast2obj_expr(o->varargannotation); - if (!value) goto failed; - if (_PyObject_SetAttrId(result, &PyId_varargannotation, value) == -1) - goto failed; - Py_DECREF(value); value = ast2obj_list(o->kwonlyargs, ast2obj_arg); if (!value) goto failed; if (_PyObject_SetAttrId(result, &PyId_kwonlyargs, value) == -1) goto failed; Py_DECREF(value); - value = ast2obj_identifier(o->kwarg); + value = ast2obj_list(o->kw_defaults, ast2obj_expr); if (!value) goto failed; - if (_PyObject_SetAttrId(result, &PyId_kwarg, value) == -1) + if (_PyObject_SetAttrId(result, &PyId_kw_defaults, value) == -1) goto failed; Py_DECREF(value); - value = ast2obj_expr(o->kwargannotation); + value = ast2obj_arg(o->kwarg); if (!value) goto failed; - if (_PyObject_SetAttrId(result, &PyId_kwargannotation, value) == -1) + if (_PyObject_SetAttrId(result, &PyId_kwarg, value) == -1) goto failed; Py_DECREF(value); value = ast2obj_list(o->defaults, ast2obj_expr); @@ -3396,11 +3454,6 @@ ast2obj_arguments(void* _o) if (_PyObject_SetAttrId(result, &PyId_defaults, value) == -1) goto failed; Py_DECREF(value); - value = ast2obj_list(o->kw_defaults, ast2obj_expr); - if (!value) goto failed; - if (_PyObject_SetAttrId(result, &PyId_kw_defaults, value) == -1) - goto failed; - Py_DECREF(value); return result; failed: Py_XDECREF(value); @@ -3430,6 +3483,16 @@ ast2obj_arg(void* _o) if (_PyObject_SetAttrId(result, &PyId_annotation, value) == -1) goto failed; Py_DECREF(value); + value = ast2obj_int(o->lineno); + if (!value) goto failed; + if (_PyObject_SetAttrId(result, &PyId_lineno, value) < 0) + goto failed; + Py_DECREF(value); + value = ast2obj_int(o->col_offset); + if (!value) goto failed; + if (_PyObject_SetAttrId(result, &PyId_col_offset, value) < 0) + goto failed; + Py_DECREF(value); return result; failed: Py_XDECREF(value); @@ -3796,7 +3859,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"decorator_list\" missing from FunctionDef"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_returns)) { + if (exists_not_none(obj, &PyId_returns)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_returns); if (tmp == NULL) goto failed; @@ -3887,7 +3950,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"keywords\" missing from ClassDef"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_starargs)) { + if (exists_not_none(obj, &PyId_starargs)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_starargs); if (tmp == NULL) goto failed; @@ -3898,7 +3961,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) } else { starargs = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_kwargs)) { + if (exists_not_none(obj, &PyId_kwargs)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_kwargs); if (tmp == NULL) goto failed; @@ -3971,7 +4034,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) if (isinstance) { expr_ty value; - if (_PyObject_HasAttrId(obj, &PyId_value)) { + if (exists_not_none(obj, &PyId_value)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_value); if (tmp == NULL) goto failed; @@ -4429,7 +4492,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) expr_ty exc; expr_ty cause; - if (_PyObject_HasAttrId(obj, &PyId_exc)) { + if (exists_not_none(obj, &PyId_exc)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_exc); if (tmp == NULL) goto failed; @@ -4440,7 +4503,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) } else { exc = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_cause)) { + if (exists_not_none(obj, &PyId_cause)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_cause); if (tmp == NULL) goto failed; @@ -4590,7 +4653,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"test\" missing from Assert"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_msg)) { + if (exists_not_none(obj, &PyId_msg)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_msg); if (tmp == NULL) goto failed; @@ -4650,7 +4713,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) asdl_seq* names; int level; - if (_PyObject_HasAttrId(obj, &PyId_module)) { + if (exists_not_none(obj, &PyId_module)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_module); if (tmp == NULL) goto failed; @@ -4686,7 +4749,7 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"names\" missing from ImportFrom"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_level)) { + if (exists_not_none(obj, &PyId_level)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_level); if (tmp == NULL) goto failed; @@ -5405,7 +5468,7 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) if (isinstance) { expr_ty value; - if (_PyObject_HasAttrId(obj, &PyId_value)) { + if (exists_not_none(obj, &PyId_value)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_value); if (tmp == NULL) goto failed; @@ -5592,7 +5655,7 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"keywords\" missing from Call"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_starargs)) { + if (exists_not_none(obj, &PyId_starargs)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_starargs); if (tmp == NULL) goto failed; @@ -5603,7 +5666,7 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) } else { starargs = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_kwargs)) { + if (exists_not_none(obj, &PyId_kwargs)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_kwargs); if (tmp == NULL) goto failed; @@ -5688,6 +5751,29 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena) if (*out == NULL) goto failed; return 0; } + isinstance = PyObject_IsInstance(obj, (PyObject*)NameConstant_type); + if (isinstance == -1) { + return 1; + } + if (isinstance) { + singleton value; + + if (_PyObject_HasAttrId(obj, &PyId_value)) { + int res; + tmp = _PyObject_GetAttrId(obj, &PyId_value); + if (tmp == NULL) goto failed; + res = obj2ast_singleton(tmp, &value, arena); + if (res != 0) goto failed; + Py_XDECREF(tmp); + tmp = NULL; + } else { + PyErr_SetString(PyExc_TypeError, "required field \"value\" missing from NameConstant"); + return 1; + } + *out = NameConstant(value, lineno, col_offset, arena); + if (*out == NULL) goto failed; + return 0; + } isinstance = PyObject_IsInstance(obj, (PyObject*)Ellipsis_type); if (isinstance == -1) { return 1; @@ -6051,7 +6137,7 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena) expr_ty upper; expr_ty step; - if (_PyObject_HasAttrId(obj, &PyId_lower)) { + if (exists_not_none(obj, &PyId_lower)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_lower); if (tmp == NULL) goto failed; @@ -6062,7 +6148,7 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena) } else { lower = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_upper)) { + if (exists_not_none(obj, &PyId_upper)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_upper); if (tmp == NULL) goto failed; @@ -6073,7 +6159,7 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena) } else { upper = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_step)) { + if (exists_not_none(obj, &PyId_step)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_step); if (tmp == NULL) goto failed; @@ -6528,7 +6614,7 @@ obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena) identifier name; asdl_seq* body; - if (_PyObject_HasAttrId(obj, &PyId_type)) { + if (exists_not_none(obj, &PyId_type)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_type); if (tmp == NULL) goto failed; @@ -6539,7 +6625,7 @@ obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena) } else { type = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_name)) { + if (exists_not_none(obj, &PyId_name)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_name); if (tmp == NULL) goto failed; @@ -6592,13 +6678,11 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena) { PyObject* tmp = NULL; asdl_seq* args; - identifier vararg; - expr_ty varargannotation; + arg_ty vararg; asdl_seq* kwonlyargs; - identifier kwarg; - expr_ty kwargannotation; - asdl_seq* defaults; asdl_seq* kw_defaults; + arg_ty kwarg; + asdl_seq* defaults; if (_PyObject_HasAttrId(obj, &PyId_args)) { int res; @@ -6625,28 +6709,17 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"args\" missing from arguments"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_vararg)) { + if (exists_not_none(obj, &PyId_vararg)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_vararg); if (tmp == NULL) goto failed; - res = obj2ast_identifier(tmp, &vararg, arena); + res = obj2ast_arg(tmp, &vararg, arena); if (res != 0) goto failed; Py_XDECREF(tmp); tmp = NULL; } else { vararg = NULL; } - if (_PyObject_HasAttrId(obj, &PyId_varargannotation)) { - int res; - tmp = _PyObject_GetAttrId(obj, &PyId_varargannotation); - if (tmp == NULL) goto failed; - res = obj2ast_expr(tmp, &varargannotation, arena); - if (res != 0) goto failed; - Py_XDECREF(tmp); - tmp = NULL; - } else { - varargannotation = NULL; - } if (_PyObject_HasAttrId(obj, &PyId_kwonlyargs)) { int res; Py_ssize_t len; @@ -6672,27 +6745,41 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"kwonlyargs\" missing from arguments"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_kwarg)) { + if (_PyObject_HasAttrId(obj, &PyId_kw_defaults)) { int res; - tmp = _PyObject_GetAttrId(obj, &PyId_kwarg); + Py_ssize_t len; + Py_ssize_t i; + tmp = _PyObject_GetAttrId(obj, &PyId_kw_defaults); if (tmp == NULL) goto failed; - res = obj2ast_identifier(tmp, &kwarg, arena); - if (res != 0) goto failed; + if (!PyList_Check(tmp)) { + PyErr_Format(PyExc_TypeError, "arguments field \"kw_defaults\" must be a list, not a %.200s", tmp->ob_type->tp_name); + goto failed; + } + len = PyList_GET_SIZE(tmp); + kw_defaults = asdl_seq_new(len, arena); + if (kw_defaults == NULL) goto failed; + for (i = 0; i < len; i++) { + expr_ty value; + res = obj2ast_expr(PyList_GET_ITEM(tmp, i), &value, arena); + if (res != 0) goto failed; + asdl_seq_SET(kw_defaults, i, value); + } Py_XDECREF(tmp); tmp = NULL; } else { - kwarg = NULL; + PyErr_SetString(PyExc_TypeError, "required field \"kw_defaults\" missing from arguments"); + return 1; } - if (_PyObject_HasAttrId(obj, &PyId_kwargannotation)) { + if (exists_not_none(obj, &PyId_kwarg)) { int res; - tmp = _PyObject_GetAttrId(obj, &PyId_kwargannotation); + tmp = _PyObject_GetAttrId(obj, &PyId_kwarg); if (tmp == NULL) goto failed; - res = obj2ast_expr(tmp, &kwargannotation, arena); + res = obj2ast_arg(tmp, &kwarg, arena); if (res != 0) goto failed; Py_XDECREF(tmp); tmp = NULL; } else { - kwargannotation = NULL; + kwarg = NULL; } if (_PyObject_HasAttrId(obj, &PyId_defaults)) { int res; @@ -6719,33 +6806,8 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"defaults\" missing from arguments"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_kw_defaults)) { - int res; - Py_ssize_t len; - Py_ssize_t i; - tmp = _PyObject_GetAttrId(obj, &PyId_kw_defaults); - if (tmp == NULL) goto failed; - if (!PyList_Check(tmp)) { - PyErr_Format(PyExc_TypeError, "arguments field \"kw_defaults\" must be a list, not a %.200s", tmp->ob_type->tp_name); - goto failed; - } - len = PyList_GET_SIZE(tmp); - kw_defaults = asdl_seq_new(len, arena); - if (kw_defaults == NULL) goto failed; - for (i = 0; i < len; i++) { - expr_ty value; - res = obj2ast_expr(PyList_GET_ITEM(tmp, i), &value, arena); - if (res != 0) goto failed; - asdl_seq_SET(kw_defaults, i, value); - } - Py_XDECREF(tmp); - tmp = NULL; - } else { - PyErr_SetString(PyExc_TypeError, "required field \"kw_defaults\" missing from arguments"); - return 1; - } - *out = arguments(args, vararg, varargannotation, kwonlyargs, kwarg, - kwargannotation, defaults, kw_defaults, arena); + *out = arguments(args, vararg, kwonlyargs, kw_defaults, kwarg, + defaults, arena); return 0; failed: Py_XDECREF(tmp); @@ -6771,7 +6833,7 @@ obj2ast_arg(PyObject* obj, arg_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"arg\" missing from arg"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_annotation)) { + if (exists_not_none(obj, &PyId_annotation)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_annotation); if (tmp == NULL) goto failed; @@ -6846,7 +6908,7 @@ obj2ast_alias(PyObject* obj, alias_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"name\" missing from alias"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_asname)) { + if (exists_not_none(obj, &PyId_asname)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_asname); if (tmp == NULL) goto failed; @@ -6883,7 +6945,7 @@ obj2ast_withitem(PyObject* obj, withitem_ty* out, PyArena* arena) PyErr_SetString(PyExc_TypeError, "required field \"context_expr\" missing from withitem"); return 1; } - if (_PyObject_HasAttrId(obj, &PyId_optional_vars)) { + if (exists_not_none(obj, &PyId_optional_vars)) { int res; tmp = _PyObject_GetAttrId(obj, &PyId_optional_vars); if (tmp == NULL) goto failed; @@ -7008,6 +7070,8 @@ PyInit__ast(void) NULL; if (PyDict_SetItemString(d, "Bytes", (PyObject*)Bytes_type) < 0) return NULL; + if (PyDict_SetItemString(d, "NameConstant", + (PyObject*)NameConstant_type) < 0) return NULL; if (PyDict_SetItemString(d, "Ellipsis", (PyObject*)Ellipsis_type) < 0) return NULL; if (PyDict_SetItemString(d, "Attribute", (PyObject*)Attribute_type) < diff --git a/Python/ast.c b/Python/ast.c index 1b5fa6ccc2..4d517b7b54 100644 --- a/Python/ast.c +++ b/Python/ast.c @@ -109,22 +109,14 @@ validate_arguments(arguments_ty args) { if (!validate_args(args->args)) return 0; - if (args->varargannotation) { - if (!args->vararg) { - PyErr_SetString(PyExc_ValueError, "varargannotation but no vararg on arguments"); - return 0; - } - if (!validate_expr(args->varargannotation, Load)) + if (args->vararg && args->vararg->annotation + && !validate_expr(args->vararg->annotation, Load)) { return 0; } if (!validate_args(args->kwonlyargs)) return 0; - if (args->kwargannotation) { - if (!args->kwarg) { - PyErr_SetString(PyExc_ValueError, "kwargannotation but no kwarg on arguments"); - return 0; - } - if (!validate_expr(args->kwargannotation, Load)) + if (args->kwarg && args->kwarg->annotation + && !validate_expr(args->kwarg->annotation, Load)) { return 0; } if (asdl_seq_LEN(args->defaults) > asdl_seq_LEN(args->args)) { @@ -282,6 +274,7 @@ validate_expr(expr_ty exp, expr_context_ty ctx) return validate_exprs(exp->v.Tuple.elts, ctx, 0); /* These last cases don't have any checking. */ case Name_kind: + case NameConstant_kind: case Ellipsis_kind: return 1; default: @@ -903,7 +896,7 @@ set_context(struct compiling *c, expr_ty e, expr_context_ty ctx, const node *n) break; case Name_kind: if (ctx == Store) { - if (forbidden_name(c, e->v.Name.id, n, 1)) + if (forbidden_name(c, e->v.Name.id, n, 0)) return 0; /* forbidden_name() calls ast_error() */ } e->v.Name.ctx = ctx; @@ -955,6 +948,9 @@ set_context(struct compiling *c, expr_ty e, expr_context_ty ctx, const node *n) case Bytes_kind: expr_name = "literal"; break; + case NameConstant_kind: + expr_name = "keyword"; + break; case Ellipsis_kind: expr_name = "Ellipsis"; break; @@ -1119,6 +1115,7 @@ ast_for_arg(struct compiling *c, const node *n) identifier name; expr_ty annotation = NULL; node *ch; + arg_ty tmp; assert(TYPE(n) == tfpdef || TYPE(n) == vfpdef); ch = CHILD(n, 0); @@ -1134,7 +1131,13 @@ ast_for_arg(struct compiling *c, const node *n) return NULL; } - return arg(name, annotation, c->c_arena); + tmp = arg(name, annotation, c->c_arena); + if (!tmp) + return NULL; + + tmp->lineno = LINENO(n); + tmp->col_offset = n->n_col_offset; + return tmp; } /* returns -1 if failed to handle keyword only arguments @@ -1230,15 +1233,13 @@ ast_for_arguments(struct compiling *c, const node *n) int i, j, k, nposargs = 0, nkwonlyargs = 0; int nposdefaults = 0, found_default = 0; asdl_seq *posargs, *posdefaults, *kwonlyargs, *kwdefaults; - identifier vararg = NULL, kwarg = NULL; + arg_ty vararg = NULL, kwarg = NULL; arg_ty arg; - expr_ty varargannotation = NULL, kwargannotation = NULL; node *ch; if (TYPE(n) == parameters) { if (NCH(n) == 2) /* () as argument list */ - return arguments(NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, c->c_arena); + return arguments(NULL, NULL, NULL, NULL, NULL, NULL, c->c_arena); n = CHILD(n, 1); } assert(TYPE(n) == typedargslist || TYPE(n) == varargslist); @@ -1344,17 +1345,10 @@ ast_for_arguments(struct compiling *c, const node *n) i = res; /* res has new position to process */ } else { - vararg = NEW_IDENTIFIER(CHILD(ch, 0)); + vararg = ast_for_arg(c, ch); if (!vararg) return NULL; - if (forbidden_name(c, vararg, CHILD(ch, 0), 0)) - return NULL; - if (NCH(ch) > 1) { - /* there is an annotation on the vararg */ - varargannotation = ast_for_expr(c, CHILD(ch, 2)); - if (!varargannotation) - return NULL; - } + i += 3; if (i < NCH(n) && (TYPE(CHILD(n, i)) == tfpdef || TYPE(CHILD(n, i)) == vfpdef)) { @@ -1369,17 +1363,9 @@ ast_for_arguments(struct compiling *c, const node *n) case DOUBLESTAR: ch = CHILD(n, i+1); /* tfpdef */ assert(TYPE(ch) == tfpdef || TYPE(ch) == vfpdef); - kwarg = NEW_IDENTIFIER(CHILD(ch, 0)); + kwarg = ast_for_arg(c, ch); if (!kwarg) return NULL; - if (NCH(ch) > 1) { - /* there is an annotation on the kwarg */ - kwargannotation = ast_for_expr(c, CHILD(ch, 2)); - if (!kwargannotation) - return NULL; - } - if (forbidden_name(c, kwarg, CHILD(ch, 0), 0)) - return NULL; i += 3; break; default: @@ -1389,8 +1375,7 @@ ast_for_arguments(struct compiling *c, const node *n) return NULL; } } - return arguments(posargs, vararg, varargannotation, kwonlyargs, kwarg, - kwargannotation, posdefaults, kwdefaults, c->c_arena); + return arguments(posargs, vararg, kwonlyargs, kwdefaults, kwarg, posdefaults, c->c_arena); } static expr_ty @@ -1555,8 +1540,7 @@ ast_for_lambdef(struct compiling *c, const node *n) expr_ty expression; if (NCH(n) == 3) { - args = arguments(NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, c->c_arena); + args = arguments(NULL, NULL, NULL, NULL, NULL, NULL, c->c_arena); if (!args) return NULL; expression = ast_for_expr(c, CHILD(n, 2)); @@ -1819,11 +1803,21 @@ ast_for_atom(struct compiling *c, const node *n) switch (TYPE(ch)) { case NAME: { - /* All names start in Load context, but may later be - changed. */ - PyObject *name = NEW_IDENTIFIER(ch); + PyObject *name; + const char *s = STR(ch); + size_t len = strlen(s); + if (len >= 4 && len <= 5) { + if (!strcmp(s, "None")) + return NameConstant(Py_None, LINENO(n), n->n_col_offset, c->c_arena); + if (!strcmp(s, "True")) + return NameConstant(Py_True, LINENO(n), n->n_col_offset, c->c_arena); + if (!strcmp(s, "False")) + return NameConstant(Py_False, LINENO(n), n->n_col_offset, c->c_arena); + } + name = new_identifier(s, c); if (!name) return NULL; + /* All names start in Load context, but may later be changed. */ return Name(name, Load, LINENO(n), n->n_col_offset, c->c_arena); } case STRING: { @@ -2093,15 +2087,22 @@ ast_for_trailer(struct compiling *c, const node *n, expr_ty left_expr) if (NCH(n) == 2) return Call(left_expr, NULL, NULL, NULL, NULL, LINENO(n), n->n_col_offset, c->c_arena); - else - return ast_for_call(c, CHILD(n, 1), left_expr); + else { + expr_ty tmp = ast_for_call(c, CHILD(n, 1), left_expr); + if (!tmp) + return NULL; + + tmp->lineno = LINENO(n); + tmp->col_offset = n->n_col_offset; + return tmp; + } } else if (TYPE(CHILD(n, 0)) == DOT ) { PyObject *attr_id = NEW_IDENTIFIER(CHILD(n, 1)); if (!attr_id) return NULL; return Attribute(left_expr, attr_id, Load, - LINENO(n), n->n_col_offset, c->c_arena); + LINENO(CHILD(n, 1)), CHILD(n, 1)->n_col_offset, c->c_arena); } else { REQ(CHILD(n, 0), LSQB); @@ -2202,8 +2203,6 @@ ast_for_power(struct compiling *c, const node *n) tmp = ast_for_trailer(c, ch, e); if (!tmp) return NULL; - tmp->lineno = e->lineno; - tmp->col_offset = e->col_offset; e = tmp; } if (TYPE(CHILD(n, NCH(n) - 1)) == factor) { diff --git a/Python/bltinmodule.c b/Python/bltinmodule.c index 75afa860f1..5291565b81 100644 --- a/Python/bltinmodule.c +++ b/Python/bltinmodule.c @@ -659,7 +659,7 @@ builtin_compile(PyObject *self, PyObject *args, PyObject *kwds) goto finally; } - str = source_as_string(cmd, "compile", "string, bytes, AST or code", &cf); + str = source_as_string(cmd, "compile", "string, bytes or AST", &cf); if (str == NULL) goto error; @@ -1810,10 +1810,10 @@ For most object types, eval(repr(object)) == object."); static PyObject * builtin_round(PyObject *self, PyObject *args, PyObject *kwds) { - static PyObject *round_str = NULL; PyObject *ndigits = NULL; static char *kwlist[] = {"number", "ndigits", 0}; - PyObject *number, *round; + PyObject *number, *round, *result; + _Py_IDENTIFIER(__round__); if (!PyArg_ParseTupleAndKeywords(args, kwds, "O|O:round", kwlist, &number, &ndigits)) @@ -1824,24 +1824,21 @@ builtin_round(PyObject *self, PyObject *args, PyObject *kwds) return NULL; } - if (round_str == NULL) { - round_str = PyUnicode_InternFromString("__round__"); - if (round_str == NULL) - return NULL; - } - - round = _PyType_Lookup(Py_TYPE(number), round_str); + round = _PyObject_LookupSpecial(number, &PyId___round__); if (round == NULL) { - PyErr_Format(PyExc_TypeError, - "type %.100s doesn't define __round__ method", - Py_TYPE(number)->tp_name); + if (!PyErr_Occurred()) + PyErr_Format(PyExc_TypeError, + "type %.100s doesn't define __round__ method", + Py_TYPE(number)->tp_name); return NULL; } if (ndigits == NULL) - return PyObject_CallFunction(round, "O", number); + result = PyObject_CallFunctionObjArgs(round, NULL); else - return PyObject_CallFunction(round, "OO", number, ndigits); + result = PyObject_CallFunctionObjArgs(round, ndigits, NULL); + Py_DECREF(round); + return result; } PyDoc_STRVAR(round_doc, @@ -2408,6 +2405,12 @@ PyObject * _PyBuiltin_Init(void) { PyObject *mod, *dict, *debug; + + if (PyType_Ready(&PyFilter_Type) < 0 || + PyType_Ready(&PyMap_Type) < 0 || + PyType_Ready(&PyZip_Type) < 0) + return NULL; + mod = PyModule_Create(&builtinsmodule); if (mod == NULL) return NULL; diff --git a/Python/ceval.c b/Python/ceval.c index f42784141d..cbc0fabd03 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -142,8 +142,6 @@ static PyObject * special_lookup(PyObject *, _Py_Identifier *); #define NAME_ERROR_MSG \ "name '%.200s' is not defined" -#define GLOBAL_NAME_ERROR_MSG \ - "global name '%.200s' is not defined" #define UNBOUNDLOCAL_ERROR_MSG \ "local variable '%.200s' referenced before assignment" #define UNBOUNDFREE_ERROR_MSG \ @@ -742,7 +740,6 @@ _Py_CheckRecursiveCall(char *where) enum why_code { WHY_NOT = 0x0001, /* No error */ WHY_EXCEPTION = 0x0002, /* Exception occurred */ - WHY_RERAISE = 0x0004, /* Exception re-raised by 'finally' */ WHY_RETURN = 0x0008, /* 'return' statement */ WHY_BREAK = 0x0010, /* 'break' statement */ WHY_CONTINUE = 0x0020, /* 'continue' statement */ @@ -753,7 +750,7 @@ enum why_code { static void save_exc_state(PyThreadState *, PyFrameObject *); static void swap_exc_state(PyThreadState *, PyFrameObject *); static void restore_and_clear_exc_state(PyThreadState *, PyFrameObject *); -static enum why_code do_raise(PyObject *, PyObject *); +static int do_raise(PyObject *, PyObject *); static int unpack_iterable(PyObject *, int, int, PyObject **); /* Records whether tracing is on for any thread. Counts the number of @@ -798,12 +795,6 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) register int opcode; /* Current opcode */ register int oparg; /* Current opcode argument, if any */ register enum why_code why; /* Reason for block stack unwind */ - register int err; /* Error status -- nonzero if error */ - register PyObject *x; /* Result object -- NULL if error */ - register PyObject *v; /* Temporary objects popped off stack */ - register PyObject *w; - register PyObject *u; - register PyObject *t; register PyObject **fastlocals, **freevars; PyObject *retval = NULL; /* Return value */ PyThreadState *tstate = PyThreadState_GET(); @@ -1206,14 +1197,9 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) #endif why = WHY_NOT; - err = 0; - x = Py_None; /* Not a reference, just anything non-NULL */ - w = NULL; - if (throwflag) { /* support for generator.throw() */ - why = WHY_EXCEPTION; - goto on_error; - } + if (throwflag) /* support for generator.throw() */ + goto error; for (;;) { #ifdef WITH_TSC @@ -1255,10 +1241,8 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) ticked = 1; #endif if (_Py_atomic_load_relaxed(&pendingcalls_to_do)) { - if (Py_MakePendingCalls() < 0) { - why = WHY_EXCEPTION; - goto on_error; - } + if (Py_MakePendingCalls() < 0) + goto error; } #ifdef WITH_THREAD if (_Py_atomic_load_relaxed(&gil_drop_request)) { @@ -1276,13 +1260,12 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) #endif /* Check for asynchronous exceptions. */ if (tstate->async_exc != NULL) { - x = tstate->async_exc; + PyObject *exc = tstate->async_exc; tstate->async_exc = NULL; UNSIGNAL_ASYNC_EXC(); - PyErr_SetNone(x); - Py_DECREF(x); - why = WHY_EXCEPTION; - goto on_error; + PyErr_SetNone(exc); + Py_DECREF(exc); + goto error; } } @@ -1293,6 +1276,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) if (_Py_TracingPossible && tstate->c_tracefunc != NULL && !tstate->tracing) { + int err; /* see maybe_call_line_trace for expository comments */ f->f_stacktop = stack_pointer; @@ -1307,10 +1291,9 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) stack_pointer = f->f_stacktop; f->f_stacktop = NULL; } - if (err) { + if (err) /* trace function raised an exception */ - goto on_error; - } + goto error; } /* Extract opcode and argument */ @@ -1357,87 +1340,99 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) TARGET(NOP) FAST_DISPATCH(); - TARGET(LOAD_FAST) - x = GETLOCAL(oparg); - if (x != NULL) { - Py_INCREF(x); - PUSH(x); - FAST_DISPATCH(); + TARGET(LOAD_FAST) { + PyObject *value = GETLOCAL(oparg); + if (value == NULL) { + format_exc_check_arg(PyExc_UnboundLocalError, + UNBOUNDLOCAL_ERROR_MSG, + PyTuple_GetItem(co->co_varnames, oparg)); + goto error; } - format_exc_check_arg(PyExc_UnboundLocalError, - UNBOUNDLOCAL_ERROR_MSG, - PyTuple_GetItem(co->co_varnames, oparg)); - break; + Py_INCREF(value); + PUSH(value); + FAST_DISPATCH(); + } - TARGET(LOAD_CONST) - x = GETITEM(consts, oparg); - Py_INCREF(x); - PUSH(x); + TARGET(LOAD_CONST) { + PyObject *value = GETITEM(consts, oparg); + Py_INCREF(value); + PUSH(value); FAST_DISPATCH(); + } PREDICTED_WITH_ARG(STORE_FAST); - TARGET(STORE_FAST) - v = POP(); - SETLOCAL(oparg, v); + TARGET(STORE_FAST) { + PyObject *value = POP(); + SETLOCAL(oparg, value); FAST_DISPATCH(); + } - TARGET(POP_TOP) - v = POP(); - Py_DECREF(v); + TARGET(POP_TOP) { + PyObject *value = POP(); + Py_DECREF(value); FAST_DISPATCH(); + } - TARGET(ROT_TWO) - v = TOP(); - w = SECOND(); - SET_TOP(w); - SET_SECOND(v); + TARGET(ROT_TWO) { + PyObject *top = TOP(); + PyObject *second = SECOND(); + SET_TOP(second); + SET_SECOND(top); FAST_DISPATCH(); + } - TARGET(ROT_THREE) - v = TOP(); - w = SECOND(); - x = THIRD(); - SET_TOP(w); - SET_SECOND(x); - SET_THIRD(v); + TARGET(ROT_THREE) { + PyObject *top = TOP(); + PyObject *second = SECOND(); + PyObject *third = THIRD(); + SET_TOP(second); + SET_SECOND(third); + SET_THIRD(top); FAST_DISPATCH(); + } - TARGET(DUP_TOP) - v = TOP(); - Py_INCREF(v); - PUSH(v); + TARGET(DUP_TOP) { + PyObject *top = TOP(); + Py_INCREF(top); + PUSH(top); FAST_DISPATCH(); + } - TARGET(DUP_TOP_TWO) - x = TOP(); - Py_INCREF(x); - w = SECOND(); - Py_INCREF(w); + TARGET(DUP_TOP_TWO) { + PyObject *top = TOP(); + PyObject *second = SECOND(); + Py_INCREF(top); + Py_INCREF(second); STACKADJ(2); - SET_TOP(x); - SET_SECOND(w); + SET_TOP(top); + SET_SECOND(second); FAST_DISPATCH(); + } - TARGET(UNARY_POSITIVE) - v = TOP(); - x = PyNumber_Positive(v); - Py_DECREF(v); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(UNARY_POSITIVE) { + PyObject *value = TOP(); + PyObject *res = PyNumber_Positive(value); + Py_DECREF(value); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(UNARY_NEGATIVE) - v = TOP(); - x = PyNumber_Negative(v); - Py_DECREF(v); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(UNARY_NEGATIVE) { + PyObject *value = TOP(); + PyObject *res = PyNumber_Negative(value); + Py_DECREF(value); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(UNARY_NOT) - v = TOP(); - err = PyObject_IsTrue(v); - Py_DECREF(v); + TARGET(UNARY_NOT) { + PyObject *value = TOP(); + int err = PyObject_IsTrue(value); + Py_DECREF(value); if (err == 0) { Py_INCREF(Py_True); SET_TOP(Py_True); @@ -1450,416 +1445,468 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) DISPATCH(); } STACKADJ(-1); - break; + goto error; + } - TARGET(UNARY_INVERT) - v = TOP(); - x = PyNumber_Invert(v); - Py_DECREF(v); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(UNARY_INVERT) { + PyObject *value = TOP(); + PyObject *res = PyNumber_Invert(value); + Py_DECREF(value); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_POWER) - w = POP(); - v = TOP(); - x = PyNumber_Power(v, w, Py_None); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_POWER) { + PyObject *exp = POP(); + PyObject *base = TOP(); + PyObject *res = PyNumber_Power(base, exp, Py_None); + Py_DECREF(base); + Py_DECREF(exp); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_MULTIPLY) - w = POP(); - v = TOP(); - x = PyNumber_Multiply(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_MULTIPLY) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_Multiply(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_TRUE_DIVIDE) - w = POP(); - v = TOP(); - x = PyNumber_TrueDivide(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_TRUE_DIVIDE) { + PyObject *divisor = POP(); + PyObject *dividend = TOP(); + PyObject *quotient = PyNumber_TrueDivide(dividend, divisor); + Py_DECREF(dividend); + Py_DECREF(divisor); + SET_TOP(quotient); + if (quotient == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_FLOOR_DIVIDE) - w = POP(); - v = TOP(); - x = PyNumber_FloorDivide(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_FLOOR_DIVIDE) { + PyObject *divisor = POP(); + PyObject *dividend = TOP(); + PyObject *quotient = PyNumber_FloorDivide(dividend, divisor); + Py_DECREF(dividend); + Py_DECREF(divisor); + SET_TOP(quotient); + if (quotient == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_MODULO) - w = POP(); - v = TOP(); - if (PyUnicode_CheckExact(v)) - x = PyUnicode_Format(v, w); - else - x = PyNumber_Remainder(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_MODULO) { + PyObject *divisor = POP(); + PyObject *dividend = TOP(); + PyObject *res = PyUnicode_CheckExact(dividend) ? + PyUnicode_Format(dividend, divisor) : + PyNumber_Remainder(dividend, divisor); + Py_DECREF(divisor); + Py_DECREF(dividend); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_ADD) - w = POP(); - v = TOP(); - if (PyUnicode_CheckExact(v) && - PyUnicode_CheckExact(w)) { - x = unicode_concatenate(v, w, f, next_instr); + TARGET(BINARY_ADD) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *sum; + if (PyUnicode_CheckExact(left) && + PyUnicode_CheckExact(right)) { + sum = unicode_concatenate(left, right, f, next_instr); /* unicode_concatenate consumed the ref to v */ - goto skip_decref_vx; } else { - x = PyNumber_Add(v, w); + sum = PyNumber_Add(left, right); + Py_DECREF(left); } - Py_DECREF(v); - skip_decref_vx: - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; - - TARGET(BINARY_SUBTRACT) - w = POP(); - v = TOP(); - x = PyNumber_Subtract(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; - - TARGET(BINARY_SUBSCR) - w = POP(); - v = TOP(); - x = PyObject_GetItem(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + Py_DECREF(right); + SET_TOP(sum); + if (sum == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_LSHIFT) - w = POP(); - v = TOP(); - x = PyNumber_Lshift(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_SUBTRACT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *diff = PyNumber_Subtract(left, right); + Py_DECREF(right); + Py_DECREF(left); + SET_TOP(diff); + if (diff == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_RSHIFT) - w = POP(); - v = TOP(); - x = PyNumber_Rshift(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_SUBSCR) { + PyObject *sub = POP(); + PyObject *container = TOP(); + PyObject *res = PyObject_GetItem(container, sub); + Py_DECREF(container); + Py_DECREF(sub); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_AND) - w = POP(); - v = TOP(); - x = PyNumber_And(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_LSHIFT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_Lshift(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_XOR) - w = POP(); - v = TOP(); - x = PyNumber_Xor(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_RSHIFT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_Rshift(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(BINARY_OR) - w = POP(); - v = TOP(); - x = PyNumber_Or(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BINARY_AND) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_And(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(LIST_APPEND) - w = POP(); - v = PEEK(oparg); - err = PyList_Append(v, w); - Py_DECREF(w); - if (err == 0) { - PREDICT(JUMP_ABSOLUTE); - DISPATCH(); - } - break; + TARGET(BINARY_XOR) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_Xor(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(SET_ADD) - w = POP(); - v = stack_pointer[-oparg]; - err = PySet_Add(v, w); - Py_DECREF(w); - if (err == 0) { - PREDICT(JUMP_ABSOLUTE); - DISPATCH(); - } - break; + TARGET(BINARY_OR) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_Or(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_POWER) - w = POP(); - v = TOP(); - x = PyNumber_InPlacePower(v, w, Py_None); + TARGET(LIST_APPEND) { + PyObject *v = POP(); + PyObject *list = PEEK(oparg); + int err; + err = PyList_Append(list, v); Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + if (err != 0) + goto error; + PREDICT(JUMP_ABSOLUTE); + DISPATCH(); + } - TARGET(INPLACE_MULTIPLY) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceMultiply(v, w); + TARGET(SET_ADD) { + PyObject *v = POP(); + PyObject *set = stack_pointer[-oparg]; + int err; + err = PySet_Add(set, v); Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + if (err != 0) + goto error; + PREDICT(JUMP_ABSOLUTE); + DISPATCH(); + } - TARGET(INPLACE_TRUE_DIVIDE) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceTrueDivide(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_POWER) { + PyObject *exp = POP(); + PyObject *base = TOP(); + PyObject *res = PyNumber_InPlacePower(base, exp, Py_None); + Py_DECREF(base); + Py_DECREF(exp); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_FLOOR_DIVIDE) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceFloorDivide(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_MULTIPLY) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceMultiply(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_MODULO) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceRemainder(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_TRUE_DIVIDE) { + PyObject *divisor = POP(); + PyObject *dividend = TOP(); + PyObject *quotient = PyNumber_InPlaceTrueDivide(dividend, divisor); + Py_DECREF(dividend); + Py_DECREF(divisor); + SET_TOP(quotient); + if (quotient == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_ADD) - w = POP(); - v = TOP(); - if (PyUnicode_CheckExact(v) && - PyUnicode_CheckExact(w)) { - x = unicode_concatenate(v, w, f, next_instr); + TARGET(INPLACE_FLOOR_DIVIDE) { + PyObject *divisor = POP(); + PyObject *dividend = TOP(); + PyObject *quotient = PyNumber_InPlaceFloorDivide(dividend, divisor); + Py_DECREF(dividend); + Py_DECREF(divisor); + SET_TOP(quotient); + if (quotient == NULL) + goto error; + DISPATCH(); + } + + TARGET(INPLACE_MODULO) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *mod = PyNumber_InPlaceRemainder(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(mod); + if (mod == NULL) + goto error; + DISPATCH(); + } + + TARGET(INPLACE_ADD) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *sum; + if (PyUnicode_CheckExact(left) && PyUnicode_CheckExact(right)) { + sum = unicode_concatenate(left, right, f, next_instr); /* unicode_concatenate consumed the ref to v */ - goto skip_decref_v; } else { - x = PyNumber_InPlaceAdd(v, w); + sum = PyNumber_InPlaceAdd(left, right); + Py_DECREF(left); } - Py_DECREF(v); - skip_decref_v: - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + Py_DECREF(right); + SET_TOP(sum); + if (sum == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_SUBTRACT) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceSubtract(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_SUBTRACT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *diff = PyNumber_InPlaceSubtract(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(diff); + if (diff == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_LSHIFT) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceLshift(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_LSHIFT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceLshift(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_RSHIFT) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceRshift(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_RSHIFT) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceRshift(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_AND) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceAnd(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_AND) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceAnd(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_XOR) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceXor(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_XOR) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceXor(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(INPLACE_OR) - w = POP(); - v = TOP(); - x = PyNumber_InPlaceOr(v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(INPLACE_OR) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = PyNumber_InPlaceOr(left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(STORE_SUBSCR) - w = TOP(); - v = SECOND(); - u = THIRD(); + TARGET(STORE_SUBSCR) { + PyObject *sub = TOP(); + PyObject *container = SECOND(); + PyObject *v = THIRD(); + int err; STACKADJ(-3); /* v[w] = u */ - err = PyObject_SetItem(v, w, u); - Py_DECREF(u); + err = PyObject_SetItem(container, sub, v); Py_DECREF(v); - Py_DECREF(w); - if (err == 0) DISPATCH(); - break; + Py_DECREF(container); + Py_DECREF(sub); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(DELETE_SUBSCR) - w = TOP(); - v = SECOND(); + TARGET(DELETE_SUBSCR) { + PyObject *sub = TOP(); + PyObject *container = SECOND(); + int err; STACKADJ(-2); /* del v[w] */ - err = PyObject_DelItem(v, w); - Py_DECREF(v); - Py_DECREF(w); - if (err == 0) DISPATCH(); - break; + err = PyObject_DelItem(container, sub); + Py_DECREF(container); + Py_DECREF(sub); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(PRINT_EXPR) - v = POP(); - w = PySys_GetObject("displayhook"); - if (w == NULL) { + TARGET(PRINT_EXPR) { + PyObject *value = POP(); + PyObject *hook = PySys_GetObject("displayhook"); + PyObject *res; + if (hook == NULL) { PyErr_SetString(PyExc_RuntimeError, "lost sys.displayhook"); - err = -1; - x = NULL; + Py_DECREF(value); + goto error; } - if (err == 0) { - x = PyTuple_Pack(1, v); - if (x == NULL) - err = -1; - } - if (err == 0) { - w = PyEval_CallObject(w, x); - Py_XDECREF(w); - if (w == NULL) - err = -1; - } - Py_DECREF(v); - Py_XDECREF(x); - break; + res = PyObject_CallFunctionObjArgs(hook, value, NULL); + Py_DECREF(value); + if (res == NULL) + goto error; + Py_DECREF(res); + DISPATCH(); + } #ifdef CASE_TOO_BIG default: switch (opcode) { #endif - TARGET(RAISE_VARARGS) - v = w = NULL; + TARGET(RAISE_VARARGS) { + PyObject *cause = NULL, *exc = NULL; switch (oparg) { case 2: - v = POP(); /* cause */ + cause = POP(); /* cause */ case 1: - w = POP(); /* exc */ + exc = POP(); /* exc */ case 0: /* Fallthrough */ - why = do_raise(w, v); + if (do_raise(exc, cause)) { + why = WHY_EXCEPTION; + goto fast_block_end; + } break; default: PyErr_SetString(PyExc_SystemError, "bad RAISE_VARARGS oparg"); - why = WHY_EXCEPTION; break; } - break; + goto error; + } - TARGET(STORE_LOCALS) - x = POP(); - v = f->f_locals; - Py_XDECREF(v); - f->f_locals = x; + TARGET(STORE_LOCALS) { + PyObject *locals = POP(); + PyObject *old = f->f_locals; + Py_XDECREF(old); + f->f_locals = locals; DISPATCH(); + } - TARGET(RETURN_VALUE) + TARGET(RETURN_VALUE) { retval = POP(); why = WHY_RETURN; goto fast_block_end; + } - TARGET(YIELD_FROM) - u = POP(); - x = TOP(); - /* send u to x */ - if (PyGen_CheckExact(x)) { - retval = _PyGen_Send((PyGenObject *)x, u); + TARGET(YIELD_FROM) { + PyObject *v = POP(); + PyObject *reciever = TOP(); + int err; + if (PyGen_CheckExact(reciever)) { + retval = _PyGen_Send((PyGenObject *)reciever, v); } else { _Py_IDENTIFIER(send); - if (u == Py_None) - retval = Py_TYPE(x)->tp_iternext(x); + if (v == Py_None) + retval = Py_TYPE(reciever)->tp_iternext(reciever); else - retval = _PyObject_CallMethodId(x, &PyId_send, "O", u); + retval = _PyObject_CallMethodId(reciever, &PyId_send, "O", v); } - Py_DECREF(u); - if (!retval) { + Py_DECREF(v); + if (retval == NULL) { PyObject *val; - x = POP(); /* Remove iter from stack */ - Py_DECREF(x); err = _PyGen_FetchStopIterationValue(&val); - if (err < 0) { - x = NULL; - break; - } - x = val; - PUSH(x); - continue; + if (err < 0) + goto error; + Py_DECREF(reciever); + SET_TOP(val); + DISPATCH(); } /* x remains on stack, retval is value to be yielded */ f->f_stacktop = stack_pointer; @@ -1867,39 +1914,38 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) /* and repeat... */ f->f_lasti--; goto fast_yield; + } - TARGET(YIELD_VALUE) + TARGET(YIELD_VALUE) { retval = POP(); f->f_stacktop = stack_pointer; why = WHY_YIELD; goto fast_yield; + } - TARGET(POP_EXCEPT) - { - PyTryBlock *b = PyFrame_BlockPop(f); - if (b->b_type != EXCEPT_HANDLER) { - PyErr_SetString(PyExc_SystemError, - "popped block is not an except handler"); - why = WHY_EXCEPTION; - break; - } - UNWIND_EXCEPT_HANDLER(b); + TARGET(POP_EXCEPT) { + PyTryBlock *b = PyFrame_BlockPop(f); + if (b->b_type != EXCEPT_HANDLER) { + PyErr_SetString(PyExc_SystemError, + "popped block is not an except handler"); + goto error; } + UNWIND_EXCEPT_HANDLER(b); DISPATCH(); + } - TARGET(POP_BLOCK) - { - PyTryBlock *b = PyFrame_BlockPop(f); - UNWIND_BLOCK(b); - } + TARGET(POP_BLOCK) { + PyTryBlock *b = PyFrame_BlockPop(f); + UNWIND_BLOCK(b); DISPATCH(); + } PREDICTED(END_FINALLY); - TARGET(END_FINALLY) - v = POP(); - if (PyLong_Check(v)) { - why = (enum why_code) PyLong_AS_LONG(v); - assert(why != WHY_YIELD); + TARGET(END_FINALLY) { + PyObject *status = POP(); + if (PyLong_Check(status)) { + why = (enum why_code) PyLong_AS_LONG(status); + assert(why != WHY_YIELD && why != WHY_EXCEPTION); if (why == WHY_RETURN || why == WHY_CONTINUE) retval = POP(); @@ -1912,248 +1958,280 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) assert(b->b_type == EXCEPT_HANDLER); UNWIND_EXCEPT_HANDLER(b); why = WHY_NOT; + Py_DECREF(status); + DISPATCH(); } + Py_DECREF(status); + goto fast_block_end; } - else if (PyExceptionClass_Check(v)) { - w = POP(); - u = POP(); - PyErr_Restore(v, w, u); - why = WHY_RERAISE; - break; + else if (PyExceptionClass_Check(status)) { + PyObject *exc = POP(); + PyObject *tb = POP(); + PyErr_Restore(status, exc, tb); + why = WHY_EXCEPTION; + goto fast_block_end; } - else if (v != Py_None) { + else if (status != Py_None) { PyErr_SetString(PyExc_SystemError, "'finally' pops bad exception"); - why = WHY_EXCEPTION; + Py_DECREF(status); + goto error; } - Py_DECREF(v); - break; + Py_DECREF(status); + DISPATCH(); + } - TARGET(LOAD_BUILD_CLASS) - { + TARGET(LOAD_BUILD_CLASS) { _Py_IDENTIFIER(__build_class__); + PyObject *bc; if (PyDict_CheckExact(f->f_builtins)) { - x = _PyDict_GetItemId(f->f_builtins, &PyId___build_class__); - if (x == NULL) { + bc = _PyDict_GetItemId(f->f_builtins, &PyId___build_class__); + if (bc == NULL) { PyErr_SetString(PyExc_NameError, "__build_class__ not found"); - break; + goto error; } - Py_INCREF(x); + Py_INCREF(bc); } else { PyObject *build_class_str = _PyUnicode_FromId(&PyId___build_class__); if (build_class_str == NULL) break; - x = PyObject_GetItem(f->f_builtins, build_class_str); - if (x == NULL) { + bc = PyObject_GetItem(f->f_builtins, build_class_str); + if (bc == NULL) { if (PyErr_ExceptionMatches(PyExc_KeyError)) PyErr_SetString(PyExc_NameError, "__build_class__ not found"); - break; + goto error; } } - PUSH(x); - break; + PUSH(bc); + DISPATCH(); } - TARGET(STORE_NAME) - w = GETITEM(names, oparg); - v = POP(); - if ((x = f->f_locals) != NULL) { - if (PyDict_CheckExact(x)) - err = PyDict_SetItem(x, w, v); - else - err = PyObject_SetItem(x, w, v); + TARGET(STORE_NAME) { + PyObject *name = GETITEM(names, oparg); + PyObject *v = POP(); + PyObject *ns = f->f_locals; + int err; + if (ns == NULL) { + PyErr_Format(PyExc_SystemError, + "no locals found when storing %R", name); Py_DECREF(v); - if (err == 0) DISPATCH(); - break; + goto error; } - PyErr_Format(PyExc_SystemError, - "no locals found when storing %R", w); - break; + if (PyDict_CheckExact(ns)) + err = PyDict_SetItem(ns, name, v); + else + err = PyObject_SetItem(ns, name, v); + Py_DECREF(v); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(DELETE_NAME) - w = GETITEM(names, oparg); - if ((x = f->f_locals) != NULL) { - if ((err = PyObject_DelItem(x, w)) != 0) - format_exc_check_arg(PyExc_NameError, - NAME_ERROR_MSG, - w); - break; + TARGET(DELETE_NAME) { + PyObject *name = GETITEM(names, oparg); + PyObject *ns = f->f_locals; + int err; + if (ns == NULL) { + PyErr_Format(PyExc_SystemError, + "no locals when deleting %R", name); + goto error; } - PyErr_Format(PyExc_SystemError, - "no locals when deleting %R", w); - break; + err = PyObject_DelItem(ns, name); + if (err != 0) { + format_exc_check_arg(PyExc_NameError, + NAME_ERROR_MSG, + name); + goto error; + } + DISPATCH(); + } PREDICTED_WITH_ARG(UNPACK_SEQUENCE); - TARGET(UNPACK_SEQUENCE) - v = POP(); - if (PyTuple_CheckExact(v) && - PyTuple_GET_SIZE(v) == oparg) { - PyObject **items = \ - ((PyTupleObject *)v)->ob_item; + TARGET(UNPACK_SEQUENCE) { + PyObject *seq = POP(), *item, **items; + if (PyTuple_CheckExact(seq) && + PyTuple_GET_SIZE(seq) == oparg) { + items = ((PyTupleObject *)seq)->ob_item; while (oparg--) { - w = items[oparg]; - Py_INCREF(w); - PUSH(w); + item = items[oparg]; + Py_INCREF(item); + PUSH(item); } - Py_DECREF(v); - DISPATCH(); - } else if (PyList_CheckExact(v) && - PyList_GET_SIZE(v) == oparg) { - PyObject **items = \ - ((PyListObject *)v)->ob_item; + } else if (PyList_CheckExact(seq) && + PyList_GET_SIZE(seq) == oparg) { + items = ((PyListObject *)seq)->ob_item; while (oparg--) { - w = items[oparg]; - Py_INCREF(w); - PUSH(w); + item = items[oparg]; + Py_INCREF(item); + PUSH(item); } - } else if (unpack_iterable(v, oparg, -1, + } else if (unpack_iterable(seq, oparg, -1, stack_pointer + oparg)) { STACKADJ(oparg); } else { /* unpack_iterable() raised an exception */ - why = WHY_EXCEPTION; + Py_DECREF(seq); + goto error; } - Py_DECREF(v); - break; + Py_DECREF(seq); + DISPATCH(); + } - TARGET(UNPACK_EX) - { + TARGET(UNPACK_EX) { int totalargs = 1 + (oparg & 0xFF) + (oparg >> 8); - v = POP(); + PyObject *seq = POP(); - if (unpack_iterable(v, oparg & 0xFF, oparg >> 8, + if (unpack_iterable(seq, oparg & 0xFF, oparg >> 8, stack_pointer + totalargs)) { stack_pointer += totalargs; } else { - why = WHY_EXCEPTION; + Py_DECREF(seq); + goto error; } - Py_DECREF(v); - break; + Py_DECREF(seq); + DISPATCH(); } - TARGET(STORE_ATTR) - w = GETITEM(names, oparg); - v = TOP(); - u = SECOND(); + TARGET(STORE_ATTR) { + PyObject *name = GETITEM(names, oparg); + PyObject *owner = TOP(); + PyObject *v = SECOND(); + int err; STACKADJ(-2); - err = PyObject_SetAttr(v, w, u); /* v.w = u */ + err = PyObject_SetAttr(owner, name, v); Py_DECREF(v); - Py_DECREF(u); - if (err == 0) DISPATCH(); - break; + Py_DECREF(owner); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(DELETE_ATTR) - w = GETITEM(names, oparg); - v = POP(); - err = PyObject_SetAttr(v, w, (PyObject *)NULL); - /* del v.w */ - Py_DECREF(v); - break; + TARGET(DELETE_ATTR) { + PyObject *name = GETITEM(names, oparg); + PyObject *owner = POP(); + int err; + err = PyObject_SetAttr(owner, name, (PyObject *)NULL); + Py_DECREF(owner); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(STORE_GLOBAL) - w = GETITEM(names, oparg); - v = POP(); - err = PyDict_SetItem(f->f_globals, w, v); + TARGET(STORE_GLOBAL) { + PyObject *name = GETITEM(names, oparg); + PyObject *v = POP(); + int err; + err = PyDict_SetItem(f->f_globals, name, v); Py_DECREF(v); - if (err == 0) DISPATCH(); - break; + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(DELETE_GLOBAL) - w = GETITEM(names, oparg); - if ((err = PyDict_DelItem(f->f_globals, w)) != 0) + TARGET(DELETE_GLOBAL) { + PyObject *name = GETITEM(names, oparg); + int err; + err = PyDict_DelItem(f->f_globals, name); + if (err != 0) { format_exc_check_arg( - PyExc_NameError, GLOBAL_NAME_ERROR_MSG, w); - break; + PyExc_NameError, NAME_ERROR_MSG, name); + goto error; + } + DISPATCH(); + } - TARGET(LOAD_NAME) - w = GETITEM(names, oparg); - if ((v = f->f_locals) == NULL) { + TARGET(LOAD_NAME) { + PyObject *name = GETITEM(names, oparg); + PyObject *locals = f->f_locals; + PyObject *v; + if (locals == NULL) { PyErr_Format(PyExc_SystemError, - "no locals when loading %R", w); - why = WHY_EXCEPTION; - break; + "no locals when loading %R", name); + goto error; } - if (PyDict_CheckExact(v)) { - x = PyDict_GetItem(v, w); - Py_XINCREF(x); + if (PyDict_CheckExact(locals)) { + v = PyDict_GetItem(locals, name); + Py_XINCREF(v); } else { - x = PyObject_GetItem(v, w); - if (x == NULL && PyErr_Occurred()) { - if (!PyErr_ExceptionMatches( - PyExc_KeyError)) - break; + v = PyObject_GetItem(locals, name); + if (v == NULL && PyErr_Occurred()) { + if (!PyErr_ExceptionMatches(PyExc_KeyError)) + goto error; PyErr_Clear(); } } - if (x == NULL) { - x = PyDict_GetItem(f->f_globals, w); - Py_XINCREF(x); - if (x == NULL) { + if (v == NULL) { + v = PyDict_GetItem(f->f_globals, name); + Py_XINCREF(v); + if (v == NULL) { if (PyDict_CheckExact(f->f_builtins)) { - x = PyDict_GetItem(f->f_builtins, w); - if (x == NULL) { + v = PyDict_GetItem(f->f_builtins, name); + if (v == NULL) { format_exc_check_arg( PyExc_NameError, - NAME_ERROR_MSG, w); - break; + NAME_ERROR_MSG, name); + goto error; } - Py_INCREF(x); + Py_INCREF(v); } else { - x = PyObject_GetItem(f->f_builtins, w); - if (x == NULL) { + v = PyObject_GetItem(f->f_builtins, name); + if (v == NULL) { if (PyErr_ExceptionMatches(PyExc_KeyError)) format_exc_check_arg( PyExc_NameError, - NAME_ERROR_MSG, w); - break; + NAME_ERROR_MSG, name); + goto error; } } } } - PUSH(x); + PUSH(v); DISPATCH(); + } - TARGET(LOAD_GLOBAL) - w = GETITEM(names, oparg); + TARGET(LOAD_GLOBAL) { + PyObject *name = GETITEM(names, oparg); + PyObject *v; if (PyDict_CheckExact(f->f_globals) && PyDict_CheckExact(f->f_builtins)) { - x = _PyDict_LoadGlobal((PyDictObject *)f->f_globals, + v = _PyDict_LoadGlobal((PyDictObject *)f->f_globals, (PyDictObject *)f->f_builtins, - w); - if (x == NULL) { + name); + if (v == NULL) { if (!PyErr_Occurred()) format_exc_check_arg(PyExc_NameError, - GLOBAL_NAME_ERROR_MSG, w); - break; + NAME_ERROR_MSG, name); + goto error; } - Py_INCREF(x); + Py_INCREF(v); } else { /* Slow-path if globals or builtins is not a dict */ - x = PyObject_GetItem(f->f_globals, w); - if (x == NULL) { - x = PyObject_GetItem(f->f_builtins, w); - if (x == NULL) { + v = PyObject_GetItem(f->f_globals, name); + if (v == NULL) { + v = PyObject_GetItem(f->f_builtins, name); + if (v == NULL) { if (PyErr_ExceptionMatches(PyExc_KeyError)) format_exc_check_arg( PyExc_NameError, - GLOBAL_NAME_ERROR_MSG, w); - break; + NAME_ERROR_MSG, name); + goto error; } } } - PUSH(x); + PUSH(v); DISPATCH(); + } - TARGET(DELETE_FAST) - x = GETLOCAL(oparg); - if (x != NULL) { + TARGET(DELETE_FAST) { + PyObject *v = GETLOCAL(oparg); + if (v != NULL) { SETLOCAL(oparg, NULL); DISPATCH(); } @@ -2162,252 +2240,310 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) UNBOUNDLOCAL_ERROR_MSG, PyTuple_GetItem(co->co_varnames, oparg) ); - break; + goto error; + } - TARGET(DELETE_DEREF) - x = freevars[oparg]; - if (PyCell_GET(x) != NULL) { - PyCell_Set(x, NULL); + TARGET(DELETE_DEREF) { + PyObject *cell = freevars[oparg]; + if (PyCell_GET(cell) != NULL) { + PyCell_Set(cell, NULL); DISPATCH(); } - err = -1; format_exc_unbound(co, oparg); - break; + goto error; + } - TARGET(LOAD_CLOSURE) - x = freevars[oparg]; - Py_INCREF(x); - PUSH(x); - if (x != NULL) DISPATCH(); - break; + TARGET(LOAD_CLOSURE) { + PyObject *cell = freevars[oparg]; + Py_INCREF(cell); + PUSH(cell); + DISPATCH(); + } - TARGET(LOAD_DEREF) - x = freevars[oparg]; - w = PyCell_Get(x); - if (w != NULL) { - PUSH(w); - DISPATCH(); + TARGET(LOAD_CLASSDEREF) { + PyObject *name, *value, *locals = f->f_locals; + int idx; + assert(locals); + assert(oparg >= PyTuple_GET_SIZE(co->co_cellvars)); + idx = oparg - PyTuple_GET_SIZE(co->co_cellvars); + assert(idx >= 0 && idx < PyTuple_GET_SIZE(co->co_freevars)); + name = PyTuple_GET_ITEM(co->co_freevars, idx); + if (PyDict_CheckExact(locals)) { + value = PyDict_GetItem(locals, name); + Py_XINCREF(value); } - err = -1; - format_exc_unbound(co, oparg); - break; + else { + value = PyObject_GetItem(locals, name); + if (value == NULL && PyErr_Occurred()) { + if (!PyErr_ExceptionMatches(PyExc_KeyError)) + goto error; + PyErr_Clear(); + } + } + if (!value) { + PyObject *cell = freevars[oparg]; + value = PyCell_GET(cell); + if (value == NULL) { + format_exc_unbound(co, oparg); + goto error; + } + Py_INCREF(value); + } + PUSH(value); + DISPATCH(); + } - TARGET(STORE_DEREF) - w = POP(); - x = freevars[oparg]; - PyCell_Set(x, w); - Py_DECREF(w); + TARGET(LOAD_DEREF) { + PyObject *cell = freevars[oparg]; + PyObject *value = PyCell_GET(cell); + if (value == NULL) { + format_exc_unbound(co, oparg); + goto error; + } + Py_INCREF(value); + PUSH(value); DISPATCH(); + } - TARGET(BUILD_TUPLE) - x = PyTuple_New(oparg); - if (x != NULL) { - for (; --oparg >= 0;) { - w = POP(); - PyTuple_SET_ITEM(x, oparg, w); - } - PUSH(x); - DISPATCH(); + TARGET(STORE_DEREF) { + PyObject *v = POP(); + PyObject *cell = freevars[oparg]; + PyCell_Set(cell, v); + Py_DECREF(v); + DISPATCH(); + } + + TARGET(BUILD_TUPLE) { + PyObject *tup = PyTuple_New(oparg); + if (tup == NULL) + goto error; + while (--oparg >= 0) { + PyObject *item = POP(); + PyTuple_SET_ITEM(tup, oparg, item); } - break; + PUSH(tup); + DISPATCH(); + } - TARGET(BUILD_LIST) - x = PyList_New(oparg); - if (x != NULL) { - for (; --oparg >= 0;) { - w = POP(); - PyList_SET_ITEM(x, oparg, w); - } - PUSH(x); - DISPATCH(); + TARGET(BUILD_LIST) { + PyObject *list = PyList_New(oparg); + if (list == NULL) + goto error; + while (--oparg >= 0) { + PyObject *item = POP(); + PyList_SET_ITEM(list, oparg, item); } - break; + PUSH(list); + DISPATCH(); + } - TARGET(BUILD_SET) - x = PySet_New(NULL); - if (x != NULL) { - for (; --oparg >= 0;) { - w = POP(); - if (err == 0) - err = PySet_Add(x, w); - Py_DECREF(w); - } - if (err != 0) { - Py_DECREF(x); - break; - } - PUSH(x); - DISPATCH(); + TARGET(BUILD_SET) { + PyObject *set = PySet_New(NULL); + int err = 0; + if (set == NULL) + goto error; + while (--oparg >= 0) { + PyObject *item = POP(); + if (err == 0) + err = PySet_Add(set, item); + Py_DECREF(item); } - break; + if (err != 0) { + Py_DECREF(set); + goto error; + } + PUSH(set); + DISPATCH(); + } - TARGET(BUILD_MAP) - x = _PyDict_NewPresized((Py_ssize_t)oparg); - PUSH(x); - if (x != NULL) DISPATCH(); - break; + TARGET(BUILD_MAP) { + PyObject *map = _PyDict_NewPresized((Py_ssize_t)oparg); + if (map == NULL) + goto error; + PUSH(map); + DISPATCH(); + } - TARGET(STORE_MAP) - w = TOP(); /* key */ - u = SECOND(); /* value */ - v = THIRD(); /* dict */ + TARGET(STORE_MAP) { + PyObject *key = TOP(); + PyObject *value = SECOND(); + PyObject *map = THIRD(); + int err; STACKADJ(-2); - assert (PyDict_CheckExact(v)); - err = PyDict_SetItem(v, w, u); /* v[w] = u */ - Py_DECREF(u); - Py_DECREF(w); - if (err == 0) DISPATCH(); - break; + assert(PyDict_CheckExact(map)); + err = PyDict_SetItem(map, key, value); + Py_DECREF(value); + Py_DECREF(key); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(MAP_ADD) - w = TOP(); /* key */ - u = SECOND(); /* value */ + TARGET(MAP_ADD) { + PyObject *key = TOP(); + PyObject *value = SECOND(); + PyObject *map; + int err; STACKADJ(-2); - v = stack_pointer[-oparg]; /* dict */ - assert (PyDict_CheckExact(v)); - err = PyDict_SetItem(v, w, u); /* v[w] = u */ - Py_DECREF(u); - Py_DECREF(w); - if (err == 0) { - PREDICT(JUMP_ABSOLUTE); - DISPATCH(); - } - break; + map = stack_pointer[-oparg]; /* dict */ + assert(PyDict_CheckExact(map)); + err = PyDict_SetItem(map, key, value); /* v[w] = u */ + Py_DECREF(value); + Py_DECREF(key); + if (err != 0) + goto error; + PREDICT(JUMP_ABSOLUTE); + DISPATCH(); + } - TARGET(LOAD_ATTR) - w = GETITEM(names, oparg); - v = TOP(); - x = PyObject_GetAttr(v, w); - Py_DECREF(v); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + TARGET(LOAD_ATTR) { + PyObject *name = GETITEM(names, oparg); + PyObject *owner = TOP(); + PyObject *res = PyObject_GetAttr(owner, name); + Py_DECREF(owner); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(COMPARE_OP) - w = POP(); - v = TOP(); - x = cmp_outcome(oparg, v, w); - Py_DECREF(v); - Py_DECREF(w); - SET_TOP(x); - if (x == NULL) break; + TARGET(COMPARE_OP) { + PyObject *right = POP(); + PyObject *left = TOP(); + PyObject *res = cmp_outcome(oparg, left, right); + Py_DECREF(left); + Py_DECREF(right); + SET_TOP(res); + if (res == NULL) + goto error; PREDICT(POP_JUMP_IF_FALSE); PREDICT(POP_JUMP_IF_TRUE); DISPATCH(); + } - TARGET(IMPORT_NAME) - { + TARGET(IMPORT_NAME) { _Py_IDENTIFIER(__import__); - w = GETITEM(names, oparg); - x = _PyDict_GetItemId(f->f_builtins, &PyId___import__); - if (x == NULL) { + PyObject *name = GETITEM(names, oparg); + PyObject *func = _PyDict_GetItemId(f->f_builtins, &PyId___import__); + PyObject *from, *level, *args, *res; + if (func == NULL) { PyErr_SetString(PyExc_ImportError, "__import__ not found"); - break; + goto error; } - Py_INCREF(x); - v = POP(); - u = TOP(); - if (PyLong_AsLong(u) != -1 || PyErr_Occurred()) - w = PyTuple_Pack(5, - w, + Py_INCREF(func); + from = POP(); + level = TOP(); + if (PyLong_AsLong(level) != -1 || PyErr_Occurred()) + args = PyTuple_Pack(5, + name, f->f_globals, f->f_locals == NULL ? Py_None : f->f_locals, - v, - u); + from, + level); else - w = PyTuple_Pack(4, - w, + args = PyTuple_Pack(4, + name, f->f_globals, f->f_locals == NULL ? Py_None : f->f_locals, - v); - Py_DECREF(v); - Py_DECREF(u); - if (w == NULL) { - u = POP(); - Py_DECREF(x); - x = NULL; - break; + from); + Py_DECREF(level); + Py_DECREF(from); + if (args == NULL) { + Py_DECREF(func); + STACKADJ(-1); + goto error; } READ_TIMESTAMP(intr0); - v = x; - x = PyEval_CallObject(v, w); - Py_DECREF(v); + res = PyEval_CallObject(func, args); READ_TIMESTAMP(intr1); - Py_DECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + Py_DECREF(args); + Py_DECREF(func); + SET_TOP(res); + if (res == NULL) + goto error; + DISPATCH(); } - TARGET(IMPORT_STAR) - v = POP(); + TARGET(IMPORT_STAR) { + PyObject *from = POP(), *locals; + int err; PyFrame_FastToLocals(f); - if ((x = f->f_locals) == NULL) { + locals = f->f_locals; + if (locals == NULL) { PyErr_SetString(PyExc_SystemError, "no locals found during 'import *'"); - break; + goto error; } READ_TIMESTAMP(intr0); - err = import_all_from(x, v); + err = import_all_from(locals, from); READ_TIMESTAMP(intr1); PyFrame_LocalsToFast(f, 0); - Py_DECREF(v); - if (err == 0) DISPATCH(); - break; + Py_DECREF(from); + if (err != 0) + goto error; + DISPATCH(); + } - TARGET(IMPORT_FROM) - w = GETITEM(names, oparg); - v = TOP(); + TARGET(IMPORT_FROM) { + PyObject *name = GETITEM(names, oparg); + PyObject *from = TOP(); + PyObject *res; READ_TIMESTAMP(intr0); - x = import_from(v, w); + res = import_from(from, name); READ_TIMESTAMP(intr1); - PUSH(x); - if (x != NULL) DISPATCH(); - break; + PUSH(res); + if (res == NULL) + goto error; + DISPATCH(); + } - TARGET(JUMP_FORWARD) + TARGET(JUMP_FORWARD) { JUMPBY(oparg); FAST_DISPATCH(); + } PREDICTED_WITH_ARG(POP_JUMP_IF_FALSE); - TARGET(POP_JUMP_IF_FALSE) - w = POP(); - if (w == Py_True) { - Py_DECREF(w); + TARGET(POP_JUMP_IF_FALSE) { + PyObject *cond = POP(); + int err; + if (cond == Py_True) { + Py_DECREF(cond); FAST_DISPATCH(); } - if (w == Py_False) { - Py_DECREF(w); + if (cond == Py_False) { + Py_DECREF(cond); JUMPTO(oparg); FAST_DISPATCH(); } - err = PyObject_IsTrue(w); - Py_DECREF(w); + err = PyObject_IsTrue(cond); + Py_DECREF(cond); if (err > 0) err = 0; else if (err == 0) JUMPTO(oparg); else - break; + goto error; DISPATCH(); + } PREDICTED_WITH_ARG(POP_JUMP_IF_TRUE); - TARGET(POP_JUMP_IF_TRUE) - w = POP(); - if (w == Py_False) { - Py_DECREF(w); + TARGET(POP_JUMP_IF_TRUE) { + PyObject *cond = POP(); + int err; + if (cond == Py_False) { + Py_DECREF(cond); FAST_DISPATCH(); } - if (w == Py_True) { - Py_DECREF(w); + if (cond == Py_True) { + Py_DECREF(cond); JUMPTO(oparg); FAST_DISPATCH(); } - err = PyObject_IsTrue(w); - Py_DECREF(w); + err = PyObject_IsTrue(cond); + Py_DECREF(cond); if (err > 0) { err = 0; JUMPTO(oparg); @@ -2415,58 +2551,63 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) else if (err == 0) ; else - break; + goto error; DISPATCH(); + } - TARGET(JUMP_IF_FALSE_OR_POP) - w = TOP(); - if (w == Py_True) { + TARGET(JUMP_IF_FALSE_OR_POP) { + PyObject *cond = TOP(); + int err; + if (cond == Py_True) { STACKADJ(-1); - Py_DECREF(w); + Py_DECREF(cond); FAST_DISPATCH(); } - if (w == Py_False) { + if (cond == Py_False) { JUMPTO(oparg); FAST_DISPATCH(); } - err = PyObject_IsTrue(w); + err = PyObject_IsTrue(cond); if (err > 0) { STACKADJ(-1); - Py_DECREF(w); + Py_DECREF(cond); err = 0; } else if (err == 0) JUMPTO(oparg); else - break; + goto error; DISPATCH(); + } - TARGET(JUMP_IF_TRUE_OR_POP) - w = TOP(); - if (w == Py_False) { + TARGET(JUMP_IF_TRUE_OR_POP) { + PyObject *cond = TOP(); + int err; + if (cond == Py_False) { STACKADJ(-1); - Py_DECREF(w); + Py_DECREF(cond); FAST_DISPATCH(); } - if (w == Py_True) { + if (cond == Py_True) { JUMPTO(oparg); FAST_DISPATCH(); } - err = PyObject_IsTrue(w); + err = PyObject_IsTrue(cond); if (err > 0) { err = 0; JUMPTO(oparg); } else if (err == 0) { STACKADJ(-1); - Py_DECREF(w); + Py_DECREF(cond); } else - break; + goto error; DISPATCH(); + } PREDICTED_WITH_ARG(JUMP_ABSOLUTE); - TARGET(JUMP_ABSOLUTE) + TARGET(JUMP_ABSOLUTE) { JUMPTO(oparg); #if FAST_LOOPS /* Enabling this path speeds-up all while and for-loops by bypassing @@ -2480,60 +2621,60 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) #else DISPATCH(); #endif + } - TARGET(GET_ITER) + TARGET(GET_ITER) { /* before: [obj]; after [getiter(obj)] */ - v = TOP(); - x = PyObject_GetIter(v); - Py_DECREF(v); - if (x != NULL) { - SET_TOP(x); - PREDICT(FOR_ITER); - DISPATCH(); - } - STACKADJ(-1); - break; + PyObject *iterable = TOP(); + PyObject *iter = PyObject_GetIter(iterable); + Py_DECREF(iterable); + SET_TOP(iter); + if (iter == NULL) + goto error; + PREDICT(FOR_ITER); + DISPATCH(); + } PREDICTED_WITH_ARG(FOR_ITER); - TARGET(FOR_ITER) + TARGET(FOR_ITER) { /* before: [iter]; after: [iter, iter()] *or* [] */ - v = TOP(); - x = (*v->ob_type->tp_iternext)(v); - if (x != NULL) { - PUSH(x); + PyObject *iter = TOP(); + PyObject *next = (*iter->ob_type->tp_iternext)(iter); + if (next != NULL) { + PUSH(next); PREDICT(STORE_FAST); PREDICT(UNPACK_SEQUENCE); DISPATCH(); } if (PyErr_Occurred()) { - if (!PyErr_ExceptionMatches( - PyExc_StopIteration)) - break; + if (!PyErr_ExceptionMatches(PyExc_StopIteration)) + goto error; PyErr_Clear(); } /* iterator ended normally */ - x = v = POP(); - Py_DECREF(v); + STACKADJ(-1); + Py_DECREF(iter); JUMPBY(oparg); DISPATCH(); + } - TARGET(BREAK_LOOP) + TARGET(BREAK_LOOP) { why = WHY_BREAK; goto fast_block_end; + } - TARGET(CONTINUE_LOOP) + TARGET(CONTINUE_LOOP) { retval = PyLong_FromLong(oparg); - if (!retval) { - x = NULL; - break; - } + if (retval == NULL) + goto error; why = WHY_CONTINUE; goto fast_block_end; + } TARGET_WITH_IMPL(SETUP_LOOP, _setup_finally) TARGET_WITH_IMPL(SETUP_EXCEPT, _setup_finally) TARGET(SETUP_FINALLY) - _setup_finally: + _setup_finally: { /* NOTE: If you add any new block-setup opcodes that are not try/except/finally handlers, you may need to update the PyGen_NeedsFinalizing() function. @@ -2542,37 +2683,35 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) PyFrame_BlockSetup(f, opcode, INSTR_OFFSET() + oparg, STACK_LEVEL()); DISPATCH(); + } - TARGET(SETUP_WITH) - { + TARGET(SETUP_WITH) { _Py_IDENTIFIER(__exit__); _Py_IDENTIFIER(__enter__); - w = TOP(); - x = special_lookup(w, &PyId___exit__); - if (!x) - break; - SET_TOP(x); - u = special_lookup(w, &PyId___enter__); - Py_DECREF(w); - if (!u) { - x = NULL; - break; - } - x = PyObject_CallFunctionObjArgs(u, NULL); - Py_DECREF(u); - if (!x) - break; + PyObject *mgr = TOP(); + PyObject *exit = special_lookup(mgr, &PyId___exit__), *enter; + PyObject *res; + if (exit == NULL) + goto error; + SET_TOP(exit); + enter = special_lookup(mgr, &PyId___enter__); + Py_DECREF(mgr); + if (enter == NULL) + goto error; + res = PyObject_CallFunctionObjArgs(enter, NULL); + Py_DECREF(enter); + if (res == NULL) + goto error; /* Setup the finally block before pushing the result of __enter__ on the stack. */ PyFrame_BlockSetup(f, SETUP_FINALLY, INSTR_OFFSET() + oparg, STACK_LEVEL()); - PUSH(x); + PUSH(res); DISPATCH(); } - TARGET(WITH_CLEANUP) - { + TARGET(WITH_CLEANUP) { /* At the top of the stack are 1-3 values indicating how/why we entered the finally clause: - TOP = None @@ -2599,42 +2738,42 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) */ PyObject *exit_func; - u = TOP(); - if (u == Py_None) { + PyObject *exc = TOP(), *val = Py_None, *tb = Py_None, *res; + int err; + if (exc == Py_None) { (void)POP(); exit_func = TOP(); - SET_TOP(u); - v = w = Py_None; + SET_TOP(exc); } - else if (PyLong_Check(u)) { - (void)POP(); - switch(PyLong_AsLong(u)) { + else if (PyLong_Check(exc)) { + STACKADJ(-1); + switch (PyLong_AsLong(exc)) { case WHY_RETURN: case WHY_CONTINUE: /* Retval in TOP. */ exit_func = SECOND(); SET_SECOND(TOP()); - SET_TOP(u); + SET_TOP(exc); break; default: exit_func = TOP(); - SET_TOP(u); + SET_TOP(exc); break; } - u = v = w = Py_None; + exc = Py_None; } else { - PyObject *tp, *exc, *tb; + PyObject *tp2, *exc2, *tb2; PyTryBlock *block; - v = SECOND(); - w = THIRD(); - tp = FOURTH(); - exc = PEEK(5); - tb = PEEK(6); + val = SECOND(); + tb = THIRD(); + tp2 = FOURTH(); + exc2 = PEEK(5); + tb2 = PEEK(6); exit_func = PEEK(7); - SET_VALUE(7, tb); - SET_VALUE(6, exc); - SET_VALUE(5, tp); + SET_VALUE(7, tb2); + SET_VALUE(6, exc2); + SET_VALUE(5, tp2); /* UNWIND_EXCEPT_HANDLER will pop this off. */ SET_FOURTH(NULL); /* We just shifted the stack down, so we have @@ -2645,56 +2784,53 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) block->b_level--; } /* XXX Not the fastest way to call it... */ - x = PyObject_CallFunctionObjArgs(exit_func, u, v, w, - NULL); + res = PyObject_CallFunctionObjArgs(exit_func, exc, val, tb, NULL); Py_DECREF(exit_func); - if (x == NULL) - break; /* Go to error exit */ + if (res == NULL) + goto error; - if (u != Py_None) - err = PyObject_IsTrue(x); + if (exc != Py_None) + err = PyObject_IsTrue(res); else err = 0; - Py_DECREF(x); + Py_DECREF(res); if (err < 0) - break; /* Go to error exit */ + goto error; else if (err > 0) { err = 0; /* There was an exception and a True return */ PUSH(PyLong_FromLong((long) WHY_SILENCED)); } PREDICT(END_FINALLY); - break; + DISPATCH(); } - TARGET(CALL_FUNCTION) - { - PyObject **sp; + TARGET(CALL_FUNCTION) { + PyObject **sp, *res; PCALL(PCALL_ALL); sp = stack_pointer; #ifdef WITH_TSC - x = call_function(&sp, oparg, &intr0, &intr1); + res = call_function(&sp, oparg, &intr0, &intr1); #else - x = call_function(&sp, oparg); + res = call_function(&sp, oparg); #endif stack_pointer = sp; - PUSH(x); - if (x != NULL) - DISPATCH(); - break; + PUSH(res); + if (res == NULL) + goto error; + DISPATCH(); } TARGET_WITH_IMPL(CALL_FUNCTION_VAR, _call_function_var_kw) TARGET_WITH_IMPL(CALL_FUNCTION_KW, _call_function_var_kw) TARGET(CALL_FUNCTION_VAR_KW) - _call_function_var_kw: - { + _call_function_var_kw: { int na = oparg & 0xff; int nk = (oparg>>8) & 0xff; int flags = (opcode - CALL_FUNCTION) & 3; int n = na + 2 * nk; - PyObject **pfunc, *func, **sp; + PyObject **pfunc, *func, **sp, *res; PCALL(PCALL_ALL); if (flags & CALL_FLAG_VAR) n++; @@ -2717,137 +2853,156 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) Py_INCREF(func); sp = stack_pointer; READ_TIMESTAMP(intr0); - x = ext_do_call(func, &sp, flags, na, nk); + res = ext_do_call(func, &sp, flags, na, nk); READ_TIMESTAMP(intr1); stack_pointer = sp; Py_DECREF(func); while (stack_pointer > pfunc) { - w = POP(); - Py_DECREF(w); + PyObject *o = POP(); + Py_DECREF(o); } - PUSH(x); - if (x != NULL) - DISPATCH(); - break; + PUSH(res); + if (res == NULL) + goto error; + DISPATCH(); } TARGET_WITH_IMPL(MAKE_CLOSURE, _make_function) TARGET(MAKE_FUNCTION) - _make_function: - { + _make_function: { int posdefaults = oparg & 0xff; int kwdefaults = (oparg>>8) & 0xff; int num_annotations = (oparg >> 16) & 0x7fff; - w = POP(); /* qualname */ - v = POP(); /* code object */ - x = PyFunction_NewWithQualName(v, f->f_globals, w); - Py_DECREF(v); - Py_DECREF(w); + PyObject *qualname = POP(); /* qualname */ + PyObject *code = POP(); /* code object */ + PyObject *func = PyFunction_NewWithQualName(code, f->f_globals, qualname); + Py_DECREF(code); + Py_DECREF(qualname); + + if (func == NULL) + goto error; - if (x != NULL && opcode == MAKE_CLOSURE) { - v = POP(); - if (PyFunction_SetClosure(x, v) != 0) { + if (opcode == MAKE_CLOSURE) { + PyObject *closure = POP(); + if (PyFunction_SetClosure(func, closure) != 0) { /* Can't happen unless bytecode is corrupt. */ - why = WHY_EXCEPTION; + Py_DECREF(func); + Py_DECREF(closure); + goto error; } - Py_DECREF(v); + Py_DECREF(closure); } - if (x != NULL && num_annotations > 0) { + if (num_annotations > 0) { Py_ssize_t name_ix; - u = POP(); /* names of args with annotations */ - v = PyDict_New(); - if (v == NULL) { - Py_DECREF(x); - x = NULL; - break; + PyObject *names = POP(); /* names of args with annotations */ + PyObject *anns = PyDict_New(); + if (anns == NULL) { + Py_DECREF(func); + goto error; } - name_ix = PyTuple_Size(u); + name_ix = PyTuple_Size(names); assert(num_annotations == name_ix+1); while (name_ix > 0) { + PyObject *name, *value; + int err; --name_ix; - t = PyTuple_GET_ITEM(u, name_ix); - w = POP(); - /* XXX(nnorwitz): check for errors */ - PyDict_SetItem(v, t, w); - Py_DECREF(w); + name = PyTuple_GET_ITEM(names, name_ix); + value = POP(); + err = PyDict_SetItem(anns, name, value); + Py_DECREF(value); + if (err != 0) { + Py_DECREF(anns); + Py_DECREF(func); + goto error; + } } - if (PyFunction_SetAnnotations(x, v) != 0) { + if (PyFunction_SetAnnotations(func, anns) != 0) { /* Can't happen unless PyFunction_SetAnnotations changes. */ - why = WHY_EXCEPTION; + Py_DECREF(anns); + Py_DECREF(func); + goto error; } - Py_DECREF(v); - Py_DECREF(u); + Py_DECREF(anns); + Py_DECREF(names); } /* XXX Maybe this should be a separate opcode? */ - if (x != NULL && posdefaults > 0) { - v = PyTuple_New(posdefaults); - if (v == NULL) { - Py_DECREF(x); - x = NULL; - break; + if (kwdefaults > 0) { + PyObject *defs = PyDict_New(); + if (defs == NULL) { + Py_DECREF(func); + goto error; } - while (--posdefaults >= 0) { - w = POP(); - PyTuple_SET_ITEM(v, posdefaults, w); + while (--kwdefaults >= 0) { + PyObject *v = POP(); /* default value */ + PyObject *key = POP(); /* kw only arg name */ + int err = PyDict_SetItem(defs, key, v); + Py_DECREF(v); + Py_DECREF(key); + if (err != 0) { + Py_DECREF(defs); + Py_DECREF(func); + goto error; + } } - if (PyFunction_SetDefaults(x, v) != 0) { + if (PyFunction_SetKwDefaults(func, defs) != 0) { /* Can't happen unless - PyFunction_SetDefaults changes. */ - why = WHY_EXCEPTION; + PyFunction_SetKwDefaults changes. */ + Py_DECREF(func); + Py_DECREF(defs); + goto error; } - Py_DECREF(v); + Py_DECREF(defs); } - if (x != NULL && kwdefaults > 0) { - v = PyDict_New(); - if (v == NULL) { - Py_DECREF(x); - x = NULL; - break; + if (posdefaults > 0) { + PyObject *defs = PyTuple_New(posdefaults); + if (defs == NULL) { + Py_DECREF(func); + goto error; } - while (--kwdefaults >= 0) { - w = POP(); /* default value */ - u = POP(); /* kw only arg name */ - /* XXX(nnorwitz): check for errors */ - PyDict_SetItem(v, u, w); - Py_DECREF(w); - Py_DECREF(u); - } - if (PyFunction_SetKwDefaults(x, v) != 0) { + while (--posdefaults >= 0) + PyTuple_SET_ITEM(defs, posdefaults, POP()); + if (PyFunction_SetDefaults(func, defs) != 0) { /* Can't happen unless - PyFunction_SetKwDefaults changes. */ - why = WHY_EXCEPTION; + PyFunction_SetDefaults changes. */ + Py_DECREF(defs); + Py_DECREF(func); + goto error; } - Py_DECREF(v); + Py_DECREF(defs); } - PUSH(x); - break; + PUSH(func); + DISPATCH(); } - TARGET(BUILD_SLICE) + TARGET(BUILD_SLICE) { + PyObject *start, *stop, *step, *slice; if (oparg == 3) - w = POP(); + step = POP(); else - w = NULL; - v = POP(); - u = TOP(); - x = PySlice_New(u, v, w); - Py_DECREF(u); - Py_DECREF(v); - Py_XDECREF(w); - SET_TOP(x); - if (x != NULL) DISPATCH(); - break; + step = NULL; + stop = POP(); + start = TOP(); + slice = PySlice_New(start, stop, step); + Py_DECREF(start); + Py_DECREF(stop); + Py_XDECREF(step); + SET_TOP(slice); + if (slice == NULL) + goto error; + DISPATCH(); + } - TARGET(EXTENDED_ARG) + TARGET(EXTENDED_ARG) { opcode = NEXTOP(); oparg = oparg<<16 | NEXTARG(); goto dispatch_opcode; + } #if USE_COMPUTED_GOTOS _unknown_opcode: @@ -2858,8 +3013,7 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) PyFrame_GetLineNumber(f), opcode); PyErr_SetString(PyExc_SystemError, "unknown opcode"); - why = WHY_EXCEPTION; - break; + goto error; #ifdef CASE_TOO_BIG } @@ -2867,71 +3021,31 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag) } /* switch */ - on_error: + /* This should never be reached. Every opcode should end with DISPATCH() + or goto error. */ + assert(0); +error: READ_TIMESTAMP(inst1); - /* Quickly continue if no error occurred */ - - if (why == WHY_NOT) { - if (err == 0 && x != NULL) { -#ifdef CHECKEXC - /* This check is expensive! */ - if (PyErr_Occurred()) - fprintf(stderr, - "XXX undetected error\n"); - else { -#endif - READ_TIMESTAMP(loop1); - continue; /* Normal, fast path */ -#ifdef CHECKEXC - } -#endif - } - why = WHY_EXCEPTION; - x = Py_None; - err = 0; - } - - /* Double-check exception status */ - - if (why == WHY_EXCEPTION || why == WHY_RERAISE) { - if (!PyErr_Occurred()) { - PyErr_SetString(PyExc_SystemError, - "error return without exception set"); - why = WHY_EXCEPTION; - } - } -#ifdef CHECKEXC - else { - /* This check is expensive! */ - if (PyErr_Occurred()) { - char buf[128]; - sprintf(buf, "Stack unwind with exception " - "set and why=%d", why); - Py_FatalError(buf); - } - } -#endif + assert(why == WHY_NOT); + why = WHY_EXCEPTION; - /* Log traceback info if this is a real exception */ + /* Double-check exception status. */ + if (!PyErr_Occurred()) + PyErr_SetString(PyExc_SystemError, + "error return without exception set"); - if (why == WHY_EXCEPTION) { - PyTraceBack_Here(f); + /* Log traceback info. */ + PyTraceBack_Here(f); - if (tstate->c_tracefunc != NULL) - call_exc_trace(tstate->c_tracefunc, - tstate->c_traceobj, f); - } + if (tstate->c_tracefunc != NULL) + call_exc_trace(tstate->c_tracefunc, tstate->c_traceobj, f); - /* For the rest, treat WHY_RERAISE as WHY_EXCEPTION */ - - if (why == WHY_RERAISE) - why = WHY_EXCEPTION; +fast_block_end: + assert(why != WHY_NOT); /* Unwind stacks if a (pseudo) exception occurred */ - -fast_block_end: while (why != WHY_NOT && f->f_iblock > 0) { /* Peek at the current block. */ PyTryBlock *b = &f->f_blockstack[f->f_iblock - 1]; @@ -3015,8 +3129,8 @@ fast_block_end: assert(why != WHY_YIELD); /* Pop remaining stack entries. */ while (!EMPTY()) { - v = POP(); - Py_XDECREF(v); + PyObject *o = POP(); + Py_XDECREF(o); } if (why != WHY_RETURN) @@ -3516,7 +3630,7 @@ restore_and_clear_exc_state(PyThreadState *tstate, PyFrameObject *f) /* Logic for the raise statement (too complicated for inlining). This *consumes* a reference count to each of its arguments. */ -static enum why_code +static int do_raise(PyObject *exc, PyObject *cause) { PyObject *type = NULL, *value = NULL; @@ -3531,13 +3645,13 @@ do_raise(PyObject *exc, PyObject *cause) if (type == Py_None) { PyErr_SetString(PyExc_RuntimeError, "No active exception to reraise"); - return WHY_EXCEPTION; - } + return 0; + } Py_XINCREF(type); Py_XINCREF(value); Py_XINCREF(tb); PyErr_Restore(type, value, tb); - return WHY_RERAISE; + return 1; } /* We support the following forms of raise: @@ -3600,13 +3714,13 @@ do_raise(PyObject *exc, PyObject *cause) /* PyErr_SetObject incref's its arguments */ Py_XDECREF(value); Py_XDECREF(type); - return WHY_EXCEPTION; + return 0; raise_error: Py_XDECREF(value); Py_XDECREF(type); Py_XDECREF(cause); - return WHY_EXCEPTION; + return 0; } /* Iterate v argcnt times and store the results on the stack (via decreasing diff --git a/Python/codecs.c b/Python/codecs.c index fd67d1b9e1..8d9ce6f496 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -761,7 +761,7 @@ PyCodec_SurrogatePassErrors(PyObject *exc) for (i = start; i < end; i++) { /* object is guaranteed to be "ready" */ Py_UCS4 ch = PyUnicode_READ_CHAR(object, i); - if (ch < 0xd800 || ch > 0xdfff) { + if (!Py_UNICODE_IS_SURROGATE(ch)) { /* Not a surrogate, fail with original exception */ PyErr_SetObject(PyExceptionInstance_Class(exc), exc); Py_DECREF(res); @@ -797,7 +797,7 @@ PyCodec_SurrogatePassErrors(PyObject *exc) (p[2] & 0xc0) == 0x80) { /* it's a three-byte code */ ch = ((p[0] & 0x0f) << 12) + ((p[1] & 0x3f) << 6) + (p[2] & 0x3f); - if (ch < 0xd800 || ch > 0xdfff) + if (!Py_UNICODE_IS_SURROGATE(ch)) /* it's not a surrogate - fail */ ch = 0; } @@ -1026,7 +1026,7 @@ static int _PyCodecRegistry_Init(void) if (interp->codec_error_registry) { for (i = 0; i < Py_ARRAY_LENGTH(methods); ++i) { - PyObject *func = PyCFunction_New(&methods[i].def, NULL); + PyObject *func = PyCFunction_NewEx(&methods[i].def, NULL, NULL); int res; if (!func) Py_FatalError("can't initialize codec error registry"); diff --git a/Python/compile.c b/Python/compile.c index dd4262c170..1ecbae8181 100644 --- a/Python/compile.c +++ b/Python/compile.c @@ -970,6 +970,7 @@ opcode_stack_effect(int opcode, int oparg) case LOAD_CLOSURE: return 1; case LOAD_DEREF: + case LOAD_CLASSDEREF: return 1; case STORE_DEREF: return -1; @@ -1501,15 +1502,15 @@ compiler_visit_annotations(struct compiler *c, arguments_ty args, if (compiler_visit_argannotations(c, args->args, names)) goto error; - if (args->varargannotation && - compiler_visit_argannotation(c, args->vararg, - args->varargannotation, names)) + if (args->vararg && args->vararg->annotation && + compiler_visit_argannotation(c, args->vararg->arg, + args->vararg->annotation, names)) goto error; if (compiler_visit_argannotations(c, args->kwonlyargs, names)) goto error; - if (args->kwargannotation && - compiler_visit_argannotation(c, args->kwarg, - args->kwargannotation, names)) + if (args->kwarg && args->kwarg->annotation && + compiler_visit_argannotation(c, args->kwarg->arg, + args->kwarg->annotation, names)) goto error; if (!return_str) { @@ -1568,6 +1569,8 @@ compiler_function(struct compiler *c, stmt_ty s) if (!compiler_decorators(c, decos)) return 0; + if (args->defaults) + VISIT_SEQ(c, expr, args->defaults); if (args->kwonlyargs) { int res = compiler_visit_kwonlydefaults(c, args->kwonlyargs, args->kw_defaults); @@ -1575,8 +1578,6 @@ compiler_function(struct compiler *c, stmt_ty s) return 0; kw_default_count = res; } - if (args->defaults) - VISIT_SEQ(c, expr, args->defaults); num_annotations = compiler_visit_annotations(c, args, returns); if (num_annotations < 0) return 0; @@ -1797,14 +1798,14 @@ compiler_lambda(struct compiler *c, expr_ty e) return 0; } + if (args->defaults) + VISIT_SEQ(c, expr, args->defaults); if (args->kwonlyargs) { int res = compiler_visit_kwonlydefaults(c, args->kwonlyargs, args->kw_defaults); if (res < 0) return 0; kw_default_count = res; } - if (args->defaults) - VISIT_SEQ(c, expr, args->defaults); if (!compiler_enter_scope(c, name, COMPILER_SCOPE_FUNCTION, (void *)e, e->lineno)) return 0; @@ -2638,6 +2639,10 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) if (!mangled) return 0; + assert(PyUnicode_CompareWithASCIIString(name, "None") && + PyUnicode_CompareWithASCIIString(name, "True") && + PyUnicode_CompareWithASCIIString(name, "False")); + op = 0; optype = OP_NAME; scope = PyST_GetScope(c->u->u_ste, mangled); @@ -2673,7 +2678,9 @@ compiler_nameop(struct compiler *c, identifier name, expr_context_ty ctx) switch (optype) { case OP_DEREF: switch (ctx) { - case Load: op = LOAD_DEREF; break; + case Load: + op = (c->u->u_ste->ste_type == ClassBlock) ? LOAD_CLASSDEREF : LOAD_DEREF; + break; case Store: op = STORE_DEREF; break; case AugLoad: case AugStore: @@ -3197,12 +3204,18 @@ expr_constant(struct compiler *c, expr_ty e) case Name_kind: /* optimize away names that can't be reassigned */ id = PyUnicode_AsUTF8(e->v.Name.id); - if (strcmp(id, "True") == 0) return 1; - if (strcmp(id, "False") == 0) return 0; - if (strcmp(id, "None") == 0) return 0; - if (strcmp(id, "__debug__") == 0) - return ! c->c_optimize; - /* fall through */ + if (id && strcmp(id, "__debug__") == 0) + return !c->c_optimize; + return -1; + case NameConstant_kind: { + PyObject *o = e->v.NameConstant.value; + if (o == Py_None) + return 0; + else if (o == Py_True) + return 1; + else if (o == Py_False) + return 0; + } default: return -1; } @@ -3378,6 +3391,9 @@ compiler_visit_expr(struct compiler *c, expr_ty e) case Ellipsis_kind: ADDOP_O(c, LOAD_CONST, Py_Ellipsis, consts); break; + case NameConstant_kind: + ADDOP_O(c, LOAD_CONST, e->v.NameConstant.value, consts); + break; /* The following exprs can be assignment targets. */ case Attribute_kind: if (e->v.Attribute.ctx != AugStore) diff --git a/Python/condvar.h b/Python/condvar.h index bbb40ba18e..e022dc7938 100644 --- a/Python/condvar.h +++ b/Python/condvar.h @@ -241,7 +241,7 @@ _PyCOND_WAIT_MS(PyCOND_T *cv, PyMUTEX_T *cs, DWORD ms) * but we are safe because we are using a semaphore wich has an internal * count. */ - wait = WaitForSingleObject(cv->sem, ms); + wait = WaitForSingleObjectEx(cv->sem, ms, FALSE); PyMUTEX_LOCK(cs); if (wait != WAIT_OBJECT_0) --cv->waiting; diff --git a/Python/dynload_os2.c b/Python/dynload_os2.c deleted file mode 100644 index 0e1b907b8c..0000000000 --- a/Python/dynload_os2.c +++ /dev/null @@ -1,42 +0,0 @@ - -/* Support for dynamic loading of extension modules */ - -#define INCL_DOSERRORS -#define INCL_DOSMODULEMGR -#include <os2.h> - -#include "Python.h" -#include "importdl.h" - - -const char *_PyImport_DynLoadFiletab[] = {".pyd", ".dll", NULL}; - -dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, - const char *pathname, FILE *fp) -{ - dl_funcptr p; - APIRET rc; - HMODULE hDLL; - char failreason[256]; - char funcname[258]; - - rc = DosLoadModule(failreason, - sizeof(failreason), - pathname, - &hDLL); - - if (rc != NO_ERROR) { - char errBuf[256]; - PyOS_snprintf(errBuf, sizeof(errBuf), - "DLL load failed, rc = %d: %.200s", - rc, failreason); - PyErr_SetString(PyExc_ImportError, errBuf); - return NULL; - } - - PyOS_snprintf(funcname, sizeof(funcname), "PyInit_%.200s", shortname); - rc = DosQueryProcAddr(hDLL, 0L, funcname, &p); - if (rc != NO_ERROR) - p = NULL; /* Signify Failure to Acquire Entrypoint */ - return p; -} diff --git a/Python/dynload_shlib.c b/Python/dynload_shlib.c index 0ca65c7877..46fed6e7fd 100644 --- a/Python/dynload_shlib.c +++ b/Python/dynload_shlib.c @@ -18,10 +18,6 @@ #ifdef HAVE_DLFCN_H #include <dlfcn.h> -#else -#if defined(PYOS_OS2) && defined(PYCC_GCC) -#include "dlfcn.h" -#endif #endif #if (defined(__OpenBSD__) || defined(__NetBSD__)) && !defined(__ELF__) @@ -40,10 +36,6 @@ const char *_PyImport_DynLoadFiletab[] = { #ifdef __CYGWIN__ ".dll", #else /* !__CYGWIN__ */ -#if defined(PYOS_OS2) && defined(PYCC_GCC) - ".pyd", - ".dll", -#else /* !(defined(PYOS_OS2) && defined(PYCC_GCC)) */ #ifdef __VMS ".exe", ".EXE", @@ -52,7 +44,6 @@ const char *_PyImport_DynLoadFiletab[] = { ".abi" PYTHON_ABI_STRING ".so", ".so", #endif /* __VMS */ -#endif /* defined(PYOS_OS2) && defined(PYCC_GCC) */ #endif /* __CYGWIN__ */ NULL, }; @@ -111,9 +102,7 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, } } -#if !(defined(PYOS_OS2) && defined(PYCC_GCC)) dlopenflags = PyThreadState_GET()->interp->dlopenflags; -#endif #ifdef __VMS /* VMS currently don't allow a pathname, use a logical name instead */ @@ -129,19 +118,30 @@ dl_funcptr _PyImport_GetDynLoadFunc(const char *shortname, handle = dlopen(pathname, dlopenflags); if (handle == NULL) { - PyObject *mod_name = NULL; - PyObject *path = NULL; - PyObject *error_ob = NULL; + PyObject *mod_name; + PyObject *path; + PyObject *error_ob; const char *error = dlerror(); if (error == NULL) error = "unknown dlopen() error"; error_ob = PyUnicode_FromString(error); - path = PyUnicode_FromString(pathname); + if (error_ob == NULL) + return NULL; mod_name = PyUnicode_FromString(shortname); + if (mod_name == NULL) { + Py_DECREF(error_ob); + return NULL; + } + path = PyUnicode_FromString(pathname); + if (path == NULL) { + Py_DECREF(error_ob); + Py_DECREF(mod_name); + return NULL; + } PyErr_SetImportError(error_ob, mod_name, path); - Py_XDECREF(error_ob); - Py_XDECREF(path); - Py_XDECREF(mod_name); + Py_DECREF(error_ob); + Py_DECREF(mod_name); + Py_DECREF(path); return NULL; } if (fp != NULL && nhandles < 128) diff --git a/Python/errors.c b/Python/errors.c index 626b16e46f..1f955b54f0 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -588,7 +588,7 @@ PyObject *PyErr_SetExcFromWindowsErr(PyObject *exc, int ierr) PyObject *PyErr_SetFromWindowsErr(int ierr) { - return PyErr_SetExcFromWindowsErrWithFilename(PyExc_WindowsError, + return PyErr_SetExcFromWindowsErrWithFilename(PyExc_OSError, ierr, NULL); } PyObject *PyErr_SetFromWindowsErrWithFilename( @@ -597,7 +597,7 @@ PyObject *PyErr_SetFromWindowsErrWithFilename( { PyObject *name = filename ? PyUnicode_DecodeFSDefault(filename) : NULL; PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject( - PyExc_WindowsError, + PyExc_OSError, ierr, name); Py_XDECREF(name); return result; @@ -611,7 +611,7 @@ PyObject *PyErr_SetFromWindowsErrWithUnicodeFilename( PyUnicode_FromUnicode(filename, wcslen(filename)) : NULL; PyObject *result = PyErr_SetExcFromWindowsErrWithFilenameObject( - PyExc_WindowsError, + PyExc_OSError, ierr, name); Py_XDECREF(name); return result; @@ -798,7 +798,12 @@ PyErr_WriteUnraisable(PyObject *obj) PyErr_Fetch(&t, &v, &tb); f = PySys_GetObject("stderr"); if (f != NULL && f != Py_None) { - PyFile_WriteString("Exception ", f); + if (obj) { + PyFile_WriteString("Exception ignored in: ", f); + PyFile_WriteObject(obj, f, 0); + PyFile_WriteString("\n", f); + } + PyTraceBack_Print(tb, f); if (t) { PyObject* moduleName; char* className; @@ -828,15 +833,11 @@ PyErr_WriteUnraisable(PyObject *obj) PyFile_WriteString(className, f); if (v && v != Py_None) { PyFile_WriteString(": ", f); - PyFile_WriteObject(v, f, 0); + PyFile_WriteObject(v, f, Py_PRINT_RAW); } + PyFile_WriteString("\n", f); Py_XDECREF(moduleName); } - if (obj) { - PyFile_WriteString(" in ", f); - PyFile_WriteObject(obj, f, 0); - } - PyFile_WriteString(" ignored\n", f); PyErr_Clear(); /* Just in case */ } Py_XDECREF(t); diff --git a/Python/fileutils.c b/Python/fileutils.c index b7c42e8e85..3c04e4969e 100644 --- a/Python/fileutils.c +++ b/Python/fileutils.c @@ -60,7 +60,7 @@ extern int _Py_normalize_encoding(const char *, char *, size_t); workaround is also enabled on error, for example if getting the locale failed. - Values of locale_is_ascii: + Values of force_ascii: 1: the workaround is used: _Py_wchar2char() uses encode_ascii_surrogateescape() and _Py_char2wchar() uses @@ -292,7 +292,7 @@ _Py_char2wchar(const char* arg, size_t *size) /* Only use the result if it contains no surrogate characters. */ for (tmp = res; *tmp != 0 && - (*tmp < 0xd800 || *tmp > 0xdfff); tmp++) + !Py_UNICODE_IS_SURROGATE(*tmp); tmp++) ; if (*tmp == 0) { if (size != NULL) @@ -338,7 +338,7 @@ _Py_char2wchar(const char* arg, size_t *size) memset(&mbs, 0, sizeof mbs); continue; } - if (*out >= 0xd800 && *out <= 0xdfff) { + if (Py_UNICODE_IS_SURROGATE(*out)) { /* Surrogate character. Escape the original byte sequence with surrogateescape. */ argsize -= converted; diff --git a/Python/formatter_unicode.c b/Python/formatter_unicode.c index 17eb9789e0..009bc5fd03 100644 --- a/Python/formatter_unicode.c +++ b/Python/formatter_unicode.c @@ -757,7 +757,8 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format, goto done; } - if (format->width == -1 && format->precision == -1) { + if ((format->width == -1 || format->width <= len) + && (format->precision == -1 || format->precision >= len)) { /* Fast path */ return _PyUnicodeWriter_WriteStr(writer, value); } @@ -770,9 +771,13 @@ format_string_internal(PyObject *value, const InternalFormatSpec *format, calc_padding(len, format->width, format->align, &lpad, &rpad, &total); - maxchar = _PyUnicode_FindMaxChar(value, 0, len); + maxchar = writer->maxchar; if (lpad != 0 || rpad != 0) maxchar = Py_MAX(maxchar, format->fill_char); + if (PyUnicode_MAX_CHAR_VALUE(value) > maxchar) { + Py_UCS4 valmaxchar = _PyUnicode_FindMaxChar(value, 0, len); + maxchar = Py_MAX(maxchar, valmaxchar); + } /* allocate the resulting string */ if (_PyUnicodeWriter_Prepare(writer, total, maxchar) == -1) diff --git a/Python/frozen.c b/Python/frozen.c index 25fdc17b3f..9bc662b994 100644 --- a/Python/frozen.c +++ b/Python/frozen.c @@ -28,7 +28,7 @@ static unsigned char M___hello__[] = { #define SIZE (int)sizeof(M___hello__) -static struct _frozen _PyImport_FrozenModules[] = { +static const struct _frozen _PyImport_FrozenModules[] = { /* importlib */ {"_frozen_importlib", _Py_M__importlib, (int)sizeof(_Py_M__importlib)}, /* Test module */ @@ -42,4 +42,4 @@ static struct _frozen _PyImport_FrozenModules[] = { /* Embedding apps may change this pointer to point to their favorite collection of frozen modules: */ -struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules; +const struct _frozen *PyImport_FrozenModules = _PyImport_FrozenModules; diff --git a/Python/future.c b/Python/future.c index d24ae416ff..80978147f5 100644 --- a/Python/future.c +++ b/Python/future.c @@ -58,11 +58,15 @@ future_check_features(PyFutureFeatures *ff, stmt_ty s, const char *filename) static int future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename) { - int i, found_docstring = 0, done = 0, prev_line = 0; + int i, done = 0, prev_line = 0; + stmt_ty first; if (!(mod->kind == Module_kind || mod->kind == Interactive_kind)) return 1; + if (asdl_seq_LEN(mod->v.Module.body) == 0) + return 1; + /* A subsequent pass will detect future imports that don't appear at the beginning of the file. There's one case, however, that is easier to handle here: A series of imports @@ -71,8 +75,13 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename) but is preceded by a regular import. */ + i = 0; + first = (stmt_ty)asdl_seq_GET(mod->v.Module.body, i); + if (first->kind == Expr_kind && first->v.Expr.value->kind == Str_kind) + i++; - for (i = 0; i < asdl_seq_LEN(mod->v.Module.body); i++) { + + for (; i < asdl_seq_LEN(mod->v.Module.body); i++) { stmt_ty s = (stmt_ty)asdl_seq_GET(mod->v.Module.body, i); if (done && s->lineno > prev_line) @@ -99,18 +108,13 @@ future_parse(PyFutureFeatures *ff, mod_ty mod, const char *filename) return 0; ff->ff_lineno = s->lineno; } - else + else { done = 1; + } } - else if (s->kind == Expr_kind && !found_docstring) { - expr_ty e = s->v.Expr.value; - if (e->kind != Str_kind) - done = 1; - else - found_docstring = 1; - } - else + else { done = 1; + } } return 1; } diff --git a/Python/getargs.c b/Python/getargs.c index ae931b92aa..08faeb464d 100644 --- a/Python/getargs.c +++ b/Python/getargs.c @@ -46,10 +46,12 @@ typedef struct { } freelistentry_t; typedef struct { - int first_available; freelistentry_t *entries; + int first_available; + int entries_malloced; } freelist_t; +#define STATIC_FREELIST_ENTRIES 8 /* Forward */ static int vgetargs1(PyObject *, const char *, va_list *, int); @@ -187,7 +189,8 @@ cleanreturn(int retval, freelist_t *freelist) freelist->entries[index].item); } } - PyMem_FREE(freelist->entries); + if (freelist->entries_malloced) + PyMem_FREE(freelist->entries); return retval; } @@ -197,6 +200,8 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int flags) { char msgbuf[256]; int levels[32]; + freelistentry_t static_entries[STATIC_FREELIST_ENTRIES]; + freelist_t freelist = {static_entries, 0, 0}; const char *fname = NULL; const char *message = NULL; int min = -1; @@ -206,7 +211,6 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int flags) const char *formatsave = format; Py_ssize_t i, len; char *msg; - freelist_t freelist = {0, NULL}; int compat = flags & FLAG_COMPAT; assert(compat || (args != (PyObject*)NULL)); @@ -240,15 +244,15 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int flags) message = format; endfmt = 1; break; + case '|': + if (level == 0) + min = max; + break; default: if (level == 0) { - if (c == 'O') - max++; - else if (Py_ISALPHA(Py_CHARMASK(c))) { + if (Py_ISALPHA(Py_CHARMASK(c))) if (c != 'e') /* skip encoded */ max++; - } else if (c == '|') - min = max; } break; } @@ -262,10 +266,13 @@ vgetargs1(PyObject *args, const char *format, va_list *p_va, int flags) format = formatsave; - freelist.entries = PyMem_NEW(freelistentry_t, max); - if (freelist.entries == NULL) { - PyErr_NoMemory(); - return 0; + if (max > STATIC_FREELIST_ENTRIES) { + freelist.entries = PyMem_NEW(freelistentry_t, max); + if (freelist.entries == NULL) { + PyErr_NoMemory(); + return 0; + } + freelist.entries_malloced = 1; } if (compat) { @@ -1421,7 +1428,8 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, int max = INT_MAX; int i, len, nargs, nkeywords; PyObject *current_arg; - freelist_t freelist = {0, NULL}; + freelistentry_t static_entries[STATIC_FREELIST_ENTRIES]; + freelist_t freelist = {static_entries, 0, 0}; assert(args != NULL && PyTuple_Check(args)); assert(keywords == NULL || PyDict_Check(keywords)); @@ -1445,10 +1453,13 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, for (len=0; kwlist[len]; len++) continue; - freelist.entries = PyMem_NEW(freelistentry_t, len); - if (freelist.entries == NULL) { - PyErr_NoMemory(); - return 0; + if (len > STATIC_FREELIST_ENTRIES) { + freelist.entries = PyMem_NEW(freelistentry_t, len); + if (freelist.entries == NULL) { + PyErr_NoMemory(); + return 0; + } + freelist.entries_malloced = 1; } nargs = PyTuple_GET_SIZE(args); @@ -1574,20 +1585,16 @@ vgetargskeywords(PyObject *args, PyObject *keywords, const char *format, Py_ssize_t pos = 0; while (PyDict_Next(keywords, &pos, &key, &value)) { int match = 0; - char *ks; if (!PyUnicode_Check(key)) { PyErr_SetString(PyExc_TypeError, "keywords must be strings"); return cleanreturn(0, &freelist); } /* check that _PyUnicode_AsString() result is not NULL */ - ks = _PyUnicode_AsString(key); - if (ks != NULL) { - for (i = 0; i < len; i++) { - if (!strcmp(ks, kwlist[i])) { - match = 1; - break; - } + for (i = 0; i < len; i++) { + if (!PyUnicode_CompareWithASCIIString(key, kwlist[i])) { + match = 1; + break; } } if (!match) { diff --git a/Python/import.c b/Python/import.c index 26261e1914..b77eda106d 100644 --- a/Python/import.c +++ b/Python/import.c @@ -204,8 +204,11 @@ _PyImport_ReInitLock(void) if (import_lock_level > 1) { /* Forked as a side effect of import */ long me = PyThread_get_thread_ident(); - PyThread_acquire_lock(import_lock, 0); - /* XXX: can the previous line fail? */ + /* The following could fail if the lock is already held, but forking as + a side-effect of an import is a) rare, b) nuts, and c) difficult to + do thanks to the lock only being held when doing individual module + locks per import. */ + PyThread_acquire_lock(import_lock, NOWAIT_LOCK); import_lock_thread = me; import_lock_level--; } else { @@ -451,12 +454,12 @@ PyImport_GetMagicTag(void) /* Magic for extension modules (built-in as well as dynamically loaded). To prevent initializing an extension module more than - once, we keep a static dictionary 'extensions' keyed by module name - (for built-in modules) or by filename (for dynamically loaded - modules), containing these modules. A copy of the module's - dictionary is stored by calling _PyImport_FixupExtensionObject() - immediately after the module initialization function succeeds. A - copy can be retrieved from there by calling + once, we keep a static dictionary 'extensions' keyed by the tuple + (module name, module name) (for built-in modules) or by + (filename, module name) (for dynamically loaded modules), containing these + modules. A copy of the module's dictionary is stored by calling + _PyImport_FixupExtensionObject() immediately after the module initialization + function succeeds. A copy can be retrieved from there by calling _PyImport_FindExtensionObject(). Modules which do support multiple initialization set their m_size @@ -469,8 +472,9 @@ int _PyImport_FixupExtensionObject(PyObject *mod, PyObject *name, PyObject *filename) { - PyObject *modules, *dict; + PyObject *modules, *dict, *key; struct PyModuleDef *def; + int res; if (extensions == NULL) { extensions = PyDict_New(); if (extensions == NULL) @@ -507,7 +511,13 @@ _PyImport_FixupExtensionObject(PyObject *mod, PyObject *name, if (def->m_base.m_copy == NULL) return -1; } - PyDict_SetItem(extensions, filename, (PyObject*)def); + key = PyTuple_Pack(2, filename, name); + if (key == NULL) + return -1; + res = PyDict_SetItem(extensions, key, (PyObject *)def); + Py_DECREF(key); + if (res < 0) + return -1; return 0; } @@ -527,11 +537,15 @@ _PyImport_FixupBuiltin(PyObject *mod, char *name) PyObject * _PyImport_FindExtensionObject(PyObject *name, PyObject *filename) { - PyObject *mod, *mdict; + PyObject *mod, *mdict, *key; PyModuleDef* def; if (extensions == NULL) return NULL; - def = (PyModuleDef*)PyDict_GetItem(extensions, filename); + key = PyTuple_Pack(2, filename, name); + if (key == NULL) + return NULL; + def = (PyModuleDef *)PyDict_GetItem(extensions, key); + Py_DECREF(key); if (def == NULL) return NULL; if (def->m_size == -1) { @@ -690,7 +704,7 @@ PyImport_ExecCodeModuleWithPathnames(char *name, PyObject *co, char *pathname, "no interpreter!"); } - pathobj = _PyObject_CallMethodObjIdArgs(interp->importlib, + pathobj = _PyObject_CallMethodIdObjArgs(interp->importlib, &PyId__get_sourcefile, cpathobj, NULL); if (pathobj == NULL) @@ -832,7 +846,7 @@ imp_fix_co_filename(PyObject *self, PyObject *args) /* Forward */ -static struct _frozen * find_frozen(PyObject *); +static const struct _frozen * find_frozen(PyObject *); /* Helper to test for built-in module */ @@ -969,10 +983,10 @@ init_builtin(PyObject *name) /* Frozen modules */ -static struct _frozen * +static const struct _frozen * find_frozen(PyObject *name) { - struct _frozen *p; + const struct _frozen *p; if (name == NULL) return NULL; @@ -989,7 +1003,7 @@ find_frozen(PyObject *name) static PyObject * get_frozen_object(PyObject *name) { - struct _frozen *p = find_frozen(name); + const struct _frozen *p = find_frozen(name); int size; if (p == NULL) { @@ -1013,7 +1027,7 @@ get_frozen_object(PyObject *name) static PyObject * is_frozen_package(PyObject *name) { - struct _frozen *p = find_frozen(name); + const struct _frozen *p = find_frozen(name); int size; if (p == NULL) { @@ -1040,7 +1054,7 @@ is_frozen_package(PyObject *name) int PyImport_ImportFrozenModuleObject(PyObject *name) { - struct _frozen *p; + const struct _frozen *p; PyObject *co, *m, *path; int ispackage; int size; @@ -1427,7 +1441,7 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals, } if (initializing > 0) { /* _bootstrap._lock_unlock_module() releases the import lock */ - value = _PyObject_CallMethodObjIdArgs(interp->importlib, + value = _PyObject_CallMethodIdObjArgs(interp->importlib, &PyId__lock_unlock_module, abs_name, NULL); if (value == NULL) @@ -1445,7 +1459,7 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals, } else { /* _bootstrap._find_and_load() releases the import lock */ - mod = _PyObject_CallMethodObjIdArgs(interp->importlib, + mod = _PyObject_CallMethodIdObjArgs(interp->importlib, &PyId__find_and_load, abs_name, builtins_import, NULL); if (mod == NULL) { @@ -1514,7 +1528,7 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *given_globals, } } else { - final_mod = _PyObject_CallMethodObjIdArgs(interp->importlib, + final_mod = _PyObject_CallMethodIdObjArgs(interp->importlib, &PyId__handle_fromlist, mod, fromlist, builtins_import, NULL); @@ -1768,7 +1782,7 @@ static PyObject * imp_is_frozen(PyObject *self, PyObject *args) { PyObject *name; - struct _frozen *p; + const struct _frozen *p; if (!PyArg_ParseTuple(args, "U:is_frozen", &name)) return NULL; p = find_frozen(name); diff --git a/Python/importdl.h b/Python/importdl.h index 6b9cf750a4..6a51a91d2c 100644 --- a/Python/importdl.h +++ b/Python/importdl.h @@ -18,13 +18,8 @@ extern PyObject *_PyImport_LoadDynamicModule(PyObject *name, PyObject *pathname, #include <windows.h> typedef FARPROC dl_funcptr; #else -#if defined(PYOS_OS2) && !defined(PYCC_GCC) -#include <os2def.h> -typedef int (* APIENTRY dl_funcptr)(); -#else typedef void (*dl_funcptr)(void); #endif -#endif #ifdef __cplusplus diff --git a/Python/importlib.h b/Python/importlib.h index 41b9133c77..b3cd54897d 100644 --- a/Python/importlib.h +++ b/Python/importlib.h @@ -1,8 +1,8 @@ /* Auto-generated by Modules/_freeze_importlib.c */ -unsigned char _Py_M__importlib[] = { +const unsigned char _Py_M__importlib[] = { 99,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0, - 0,64,0,0,0,115,206,3,0,0,100,0,0,90,0,0, - 100,131,0,90,1,0,100,4,0,100,5,0,132,0,0,90, + 0,64,0,0,0,115,247,3,0,0,100,0,0,90,0,0, + 100,134,0,90,1,0,100,4,0,100,5,0,132,0,0,90, 2,0,100,6,0,100,7,0,132,0,0,90,3,0,100,8, 0,100,9,0,132,0,0,90,4,0,100,10,0,100,11,0, 132,0,0,90,5,0,100,12,0,100,13,0,132,0,0,90, @@ -18,1520 +18,1297 @@ unsigned char _Py_M__importlib[] = { 0,71,100,31,0,100,32,0,132,0,0,100,32,0,131,2, 0,90,21,0,100,33,0,100,34,0,132,0,0,90,22,0, 100,35,0,100,36,0,132,0,0,90,23,0,100,37,0,100, - 38,0,132,0,0,90,24,0,100,39,0,101,25,0,100,40, - 0,131,1,0,100,41,0,62,66,101,25,0,100,42,0,131, - 1,0,100,43,0,62,66,90,26,0,101,27,0,100,44,0, - 100,45,0,132,0,0,101,28,0,100,46,0,100,47,0,100, - 48,0,131,3,0,68,131,1,0,131,1,0,90,29,0,100, - 49,0,90,30,0,100,50,0,103,1,0,90,31,0,100,51, - 0,103,1,0,90,32,0,100,52,0,103,1,0,90,33,0, - 100,130,0,100,53,0,100,54,0,132,1,0,90,35,0,100, - 55,0,100,56,0,132,0,0,90,36,0,100,57,0,100,58, - 0,132,0,0,90,37,0,100,59,0,100,60,0,100,61,0, - 100,62,0,132,0,1,90,38,0,100,63,0,100,64,0,132, - 0,0,90,39,0,100,65,0,100,66,0,132,0,0,90,40, - 0,100,67,0,100,68,0,132,0,0,90,41,0,100,69,0, - 100,70,0,132,0,0,90,42,0,100,71,0,100,72,0,132, - 0,0,90,43,0,100,73,0,100,74,0,132,0,0,90,44, - 0,100,75,0,100,76,0,132,0,0,90,45,0,71,100,77, - 0,100,78,0,132,0,0,100,78,0,131,2,0,90,46,0, - 71,100,79,0,100,80,0,132,0,0,100,80,0,131,2,0, - 90,47,0,71,100,81,0,100,82,0,132,0,0,100,82,0, - 131,2,0,90,48,0,71,100,83,0,100,84,0,132,0,0, - 100,84,0,131,2,0,90,49,0,71,100,85,0,100,86,0, - 132,0,0,100,86,0,101,49,0,131,3,0,90,50,0,71, + 38,0,132,0,0,90,24,0,100,39,0,106,25,0,100,40, + 0,100,41,0,131,2,0,100,42,0,23,90,26,0,101,27, + 0,106,28,0,101,26,0,100,41,0,131,2,0,90,29,0, + 100,43,0,90,30,0,100,44,0,103,1,0,90,31,0,100, + 45,0,103,1,0,90,32,0,100,46,0,103,1,0,90,33, + 0,100,47,0,100,48,0,100,49,0,132,1,0,90,34,0, + 100,50,0,100,51,0,132,0,0,90,35,0,100,52,0,100, + 53,0,132,0,0,90,36,0,100,54,0,100,55,0,132,0, + 0,90,37,0,100,56,0,100,57,0,100,58,0,100,59,0, + 132,0,1,90,38,0,100,60,0,100,61,0,132,0,0,90, + 39,0,100,62,0,100,63,0,132,0,0,90,40,0,100,64, + 0,100,65,0,132,0,0,90,41,0,100,66,0,100,67,0, + 132,0,0,90,42,0,100,68,0,100,69,0,132,0,0,90, + 43,0,100,70,0,100,71,0,132,0,0,90,44,0,100,72, + 0,100,73,0,132,0,0,90,45,0,100,47,0,100,47,0, + 100,47,0,100,74,0,100,75,0,132,3,0,90,46,0,100, + 47,0,100,47,0,100,47,0,100,76,0,100,77,0,132,3, + 0,90,47,0,100,78,0,100,78,0,100,79,0,100,80,0, + 132,2,0,90,48,0,71,100,81,0,100,82,0,132,0,0, + 100,82,0,131,2,0,90,49,0,71,100,83,0,100,84,0, + 132,0,0,100,84,0,131,2,0,90,50,0,71,100,85,0, + 100,86,0,132,0,0,100,86,0,131,2,0,90,51,0,71, 100,87,0,100,88,0,132,0,0,100,88,0,131,2,0,90, - 51,0,71,100,89,0,100,90,0,132,0,0,100,90,0,101, - 51,0,101,50,0,131,4,0,90,52,0,71,100,91,0,100, - 92,0,132,0,0,100,92,0,101,51,0,101,49,0,131,4, - 0,90,53,0,103,0,0,90,54,0,71,100,93,0,100,94, - 0,132,0,0,100,94,0,131,2,0,90,55,0,71,100,95, - 0,100,96,0,132,0,0,100,96,0,131,2,0,90,56,0, - 71,100,97,0,100,98,0,132,0,0,100,98,0,131,2,0, - 90,57,0,71,100,99,0,100,100,0,132,0,0,100,100,0, - 131,2,0,90,58,0,71,100,101,0,100,102,0,132,0,0, - 100,102,0,131,2,0,90,59,0,71,100,103,0,100,104,0, - 132,0,0,100,104,0,131,2,0,90,60,0,100,105,0,100, - 106,0,132,0,0,90,61,0,100,107,0,100,108,0,132,0, - 0,90,62,0,100,109,0,100,110,0,132,0,0,90,63,0, - 100,111,0,90,64,0,100,112,0,100,113,0,132,0,0,90, - 65,0,100,114,0,100,115,0,132,0,0,90,66,0,100,130, - 0,100,46,0,100,116,0,100,117,0,132,2,0,90,67,0, - 100,118,0,100,119,0,132,0,0,90,68,0,100,120,0,100, - 121,0,132,0,0,90,69,0,100,122,0,100,123,0,132,0, - 0,90,70,0,100,130,0,100,130,0,102,0,0,100,46,0, - 100,124,0,100,125,0,132,4,0,90,71,0,100,126,0,100, - 127,0,132,0,0,90,72,0,100,128,0,100,129,0,132,0, - 0,90,73,0,100,130,0,83,40,132,0,0,0,117,83,1, - 0,0,67,111,114,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,84,104,105,115,32,109,111,100,117,108,101,32,105,115, - 32,78,79,84,32,109,101,97,110,116,32,116,111,32,98,101, - 32,100,105,114,101,99,116,108,121,32,105,109,112,111,114,116, - 101,100,33,32,73,116,32,104,97,115,32,98,101,101,110,32, - 100,101,115,105,103,110,101,100,32,115,117,99,104,10,116,104, - 97,116,32,105,116,32,99,97,110,32,98,101,32,98,111,111, - 116,115,116,114,97,112,112,101,100,32,105,110,116,111,32,80, - 121,116,104,111,110,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,32,65,115,10,115,117,99,104,32,105, - 116,32,114,101,113,117,105,114,101,115,32,116,104,101,32,105, - 110,106,101,99,116,105,111,110,32,111,102,32,115,112,101,99, - 105,102,105,99,32,109,111,100,117,108,101,115,32,97,110,100, - 32,97,116,116,114,105,98,117,116,101,115,32,105,110,32,111, - 114,100,101,114,32,116,111,10,119,111,114,107,46,32,79,110, - 101,32,115,104,111,117,108,100,32,117,115,101,32,105,109,112, - 111,114,116,108,105,98,32,97,115,32,116,104,101,32,112,117, - 98,108,105,99,45,102,97,99,105,110,103,32,118,101,114,115, - 105,111,110,32,111,102,32,116,104,105,115,32,109,111,100,117, - 108,101,46,10,10,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,99,0,0,0,0,0,0,0,0,1,0,0,0, - 2,0,0,0,67,0,0,0,115,49,0,0,0,116,0,0, - 106,1,0,106,2,0,116,3,0,131,1,0,114,33,0,100, - 1,0,100,2,0,132,0,0,125,0,0,110,12,0,100,3, - 0,100,2,0,132,0,0,125,0,0,124,0,0,83,40,4, - 0,0,0,78,99,0,0,0,0,0,0,0,0,0,0,0, - 0,2,0,0,0,83,0,0,0,115,13,0,0,0,100,1, - 0,116,0,0,106,1,0,107,6,0,83,40,2,0,0,0, - 117,53,0,0,0,84,114,117,101,32,105,102,32,102,105,108, - 101,110,97,109,101,115,32,109,117,115,116,32,98,101,32,99, - 104,101,99,107,101,100,32,99,97,115,101,45,105,110,115,101, - 110,115,105,116,105,118,101,108,121,46,115,12,0,0,0,80, - 89,84,72,79,78,67,65,83,69,79,75,40,2,0,0,0, - 117,3,0,0,0,95,111,115,117,7,0,0,0,101,110,118, - 105,114,111,110,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,11,0,0,0,95,114,101,108,97,120, - 95,99,97,115,101,34,0,0,0,115,2,0,0,0,0,2, - 117,37,0,0,0,95,109,97,107,101,95,114,101,108,97,120, - 95,99,97,115,101,46,60,108,111,99,97,108,115,62,46,95, - 114,101,108,97,120,95,99,97,115,101,99,0,0,0,0,0, - 0,0,0,0,0,0,0,1,0,0,0,83,0,0,0,115, - 4,0,0,0,100,1,0,83,40,2,0,0,0,117,53,0, - 0,0,84,114,117,101,32,105,102,32,102,105,108,101,110,97, - 109,101,115,32,109,117,115,116,32,98,101,32,99,104,101,99, - 107,101,100,32,99,97,115,101,45,105,110,115,101,110,115,105, - 116,105,118,101,108,121,46,70,40,1,0,0,0,117,5,0, - 0,0,70,97,108,115,101,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,11,0,0,0,95,114,101, - 108,97,120,95,99,97,115,101,38,0,0,0,115,2,0,0, - 0,0,2,40,4,0,0,0,117,3,0,0,0,115,121,115, - 117,8,0,0,0,112,108,97,116,102,111,114,109,117,10,0, - 0,0,115,116,97,114,116,115,119,105,116,104,117,27,0,0, - 0,95,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,40,1,0,0, - 0,117,11,0,0,0,95,114,101,108,97,120,95,99,97,115, - 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,109,97,107,101,95,114,101,108,97,120,95,99,97, - 115,101,32,0,0,0,115,8,0,0,0,0,1,18,1,15, - 4,12,3,117,16,0,0,0,95,109,97,107,101,95,114,101, - 108,97,120,95,99,97,115,101,99,1,0,0,0,0,0,0, - 0,2,0,0,0,3,0,0,0,67,0,0,0,115,108,0, - 0,0,116,0,0,124,0,0,131,1,0,125,0,0,103,0, - 0,125,1,0,124,1,0,106,1,0,124,0,0,100,1,0, - 64,131,1,0,1,124,1,0,106,1,0,124,0,0,100,2, - 0,63,100,1,0,64,131,1,0,1,124,1,0,106,1,0, - 124,0,0,100,3,0,63,100,1,0,64,131,1,0,1,124, - 1,0,106,1,0,124,0,0,100,4,0,63,100,1,0,64, - 131,1,0,1,116,2,0,124,1,0,131,1,0,83,40,5, - 0,0,0,117,111,0,0,0,67,111,110,118,101,114,116,32, - 97,32,51,50,45,98,105,116,32,105,110,116,101,103,101,114, - 32,116,111,32,108,105,116,116,108,101,45,101,110,100,105,97, - 110,46,10,10,32,32,32,32,88,88,88,32,84,101,109,112, + 52,0,71,100,89,0,100,90,0,132,0,0,100,90,0,101, + 52,0,131,3,0,90,53,0,71,100,91,0,100,92,0,132, + 0,0,100,92,0,131,2,0,90,54,0,71,100,93,0,100, + 94,0,132,0,0,100,94,0,101,54,0,101,53,0,131,4, + 0,90,55,0,71,100,95,0,100,96,0,132,0,0,100,96, + 0,101,54,0,101,52,0,131,4,0,90,56,0,103,0,0, + 90,57,0,71,100,97,0,100,98,0,132,0,0,100,98,0, + 131,2,0,90,58,0,71,100,99,0,100,100,0,132,0,0, + 100,100,0,131,2,0,90,59,0,71,100,101,0,100,102,0, + 132,0,0,100,102,0,131,2,0,90,60,0,71,100,103,0, + 100,104,0,132,0,0,100,104,0,131,2,0,90,61,0,71, + 100,105,0,100,106,0,132,0,0,100,106,0,131,2,0,90, + 62,0,71,100,107,0,100,108,0,132,0,0,100,108,0,131, + 2,0,90,63,0,100,109,0,100,110,0,132,0,0,90,64, + 0,100,111,0,100,112,0,132,0,0,90,65,0,100,113,0, + 100,114,0,132,0,0,90,66,0,100,115,0,90,67,0,100, + 116,0,100,117,0,132,0,0,90,68,0,100,118,0,100,119, + 0,132,0,0,90,69,0,100,47,0,100,78,0,100,120,0, + 100,121,0,132,2,0,90,70,0,100,122,0,100,123,0,132, + 0,0,90,71,0,100,124,0,100,125,0,132,0,0,90,72, + 0,100,126,0,100,127,0,132,0,0,90,73,0,100,47,0, + 100,47,0,102,0,0,100,78,0,100,128,0,100,129,0,132, + 4,0,90,74,0,100,130,0,100,131,0,132,0,0,90,75, + 0,100,132,0,100,133,0,132,0,0,90,76,0,100,47,0, + 83,40,135,0,0,0,117,83,1,0,0,67,111,114,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,84,104,105,115,32, + 109,111,100,117,108,101,32,105,115,32,78,79,84,32,109,101, + 97,110,116,32,116,111,32,98,101,32,100,105,114,101,99,116, + 108,121,32,105,109,112,111,114,116,101,100,33,32,73,116,32, + 104,97,115,32,98,101,101,110,32,100,101,115,105,103,110,101, + 100,32,115,117,99,104,10,116,104,97,116,32,105,116,32,99, + 97,110,32,98,101,32,98,111,111,116,115,116,114,97,112,112, + 101,100,32,105,110,116,111,32,80,121,116,104,111,110,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,32, + 65,115,10,115,117,99,104,32,105,116,32,114,101,113,117,105, + 114,101,115,32,116,104,101,32,105,110,106,101,99,116,105,111, + 110,32,111,102,32,115,112,101,99,105,102,105,99,32,109,111, + 100,117,108,101,115,32,97,110,100,32,97,116,116,114,105,98, + 117,116,101,115,32,105,110,32,111,114,100,101,114,32,116,111, + 10,119,111,114,107,46,32,79,110,101,32,115,104,111,117,108, + 100,32,117,115,101,32,105,109,112,111,114,116,108,105,98,32, + 97,115,32,116,104,101,32,112,117,98,108,105,99,45,102,97, + 99,105,110,103,32,118,101,114,115,105,111,110,32,111,102,32, + 116,104,105,115,32,109,111,100,117,108,101,46,10,10,244,3, + 0,0,0,119,105,110,244,6,0,0,0,99,121,103,119,105, + 110,244,6,0,0,0,100,97,114,119,105,110,99,0,0,0, + 0,0,0,0,0,1,0,0,0,2,0,0,0,67,0,0, + 0,115,49,0,0,0,116,0,0,106,1,0,106,2,0,116, + 3,0,131,1,0,114,33,0,100,1,0,100,2,0,132,0, + 0,125,0,0,110,12,0,100,3,0,100,2,0,132,0,0, + 125,0,0,124,0,0,83,40,4,0,0,0,78,99,0,0, + 0,0,0,0,0,0,0,0,0,0,2,0,0,0,83,0, + 0,0,115,13,0,0,0,100,1,0,116,0,0,106,1,0, + 107,6,0,83,40,2,0,0,0,117,53,0,0,0,84,114, + 117,101,32,105,102,32,102,105,108,101,110,97,109,101,115,32, + 109,117,115,116,32,98,101,32,99,104,101,99,107,101,100,32, + 99,97,115,101,45,105,110,115,101,110,115,105,116,105,118,101, + 108,121,46,115,12,0,0,0,80,89,84,72,79,78,67,65, + 83,69,79,75,40,2,0,0,0,244,3,0,0,0,95,111, + 115,116,7,0,0,0,101,110,118,105,114,111,110,168,0,0, + 0,0,114,4,0,0,0,114,4,0,0,0,245,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,244,11, + 0,0,0,95,114,101,108,97,120,95,99,97,115,101,34,0, + 0,0,115,2,0,0,0,0,2,117,37,0,0,0,95,109, + 97,107,101,95,114,101,108,97,120,95,99,97,115,101,46,60, + 108,111,99,97,108,115,62,46,95,114,101,108,97,120,95,99, + 97,115,101,99,0,0,0,0,0,0,0,0,0,0,0,0, + 1,0,0,0,83,0,0,0,115,4,0,0,0,100,1,0, + 83,40,2,0,0,0,117,53,0,0,0,84,114,117,101,32, + 105,102,32,102,105,108,101,110,97,109,101,115,32,109,117,115, + 116,32,98,101,32,99,104,101,99,107,101,100,32,99,97,115, + 101,45,105,110,115,101,110,115,105,116,105,118,101,108,121,46, + 70,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,6,0,0,0,38, + 0,0,0,115,2,0,0,0,0,2,40,4,0,0,0,244, + 3,0,0,0,115,121,115,244,8,0,0,0,112,108,97,116, + 102,111,114,109,244,10,0,0,0,115,116,97,114,116,115,119, + 105,116,104,244,27,0,0,0,95,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,40,1,0,0,0,114,6,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,244,16,0,0, + 0,95,109,97,107,101,95,114,101,108,97,120,95,99,97,115, + 101,32,0,0,0,115,8,0,0,0,0,1,18,1,15,4, + 12,3,114,11,0,0,0,99,1,0,0,0,0,0,0,0, + 1,0,0,0,3,0,0,0,67,0,0,0,115,26,0,0, + 0,116,0,0,124,0,0,131,1,0,100,1,0,64,106,1, + 0,100,2,0,100,3,0,131,2,0,83,40,4,0,0,0, + 117,111,0,0,0,67,111,110,118,101,114,116,32,97,32,51, + 50,45,98,105,116,32,105,110,116,101,103,101,114,32,116,111, + 32,108,105,116,116,108,101,45,101,110,100,105,97,110,46,10, + 10,32,32,32,32,88,88,88,32,84,101,109,112,111,114,97, + 114,121,32,117,110,116,105,108,32,109,97,114,115,104,97,108, + 39,115,32,108,111,110,103,32,102,117,110,99,116,105,111,110, + 115,32,97,114,101,32,101,120,112,111,115,101,100,46,10,10, + 32,32,32,32,108,3,0,0,0,255,127,255,127,3,0,233, + 4,0,0,0,244,6,0,0,0,108,105,116,116,108,101,40, + 2,0,0,0,244,3,0,0,0,105,110,116,244,8,0,0, + 0,116,111,95,98,121,116,101,115,40,1,0,0,0,244,1, + 0,0,0,120,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,244,7,0,0,0,95,119,95,108,111,110,103,45, + 0,0,0,115,2,0,0,0,0,6,114,17,0,0,0,99, + 1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0, + 67,0,0,0,115,16,0,0,0,116,0,0,106,1,0,124, + 0,0,100,1,0,131,2,0,83,40,2,0,0,0,117,115, + 0,0,0,67,111,110,118,101,114,116,32,52,32,98,121,116, + 101,115,32,105,110,32,108,105,116,116,108,101,45,101,110,100, + 105,97,110,32,116,111,32,97,110,32,105,110,116,101,103,101, + 114,46,10,10,32,32,32,32,88,88,88,32,84,101,109,112, 111,114,97,114,121,32,117,110,116,105,108,32,109,97,114,115, 104,97,108,39,115,32,108,111,110,103,32,102,117,110,99,116, - 105,111,110,115,32,97,114,101,32,101,120,112,111,115,101,100, - 46,10,10,32,32,32,32,105,255,0,0,0,105,8,0,0, - 0,105,16,0,0,0,105,24,0,0,0,40,3,0,0,0, - 117,3,0,0,0,105,110,116,117,6,0,0,0,97,112,112, - 101,110,100,117,9,0,0,0,98,121,116,101,97,114,114,97, - 121,40,2,0,0,0,117,1,0,0,0,120,117,9,0,0, - 0,105,110,116,95,98,121,116,101,115,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,7,0,0,0,95,119,95,108,111, - 110,103,45,0,0,0,115,14,0,0,0,0,6,12,1,6, - 1,17,1,21,1,21,1,21,1,117,7,0,0,0,95,119, - 95,108,111,110,103,99,1,0,0,0,0,0,0,0,2,0, - 0,0,3,0,0,0,67,0,0,0,115,68,0,0,0,124, - 0,0,100,1,0,25,125,1,0,124,1,0,124,0,0,100, - 2,0,25,100,3,0,62,79,125,1,0,124,1,0,124,0, - 0,100,4,0,25,100,5,0,62,79,125,1,0,124,1,0, - 124,0,0,100,6,0,25,100,7,0,62,79,125,1,0,124, - 1,0,83,40,8,0,0,0,117,115,0,0,0,67,111,110, - 118,101,114,116,32,52,32,98,121,116,101,115,32,105,110,32, - 108,105,116,116,108,101,45,101,110,100,105,97,110,32,116,111, - 32,97,110,32,105,110,116,101,103,101,114,46,10,10,32,32, - 32,32,88,88,88,32,84,101,109,112,111,114,97,114,121,32, - 117,110,116,105,108,32,109,97,114,115,104,97,108,39,115,32, - 108,111,110,103,32,102,117,110,99,116,105,111,110,32,97,114, - 101,32,101,120,112,111,115,101,100,46,10,10,32,32,32,32, - 105,0,0,0,0,105,1,0,0,0,105,8,0,0,0,105, - 2,0,0,0,105,16,0,0,0,105,3,0,0,0,105,24, - 0,0,0,40,0,0,0,0,40,2,0,0,0,117,9,0, - 0,0,105,110,116,95,98,121,116,101,115,117,1,0,0,0, - 120,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,7,0, - 0,0,95,114,95,108,111,110,103,61,0,0,0,115,10,0, - 0,0,0,6,10,1,18,1,18,1,18,1,117,7,0,0, - 0,95,114,95,108,111,110,103,99,0,0,0,0,0,0,0, - 0,3,0,0,0,4,0,0,0,71,0,0,0,115,103,0, - 0,0,103,0,0,125,1,0,120,71,0,124,0,0,68,93, - 63,0,125,2,0,124,2,0,115,31,0,113,13,0,110,0, - 0,124,1,0,106,0,0,124,2,0,131,1,0,1,124,2, - 0,100,4,0,25,116,1,0,107,7,0,114,13,0,124,1, - 0,106,0,0,116,2,0,131,1,0,1,113,13,0,113,13, - 0,87,100,2,0,106,3,0,124,1,0,100,3,0,100,5, - 0,133,2,0,25,131,1,0,83,40,6,0,0,0,117,31, - 0,0,0,82,101,112,108,97,99,101,109,101,110,116,32,102, - 111,114,32,111,115,46,112,97,116,104,46,106,111,105,110,40, - 41,46,105,1,0,0,0,117,0,0,0,0,78,105,255,255, - 255,255,105,255,255,255,255,40,4,0,0,0,117,6,0,0, - 0,97,112,112,101,110,100,117,15,0,0,0,112,97,116,104, - 95,115,101,112,97,114,97,116,111,114,115,117,8,0,0,0, - 112,97,116,104,95,115,101,112,117,4,0,0,0,106,111,105, - 110,40,3,0,0,0,117,10,0,0,0,112,97,116,104,95, - 112,97,114,116,115,117,9,0,0,0,110,101,119,95,112,97, - 114,116,115,117,4,0,0,0,112,97,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,10,0,0,0,95,112,97, - 116,104,95,106,111,105,110,74,0,0,0,115,16,0,0,0, - 0,2,6,1,13,1,6,1,6,1,13,1,16,1,20,1, - 117,10,0,0,0,95,112,97,116,104,95,106,111,105,110,99, - 1,0,0,0,0,0,0,0,6,0,0,0,3,0,0,0, - 67,0,0,0,115,85,0,0,0,120,48,0,116,0,0,124, - 0,0,131,1,0,68,93,28,0,125,1,0,124,1,0,116, - 1,0,107,6,0,114,13,0,124,1,0,125,2,0,80,113, - 13,0,113,13,0,87,116,2,0,125,2,0,124,0,0,106, - 3,0,124,2,0,131,1,0,92,3,0,125,3,0,125,4, - 0,125,5,0,124,3,0,124,5,0,102,2,0,83,40,1, - 0,0,0,117,32,0,0,0,82,101,112,108,97,99,101,109, - 101,110,116,32,102,111,114,32,111,115,46,112,97,116,104,46, - 115,112,108,105,116,40,41,46,40,4,0,0,0,117,8,0, - 0,0,114,101,118,101,114,115,101,100,117,15,0,0,0,112, - 97,116,104,95,115,101,112,97,114,97,116,111,114,115,117,8, - 0,0,0,112,97,116,104,95,115,101,112,117,10,0,0,0, - 114,112,97,114,116,105,116,105,111,110,40,6,0,0,0,117, - 4,0,0,0,112,97,116,104,117,1,0,0,0,120,117,3, - 0,0,0,115,101,112,117,5,0,0,0,102,114,111,110,116, - 117,1,0,0,0,95,117,4,0,0,0,116,97,105,108,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,112,97,116,104,95,115,112,108,105,116,86,0,0,0,115, - 14,0,0,0,0,2,19,1,12,1,6,1,8,2,6,1, - 24,1,117,11,0,0,0,95,112,97,116,104,95,115,112,108, - 105,116,99,2,0,0,0,0,0,0,0,3,0,0,0,11, - 0,0,0,67,0,0,0,115,61,0,0,0,121,19,0,116, - 0,0,106,1,0,124,0,0,131,1,0,125,2,0,87,110, - 22,0,4,116,2,0,107,10,0,114,43,0,1,1,1,100, - 2,0,83,89,110,1,0,88,124,2,0,106,4,0,100,1, - 0,64,124,1,0,107,2,0,83,40,3,0,0,0,117,49, - 0,0,0,84,101,115,116,32,119,104,101,116,104,101,114,32, - 116,104,101,32,112,97,116,104,32,105,115,32,116,104,101,32, - 115,112,101,99,105,102,105,101,100,32,109,111,100,101,32,116, - 121,112,101,46,105,0,240,0,0,70,40,5,0,0,0,117, - 3,0,0,0,95,111,115,117,4,0,0,0,115,116,97,116, - 117,7,0,0,0,79,83,69,114,114,111,114,117,5,0,0, - 0,70,97,108,115,101,117,7,0,0,0,115,116,95,109,111, - 100,101,40,3,0,0,0,117,4,0,0,0,112,97,116,104, - 117,4,0,0,0,109,111,100,101,117,9,0,0,0,115,116, - 97,116,95,105,110,102,111,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,18,0,0,0,95,112,97,116,104,95,105,115, - 95,109,111,100,101,95,116,121,112,101,98,0,0,0,115,10, - 0,0,0,0,2,3,1,19,1,13,1,9,1,117,18,0, - 0,0,95,112,97,116,104,95,105,115,95,109,111,100,101,95, - 116,121,112,101,99,1,0,0,0,0,0,0,0,1,0,0, - 0,3,0,0,0,67,0,0,0,115,13,0,0,0,116,0, - 0,124,0,0,100,1,0,131,2,0,83,40,2,0,0,0, - 117,31,0,0,0,82,101,112,108,97,99,101,109,101,110,116, - 32,102,111,114,32,111,115,46,112,97,116,104,46,105,115,102, - 105,108,101,46,105,0,128,0,0,40,1,0,0,0,117,18, - 0,0,0,95,112,97,116,104,95,105,115,95,109,111,100,101, - 95,116,121,112,101,40,1,0,0,0,117,4,0,0,0,112, - 97,116,104,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, - 12,0,0,0,95,112,97,116,104,95,105,115,102,105,108,101, - 108,0,0,0,115,2,0,0,0,0,2,117,12,0,0,0, - 95,112,97,116,104,95,105,115,102,105,108,101,99,1,0,0, - 0,0,0,0,0,1,0,0,0,3,0,0,0,67,0,0, - 0,115,34,0,0,0,124,0,0,115,21,0,116,0,0,106, - 1,0,131,0,0,125,0,0,110,0,0,116,2,0,124,0, - 0,100,1,0,131,2,0,83,40,2,0,0,0,117,30,0, + 105,111,110,32,97,114,101,32,101,120,112,111,115,101,100,46, + 10,10,32,32,32,32,114,13,0,0,0,40,2,0,0,0, + 114,14,0,0,0,244,10,0,0,0,102,114,111,109,95,98, + 121,116,101,115,40,1,0,0,0,116,9,0,0,0,105,110, + 116,95,98,121,116,101,115,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,7,0,0,0,95,114,95,108,111, + 110,103,55,0,0,0,115,2,0,0,0,0,6,114,19,0, + 0,0,99,0,0,0,0,0,0,0,0,1,0,0,0,3, + 0,0,0,71,0,0,0,115,26,0,0,0,116,0,0,106, + 1,0,100,1,0,100,2,0,132,0,0,124,0,0,68,131, + 1,0,131,1,0,83,40,3,0,0,0,117,31,0,0,0, + 82,101,112,108,97,99,101,109,101,110,116,32,102,111,114,32, + 111,115,46,112,97,116,104,46,106,111,105,110,40,41,46,99, + 1,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, + 83,0,0,0,115,37,0,0,0,103,0,0,124,0,0,93, + 27,0,125,1,0,124,1,0,114,6,0,124,1,0,106,0, + 0,116,1,0,131,1,0,145,2,0,113,6,0,83,114,4, + 0,0,0,40,2,0,0,0,244,6,0,0,0,114,115,116, + 114,105,112,244,15,0,0,0,112,97,116,104,95,115,101,112, + 97,114,97,116,111,114,115,40,2,0,0,0,244,2,0,0, + 0,46,48,244,4,0,0,0,112,97,114,116,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,245,10,0,0,0, + 60,108,105,115,116,99,111,109,112,62,66,0,0,0,115,2, + 0,0,0,9,1,117,30,0,0,0,95,112,97,116,104,95, + 106,111,105,110,46,60,108,111,99,97,108,115,62,46,60,108, + 105,115,116,99,111,109,112,62,40,2,0,0,0,244,8,0, + 0,0,112,97,116,104,95,115,101,112,244,4,0,0,0,106, + 111,105,110,40,1,0,0,0,244,10,0,0,0,112,97,116, + 104,95,112,97,114,116,115,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,10,0,0,0,95,112,97,116,104, + 95,106,111,105,110,64,0,0,0,115,4,0,0,0,0,2, + 15,1,114,28,0,0,0,99,1,0,0,0,0,0,0,0, + 5,0,0,0,5,0,0,0,67,0,0,0,115,134,0,0, + 0,116,0,0,116,1,0,131,1,0,100,1,0,107,2,0, + 114,52,0,124,0,0,106,2,0,116,3,0,131,1,0,92, + 3,0,125,1,0,125,2,0,125,3,0,124,1,0,124,3, + 0,102,2,0,83,120,69,0,116,4,0,124,0,0,131,1, + 0,68,93,55,0,125,4,0,124,4,0,116,1,0,107,6, + 0,114,65,0,124,0,0,106,5,0,124,4,0,100,2,0, + 100,1,0,131,1,1,92,2,0,125,1,0,125,3,0,124, + 1,0,124,3,0,102,2,0,83,113,65,0,87,100,3,0, + 124,0,0,102,2,0,83,40,4,0,0,0,117,32,0,0, + 0,82,101,112,108,97,99,101,109,101,110,116,32,102,111,114, + 32,111,115,46,112,97,116,104,46,115,112,108,105,116,40,41, + 46,233,1,0,0,0,116,8,0,0,0,109,97,120,115,112, + 108,105,116,244,0,0,0,0,40,6,0,0,0,244,3,0, + 0,0,108,101,110,114,21,0,0,0,244,10,0,0,0,114, + 112,97,114,116,105,116,105,111,110,114,25,0,0,0,244,8, + 0,0,0,114,101,118,101,114,115,101,100,244,6,0,0,0, + 114,115,112,108,105,116,40,5,0,0,0,244,4,0,0,0, + 112,97,116,104,116,5,0,0,0,102,114,111,110,116,244,1, + 0,0,0,95,244,4,0,0,0,116,97,105,108,114,16,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, + 0,244,11,0,0,0,95,112,97,116,104,95,115,112,108,105, + 116,70,0,0,0,115,16,0,0,0,0,2,18,1,24,1, + 10,1,19,1,12,1,27,1,14,1,114,38,0,0,0,99, + 2,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0, + 67,0,0,0,115,61,0,0,0,121,19,0,116,0,0,106, + 1,0,124,0,0,131,1,0,125,2,0,87,110,22,0,4, + 116,2,0,107,10,0,114,43,0,1,1,1,100,1,0,83, + 89,110,1,0,88,124,2,0,106,3,0,100,2,0,64,124, + 1,0,107,2,0,83,40,3,0,0,0,117,49,0,0,0, + 84,101,115,116,32,119,104,101,116,104,101,114,32,116,104,101, + 32,112,97,116,104,32,105,115,32,116,104,101,32,115,112,101, + 99,105,102,105,101,100,32,109,111,100,101,32,116,121,112,101, + 46,70,105,0,240,0,0,40,4,0,0,0,114,3,0,0, + 0,244,4,0,0,0,115,116,97,116,244,7,0,0,0,79, + 83,69,114,114,111,114,244,7,0,0,0,115,116,95,109,111, + 100,101,40,3,0,0,0,114,35,0,0,0,244,4,0,0, + 0,109,111,100,101,116,9,0,0,0,115,116,97,116,95,105, + 110,102,111,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,18,0,0,0,95,112,97,116,104,95,105,115,95, + 109,111,100,101,95,116,121,112,101,82,0,0,0,115,10,0, + 0,0,0,2,3,1,19,1,13,1,9,1,114,43,0,0, + 0,99,1,0,0,0,0,0,0,0,1,0,0,0,3,0, + 0,0,67,0,0,0,115,13,0,0,0,116,0,0,124,0, + 0,100,1,0,131,2,0,83,40,2,0,0,0,117,31,0, 0,0,82,101,112,108,97,99,101,109,101,110,116,32,102,111, - 114,32,111,115,46,112,97,116,104,46,105,115,100,105,114,46, - 105,0,64,0,0,40,3,0,0,0,117,3,0,0,0,95, - 111,115,117,6,0,0,0,103,101,116,99,119,100,117,18,0, - 0,0,95,112,97,116,104,95,105,115,95,109,111,100,101,95, - 116,121,112,101,40,1,0,0,0,117,4,0,0,0,112,97, - 116,104,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,112,97,116,104,95,105,115,100,105,114,114,0, - 0,0,115,6,0,0,0,0,2,6,1,15,1,117,11,0, - 0,0,95,112,97,116,104,95,105,115,100,105,114,105,182,1, - 0,0,99,3,0,0,0,0,0,0,0,6,0,0,0,17, - 0,0,0,67,0,0,0,115,192,0,0,0,100,1,0,106, - 0,0,124,0,0,116,1,0,124,0,0,131,1,0,131,2, - 0,125,3,0,116,2,0,106,3,0,124,3,0,116,2,0, - 106,4,0,116,2,0,106,5,0,66,116,2,0,106,6,0, - 66,124,2,0,100,2,0,64,131,3,0,125,4,0,121,60, - 0,116,7,0,106,8,0,124,4,0,100,3,0,131,2,0, - 143,20,0,125,5,0,124,5,0,106,9,0,124,1,0,131, - 1,0,1,87,100,4,0,81,88,116,2,0,106,10,0,124, - 3,0,124,0,0,131,2,0,1,87,110,59,0,4,116,11, - 0,107,10,0,114,187,0,1,1,1,121,17,0,116,2,0, - 106,12,0,124,3,0,131,1,0,1,87,110,18,0,4,116, - 11,0,107,10,0,114,179,0,1,1,1,89,110,1,0,88, - 130,0,0,89,110,1,0,88,100,4,0,83,40,5,0,0, - 0,117,162,0,0,0,66,101,115,116,45,101,102,102,111,114, - 116,32,102,117,110,99,116,105,111,110,32,116,111,32,119,114, - 105,116,101,32,100,97,116,97,32,116,111,32,97,32,112,97, - 116,104,32,97,116,111,109,105,99,97,108,108,121,46,10,32, - 32,32,32,66,101,32,112,114,101,112,97,114,101,100,32,116, - 111,32,104,97,110,100,108,101,32,97,32,70,105,108,101,69, - 120,105,115,116,115,69,114,114,111,114,32,105,102,32,99,111, - 110,99,117,114,114,101,110,116,32,119,114,105,116,105,110,103, - 32,111,102,32,116,104,101,10,32,32,32,32,116,101,109,112, - 111,114,97,114,121,32,102,105,108,101,32,105,115,32,97,116, - 116,101,109,112,116,101,100,46,117,5,0,0,0,123,125,46, - 123,125,105,182,1,0,0,117,2,0,0,0,119,98,78,40, - 13,0,0,0,117,6,0,0,0,102,111,114,109,97,116,117, - 2,0,0,0,105,100,117,3,0,0,0,95,111,115,117,4, - 0,0,0,111,112,101,110,117,6,0,0,0,79,95,69,88, - 67,76,117,7,0,0,0,79,95,67,82,69,65,84,117,8, - 0,0,0,79,95,87,82,79,78,76,89,117,3,0,0,0, - 95,105,111,117,6,0,0,0,70,105,108,101,73,79,117,5, - 0,0,0,119,114,105,116,101,117,7,0,0,0,114,101,112, - 108,97,99,101,117,7,0,0,0,79,83,69,114,114,111,114, - 117,6,0,0,0,117,110,108,105,110,107,40,6,0,0,0, - 117,4,0,0,0,112,97,116,104,117,4,0,0,0,100,97, - 116,97,117,4,0,0,0,109,111,100,101,117,8,0,0,0, - 112,97,116,104,95,116,109,112,117,2,0,0,0,102,100,117, - 4,0,0,0,102,105,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,13,0,0,0,95,119,114,105,116,101,95, - 97,116,111,109,105,99,121,0,0,0,115,26,0,0,0,0, - 5,24,1,9,1,33,1,3,3,21,1,19,1,20,1,13, - 1,3,1,17,1,13,1,5,1,117,13,0,0,0,95,119, - 114,105,116,101,95,97,116,111,109,105,99,99,2,0,0,0, - 0,0,0,0,3,0,0,0,7,0,0,0,67,0,0,0, - 115,95,0,0,0,120,69,0,100,1,0,100,2,0,100,3, - 0,100,4,0,103,4,0,68,93,49,0,125,2,0,116,0, - 0,124,1,0,124,2,0,131,2,0,114,19,0,116,1,0, - 124,0,0,124,2,0,116,2,0,124,1,0,124,2,0,131, - 2,0,131,3,0,1,113,19,0,113,19,0,87,124,0,0, - 106,3,0,106,4,0,124,1,0,106,3,0,131,1,0,1, - 100,5,0,83,40,6,0,0,0,117,47,0,0,0,83,105, - 109,112,108,101,32,115,117,98,115,116,105,116,117,116,101,32, - 102,111,114,32,102,117,110,99,116,111,111,108,115,46,117,112, - 100,97,116,101,95,119,114,97,112,112,101,114,46,117,10,0, - 0,0,95,95,109,111,100,117,108,101,95,95,117,8,0,0, - 0,95,95,110,97,109,101,95,95,117,12,0,0,0,95,95, - 113,117,97,108,110,97,109,101,95,95,117,7,0,0,0,95, - 95,100,111,99,95,95,78,40,5,0,0,0,117,7,0,0, - 0,104,97,115,97,116,116,114,117,7,0,0,0,115,101,116, - 97,116,116,114,117,7,0,0,0,103,101,116,97,116,116,114, - 117,8,0,0,0,95,95,100,105,99,116,95,95,117,6,0, - 0,0,117,112,100,97,116,101,40,3,0,0,0,117,3,0, - 0,0,110,101,119,117,3,0,0,0,111,108,100,117,7,0, - 0,0,114,101,112,108,97,99,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,5,0,0,0,95,119,114,97,112,143, - 0,0,0,115,8,0,0,0,0,2,25,1,15,1,32,1, - 117,5,0,0,0,95,119,114,97,112,99,1,0,0,0,0, - 0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,115, - 16,0,0,0,116,0,0,116,1,0,131,1,0,124,0,0, - 131,1,0,83,40,1,0,0,0,117,75,0,0,0,67,114, - 101,97,116,101,32,97,32,110,101,119,32,109,111,100,117,108, - 101,46,10,10,32,32,32,32,84,104,101,32,109,111,100,117, - 108,101,32,105,115,32,110,111,116,32,101,110,116,101,114,101, - 100,32,105,110,116,111,32,115,121,115,46,109,111,100,117,108, - 101,115,46,10,10,32,32,32,32,40,2,0,0,0,117,4, - 0,0,0,116,121,112,101,117,3,0,0,0,95,105,111,40, - 1,0,0,0,117,4,0,0,0,110,97,109,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,10,0,0,0,110,101, - 119,95,109,111,100,117,108,101,154,0,0,0,115,2,0,0, - 0,0,6,117,10,0,0,0,110,101,119,95,109,111,100,117, - 108,101,99,1,0,0,0,0,0,0,0,1,0,0,0,1, - 0,0,0,66,0,0,0,115,20,0,0,0,124,0,0,69, - 101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,83, - 40,2,0,0,0,117,14,0,0,0,95,68,101,97,100,108, - 111,99,107,69,114,114,111,114,78,40,3,0,0,0,117,8, - 0,0,0,95,95,110,97,109,101,95,95,117,10,0,0,0, - 95,95,109,111,100,117,108,101,95,95,117,12,0,0,0,95, - 95,113,117,97,108,110,97,109,101,95,95,40,1,0,0,0, - 117,10,0,0,0,95,95,108,111,99,97,108,115,95,95,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,68,101,97,100,108,111,99,107,69,114,114,111,114,171,0, - 0,0,115,2,0,0,0,16,1,117,14,0,0,0,95,68, - 101,97,100,108,111,99,107,69,114,114,111,114,99,1,0,0, - 0,0,0,0,0,1,0,0,0,2,0,0,0,66,0,0, - 0,115,86,0,0,0,124,0,0,69,101,0,0,90,1,0, - 100,0,0,90,2,0,100,1,0,90,3,0,100,2,0,100, - 3,0,132,0,0,90,4,0,100,4,0,100,5,0,132,0, - 0,90,5,0,100,6,0,100,7,0,132,0,0,90,6,0, - 100,8,0,100,9,0,132,0,0,90,7,0,100,10,0,100, - 11,0,132,0,0,90,8,0,100,12,0,83,40,13,0,0, - 0,117,11,0,0,0,95,77,111,100,117,108,101,76,111,99, - 107,117,169,0,0,0,65,32,114,101,99,117,114,115,105,118, - 101,32,108,111,99,107,32,105,109,112,108,101,109,101,110,116, - 97,116,105,111,110,32,119,104,105,99,104,32,105,115,32,97, - 98,108,101,32,116,111,32,100,101,116,101,99,116,32,100,101, - 97,100,108,111,99,107,115,10,32,32,32,32,40,101,46,103, - 46,32,116,104,114,101,97,100,32,49,32,116,114,121,105,110, - 103,32,116,111,32,116,97,107,101,32,108,111,99,107,115,32, - 65,32,116,104,101,110,32,66,44,32,97,110,100,32,116,104, - 114,101,97,100,32,50,32,116,114,121,105,110,103,32,116,111, - 10,32,32,32,32,116,97,107,101,32,108,111,99,107,115,32, - 66,32,116,104,101,110,32,65,41,46,10,32,32,32,32,99, - 2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0, - 67,0,0,0,115,70,0,0,0,116,0,0,106,1,0,131, - 0,0,124,0,0,95,2,0,116,0,0,106,1,0,131,0, - 0,124,0,0,95,3,0,124,1,0,124,0,0,95,4,0, - 100,0,0,124,0,0,95,6,0,100,1,0,124,0,0,95, - 7,0,100,1,0,124,0,0,95,8,0,100,0,0,83,40, - 2,0,0,0,78,105,0,0,0,0,40,9,0,0,0,117, - 7,0,0,0,95,116,104,114,101,97,100,117,13,0,0,0, - 97,108,108,111,99,97,116,101,95,108,111,99,107,117,4,0, - 0,0,108,111,99,107,117,6,0,0,0,119,97,107,101,117, - 112,117,4,0,0,0,110,97,109,101,117,4,0,0,0,78, - 111,110,101,117,5,0,0,0,111,119,110,101,114,117,5,0, - 0,0,99,111,117,110,116,117,7,0,0,0,119,97,105,116, - 101,114,115,40,2,0,0,0,117,4,0,0,0,115,101,108, - 102,117,4,0,0,0,110,97,109,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,8,0,0,0,95,95,105,110,105, - 116,95,95,181,0,0,0,115,12,0,0,0,0,1,15,1, - 15,1,9,1,9,1,9,1,117,20,0,0,0,95,77,111, - 100,117,108,101,76,111,99,107,46,95,95,105,110,105,116,95, - 95,99,1,0,0,0,0,0,0,0,4,0,0,0,2,0, - 0,0,67,0,0,0,115,87,0,0,0,116,0,0,106,1, - 0,131,0,0,125,1,0,124,0,0,106,2,0,125,2,0, - 120,59,0,116,3,0,106,4,0,124,2,0,131,1,0,125, - 3,0,124,3,0,100,0,0,107,8,0,114,55,0,100,1, - 0,83,124,3,0,106,2,0,125,2,0,124,2,0,124,1, - 0,107,2,0,114,24,0,100,2,0,83,113,24,0,100,0, - 0,83,40,3,0,0,0,78,70,84,40,8,0,0,0,117, - 7,0,0,0,95,116,104,114,101,97,100,117,9,0,0,0, - 103,101,116,95,105,100,101,110,116,117,5,0,0,0,111,119, - 110,101,114,117,12,0,0,0,95,98,108,111,99,107,105,110, - 103,95,111,110,117,3,0,0,0,103,101,116,117,4,0,0, - 0,78,111,110,101,117,5,0,0,0,70,97,108,115,101,117, - 4,0,0,0,84,114,117,101,40,4,0,0,0,117,4,0, - 0,0,115,101,108,102,117,2,0,0,0,109,101,117,3,0, - 0,0,116,105,100,117,4,0,0,0,108,111,99,107,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,12,0,0,0,104, - 97,115,95,100,101,97,100,108,111,99,107,189,0,0,0,115, - 18,0,0,0,0,2,12,1,9,1,3,1,15,1,12,1, - 4,1,9,1,12,1,117,24,0,0,0,95,77,111,100,117, - 108,101,76,111,99,107,46,104,97,115,95,100,101,97,100,108, - 111,99,107,99,1,0,0,0,0,0,0,0,2,0,0,0, - 17,0,0,0,67,0,0,0,115,214,0,0,0,116,0,0, - 106,1,0,131,0,0,125,1,0,124,0,0,116,2,0,124, - 1,0,60,122,177,0,120,170,0,124,0,0,106,3,0,143, - 130,0,1,124,0,0,106,4,0,100,1,0,107,2,0,115, - 68,0,124,0,0,106,5,0,124,1,0,107,2,0,114,96, - 0,124,1,0,124,0,0,95,5,0,124,0,0,4,106,4, - 0,100,2,0,55,2,95,4,0,100,5,0,83,124,0,0, - 106,7,0,131,0,0,114,127,0,116,8,0,100,3,0,124, - 0,0,22,131,1,0,130,1,0,110,0,0,124,0,0,106, - 9,0,106,10,0,100,6,0,131,1,0,114,163,0,124,0, - 0,4,106,12,0,100,2,0,55,2,95,12,0,110,0,0, - 87,100,4,0,81,88,124,0,0,106,9,0,106,10,0,131, - 0,0,1,124,0,0,106,9,0,106,13,0,131,0,0,1, - 113,28,0,87,100,4,0,116,2,0,124,1,0,61,88,100, - 4,0,83,40,7,0,0,0,117,185,0,0,0,10,32,32, - 32,32,32,32,32,32,65,99,113,117,105,114,101,32,116,104, - 101,32,109,111,100,117,108,101,32,108,111,99,107,46,32,32, - 73,102,32,97,32,112,111,116,101,110,116,105,97,108,32,100, - 101,97,100,108,111,99,107,32,105,115,32,100,101,116,101,99, - 116,101,100,44,10,32,32,32,32,32,32,32,32,97,32,95, - 68,101,97,100,108,111,99,107,69,114,114,111,114,32,105,115, - 32,114,97,105,115,101,100,46,10,32,32,32,32,32,32,32, - 32,79,116,104,101,114,119,105,115,101,44,32,116,104,101,32, - 108,111,99,107,32,105,115,32,97,108,119,97,121,115,32,97, - 99,113,117,105,114,101,100,32,97,110,100,32,84,114,117,101, - 32,105,115,32,114,101,116,117,114,110,101,100,46,10,32,32, - 32,32,32,32,32,32,105,0,0,0,0,105,1,0,0,0, - 117,23,0,0,0,100,101,97,100,108,111,99,107,32,100,101, - 116,101,99,116,101,100,32,98,121,32,37,114,78,84,70,40, - 14,0,0,0,117,7,0,0,0,95,116,104,114,101,97,100, - 117,9,0,0,0,103,101,116,95,105,100,101,110,116,117,12, - 0,0,0,95,98,108,111,99,107,105,110,103,95,111,110,117, - 4,0,0,0,108,111,99,107,117,5,0,0,0,99,111,117, - 110,116,117,5,0,0,0,111,119,110,101,114,117,4,0,0, - 0,84,114,117,101,117,12,0,0,0,104,97,115,95,100,101, - 97,100,108,111,99,107,117,14,0,0,0,95,68,101,97,100, - 108,111,99,107,69,114,114,111,114,117,6,0,0,0,119,97, - 107,101,117,112,117,7,0,0,0,97,99,113,117,105,114,101, - 117,5,0,0,0,70,97,108,115,101,117,7,0,0,0,119, - 97,105,116,101,114,115,117,7,0,0,0,114,101,108,101,97, - 115,101,40,2,0,0,0,117,4,0,0,0,115,101,108,102, - 117,3,0,0,0,116,105,100,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,7,0,0,0,97,99,113,117,105,114,101, - 201,0,0,0,115,32,0,0,0,0,6,12,1,10,1,3, - 1,3,1,10,1,30,1,9,1,15,1,4,1,12,1,19, - 1,18,1,24,2,13,1,20,2,117,19,0,0,0,95,77, - 111,100,117,108,101,76,111,99,107,46,97,99,113,117,105,114, - 101,99,1,0,0,0,0,0,0,0,2,0,0,0,10,0, - 0,0,67,0,0,0,115,165,0,0,0,116,0,0,106,1, - 0,131,0,0,125,1,0,124,0,0,106,2,0,143,138,0, - 1,124,0,0,106,3,0,124,1,0,107,3,0,114,52,0, - 116,4,0,100,1,0,131,1,0,130,1,0,110,0,0,124, - 0,0,106,5,0,100,2,0,107,4,0,115,73,0,116,6, - 0,130,1,0,124,0,0,4,106,5,0,100,3,0,56,2, - 95,5,0,124,0,0,106,5,0,100,2,0,107,2,0,114, - 155,0,100,0,0,124,0,0,95,3,0,124,0,0,106,8, - 0,114,155,0,124,0,0,4,106,8,0,100,3,0,56,2, - 95,8,0,124,0,0,106,9,0,106,10,0,131,0,0,1, - 113,155,0,110,0,0,87,100,0,0,81,88,100,0,0,83, - 40,4,0,0,0,78,117,31,0,0,0,99,97,110,110,111, - 116,32,114,101,108,101,97,115,101,32,117,110,45,97,99,113, - 117,105,114,101,100,32,108,111,99,107,105,0,0,0,0,105, - 1,0,0,0,40,11,0,0,0,117,7,0,0,0,95,116, - 104,114,101,97,100,117,9,0,0,0,103,101,116,95,105,100, - 101,110,116,117,4,0,0,0,108,111,99,107,117,5,0,0, - 0,111,119,110,101,114,117,12,0,0,0,82,117,110,116,105, - 109,101,69,114,114,111,114,117,5,0,0,0,99,111,117,110, - 116,117,14,0,0,0,65,115,115,101,114,116,105,111,110,69, - 114,114,111,114,117,4,0,0,0,78,111,110,101,117,7,0, - 0,0,119,97,105,116,101,114,115,117,6,0,0,0,119,97, - 107,101,117,112,117,7,0,0,0,114,101,108,101,97,115,101, - 40,2,0,0,0,117,4,0,0,0,115,101,108,102,117,3, - 0,0,0,116,105,100,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,7,0,0,0,114,101,108,101,97,115,101,226,0, - 0,0,115,22,0,0,0,0,1,12,1,10,1,15,1,15, - 1,21,1,15,1,15,1,9,1,9,1,15,1,117,19,0, - 0,0,95,77,111,100,117,108,101,76,111,99,107,46,114,101, - 108,101,97,115,101,99,1,0,0,0,0,0,0,0,1,0, - 0,0,4,0,0,0,67,0,0,0,115,23,0,0,0,100, - 1,0,124,0,0,106,0,0,116,1,0,124,0,0,131,1, - 0,102,2,0,22,83,40,2,0,0,0,78,117,21,0,0, - 0,95,77,111,100,117,108,101,76,111,99,107,40,37,114,41, - 32,97,116,32,37,100,40,2,0,0,0,117,4,0,0,0, - 110,97,109,101,117,2,0,0,0,105,100,40,1,0,0,0, - 117,4,0,0,0,115,101,108,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,8,0,0,0,95,95,114,101,112,114, - 95,95,239,0,0,0,115,2,0,0,0,0,1,117,20,0, - 0,0,95,77,111,100,117,108,101,76,111,99,107,46,95,95, - 114,101,112,114,95,95,78,40,9,0,0,0,117,8,0,0, - 0,95,95,110,97,109,101,95,95,117,10,0,0,0,95,95, - 109,111,100,117,108,101,95,95,117,12,0,0,0,95,95,113, - 117,97,108,110,97,109,101,95,95,117,7,0,0,0,95,95, - 100,111,99,95,95,117,8,0,0,0,95,95,105,110,105,116, - 95,95,117,12,0,0,0,104,97,115,95,100,101,97,100,108, - 111,99,107,117,7,0,0,0,97,99,113,117,105,114,101,117, - 7,0,0,0,114,101,108,101,97,115,101,117,8,0,0,0, - 95,95,114,101,112,114,95,95,40,1,0,0,0,117,10,0, - 0,0,95,95,108,111,99,97,108,115,95,95,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,77,111, - 100,117,108,101,76,111,99,107,175,0,0,0,115,12,0,0, - 0,16,4,6,2,12,8,12,12,12,25,12,13,117,11,0, - 0,0,95,77,111,100,117,108,101,76,111,99,107,99,1,0, - 0,0,0,0,0,0,1,0,0,0,2,0,0,0,66,0, - 0,0,115,74,0,0,0,124,0,0,69,101,0,0,90,1, - 0,100,0,0,90,2,0,100,1,0,90,3,0,100,2,0, - 100,3,0,132,0,0,90,4,0,100,4,0,100,5,0,132, - 0,0,90,5,0,100,6,0,100,7,0,132,0,0,90,6, - 0,100,8,0,100,9,0,132,0,0,90,7,0,100,10,0, - 83,40,11,0,0,0,117,16,0,0,0,95,68,117,109,109, - 121,77,111,100,117,108,101,76,111,99,107,117,86,0,0,0, - 65,32,115,105,109,112,108,101,32,95,77,111,100,117,108,101, - 76,111,99,107,32,101,113,117,105,118,97,108,101,110,116,32, - 102,111,114,32,80,121,116,104,111,110,32,98,117,105,108,100, - 115,32,119,105,116,104,111,117,116,10,32,32,32,32,109,117, - 108,116,105,45,116,104,114,101,97,100,105,110,103,32,115,117, - 112,112,111,114,116,46,99,2,0,0,0,0,0,0,0,2, - 0,0,0,2,0,0,0,67,0,0,0,115,22,0,0,0, - 124,1,0,124,0,0,95,0,0,100,1,0,124,0,0,95, - 1,0,100,0,0,83,40,2,0,0,0,78,105,0,0,0, - 0,40,2,0,0,0,117,4,0,0,0,110,97,109,101,117, - 5,0,0,0,99,111,117,110,116,40,2,0,0,0,117,4, - 0,0,0,115,101,108,102,117,4,0,0,0,110,97,109,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,8,0,0, - 0,95,95,105,110,105,116,95,95,247,0,0,0,115,4,0, - 0,0,0,1,9,1,117,25,0,0,0,95,68,117,109,109, - 121,77,111,100,117,108,101,76,111,99,107,46,95,95,105,110, - 105,116,95,95,99,1,0,0,0,0,0,0,0,1,0,0, - 0,3,0,0,0,67,0,0,0,115,19,0,0,0,124,0, - 0,4,106,0,0,100,1,0,55,2,95,0,0,100,2,0, - 83,40,3,0,0,0,78,105,1,0,0,0,84,40,2,0, - 0,0,117,5,0,0,0,99,111,117,110,116,117,4,0,0, - 0,84,114,117,101,40,1,0,0,0,117,4,0,0,0,115, - 101,108,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, - 7,0,0,0,97,99,113,117,105,114,101,251,0,0,0,115, - 4,0,0,0,0,1,15,1,117,24,0,0,0,95,68,117, - 109,109,121,77,111,100,117,108,101,76,111,99,107,46,97,99, - 113,117,105,114,101,99,1,0,0,0,0,0,0,0,1,0, - 0,0,3,0,0,0,67,0,0,0,115,49,0,0,0,124, - 0,0,106,0,0,100,1,0,107,2,0,114,30,0,116,1, - 0,100,2,0,131,1,0,130,1,0,110,0,0,124,0,0, - 4,106,0,0,100,3,0,56,2,95,0,0,100,0,0,83, - 40,4,0,0,0,78,105,0,0,0,0,117,31,0,0,0, - 99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,117, - 110,45,97,99,113,117,105,114,101,100,32,108,111,99,107,105, - 1,0,0,0,40,2,0,0,0,117,5,0,0,0,99,111, - 117,110,116,117,12,0,0,0,82,117,110,116,105,109,101,69, - 114,114,111,114,40,1,0,0,0,117,4,0,0,0,115,101, - 108,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,7, - 0,0,0,114,101,108,101,97,115,101,255,0,0,0,115,6, - 0,0,0,0,1,15,1,15,1,117,24,0,0,0,95,68, - 117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,114, - 101,108,101,97,115,101,99,1,0,0,0,0,0,0,0,1, - 0,0,0,4,0,0,0,67,0,0,0,115,23,0,0,0, - 100,1,0,124,0,0,106,0,0,116,1,0,124,0,0,131, - 1,0,102,2,0,22,83,40,2,0,0,0,78,117,26,0, - 0,0,95,68,117,109,109,121,77,111,100,117,108,101,76,111, - 99,107,40,37,114,41,32,97,116,32,37,100,40,2,0,0, - 0,117,4,0,0,0,110,97,109,101,117,2,0,0,0,105, - 100,40,1,0,0,0,117,4,0,0,0,115,101,108,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,8,0,0,0, - 95,95,114,101,112,114,95,95,4,1,0,0,115,2,0,0, - 0,0,1,117,25,0,0,0,95,68,117,109,109,121,77,111, - 100,117,108,101,76,111,99,107,46,95,95,114,101,112,114,95, - 95,78,40,8,0,0,0,117,8,0,0,0,95,95,110,97, - 109,101,95,95,117,10,0,0,0,95,95,109,111,100,117,108, - 101,95,95,117,12,0,0,0,95,95,113,117,97,108,110,97, - 109,101,95,95,117,7,0,0,0,95,95,100,111,99,95,95, - 117,8,0,0,0,95,95,105,110,105,116,95,95,117,7,0, - 0,0,97,99,113,117,105,114,101,117,7,0,0,0,114,101, - 108,101,97,115,101,117,8,0,0,0,95,95,114,101,112,114, - 95,95,40,1,0,0,0,117,10,0,0,0,95,95,108,111, - 99,97,108,115,95,95,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,68,117,109,109,121,77,111,100, - 117,108,101,76,111,99,107,243,0,0,0,115,10,0,0,0, - 16,2,6,2,12,4,12,4,12,5,117,16,0,0,0,95, - 68,117,109,109,121,77,111,100,117,108,101,76,111,99,107,99, - 1,0,0,0,0,0,0,0,3,0,0,0,11,0,0,0, - 3,0,0,0,115,142,0,0,0,100,3,0,125,1,0,121, - 17,0,116,1,0,136,0,0,25,131,0,0,125,1,0,87, - 110,18,0,4,116,2,0,107,10,0,114,43,0,1,1,1, - 89,110,1,0,88,124,1,0,100,3,0,107,8,0,114,138, - 0,116,3,0,100,3,0,107,8,0,114,83,0,116,4,0, - 136,0,0,131,1,0,125,1,0,110,12,0,116,5,0,136, - 0,0,131,1,0,125,1,0,135,0,0,102,1,0,100,1, - 0,100,2,0,134,0,0,125,2,0,116,6,0,106,7,0, - 124,1,0,124,2,0,131,2,0,116,1,0,136,0,0,60, - 110,0,0,124,1,0,83,40,4,0,0,0,117,109,0,0, - 0,71,101,116,32,111,114,32,99,114,101,97,116,101,32,116, - 104,101,32,109,111,100,117,108,101,32,108,111,99,107,32,102, - 111,114,32,97,32,103,105,118,101,110,32,109,111,100,117,108, - 101,32,110,97,109,101,46,10,10,32,32,32,32,83,104,111, - 117,108,100,32,111,110,108,121,32,98,101,32,99,97,108,108, - 101,100,32,119,105,116,104,32,116,104,101,32,105,109,112,111, - 114,116,32,108,111,99,107,32,116,97,107,101,110,46,99,1, - 0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,19, - 0,0,0,115,11,0,0,0,116,0,0,136,0,0,61,100, - 0,0,83,40,1,0,0,0,78,40,1,0,0,0,117,13, - 0,0,0,95,109,111,100,117,108,101,95,108,111,99,107,115, - 40,1,0,0,0,117,1,0,0,0,95,40,1,0,0,0, - 117,4,0,0,0,110,97,109,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,2,0,0,0,99,98,24,1,0,0,115,2,0,0,0, - 0,1,117,28,0,0,0,95,103,101,116,95,109,111,100,117, - 108,101,95,108,111,99,107,46,60,108,111,99,97,108,115,62, - 46,99,98,78,40,8,0,0,0,117,4,0,0,0,78,111, - 110,101,117,13,0,0,0,95,109,111,100,117,108,101,95,108, - 111,99,107,115,117,8,0,0,0,75,101,121,69,114,114,111, - 114,117,7,0,0,0,95,116,104,114,101,97,100,117,16,0, + 114,32,111,115,46,112,97,116,104,46,105,115,102,105,108,101, + 46,105,0,128,0,0,40,1,0,0,0,114,43,0,0,0, + 40,1,0,0,0,114,35,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,244,12,0,0,0,95,112, + 97,116,104,95,105,115,102,105,108,101,92,0,0,0,115,2, + 0,0,0,0,2,114,44,0,0,0,99,1,0,0,0,0, + 0,0,0,1,0,0,0,3,0,0,0,67,0,0,0,115, + 34,0,0,0,124,0,0,115,21,0,116,0,0,106,1,0, + 131,0,0,125,0,0,110,0,0,116,2,0,124,0,0,100, + 1,0,131,2,0,83,40,2,0,0,0,117,30,0,0,0, + 82,101,112,108,97,99,101,109,101,110,116,32,102,111,114,32, + 111,115,46,112,97,116,104,46,105,115,100,105,114,46,105,0, + 64,0,0,40,3,0,0,0,114,3,0,0,0,116,6,0, + 0,0,103,101,116,99,119,100,114,43,0,0,0,40,1,0, + 0,0,114,35,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,11,0,0,0,95,112,97,116,104, + 95,105,115,100,105,114,98,0,0,0,115,6,0,0,0,0, + 2,6,1,15,1,114,45,0,0,0,105,182,1,0,0,99, + 3,0,0,0,0,0,0,0,6,0,0,0,17,0,0,0, + 67,0,0,0,115,192,0,0,0,100,1,0,106,0,0,124, + 0,0,116,1,0,124,0,0,131,1,0,131,2,0,125,3, + 0,116,2,0,106,3,0,124,3,0,116,2,0,106,4,0, + 116,2,0,106,5,0,66,116,2,0,106,6,0,66,124,2, + 0,100,2,0,64,131,3,0,125,4,0,121,60,0,116,7, + 0,106,8,0,124,4,0,100,3,0,131,2,0,143,20,0, + 125,5,0,124,5,0,106,9,0,124,1,0,131,1,0,1, + 87,100,4,0,81,88,116,2,0,106,10,0,124,3,0,124, + 0,0,131,2,0,1,87,110,59,0,4,116,11,0,107,10, + 0,114,187,0,1,1,1,121,17,0,116,2,0,106,12,0, + 124,3,0,131,1,0,1,87,110,18,0,4,116,11,0,107, + 10,0,114,179,0,1,1,1,89,110,1,0,88,130,0,0, + 89,110,1,0,88,100,4,0,83,40,5,0,0,0,117,162, + 0,0,0,66,101,115,116,45,101,102,102,111,114,116,32,102, + 117,110,99,116,105,111,110,32,116,111,32,119,114,105,116,101, + 32,100,97,116,97,32,116,111,32,97,32,112,97,116,104,32, + 97,116,111,109,105,99,97,108,108,121,46,10,32,32,32,32, + 66,101,32,112,114,101,112,97,114,101,100,32,116,111,32,104, + 97,110,100,108,101,32,97,32,70,105,108,101,69,120,105,115, + 116,115,69,114,114,111,114,32,105,102,32,99,111,110,99,117, + 114,114,101,110,116,32,119,114,105,116,105,110,103,32,111,102, + 32,116,104,101,10,32,32,32,32,116,101,109,112,111,114,97, + 114,121,32,102,105,108,101,32,105,115,32,97,116,116,101,109, + 112,116,101,100,46,117,5,0,0,0,123,125,46,123,125,105, + 182,1,0,0,116,2,0,0,0,119,98,78,40,13,0,0, + 0,244,6,0,0,0,102,111,114,109,97,116,244,2,0,0, + 0,105,100,114,3,0,0,0,116,4,0,0,0,111,112,101, + 110,116,6,0,0,0,79,95,69,88,67,76,116,7,0,0, + 0,79,95,67,82,69,65,84,116,8,0,0,0,79,95,87, + 82,79,78,76,89,244,3,0,0,0,95,105,111,244,6,0, + 0,0,70,105,108,101,73,79,244,5,0,0,0,119,114,105, + 116,101,244,7,0,0,0,114,101,112,108,97,99,101,114,40, + 0,0,0,116,6,0,0,0,117,110,108,105,110,107,40,6, + 0,0,0,114,35,0,0,0,244,4,0,0,0,100,97,116, + 97,114,42,0,0,0,116,8,0,0,0,112,97,116,104,95, + 116,109,112,116,2,0,0,0,102,100,244,4,0,0,0,102, + 105,108,101,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,13,0,0,0,95,119,114,105,116,101,95,97,116, + 111,109,105,99,105,0,0,0,115,26,0,0,0,0,5,24, + 1,9,1,33,1,3,3,21,1,19,1,20,1,13,1,3, + 1,17,1,13,1,5,1,114,54,0,0,0,99,2,0,0, + 0,0,0,0,0,3,0,0,0,7,0,0,0,67,0,0, + 0,115,95,0,0,0,120,69,0,100,1,0,100,2,0,100, + 3,0,100,4,0,103,4,0,68,93,49,0,125,2,0,116, + 0,0,124,1,0,124,2,0,131,2,0,114,19,0,116,1, + 0,124,0,0,124,2,0,116,2,0,124,1,0,124,2,0, + 131,2,0,131,3,0,1,113,19,0,113,19,0,87,124,0, + 0,106,3,0,106,4,0,124,1,0,106,3,0,131,1,0, + 1,100,5,0,83,40,6,0,0,0,117,47,0,0,0,83, + 105,109,112,108,101,32,115,117,98,115,116,105,116,117,116,101, + 32,102,111,114,32,102,117,110,99,116,111,111,108,115,46,117, + 112,100,97,116,101,95,119,114,97,112,112,101,114,46,244,10, + 0,0,0,95,95,109,111,100,117,108,101,95,95,244,8,0, + 0,0,95,95,110,97,109,101,95,95,244,12,0,0,0,95, + 95,113,117,97,108,110,97,109,101,95,95,244,7,0,0,0, + 95,95,100,111,99,95,95,78,40,5,0,0,0,244,7,0, + 0,0,104,97,115,97,116,116,114,244,7,0,0,0,115,101, + 116,97,116,116,114,244,7,0,0,0,103,101,116,97,116,116, + 114,244,8,0,0,0,95,95,100,105,99,116,95,95,244,6, + 0,0,0,117,112,100,97,116,101,40,3,0,0,0,116,3, + 0,0,0,110,101,119,116,3,0,0,0,111,108,100,114,51, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,5,0,0,0,95,119,114,97,112,127,0,0,0, + 115,8,0,0,0,0,2,25,1,15,1,32,1,114,64,0, + 0,0,99,1,0,0,0,0,0,0,0,1,0,0,0,2, + 0,0,0,67,0,0,0,115,16,0,0,0,116,0,0,116, + 1,0,131,1,0,124,0,0,131,1,0,83,40,1,0,0, + 0,117,75,0,0,0,67,114,101,97,116,101,32,97,32,110, + 101,119,32,109,111,100,117,108,101,46,10,10,32,32,32,32, + 84,104,101,32,109,111,100,117,108,101,32,105,115,32,110,111, + 116,32,101,110,116,101,114,101,100,32,105,110,116,111,32,115, + 121,115,46,109,111,100,117,108,101,115,46,10,10,32,32,32, + 32,40,2,0,0,0,244,4,0,0,0,116,121,112,101,114, + 48,0,0,0,40,1,0,0,0,244,4,0,0,0,110,97, + 109,101,114,4,0,0,0,114,4,0,0,0,114,5,0,0, + 0,244,10,0,0,0,110,101,119,95,109,111,100,117,108,101, + 138,0,0,0,115,2,0,0,0,0,6,114,67,0,0,0, + 99,1,0,0,0,0,0,0,0,1,0,0,0,1,0,0, + 0,66,0,0,0,115,20,0,0,0,124,0,0,69,101,0, + 0,90,1,0,100,0,0,90,2,0,100,1,0,83,40,2, + 0,0,0,244,14,0,0,0,95,68,101,97,100,108,111,99, + 107,69,114,114,111,114,78,40,3,0,0,0,114,56,0,0, + 0,114,55,0,0,0,114,57,0,0,0,40,1,0,0,0, + 244,10,0,0,0,95,95,108,111,99,97,108,115,95,95,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,68, + 0,0,0,155,0,0,0,115,2,0,0,0,16,1,114,68, + 0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,0, + 2,0,0,0,66,0,0,0,115,86,0,0,0,124,0,0, + 69,101,0,0,90,1,0,100,0,0,90,2,0,100,1,0, + 90,3,0,100,2,0,100,3,0,132,0,0,90,4,0,100, + 4,0,100,5,0,132,0,0,90,5,0,100,6,0,100,7, + 0,132,0,0,90,6,0,100,8,0,100,9,0,132,0,0, + 90,7,0,100,10,0,100,11,0,132,0,0,90,8,0,100, + 12,0,83,40,13,0,0,0,244,11,0,0,0,95,77,111, + 100,117,108,101,76,111,99,107,117,169,0,0,0,65,32,114, + 101,99,117,114,115,105,118,101,32,108,111,99,107,32,105,109, + 112,108,101,109,101,110,116,97,116,105,111,110,32,119,104,105, + 99,104,32,105,115,32,97,98,108,101,32,116,111,32,100,101, + 116,101,99,116,32,100,101,97,100,108,111,99,107,115,10,32, + 32,32,32,40,101,46,103,46,32,116,104,114,101,97,100,32, + 49,32,116,114,121,105,110,103,32,116,111,32,116,97,107,101, + 32,108,111,99,107,115,32,65,32,116,104,101,110,32,66,44, + 32,97,110,100,32,116,104,114,101,97,100,32,50,32,116,114, + 121,105,110,103,32,116,111,10,32,32,32,32,116,97,107,101, + 32,108,111,99,107,115,32,66,32,116,104,101,110,32,65,41, + 46,10,32,32,32,32,99,2,0,0,0,0,0,0,0,2, + 0,0,0,2,0,0,0,67,0,0,0,115,70,0,0,0, + 116,0,0,106,1,0,131,0,0,124,0,0,95,2,0,116, + 0,0,106,1,0,131,0,0,124,0,0,95,3,0,124,1, + 0,124,0,0,95,4,0,100,0,0,124,0,0,95,5,0, + 100,1,0,124,0,0,95,6,0,100,1,0,124,0,0,95, + 7,0,100,0,0,83,40,2,0,0,0,78,233,0,0,0, + 0,40,8,0,0,0,244,7,0,0,0,95,116,104,114,101, + 97,100,116,13,0,0,0,97,108,108,111,99,97,116,101,95, + 108,111,99,107,244,4,0,0,0,108,111,99,107,244,6,0, + 0,0,119,97,107,101,117,112,114,66,0,0,0,244,5,0, + 0,0,111,119,110,101,114,244,5,0,0,0,99,111,117,110, + 116,244,7,0,0,0,119,97,105,116,101,114,115,40,2,0, + 0,0,244,4,0,0,0,115,101,108,102,114,66,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,244, + 8,0,0,0,95,95,105,110,105,116,95,95,165,0,0,0, + 115,12,0,0,0,0,1,15,1,15,1,9,1,9,1,9, + 1,117,20,0,0,0,95,77,111,100,117,108,101,76,111,99, + 107,46,95,95,105,110,105,116,95,95,99,1,0,0,0,0, + 0,0,0,4,0,0,0,2,0,0,0,67,0,0,0,115, + 87,0,0,0,116,0,0,106,1,0,131,0,0,125,1,0, + 124,0,0,106,2,0,125,2,0,120,59,0,116,3,0,106, + 4,0,124,2,0,131,1,0,125,3,0,124,3,0,100,0, + 0,107,8,0,114,55,0,100,1,0,83,124,3,0,106,2, + 0,125,2,0,124,2,0,124,1,0,107,2,0,114,24,0, + 100,2,0,83,113,24,0,100,0,0,83,40,3,0,0,0, + 78,70,84,40,5,0,0,0,114,72,0,0,0,244,9,0, + 0,0,103,101,116,95,105,100,101,110,116,114,75,0,0,0, + 244,12,0,0,0,95,98,108,111,99,107,105,110,103,95,111, + 110,244,3,0,0,0,103,101,116,40,4,0,0,0,114,78, + 0,0,0,244,2,0,0,0,109,101,244,3,0,0,0,116, + 105,100,114,73,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,12,0,0,0,104,97,115,95,100, + 101,97,100,108,111,99,107,173,0,0,0,115,18,0,0,0, + 0,2,12,1,9,1,3,1,15,1,12,1,4,1,9,1, + 12,1,117,24,0,0,0,95,77,111,100,117,108,101,76,111, + 99,107,46,104,97,115,95,100,101,97,100,108,111,99,107,99, + 1,0,0,0,0,0,0,0,2,0,0,0,17,0,0,0, + 67,0,0,0,115,214,0,0,0,116,0,0,106,1,0,131, + 0,0,125,1,0,124,0,0,116,2,0,124,1,0,60,122, + 177,0,120,170,0,124,0,0,106,3,0,143,130,0,1,124, + 0,0,106,4,0,100,1,0,107,2,0,115,68,0,124,0, + 0,106,5,0,124,1,0,107,2,0,114,96,0,124,1,0, + 124,0,0,95,5,0,124,0,0,4,106,4,0,100,2,0, + 55,2,95,4,0,100,3,0,83,124,0,0,106,6,0,131, + 0,0,114,127,0,116,7,0,100,4,0,124,0,0,22,131, + 1,0,130,1,0,110,0,0,124,0,0,106,8,0,106,9, + 0,100,5,0,131,1,0,114,163,0,124,0,0,4,106,10, + 0,100,2,0,55,2,95,10,0,110,0,0,87,100,6,0, + 81,88,124,0,0,106,8,0,106,9,0,131,0,0,1,124, + 0,0,106,8,0,106,11,0,131,0,0,1,113,28,0,87, + 100,6,0,116,2,0,124,1,0,61,88,100,6,0,83,40, + 7,0,0,0,117,185,0,0,0,10,32,32,32,32,32,32, + 32,32,65,99,113,117,105,114,101,32,116,104,101,32,109,111, + 100,117,108,101,32,108,111,99,107,46,32,32,73,102,32,97, + 32,112,111,116,101,110,116,105,97,108,32,100,101,97,100,108, + 111,99,107,32,105,115,32,100,101,116,101,99,116,101,100,44, + 10,32,32,32,32,32,32,32,32,97,32,95,68,101,97,100, + 108,111,99,107,69,114,114,111,114,32,105,115,32,114,97,105, + 115,101,100,46,10,32,32,32,32,32,32,32,32,79,116,104, + 101,114,119,105,115,101,44,32,116,104,101,32,108,111,99,107, + 32,105,115,32,97,108,119,97,121,115,32,97,99,113,117,105, + 114,101,100,32,97,110,100,32,84,114,117,101,32,105,115,32, + 114,101,116,117,114,110,101,100,46,10,32,32,32,32,32,32, + 32,32,114,71,0,0,0,114,29,0,0,0,84,117,23,0, + 0,0,100,101,97,100,108,111,99,107,32,100,101,116,101,99, + 116,101,100,32,98,121,32,37,114,70,78,40,12,0,0,0, + 114,72,0,0,0,114,80,0,0,0,114,81,0,0,0,114, + 73,0,0,0,114,76,0,0,0,114,75,0,0,0,114,85, + 0,0,0,114,68,0,0,0,114,74,0,0,0,244,7,0, + 0,0,97,99,113,117,105,114,101,114,77,0,0,0,244,7, + 0,0,0,114,101,108,101,97,115,101,40,2,0,0,0,114, + 78,0,0,0,114,84,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,114,86,0,0,0,185,0,0, + 0,115,32,0,0,0,0,6,12,1,10,1,3,1,3,1, + 10,1,30,1,9,1,15,1,4,1,12,1,19,1,18,1, + 24,2,13,1,20,2,117,19,0,0,0,95,77,111,100,117, + 108,101,76,111,99,107,46,97,99,113,117,105,114,101,99,1, + 0,0,0,0,0,0,0,2,0,0,0,10,0,0,0,67, + 0,0,0,115,165,0,0,0,116,0,0,106,1,0,131,0, + 0,125,1,0,124,0,0,106,2,0,143,138,0,1,124,0, + 0,106,3,0,124,1,0,107,3,0,114,52,0,116,4,0, + 100,1,0,131,1,0,130,1,0,110,0,0,124,0,0,106, + 5,0,100,2,0,107,4,0,115,73,0,116,6,0,130,1, + 0,124,0,0,4,106,5,0,100,3,0,56,2,95,5,0, + 124,0,0,106,5,0,100,2,0,107,2,0,114,155,0,100, + 0,0,124,0,0,95,3,0,124,0,0,106,7,0,114,155, + 0,124,0,0,4,106,7,0,100,3,0,56,2,95,7,0, + 124,0,0,106,8,0,106,9,0,131,0,0,1,113,155,0, + 110,0,0,87,100,0,0,81,88,100,0,0,83,40,4,0, + 0,0,78,117,31,0,0,0,99,97,110,110,111,116,32,114, + 101,108,101,97,115,101,32,117,110,45,97,99,113,117,105,114, + 101,100,32,108,111,99,107,114,71,0,0,0,114,29,0,0, + 0,40,10,0,0,0,114,72,0,0,0,114,80,0,0,0, + 114,73,0,0,0,114,75,0,0,0,244,12,0,0,0,82, + 117,110,116,105,109,101,69,114,114,111,114,114,76,0,0,0, + 244,14,0,0,0,65,115,115,101,114,116,105,111,110,69,114, + 114,111,114,114,77,0,0,0,114,74,0,0,0,114,87,0, + 0,0,40,2,0,0,0,114,78,0,0,0,114,84,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 114,87,0,0,0,210,0,0,0,115,22,0,0,0,0,1, + 12,1,10,1,15,1,15,1,21,1,15,1,15,1,9,1, + 9,1,15,1,117,19,0,0,0,95,77,111,100,117,108,101, + 76,111,99,107,46,114,101,108,101,97,115,101,99,1,0,0, + 0,0,0,0,0,1,0,0,0,4,0,0,0,67,0,0, + 0,115,25,0,0,0,100,1,0,106,0,0,124,0,0,106, + 1,0,116,2,0,124,0,0,131,1,0,131,2,0,83,40, + 2,0,0,0,78,117,23,0,0,0,95,77,111,100,117,108, + 101,76,111,99,107,40,123,33,114,125,41,32,97,116,32,123, + 125,40,3,0,0,0,114,46,0,0,0,114,66,0,0,0, + 114,47,0,0,0,40,1,0,0,0,114,78,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,8, + 0,0,0,95,95,114,101,112,114,95,95,223,0,0,0,115, + 2,0,0,0,0,1,117,20,0,0,0,95,77,111,100,117, + 108,101,76,111,99,107,46,95,95,114,101,112,114,95,95,78, + 40,9,0,0,0,114,56,0,0,0,114,55,0,0,0,114, + 57,0,0,0,114,58,0,0,0,114,79,0,0,0,114,85, + 0,0,0,114,86,0,0,0,114,87,0,0,0,114,90,0, + 0,0,40,1,0,0,0,114,69,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,114,70,0,0,0, + 159,0,0,0,115,12,0,0,0,16,4,6,2,12,8,12, + 12,12,25,12,13,114,70,0,0,0,99,1,0,0,0,0, + 0,0,0,1,0,0,0,2,0,0,0,66,0,0,0,115, + 74,0,0,0,124,0,0,69,101,0,0,90,1,0,100,0, + 0,90,2,0,100,1,0,90,3,0,100,2,0,100,3,0, + 132,0,0,90,4,0,100,4,0,100,5,0,132,0,0,90, + 5,0,100,6,0,100,7,0,132,0,0,90,6,0,100,8, + 0,100,9,0,132,0,0,90,7,0,100,10,0,83,40,11, + 0,0,0,244,16,0,0,0,95,68,117,109,109,121,77,111, + 100,117,108,101,76,111,99,107,117,86,0,0,0,65,32,115, + 105,109,112,108,101,32,95,77,111,100,117,108,101,76,111,99, + 107,32,101,113,117,105,118,97,108,101,110,116,32,102,111,114, + 32,80,121,116,104,111,110,32,98,117,105,108,100,115,32,119, + 105,116,104,111,117,116,10,32,32,32,32,109,117,108,116,105, + 45,116,104,114,101,97,100,105,110,103,32,115,117,112,112,111, + 114,116,46,99,2,0,0,0,0,0,0,0,2,0,0,0, + 2,0,0,0,67,0,0,0,115,22,0,0,0,124,1,0, + 124,0,0,95,0,0,100,1,0,124,0,0,95,1,0,100, + 0,0,83,40,2,0,0,0,78,114,71,0,0,0,40,2, + 0,0,0,114,66,0,0,0,114,76,0,0,0,40,2,0, + 0,0,114,78,0,0,0,114,66,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,114,79,0,0,0, + 231,0,0,0,115,4,0,0,0,0,1,9,1,117,25,0, 0,0,95,68,117,109,109,121,77,111,100,117,108,101,76,111, - 99,107,117,11,0,0,0,95,77,111,100,117,108,101,76,111, - 99,107,117,8,0,0,0,95,119,101,97,107,114,101,102,117, - 3,0,0,0,114,101,102,40,3,0,0,0,117,4,0,0, - 0,110,97,109,101,117,4,0,0,0,108,111,99,107,117,2, - 0,0,0,99,98,40,0,0,0,0,40,1,0,0,0,117, - 4,0,0,0,110,97,109,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,16,0,0,0,95, - 103,101,116,95,109,111,100,117,108,101,95,108,111,99,107,10, - 1,0,0,115,24,0,0,0,0,4,6,1,3,1,17,1, - 13,1,5,1,12,1,12,1,15,2,12,1,18,2,25,1, - 117,16,0,0,0,95,103,101,116,95,109,111,100,117,108,101, - 95,108,111,99,107,99,1,0,0,0,0,0,0,0,2,0, - 0,0,11,0,0,0,67,0,0,0,115,71,0,0,0,116, - 0,0,124,0,0,131,1,0,125,1,0,116,1,0,106,2, - 0,131,0,0,1,121,14,0,124,1,0,106,3,0,131,0, - 0,1,87,110,18,0,4,116,4,0,107,10,0,114,56,0, - 1,1,1,89,110,11,0,88,124,1,0,106,5,0,131,0, - 0,1,100,1,0,83,40,2,0,0,0,117,21,1,0,0, - 82,101,108,101,97,115,101,32,116,104,101,32,103,108,111,98, - 97,108,32,105,109,112,111,114,116,32,108,111,99,107,44,32, - 97,110,100,32,97,99,113,117,105,114,101,115,32,116,104,101, - 110,32,114,101,108,101,97,115,101,32,116,104,101,10,32,32, - 32,32,109,111,100,117,108,101,32,108,111,99,107,32,102,111, - 114,32,97,32,103,105,118,101,110,32,109,111,100,117,108,101, - 32,110,97,109,101,46,10,32,32,32,32,84,104,105,115,32, - 105,115,32,117,115,101,100,32,116,111,32,101,110,115,117,114, - 101,32,97,32,109,111,100,117,108,101,32,105,115,32,99,111, - 109,112,108,101,116,101,108,121,32,105,110,105,116,105,97,108, - 105,122,101,100,44,32,105,110,32,116,104,101,10,32,32,32, - 32,101,118,101,110,116,32,105,116,32,105,115,32,98,101,105, - 110,103,32,105,109,112,111,114,116,101,100,32,98,121,32,97, - 110,111,116,104,101,114,32,116,104,114,101,97,100,46,10,10, - 32,32,32,32,83,104,111,117,108,100,32,111,110,108,121,32, - 98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,116, - 104,101,32,105,109,112,111,114,116,32,108,111,99,107,32,116, - 97,107,101,110,46,78,40,6,0,0,0,117,16,0,0,0, - 95,103,101,116,95,109,111,100,117,108,101,95,108,111,99,107, - 117,4,0,0,0,95,105,109,112,117,12,0,0,0,114,101, - 108,101,97,115,101,95,108,111,99,107,117,7,0,0,0,97, - 99,113,117,105,114,101,117,14,0,0,0,95,68,101,97,100, - 108,111,99,107,69,114,114,111,114,117,7,0,0,0,114,101, - 108,101,97,115,101,40,2,0,0,0,117,4,0,0,0,110, - 97,109,101,117,4,0,0,0,108,111,99,107,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,19,0,0,0,95,108,111, - 99,107,95,117,110,108,111,99,107,95,109,111,100,117,108,101, - 29,1,0,0,115,14,0,0,0,0,7,12,1,10,1,3, - 1,14,1,13,3,5,2,117,19,0,0,0,95,108,111,99, - 107,95,117,110,108,111,99,107,95,109,111,100,117,108,101,99, - 1,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0, - 79,0,0,0,115,13,0,0,0,124,0,0,124,1,0,124, - 2,0,142,0,0,83,40,1,0,0,0,117,46,1,0,0, - 114,101,109,111,118,101,95,105,109,112,111,114,116,108,105,98, - 95,102,114,97,109,101,115,32,105,110,32,105,109,112,111,114, - 116,46,99,32,119,105,108,108,32,97,108,119,97,121,115,32, - 114,101,109,111,118,101,32,115,101,113,117,101,110,99,101,115, - 10,32,32,32,32,111,102,32,105,109,112,111,114,116,108,105, - 98,32,102,114,97,109,101,115,32,116,104,97,116,32,101,110, - 100,32,119,105,116,104,32,97,32,99,97,108,108,32,116,111, - 32,116,104,105,115,32,102,117,110,99,116,105,111,110,10,10, - 32,32,32,32,85,115,101,32,105,116,32,105,110,115,116,101, - 97,100,32,111,102,32,97,32,110,111,114,109,97,108,32,99, - 97,108,108,32,105,110,32,112,108,97,99,101,115,32,119,104, - 101,114,101,32,105,110,99,108,117,100,105,110,103,32,116,104, - 101,32,105,109,112,111,114,116,108,105,98,10,32,32,32,32, - 102,114,97,109,101,115,32,105,110,116,114,111,100,117,99,101, - 115,32,117,110,119,97,110,116,101,100,32,110,111,105,115,101, - 32,105,110,116,111,32,116,104,101,32,116,114,97,99,101,98, - 97,99,107,32,40,101,46,103,46,32,119,104,101,110,32,101, - 120,101,99,117,116,105,110,103,10,32,32,32,32,109,111,100, - 117,108,101,32,99,111,100,101,41,10,32,32,32,32,40,0, - 0,0,0,40,3,0,0,0,117,1,0,0,0,102,117,4, - 0,0,0,97,114,103,115,117,4,0,0,0,107,119,100,115, - 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,25,0,0, - 0,95,99,97,108,108,95,119,105,116,104,95,102,114,97,109, - 101,115,95,114,101,109,111,118,101,100,49,1,0,0,115,2, - 0,0,0,0,8,117,25,0,0,0,95,99,97,108,108,95, - 119,105,116,104,95,102,114,97,109,101,115,95,114,101,109,111, - 118,101,100,105,158,12,0,0,117,1,0,0,0,13,105,16, - 0,0,0,117,1,0,0,0,10,105,24,0,0,0,99,1, - 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,99, - 0,0,0,115,29,0,0,0,124,0,0,93,19,0,125,1, - 0,116,0,0,124,1,0,63,100,0,0,64,86,1,113,3, - 0,100,1,0,83,40,2,0,0,0,105,255,0,0,0,78, - 40,1,0,0,0,117,17,0,0,0,95,82,65,87,95,77, - 65,71,73,67,95,78,85,77,66,69,82,40,2,0,0,0, - 117,2,0,0,0,46,48,117,1,0,0,0,110,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,150,1,0,0,115,2,0,0,0, - 6,0,117,9,0,0,0,60,103,101,110,101,120,112,114,62, - 105,0,0,0,0,105,25,0,0,0,105,8,0,0,0,117, - 11,0,0,0,95,95,112,121,99,97,99,104,101,95,95,117, - 3,0,0,0,46,112,121,117,4,0,0,0,46,112,121,99, - 117,4,0,0,0,46,112,121,111,99,2,0,0,0,0,0, - 0,0,11,0,0,0,6,0,0,0,67,0,0,0,115,180, - 0,0,0,124,1,0,100,5,0,107,8,0,114,25,0,116, - 1,0,106,2,0,106,3,0,12,110,3,0,124,1,0,125, - 2,0,124,2,0,114,46,0,116,4,0,125,3,0,110,6, - 0,116,5,0,125,3,0,116,6,0,124,0,0,131,1,0, - 92,2,0,125,4,0,125,5,0,124,5,0,106,7,0,100, - 1,0,131,1,0,92,3,0,125,6,0,125,7,0,125,8, - 0,116,1,0,106,8,0,106,9,0,125,9,0,124,9,0, - 100,5,0,107,8,0,114,133,0,116,10,0,100,2,0,131, - 1,0,130,1,0,110,0,0,100,3,0,106,11,0,124,6, - 0,124,7,0,124,9,0,124,3,0,100,4,0,25,103,4, - 0,131,1,0,125,10,0,116,12,0,124,4,0,116,13,0, - 124,10,0,131,3,0,83,40,6,0,0,0,117,244,1,0, - 0,71,105,118,101,110,32,116,104,101,32,112,97,116,104,32, - 116,111,32,97,32,46,112,121,32,102,105,108,101,44,32,114, - 101,116,117,114,110,32,116,104,101,32,112,97,116,104,32,116, - 111,32,105,116,115,32,46,112,121,99,47,46,112,121,111,32, - 102,105,108,101,46,10,10,32,32,32,32,84,104,101,32,46, - 112,121,32,102,105,108,101,32,100,111,101,115,32,110,111,116, - 32,110,101,101,100,32,116,111,32,101,120,105,115,116,59,32, - 116,104,105,115,32,115,105,109,112,108,121,32,114,101,116,117, - 114,110,115,32,116,104,101,32,112,97,116,104,32,116,111,32, - 116,104,101,10,32,32,32,32,46,112,121,99,47,46,112,121, - 111,32,102,105,108,101,32,99,97,108,99,117,108,97,116,101, - 100,32,97,115,32,105,102,32,116,104,101,32,46,112,121,32, - 102,105,108,101,32,119,101,114,101,32,105,109,112,111,114,116, - 101,100,46,32,32,84,104,101,32,101,120,116,101,110,115,105, - 111,110,10,32,32,32,32,119,105,108,108,32,98,101,32,46, - 112,121,99,32,117,110,108,101,115,115,32,115,121,115,46,102, - 108,97,103,115,46,111,112,116,105,109,105,122,101,32,105,115, - 32,110,111,110,45,122,101,114,111,44,32,116,104,101,110,32, - 105,116,32,119,105,108,108,32,98,101,32,46,112,121,111,46, - 10,10,32,32,32,32,73,102,32,100,101,98,117,103,95,111, - 118,101,114,114,105,100,101,32,105,115,32,110,111,116,32,78, - 111,110,101,44,32,116,104,101,110,32,105,116,32,109,117,115, - 116,32,98,101,32,97,32,98,111,111,108,101,97,110,32,97, - 110,100,32,105,115,32,117,115,101,100,32,105,110,10,32,32, - 32,32,112,108,97,99,101,32,111,102,32,115,121,115,46,102, - 108,97,103,115,46,111,112,116,105,109,105,122,101,46,10,10, - 32,32,32,32,73,102,32,115,121,115,46,105,109,112,108,101, - 109,101,110,116,97,116,105,111,110,46,99,97,99,104,101,95, - 116,97,103,32,105,115,32,78,111,110,101,32,116,104,101,110, - 32,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69, - 114,114,111,114,32,105,115,32,114,97,105,115,101,100,46,10, - 10,32,32,32,32,117,1,0,0,0,46,117,36,0,0,0, - 115,121,115,46,105,109,112,108,101,109,101,110,116,97,116,105, - 111,110,46,99,97,99,104,101,95,116,97,103,32,105,115,32, - 78,111,110,101,117,0,0,0,0,105,0,0,0,0,78,40, - 14,0,0,0,117,4,0,0,0,78,111,110,101,117,3,0, - 0,0,115,121,115,117,5,0,0,0,102,108,97,103,115,117, - 8,0,0,0,111,112,116,105,109,105,122,101,117,23,0,0, - 0,68,69,66,85,71,95,66,89,84,69,67,79,68,69,95, - 83,85,70,70,73,88,69,83,117,27,0,0,0,79,80,84, - 73,77,73,90,69,68,95,66,89,84,69,67,79,68,69,95, - 83,85,70,70,73,88,69,83,117,11,0,0,0,95,112,97, - 116,104,95,115,112,108,105,116,117,9,0,0,0,112,97,114, - 116,105,116,105,111,110,117,14,0,0,0,105,109,112,108,101, - 109,101,110,116,97,116,105,111,110,117,9,0,0,0,99,97, - 99,104,101,95,116,97,103,117,19,0,0,0,78,111,116,73, - 109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,117, - 4,0,0,0,106,111,105,110,117,10,0,0,0,95,112,97, - 116,104,95,106,111,105,110,117,8,0,0,0,95,80,89,67, - 65,67,72,69,40,11,0,0,0,117,4,0,0,0,112,97, - 116,104,117,14,0,0,0,100,101,98,117,103,95,111,118,101, - 114,114,105,100,101,117,5,0,0,0,100,101,98,117,103,117, - 8,0,0,0,115,117,102,102,105,120,101,115,117,4,0,0, - 0,104,101,97,100,117,4,0,0,0,116,97,105,108,117,13, - 0,0,0,98,97,115,101,95,102,105,108,101,110,97,109,101, - 117,3,0,0,0,115,101,112,117,1,0,0,0,95,117,3, - 0,0,0,116,97,103,117,8,0,0,0,102,105,108,101,110, - 97,109,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,99,97,99,104,101,95,102,114,111,109,95,115, - 111,117,114,99,101,159,1,0,0,115,22,0,0,0,0,13, - 31,1,6,1,9,2,6,1,18,1,24,1,12,1,12,1, - 15,1,31,1,117,17,0,0,0,99,97,99,104,101,95,102, - 114,111,109,95,115,111,117,114,99,101,99,1,0,0,0,0, - 0,0,0,5,0,0,0,5,0,0,0,67,0,0,0,115, - 193,0,0,0,116,0,0,106,1,0,106,2,0,100,7,0, - 107,8,0,114,33,0,116,4,0,100,1,0,131,1,0,130, - 1,0,110,0,0,116,5,0,124,0,0,131,1,0,92,2, - 0,125,1,0,125,2,0,116,5,0,124,1,0,131,1,0, - 92,2,0,125,1,0,125,3,0,124,3,0,116,6,0,107, - 3,0,114,108,0,116,7,0,100,2,0,106,8,0,116,6, - 0,124,0,0,131,2,0,131,1,0,130,1,0,110,0,0, - 124,2,0,106,9,0,100,3,0,131,1,0,100,4,0,107, - 3,0,114,153,0,116,7,0,100,5,0,106,8,0,124,2, - 0,131,1,0,131,1,0,130,1,0,110,0,0,124,2,0, - 106,10,0,100,3,0,131,1,0,100,6,0,25,125,4,0, - 116,11,0,124,1,0,124,4,0,116,12,0,100,6,0,25, - 23,131,2,0,83,40,8,0,0,0,117,121,1,0,0,71, - 105,118,101,110,32,116,104,101,32,112,97,116,104,32,116,111, - 32,97,32,46,112,121,99,46,47,46,112,121,111,32,102,105, - 108,101,44,32,114,101,116,117,114,110,32,116,104,101,32,112, - 97,116,104,32,116,111,32,105,116,115,32,46,112,121,32,102, - 105,108,101,46,10,10,32,32,32,32,84,104,101,32,46,112, - 121,99,47,46,112,121,111,32,102,105,108,101,32,100,111,101, - 115,32,110,111,116,32,110,101,101,100,32,116,111,32,101,120, - 105,115,116,59,32,116,104,105,115,32,115,105,109,112,108,121, - 32,114,101,116,117,114,110,115,32,116,104,101,32,112,97,116, - 104,32,116,111,10,32,32,32,32,116,104,101,32,46,112,121, - 32,102,105,108,101,32,99,97,108,99,117,108,97,116,101,100, - 32,116,111,32,99,111,114,114,101,115,112,111,110,100,32,116, - 111,32,116,104,101,32,46,112,121,99,47,46,112,121,111,32, - 102,105,108,101,46,32,32,73,102,32,112,97,116,104,32,100, - 111,101,115,10,32,32,32,32,110,111,116,32,99,111,110,102, - 111,114,109,32,116,111,32,80,69,80,32,51,49,52,55,32, - 102,111,114,109,97,116,44,32,86,97,108,117,101,69,114,114, - 111,114,32,119,105,108,108,32,98,101,32,114,97,105,115,101, - 100,46,32,73,102,10,32,32,32,32,115,121,115,46,105,109, - 112,108,101,109,101,110,116,97,116,105,111,110,46,99,97,99, - 104,101,95,116,97,103,32,105,115,32,78,111,110,101,32,116, - 104,101,110,32,78,111,116,73,109,112,108,101,109,101,110,116, - 101,100,69,114,114,111,114,32,105,115,32,114,97,105,115,101, - 100,46,10,10,32,32,32,32,117,36,0,0,0,115,121,115, - 46,105,109,112,108,101,109,101,110,116,97,116,105,111,110,46, - 99,97,99,104,101,95,116,97,103,32,105,115,32,78,111,110, - 101,117,37,0,0,0,123,125,32,110,111,116,32,98,111,116, - 116,111,109,45,108,101,118,101,108,32,100,105,114,101,99,116, - 111,114,121,32,105,110,32,123,33,114,125,117,1,0,0,0, - 46,105,2,0,0,0,117,28,0,0,0,101,120,112,101,99, - 116,101,100,32,111,110,108,121,32,50,32,100,111,116,115,32, - 105,110,32,123,33,114,125,105,0,0,0,0,78,40,13,0, - 0,0,117,3,0,0,0,115,121,115,117,14,0,0,0,105, - 109,112,108,101,109,101,110,116,97,116,105,111,110,117,9,0, - 0,0,99,97,99,104,101,95,116,97,103,117,4,0,0,0, - 78,111,110,101,117,19,0,0,0,78,111,116,73,109,112,108, - 101,109,101,110,116,101,100,69,114,114,111,114,117,11,0,0, - 0,95,112,97,116,104,95,115,112,108,105,116,117,8,0,0, - 0,95,80,89,67,65,67,72,69,117,10,0,0,0,86,97, - 108,117,101,69,114,114,111,114,117,6,0,0,0,102,111,114, - 109,97,116,117,5,0,0,0,99,111,117,110,116,117,9,0, - 0,0,112,97,114,116,105,116,105,111,110,117,10,0,0,0, - 95,112,97,116,104,95,106,111,105,110,117,15,0,0,0,83, + 99,107,46,95,95,105,110,105,116,95,95,99,1,0,0,0, + 0,0,0,0,1,0,0,0,3,0,0,0,67,0,0,0, + 115,19,0,0,0,124,0,0,4,106,0,0,100,1,0,55, + 2,95,0,0,100,2,0,83,40,3,0,0,0,78,114,29, + 0,0,0,84,40,1,0,0,0,114,76,0,0,0,40,1, + 0,0,0,114,78,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,114,86,0,0,0,235,0,0,0, + 115,4,0,0,0,0,1,15,1,117,24,0,0,0,95,68, + 117,109,109,121,77,111,100,117,108,101,76,111,99,107,46,97, + 99,113,117,105,114,101,99,1,0,0,0,0,0,0,0,1, + 0,0,0,3,0,0,0,67,0,0,0,115,49,0,0,0, + 124,0,0,106,0,0,100,1,0,107,2,0,114,30,0,116, + 1,0,100,2,0,131,1,0,130,1,0,110,0,0,124,0, + 0,4,106,0,0,100,3,0,56,2,95,0,0,100,0,0, + 83,40,4,0,0,0,78,114,71,0,0,0,117,31,0,0, + 0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32, + 117,110,45,97,99,113,117,105,114,101,100,32,108,111,99,107, + 114,29,0,0,0,40,2,0,0,0,114,76,0,0,0,114, + 88,0,0,0,40,1,0,0,0,114,78,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,114,87,0, + 0,0,239,0,0,0,115,6,0,0,0,0,1,15,1,15, + 1,117,24,0,0,0,95,68,117,109,109,121,77,111,100,117, + 108,101,76,111,99,107,46,114,101,108,101,97,115,101,99,1, + 0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,67, + 0,0,0,115,25,0,0,0,100,1,0,106,0,0,124,0, + 0,106,1,0,116,2,0,124,0,0,131,1,0,131,2,0, + 83,40,2,0,0,0,78,117,28,0,0,0,95,68,117,109, + 109,121,77,111,100,117,108,101,76,111,99,107,40,123,33,114, + 125,41,32,97,116,32,123,125,40,3,0,0,0,114,46,0, + 0,0,114,66,0,0,0,114,47,0,0,0,40,1,0,0, + 0,114,78,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,114,90,0,0,0,244,0,0,0,115,2, + 0,0,0,0,1,117,25,0,0,0,95,68,117,109,109,121, + 77,111,100,117,108,101,76,111,99,107,46,95,95,114,101,112, + 114,95,95,78,40,8,0,0,0,114,56,0,0,0,114,55, + 0,0,0,114,57,0,0,0,114,58,0,0,0,114,79,0, + 0,0,114,86,0,0,0,114,87,0,0,0,114,90,0,0, + 0,40,1,0,0,0,114,69,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,91,0,0,0,227, + 0,0,0,115,10,0,0,0,16,2,6,2,12,4,12,4, + 12,5,114,91,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,142,0,0, + 0,100,1,0,125,1,0,121,17,0,116,0,0,136,0,0, + 25,131,0,0,125,1,0,87,110,18,0,4,116,1,0,107, + 10,0,114,43,0,1,1,1,89,110,1,0,88,124,1,0, + 100,1,0,107,8,0,114,138,0,116,2,0,100,1,0,107, + 8,0,114,83,0,116,3,0,136,0,0,131,1,0,125,1, + 0,110,12,0,116,4,0,136,0,0,131,1,0,125,1,0, + 135,0,0,102,1,0,100,2,0,100,3,0,134,0,0,125, + 2,0,116,5,0,106,6,0,124,1,0,124,2,0,131,2, + 0,116,0,0,136,0,0,60,110,0,0,124,1,0,83,40, + 4,0,0,0,117,109,0,0,0,71,101,116,32,111,114,32, + 99,114,101,97,116,101,32,116,104,101,32,109,111,100,117,108, + 101,32,108,111,99,107,32,102,111,114,32,97,32,103,105,118, + 101,110,32,109,111,100,117,108,101,32,110,97,109,101,46,10, + 10,32,32,32,32,83,104,111,117,108,100,32,111,110,108,121, + 32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,32, + 116,104,101,32,105,109,112,111,114,116,32,108,111,99,107,32, + 116,97,107,101,110,46,78,99,1,0,0,0,0,0,0,0, + 1,0,0,0,2,0,0,0,19,0,0,0,115,11,0,0, + 0,116,0,0,136,0,0,61,100,0,0,83,40,1,0,0, + 0,78,40,1,0,0,0,244,13,0,0,0,95,109,111,100, + 117,108,101,95,108,111,99,107,115,40,1,0,0,0,114,36, + 0,0,0,40,1,0,0,0,114,66,0,0,0,114,4,0, + 0,0,114,5,0,0,0,244,2,0,0,0,99,98,8,1, + 0,0,115,2,0,0,0,0,1,117,28,0,0,0,95,103, + 101,116,95,109,111,100,117,108,101,95,108,111,99,107,46,60, + 108,111,99,97,108,115,62,46,99,98,40,7,0,0,0,114, + 92,0,0,0,244,8,0,0,0,75,101,121,69,114,114,111, + 114,114,72,0,0,0,114,91,0,0,0,114,70,0,0,0, + 244,8,0,0,0,95,119,101,97,107,114,101,102,116,3,0, + 0,0,114,101,102,40,3,0,0,0,114,66,0,0,0,114, + 73,0,0,0,114,93,0,0,0,114,4,0,0,0,40,1, + 0,0,0,114,66,0,0,0,114,5,0,0,0,244,16,0, + 0,0,95,103,101,116,95,109,111,100,117,108,101,95,108,111, + 99,107,250,0,0,0,115,24,0,0,0,0,4,6,1,3, + 1,17,1,13,1,5,1,12,1,12,1,15,2,12,1,18, + 2,25,1,114,96,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,71,0, + 0,0,116,0,0,124,0,0,131,1,0,125,1,0,116,1, + 0,106,2,0,131,0,0,1,121,14,0,124,1,0,106,3, + 0,131,0,0,1,87,110,18,0,4,116,4,0,107,10,0, + 114,56,0,1,1,1,89,110,11,0,88,124,1,0,106,5, + 0,131,0,0,1,100,1,0,83,40,2,0,0,0,117,21, + 1,0,0,82,101,108,101,97,115,101,32,116,104,101,32,103, + 108,111,98,97,108,32,105,109,112,111,114,116,32,108,111,99, + 107,44,32,97,110,100,32,97,99,113,117,105,114,101,115,32, + 116,104,101,110,32,114,101,108,101,97,115,101,32,116,104,101, + 10,32,32,32,32,109,111,100,117,108,101,32,108,111,99,107, + 32,102,111,114,32,97,32,103,105,118,101,110,32,109,111,100, + 117,108,101,32,110,97,109,101,46,10,32,32,32,32,84,104, + 105,115,32,105,115,32,117,115,101,100,32,116,111,32,101,110, + 115,117,114,101,32,97,32,109,111,100,117,108,101,32,105,115, + 32,99,111,109,112,108,101,116,101,108,121,32,105,110,105,116, + 105,97,108,105,122,101,100,44,32,105,110,32,116,104,101,10, + 32,32,32,32,101,118,101,110,116,32,105,116,32,105,115,32, + 98,101,105,110,103,32,105,109,112,111,114,116,101,100,32,98, + 121,32,97,110,111,116,104,101,114,32,116,104,114,101,97,100, + 46,10,10,32,32,32,32,83,104,111,117,108,100,32,111,110, + 108,121,32,98,101,32,99,97,108,108,101,100,32,119,105,116, + 104,32,116,104,101,32,105,109,112,111,114,116,32,108,111,99, + 107,32,116,97,107,101,110,46,78,40,6,0,0,0,114,96, + 0,0,0,244,4,0,0,0,95,105,109,112,244,12,0,0, + 0,114,101,108,101,97,115,101,95,108,111,99,107,114,86,0, + 0,0,114,68,0,0,0,114,87,0,0,0,40,2,0,0, + 0,114,66,0,0,0,114,73,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,244,19,0,0,0,95, + 108,111,99,107,95,117,110,108,111,99,107,95,109,111,100,117, + 108,101,13,1,0,0,115,14,0,0,0,0,7,12,1,10, + 1,3,1,14,1,13,3,5,2,114,99,0,0,0,99,1, + 0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,79, + 0,0,0,115,13,0,0,0,124,0,0,124,1,0,124,2, + 0,142,0,0,83,40,1,0,0,0,117,46,1,0,0,114, + 101,109,111,118,101,95,105,109,112,111,114,116,108,105,98,95, + 102,114,97,109,101,115,32,105,110,32,105,109,112,111,114,116, + 46,99,32,119,105,108,108,32,97,108,119,97,121,115,32,114, + 101,109,111,118,101,32,115,101,113,117,101,110,99,101,115,10, + 32,32,32,32,111,102,32,105,109,112,111,114,116,108,105,98, + 32,102,114,97,109,101,115,32,116,104,97,116,32,101,110,100, + 32,119,105,116,104,32,97,32,99,97,108,108,32,116,111,32, + 116,104,105,115,32,102,117,110,99,116,105,111,110,10,10,32, + 32,32,32,85,115,101,32,105,116,32,105,110,115,116,101,97, + 100,32,111,102,32,97,32,110,111,114,109,97,108,32,99,97, + 108,108,32,105,110,32,112,108,97,99,101,115,32,119,104,101, + 114,101,32,105,110,99,108,117,100,105,110,103,32,116,104,101, + 32,105,109,112,111,114,116,108,105,98,10,32,32,32,32,102, + 114,97,109,101,115,32,105,110,116,114,111,100,117,99,101,115, + 32,117,110,119,97,110,116,101,100,32,110,111,105,115,101,32, + 105,110,116,111,32,116,104,101,32,116,114,97,99,101,98,97, + 99,107,32,40,101,46,103,46,32,119,104,101,110,32,101,120, + 101,99,117,116,105,110,103,10,32,32,32,32,109,111,100,117, + 108,101,32,99,111,100,101,41,10,32,32,32,32,114,4,0, + 0,0,40,3,0,0,0,244,1,0,0,0,102,244,4,0, + 0,0,97,114,103,115,116,4,0,0,0,107,119,100,115,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,25, + 0,0,0,95,99,97,108,108,95,119,105,116,104,95,102,114, + 97,109,101,115,95,114,101,109,111,118,101,100,33,1,0,0, + 115,2,0,0,0,0,8,114,102,0,0,0,105,188,12,0, + 0,233,2,0,0,0,114,13,0,0,0,115,2,0,0,0, + 13,10,116,11,0,0,0,95,95,112,121,99,97,99,104,101, + 95,95,117,3,0,0,0,46,112,121,117,4,0,0,0,46, + 112,121,99,117,4,0,0,0,46,112,121,111,78,99,2,0, + 0,0,0,0,0,0,11,0,0,0,6,0,0,0,67,0, + 0,0,115,180,0,0,0,124,1,0,100,1,0,107,8,0, + 114,25,0,116,0,0,106,1,0,106,2,0,12,110,3,0, + 124,1,0,125,2,0,124,2,0,114,46,0,116,3,0,125, + 3,0,110,6,0,116,4,0,125,3,0,116,5,0,124,0, + 0,131,1,0,92,2,0,125,4,0,125,5,0,124,5,0, + 106,6,0,100,2,0,131,1,0,92,3,0,125,6,0,125, + 7,0,125,8,0,116,0,0,106,7,0,106,8,0,125,9, + 0,124,9,0,100,1,0,107,8,0,114,133,0,116,9,0, + 100,3,0,131,1,0,130,1,0,110,0,0,100,4,0,106, + 10,0,124,6,0,124,7,0,124,9,0,124,3,0,100,5, + 0,25,103,4,0,131,1,0,125,10,0,116,11,0,124,4, + 0,116,12,0,124,10,0,131,3,0,83,40,6,0,0,0, + 117,244,1,0,0,71,105,118,101,110,32,116,104,101,32,112, + 97,116,104,32,116,111,32,97,32,46,112,121,32,102,105,108, + 101,44,32,114,101,116,117,114,110,32,116,104,101,32,112,97, + 116,104,32,116,111,32,105,116,115,32,46,112,121,99,47,46, + 112,121,111,32,102,105,108,101,46,10,10,32,32,32,32,84, + 104,101,32,46,112,121,32,102,105,108,101,32,100,111,101,115, + 32,110,111,116,32,110,101,101,100,32,116,111,32,101,120,105, + 115,116,59,32,116,104,105,115,32,115,105,109,112,108,121,32, + 114,101,116,117,114,110,115,32,116,104,101,32,112,97,116,104, + 32,116,111,32,116,104,101,10,32,32,32,32,46,112,121,99, + 47,46,112,121,111,32,102,105,108,101,32,99,97,108,99,117, + 108,97,116,101,100,32,97,115,32,105,102,32,116,104,101,32, + 46,112,121,32,102,105,108,101,32,119,101,114,101,32,105,109, + 112,111,114,116,101,100,46,32,32,84,104,101,32,101,120,116, + 101,110,115,105,111,110,10,32,32,32,32,119,105,108,108,32, + 98,101,32,46,112,121,99,32,117,110,108,101,115,115,32,115, + 121,115,46,102,108,97,103,115,46,111,112,116,105,109,105,122, + 101,32,105,115,32,110,111,110,45,122,101,114,111,44,32,116, + 104,101,110,32,105,116,32,119,105,108,108,32,98,101,32,46, + 112,121,111,46,10,10,32,32,32,32,73,102,32,100,101,98, + 117,103,95,111,118,101,114,114,105,100,101,32,105,115,32,110, + 111,116,32,78,111,110,101,44,32,116,104,101,110,32,105,116, + 32,109,117,115,116,32,98,101,32,97,32,98,111,111,108,101, + 97,110,32,97,110,100,32,105,115,32,117,115,101,100,32,105, + 110,10,32,32,32,32,112,108,97,99,101,32,111,102,32,115, + 121,115,46,102,108,97,103,115,46,111,112,116,105,109,105,122, + 101,46,10,10,32,32,32,32,73,102,32,115,121,115,46,105, + 109,112,108,101,109,101,110,116,97,116,105,111,110,46,99,97, + 99,104,101,95,116,97,103,32,105,115,32,78,111,110,101,32, + 116,104,101,110,32,78,111,116,73,109,112,108,101,109,101,110, + 116,101,100,69,114,114,111,114,32,105,115,32,114,97,105,115, + 101,100,46,10,10,32,32,32,32,78,244,1,0,0,0,46, + 117,36,0,0,0,115,121,115,46,105,109,112,108,101,109,101, + 110,116,97,116,105,111,110,46,99,97,99,104,101,95,116,97, + 103,32,105,115,32,78,111,110,101,114,30,0,0,0,114,71, + 0,0,0,40,13,0,0,0,114,7,0,0,0,244,5,0, + 0,0,102,108,97,103,115,244,8,0,0,0,111,112,116,105, + 109,105,122,101,244,23,0,0,0,68,69,66,85,71,95,66, + 89,84,69,67,79,68,69,95,83,85,70,70,73,88,69,83, + 244,27,0,0,0,79,80,84,73,77,73,90,69,68,95,66, + 89,84,69,67,79,68,69,95,83,85,70,70,73,88,69,83, + 114,38,0,0,0,244,9,0,0,0,112,97,114,116,105,116, + 105,111,110,244,14,0,0,0,105,109,112,108,101,109,101,110, + 116,97,116,105,111,110,244,9,0,0,0,99,97,99,104,101, + 95,116,97,103,244,19,0,0,0,78,111,116,73,109,112,108, + 101,109,101,110,116,101,100,69,114,114,111,114,114,26,0,0, + 0,114,28,0,0,0,244,8,0,0,0,95,80,89,67,65, + 67,72,69,40,11,0,0,0,114,35,0,0,0,116,14,0, + 0,0,100,101,98,117,103,95,111,118,101,114,114,105,100,101, + 244,5,0,0,0,100,101,98,117,103,244,8,0,0,0,115, + 117,102,102,105,120,101,115,244,4,0,0,0,104,101,97,100, + 114,37,0,0,0,244,13,0,0,0,98,97,115,101,95,102, + 105,108,101,110,97,109,101,244,3,0,0,0,115,101,112,114, + 36,0,0,0,116,3,0,0,0,116,97,103,244,8,0,0, + 0,102,105,108,101,110,97,109,101,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,244,17,0,0,0,99,97,99, + 104,101,95,102,114,111,109,95,115,111,117,114,99,101,152,1, + 0,0,115,22,0,0,0,0,13,31,1,6,1,9,2,6, + 1,18,1,24,1,12,1,12,1,15,1,31,1,114,120,0, + 0,0,99,1,0,0,0,0,0,0,0,5,0,0,0,5, + 0,0,0,67,0,0,0,115,193,0,0,0,116,0,0,106, + 1,0,106,2,0,100,1,0,107,8,0,114,33,0,116,3, + 0,100,2,0,131,1,0,130,1,0,110,0,0,116,4,0, + 124,0,0,131,1,0,92,2,0,125,1,0,125,2,0,116, + 4,0,124,1,0,131,1,0,92,2,0,125,1,0,125,3, + 0,124,3,0,116,5,0,107,3,0,114,108,0,116,6,0, + 100,3,0,106,7,0,116,5,0,124,0,0,131,2,0,131, + 1,0,130,1,0,110,0,0,124,2,0,106,8,0,100,4, + 0,131,1,0,100,5,0,107,3,0,114,153,0,116,6,0, + 100,6,0,106,7,0,124,2,0,131,1,0,131,1,0,130, + 1,0,110,0,0,124,2,0,106,9,0,100,4,0,131,1, + 0,100,7,0,25,125,4,0,116,10,0,124,1,0,124,4, + 0,116,11,0,100,7,0,25,23,131,2,0,83,40,8,0, + 0,0,117,121,1,0,0,71,105,118,101,110,32,116,104,101, + 32,112,97,116,104,32,116,111,32,97,32,46,112,121,99,46, + 47,46,112,121,111,32,102,105,108,101,44,32,114,101,116,117, + 114,110,32,116,104,101,32,112,97,116,104,32,116,111,32,105, + 116,115,32,46,112,121,32,102,105,108,101,46,10,10,32,32, + 32,32,84,104,101,32,46,112,121,99,47,46,112,121,111,32, + 102,105,108,101,32,100,111,101,115,32,110,111,116,32,110,101, + 101,100,32,116,111,32,101,120,105,115,116,59,32,116,104,105, + 115,32,115,105,109,112,108,121,32,114,101,116,117,114,110,115, + 32,116,104,101,32,112,97,116,104,32,116,111,10,32,32,32, + 32,116,104,101,32,46,112,121,32,102,105,108,101,32,99,97, + 108,99,117,108,97,116,101,100,32,116,111,32,99,111,114,114, + 101,115,112,111,110,100,32,116,111,32,116,104,101,32,46,112, + 121,99,47,46,112,121,111,32,102,105,108,101,46,32,32,73, + 102,32,112,97,116,104,32,100,111,101,115,10,32,32,32,32, + 110,111,116,32,99,111,110,102,111,114,109,32,116,111,32,80, + 69,80,32,51,49,52,55,32,102,111,114,109,97,116,44,32, + 86,97,108,117,101,69,114,114,111,114,32,119,105,108,108,32, + 98,101,32,114,97,105,115,101,100,46,32,73,102,10,32,32, + 32,32,115,121,115,46,105,109,112,108,101,109,101,110,116,97, + 116,105,111,110,46,99,97,99,104,101,95,116,97,103,32,105, + 115,32,78,111,110,101,32,116,104,101,110,32,78,111,116,73, + 109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,32, + 105,115,32,114,97,105,115,101,100,46,10,10,32,32,32,32, + 78,117,36,0,0,0,115,121,115,46,105,109,112,108,101,109, + 101,110,116,97,116,105,111,110,46,99,97,99,104,101,95,116, + 97,103,32,105,115,32,78,111,110,101,117,37,0,0,0,123, + 125,32,110,111,116,32,98,111,116,116,111,109,45,108,101,118, + 101,108,32,100,105,114,101,99,116,111,114,121,32,105,110,32, + 123,33,114,125,114,104,0,0,0,114,103,0,0,0,117,28, + 0,0,0,101,120,112,101,99,116,101,100,32,111,110,108,121, + 32,50,32,100,111,116,115,32,105,110,32,123,33,114,125,114, + 71,0,0,0,40,12,0,0,0,114,7,0,0,0,114,110, + 0,0,0,114,111,0,0,0,114,112,0,0,0,114,38,0, + 0,0,114,113,0,0,0,244,10,0,0,0,86,97,108,117, + 101,69,114,114,111,114,114,46,0,0,0,114,76,0,0,0, + 114,109,0,0,0,114,28,0,0,0,244,15,0,0,0,83, 79,85,82,67,69,95,83,85,70,70,73,88,69,83,40,5, - 0,0,0,117,4,0,0,0,112,97,116,104,117,4,0,0, - 0,104,101,97,100,117,16,0,0,0,112,121,99,97,99,104, - 101,95,102,105,108,101,110,97,109,101,117,7,0,0,0,112, - 121,99,97,99,104,101,117,13,0,0,0,98,97,115,101,95, - 102,105,108,101,110,97,109,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,115,111,117,114,99,101,95, - 102,114,111,109,95,99,97,99,104,101,186,1,0,0,115,24, - 0,0,0,0,9,18,1,15,1,18,1,18,1,12,1,9, - 1,18,1,21,1,9,1,15,1,19,1,117,17,0,0,0, - 115,111,117,114,99,101,95,102,114,111,109,95,99,97,99,104, - 101,99,1,0,0,0,0,0,0,0,5,0,0,0,13,0, - 0,0,67,0,0,0,115,164,0,0,0,116,0,0,124,0, - 0,131,1,0,100,1,0,107,2,0,114,22,0,100,6,0, - 83,124,0,0,106,2,0,100,2,0,131,1,0,92,3,0, - 125,1,0,125,2,0,125,3,0,124,1,0,12,115,81,0, - 124,3,0,106,3,0,131,0,0,100,7,0,100,8,0,133, - 2,0,25,100,5,0,107,3,0,114,85,0,124,0,0,83, - 121,16,0,116,4,0,124,0,0,131,1,0,125,4,0,87, - 110,40,0,4,116,5,0,116,6,0,102,2,0,107,10,0, - 114,143,0,1,1,1,116,7,0,100,9,0,100,6,0,133, - 2,0,25,125,4,0,89,110,1,0,88,116,8,0,116,9, - 0,131,1,0,114,160,0,124,4,0,83,124,0,0,83,40, - 10,0,0,0,117,188,0,0,0,67,111,110,118,101,114,116, - 32,97,32,98,121,116,101,99,111,100,101,32,102,105,108,101, - 32,112,97,116,104,32,116,111,32,97,32,115,111,117,114,99, - 101,32,112,97,116,104,32,40,105,102,32,112,111,115,115,105, - 98,108,101,41,46,10,10,32,32,32,32,84,104,105,115,32, - 102,117,110,99,116,105,111,110,32,101,120,105,115,116,115,32, - 112,117,114,101,108,121,32,102,111,114,32,98,97,99,107,119, - 97,114,100,115,45,99,111,109,112,97,116,105,98,105,108,105, - 116,121,32,102,111,114,10,32,32,32,32,80,121,73,109,112, - 111,114,116,95,69,120,101,99,67,111,100,101,77,111,100,117, - 108,101,87,105,116,104,70,105,108,101,110,97,109,101,115,40, - 41,32,105,110,32,116,104,101,32,67,32,65,80,73,46,10, - 10,32,32,32,32,105,0,0,0,0,117,1,0,0,0,46, - 105,3,0,0,0,105,1,0,0,0,117,3,0,0,0,46, - 112,121,78,105,253,255,255,255,105,255,255,255,255,105,255,255, - 255,255,40,10,0,0,0,117,3,0,0,0,108,101,110,117, - 4,0,0,0,78,111,110,101,117,9,0,0,0,114,112,97, - 114,105,116,105,111,110,117,5,0,0,0,108,111,119,101,114, - 117,17,0,0,0,115,111,117,114,99,101,95,102,114,111,109, - 95,99,97,99,104,101,117,19,0,0,0,78,111,116,73,109, - 112,108,101,109,101,110,116,101,100,69,114,114,111,114,117,10, - 0,0,0,86,97,108,117,101,69,114,114,111,114,117,12,0, - 0,0,98,121,116,99,111,100,101,95,112,97,116,104,117,12, - 0,0,0,95,112,97,116,104,95,105,115,102,105,108,101,117, - 12,0,0,0,115,111,117,114,99,101,95,115,116,97,116,115, - 40,5,0,0,0,117,13,0,0,0,98,121,116,101,99,111, - 100,101,95,112,97,116,104,117,4,0,0,0,114,101,115,116, - 117,1,0,0,0,95,117,9,0,0,0,101,120,116,101,110, - 115,105,111,110,117,11,0,0,0,115,111,117,114,99,101,95, - 112,97,116,104,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,15,0,0,0,95,103,101,116,95,115,111,117,114,99,101, - 102,105,108,101,209,1,0,0,115,20,0,0,0,0,7,18, - 1,4,1,24,1,35,1,4,2,3,1,16,1,19,1,21, - 2,117,15,0,0,0,95,103,101,116,95,115,111,117,114,99, - 101,102,105,108,101,117,9,0,0,0,118,101,114,98,111,115, - 105,116,121,105,1,0,0,0,99,1,0,0,0,1,0,0, - 0,3,0,0,0,4,0,0,0,71,0,0,0,115,81,0, - 0,0,116,0,0,106,1,0,106,2,0,124,1,0,107,5, - 0,114,77,0,124,0,0,106,3,0,100,6,0,131,1,0, - 115,46,0,100,3,0,124,0,0,23,125,0,0,110,0,0, - 116,4,0,124,0,0,106,5,0,124,2,0,140,0,0,100, - 4,0,116,0,0,106,6,0,131,1,1,1,110,0,0,100, - 5,0,83,40,7,0,0,0,117,61,0,0,0,80,114,105, - 110,116,32,116,104,101,32,109,101,115,115,97,103,101,32,116, - 111,32,115,116,100,101,114,114,32,105,102,32,45,118,47,80, - 89,84,72,79,78,86,69,82,66,79,83,69,32,105,115,32, - 116,117,114,110,101,100,32,111,110,46,117,1,0,0,0,35, - 117,7,0,0,0,105,109,112,111,114,116,32,117,2,0,0, - 0,35,32,117,4,0,0,0,102,105,108,101,78,40,2,0, - 0,0,117,1,0,0,0,35,117,7,0,0,0,105,109,112, - 111,114,116,32,40,7,0,0,0,117,3,0,0,0,115,121, - 115,117,5,0,0,0,102,108,97,103,115,117,7,0,0,0, - 118,101,114,98,111,115,101,117,10,0,0,0,115,116,97,114, - 116,115,119,105,116,104,117,5,0,0,0,112,114,105,110,116, - 117,6,0,0,0,102,111,114,109,97,116,117,6,0,0,0, - 115,116,100,101,114,114,40,3,0,0,0,117,7,0,0,0, - 109,101,115,115,97,103,101,117,9,0,0,0,118,101,114,98, - 111,115,105,116,121,117,4,0,0,0,97,114,103,115,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, - 118,101,114,98,111,115,101,95,109,101,115,115,97,103,101,230, - 1,0,0,115,8,0,0,0,0,2,18,1,15,1,13,1, - 117,16,0,0,0,95,118,101,114,98,111,115,101,95,109,101, - 115,115,97,103,101,99,1,0,0,0,0,0,0,0,2,0, - 0,0,3,0,0,0,3,0,0,0,115,35,0,0,0,135, - 0,0,102,1,0,100,1,0,100,2,0,134,0,0,125,1, - 0,116,0,0,124,1,0,136,0,0,131,2,0,1,124,1, - 0,83,40,3,0,0,0,117,39,0,0,0,83,101,116,32, - 95,95,112,97,99,107,97,103,101,95,95,32,111,110,32,116, - 104,101,32,114,101,116,117,114,110,101,100,32,109,111,100,117, - 108,101,46,99,0,0,0,0,0,0,0,0,3,0,0,0, - 4,0,0,0,31,0,0,0,115,101,0,0,0,136,0,0, - 124,0,0,124,1,0,142,0,0,125,2,0,116,0,0,124, - 2,0,100,1,0,100,0,0,131,3,0,100,0,0,107,8, - 0,114,97,0,124,2,0,106,2,0,124,2,0,95,3,0, - 116,4,0,124,2,0,100,2,0,131,2,0,115,97,0,124, - 2,0,106,3,0,106,5,0,100,3,0,131,1,0,100,4, - 0,25,124,2,0,95,3,0,113,97,0,110,0,0,124,2, - 0,83,40,5,0,0,0,78,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,117,1,0,0,0,46,105,0,0,0,0, - 40,6,0,0,0,117,7,0,0,0,103,101,116,97,116,116, - 114,117,4,0,0,0,78,111,110,101,117,8,0,0,0,95, - 95,110,97,109,101,95,95,117,11,0,0,0,95,95,112,97, - 99,107,97,103,101,95,95,117,7,0,0,0,104,97,115,97, - 116,116,114,117,10,0,0,0,114,112,97,114,116,105,116,105, - 111,110,40,3,0,0,0,117,4,0,0,0,97,114,103,115, - 117,6,0,0,0,107,119,97,114,103,115,117,6,0,0,0, - 109,111,100,117,108,101,40,1,0,0,0,117,3,0,0,0, - 102,120,110,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,19,0,0,0,115, - 101,116,95,112,97,99,107,97,103,101,95,119,114,97,112,112, - 101,114,240,1,0,0,115,12,0,0,0,0,1,15,1,24, - 1,12,1,15,1,31,1,117,40,0,0,0,115,101,116,95, - 112,97,99,107,97,103,101,46,60,108,111,99,97,108,115,62, - 46,115,101,116,95,112,97,99,107,97,103,101,95,119,114,97, - 112,112,101,114,40,1,0,0,0,117,5,0,0,0,95,119, - 114,97,112,40,2,0,0,0,117,3,0,0,0,102,120,110, - 117,19,0,0,0,115,101,116,95,112,97,99,107,97,103,101, - 95,119,114,97,112,112,101,114,40,0,0,0,0,40,1,0, - 0,0,117,3,0,0,0,102,120,110,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,115,101,116,95,112,97,99,107,97,103,101,238,1,0,0, - 115,6,0,0,0,0,2,18,7,13,1,117,11,0,0,0, - 115,101,116,95,112,97,99,107,97,103,101,99,1,0,0,0, - 0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0, - 115,35,0,0,0,135,0,0,102,1,0,100,1,0,100,2, - 0,134,0,0,125,1,0,116,0,0,124,1,0,136,0,0, - 131,2,0,1,124,1,0,83,40,3,0,0,0,117,38,0, - 0,0,83,101,116,32,95,95,108,111,97,100,101,114,95,95, - 32,111,110,32,116,104,101,32,114,101,116,117,114,110,101,100, - 32,109,111,100,117,108,101,46,99,1,0,0,0,0,0,0, - 0,4,0,0,0,4,0,0,0,31,0,0,0,115,49,0, - 0,0,136,0,0,124,0,0,124,1,0,124,2,0,142,1, - 0,125,3,0,116,0,0,124,3,0,100,1,0,131,2,0, - 115,45,0,124,0,0,124,3,0,95,1,0,110,0,0,124, - 3,0,83,40,2,0,0,0,78,117,10,0,0,0,95,95, - 108,111,97,100,101,114,95,95,40,2,0,0,0,117,7,0, - 0,0,104,97,115,97,116,116,114,117,10,0,0,0,95,95, - 108,111,97,100,101,114,95,95,40,4,0,0,0,117,4,0, - 0,0,115,101,108,102,117,4,0,0,0,97,114,103,115,117, - 6,0,0,0,107,119,97,114,103,115,117,6,0,0,0,109, - 111,100,117,108,101,40,1,0,0,0,117,3,0,0,0,102, - 120,110,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,18,0,0,0,115,101, - 116,95,108,111,97,100,101,114,95,119,114,97,112,112,101,114, - 253,1,0,0,115,8,0,0,0,0,1,18,1,15,1,12, - 1,117,38,0,0,0,115,101,116,95,108,111,97,100,101,114, - 46,60,108,111,99,97,108,115,62,46,115,101,116,95,108,111, - 97,100,101,114,95,119,114,97,112,112,101,114,40,1,0,0, - 0,117,5,0,0,0,95,119,114,97,112,40,2,0,0,0, - 117,3,0,0,0,102,120,110,117,18,0,0,0,115,101,116, - 95,108,111,97,100,101,114,95,119,114,97,112,112,101,114,40, - 0,0,0,0,40,1,0,0,0,117,3,0,0,0,102,120, - 110,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,115,101,116,95,108,111,97,100, - 101,114,251,1,0,0,115,6,0,0,0,0,2,18,5,13, - 1,117,10,0,0,0,115,101,116,95,108,111,97,100,101,114, + 0,0,0,114,35,0,0,0,114,116,0,0,0,116,16,0, + 0,0,112,121,99,97,99,104,101,95,102,105,108,101,110,97, + 109,101,116,7,0,0,0,112,121,99,97,99,104,101,114,117, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,17,0,0,0,115,111,117,114,99,101,95,102,114, + 111,109,95,99,97,99,104,101,179,1,0,0,115,24,0,0, + 0,0,9,18,1,15,1,18,1,18,1,12,1,3,1,24, + 1,21,1,3,1,21,1,19,1,114,123,0,0,0,99,1, + 0,0,0,0,0,0,0,5,0,0,0,13,0,0,0,67, + 0,0,0,115,164,0,0,0,116,0,0,124,0,0,131,1, + 0,100,1,0,107,2,0,114,22,0,100,2,0,83,124,0, + 0,106,1,0,100,3,0,131,1,0,92,3,0,125,1,0, + 125,2,0,125,3,0,124,1,0,12,115,81,0,124,3,0, + 106,2,0,131,0,0,100,7,0,100,8,0,133,2,0,25, + 100,6,0,107,3,0,114,85,0,124,0,0,83,121,16,0, + 116,3,0,124,0,0,131,1,0,125,4,0,87,110,40,0, + 4,116,4,0,116,5,0,102,2,0,107,10,0,114,143,0, + 1,1,1,116,6,0,100,9,0,100,2,0,133,2,0,25, + 125,4,0,89,110,1,0,88,116,7,0,116,8,0,131,1, + 0,114,160,0,124,4,0,83,124,0,0,83,40,10,0,0, + 0,117,188,0,0,0,67,111,110,118,101,114,116,32,97,32, + 98,121,116,101,99,111,100,101,32,102,105,108,101,32,112,97, + 116,104,32,116,111,32,97,32,115,111,117,114,99,101,32,112, + 97,116,104,32,40,105,102,32,112,111,115,115,105,98,108,101, + 41,46,10,10,32,32,32,32,84,104,105,115,32,102,117,110, + 99,116,105,111,110,32,101,120,105,115,116,115,32,112,117,114, + 101,108,121,32,102,111,114,32,98,97,99,107,119,97,114,100, + 115,45,99,111,109,112,97,116,105,98,105,108,105,116,121,32, + 102,111,114,10,32,32,32,32,80,121,73,109,112,111,114,116, + 95,69,120,101,99,67,111,100,101,77,111,100,117,108,101,87, + 105,116,104,70,105,108,101,110,97,109,101,115,40,41,32,105, + 110,32,116,104,101,32,67,32,65,80,73,46,10,10,32,32, + 32,32,114,71,0,0,0,78,114,104,0,0,0,233,3,0, + 0,0,114,29,0,0,0,117,3,0,0,0,46,112,121,233, + 253,255,255,255,233,255,255,255,255,114,126,0,0,0,40,9, + 0,0,0,114,31,0,0,0,116,9,0,0,0,114,112,97, + 114,105,116,105,111,110,244,5,0,0,0,108,111,119,101,114, + 114,123,0,0,0,114,112,0,0,0,114,121,0,0,0,116, + 12,0,0,0,98,121,116,99,111,100,101,95,112,97,116,104, + 114,44,0,0,0,244,12,0,0,0,115,111,117,114,99,101, + 95,115,116,97,116,115,40,5,0,0,0,244,13,0,0,0, + 98,121,116,101,99,111,100,101,95,112,97,116,104,116,4,0, + 0,0,114,101,115,116,114,36,0,0,0,116,9,0,0,0, + 101,120,116,101,110,115,105,111,110,244,11,0,0,0,115,111, + 117,114,99,101,95,112,97,116,104,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,244,15,0,0,0,95,103,101, + 116,95,115,111,117,114,99,101,102,105,108,101,202,1,0,0, + 115,20,0,0,0,0,7,18,1,4,1,24,1,35,1,4, + 2,3,1,16,1,19,1,21,2,114,131,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,63,0,0,0,121,22,0,116,0,0,106,1, + 0,124,0,0,131,1,0,106,2,0,125,1,0,87,110,24, + 0,4,116,3,0,107,10,0,114,48,0,1,1,1,100,1, + 0,125,1,0,89,110,1,0,88,124,1,0,100,2,0,79, + 125,1,0,124,1,0,83,40,3,0,0,0,117,51,0,0, + 0,67,97,108,99,117,108,97,116,101,32,116,104,101,32,109, + 111,100,101,32,112,101,114,109,105,115,115,105,111,110,115,32, + 102,111,114,32,97,32,98,121,116,101,99,111,100,101,32,102, + 105,108,101,46,105,182,1,0,0,233,128,0,0,0,40,4, + 0,0,0,114,3,0,0,0,114,39,0,0,0,114,41,0, + 0,0,114,40,0,0,0,40,2,0,0,0,114,35,0,0, + 0,114,42,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,10,0,0,0,95,99,97,108,99,95, + 109,111,100,101,223,1,0,0,115,12,0,0,0,0,2,3, + 1,22,1,13,1,11,3,10,1,114,133,0,0,0,244,9, + 0,0,0,118,101,114,98,111,115,105,116,121,114,29,0,0, + 0,99,1,0,0,0,1,0,0,0,3,0,0,0,4,0, + 0,0,71,0,0,0,115,81,0,0,0,116,0,0,106,1, + 0,106,2,0,124,1,0,107,5,0,114,77,0,124,0,0, + 106,3,0,100,6,0,131,1,0,115,46,0,100,3,0,124, + 0,0,23,125,0,0,110,0,0,116,4,0,124,0,0,106, + 5,0,124,2,0,140,0,0,100,4,0,116,0,0,106,6, + 0,131,1,1,1,110,0,0,100,5,0,83,40,7,0,0, + 0,117,61,0,0,0,80,114,105,110,116,32,116,104,101,32, + 109,101,115,115,97,103,101,32,116,111,32,115,116,100,101,114, + 114,32,105,102,32,45,118,47,80,89,84,72,79,78,86,69, + 82,66,79,83,69,32,105,115,32,116,117,114,110,101,100,32, + 111,110,46,245,1,0,0,0,35,245,7,0,0,0,105,109, + 112,111,114,116,32,117,2,0,0,0,35,32,114,53,0,0, + 0,78,40,2,0,0,0,114,135,0,0,0,114,136,0,0, + 0,40,7,0,0,0,114,7,0,0,0,114,105,0,0,0, + 244,7,0,0,0,118,101,114,98,111,115,101,114,9,0,0, + 0,244,5,0,0,0,112,114,105,110,116,114,46,0,0,0, + 244,6,0,0,0,115,116,100,101,114,114,40,3,0,0,0, + 244,7,0,0,0,109,101,115,115,97,103,101,114,134,0,0, + 0,114,101,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,16,0,0,0,95,118,101,114,98,111, + 115,101,95,109,101,115,115,97,103,101,235,1,0,0,115,8, + 0,0,0,0,2,18,1,15,1,13,1,114,141,0,0,0, 99,1,0,0,0,0,0,0,0,2,0,0,0,3,0,0, 0,3,0,0,0,115,35,0,0,0,135,0,0,102,1,0, 100,1,0,100,2,0,134,0,0,125,1,0,116,0,0,124, 1,0,136,0,0,131,2,0,1,124,1,0,83,40,3,0, - 0,0,117,42,3,0,0,68,101,99,111,114,97,116,111,114, - 32,116,111,32,104,97,110,100,108,101,32,115,101,108,101,99, - 116,105,110,103,32,116,104,101,32,112,114,111,112,101,114,32, - 109,111,100,117,108,101,32,102,111,114,32,108,111,97,100,101, - 114,115,46,10,10,32,32,32,32,84,104,101,32,100,101,99, - 111,114,97,116,101,100,32,102,117,110,99,116,105,111,110,32, - 105,115,32,112,97,115,115,101,100,32,116,104,101,32,109,111, - 100,117,108,101,32,116,111,32,117,115,101,32,105,110,115,116, - 101,97,100,32,111,102,32,116,104,101,32,109,111,100,117,108, - 101,10,32,32,32,32,110,97,109,101,46,32,84,104,101,32, - 109,111,100,117,108,101,32,112,97,115,115,101,100,32,105,110, - 32,116,111,32,116,104,101,32,102,117,110,99,116,105,111,110, - 32,105,115,32,101,105,116,104,101,114,32,102,114,111,109,32, - 115,121,115,46,109,111,100,117,108,101,115,32,105,102,10,32, - 32,32,32,105,116,32,97,108,114,101,97,100,121,32,101,120, - 105,115,116,115,32,111,114,32,105,115,32,97,32,110,101,119, - 32,109,111,100,117,108,101,46,32,73,102,32,116,104,101,32, - 109,111,100,117,108,101,32,105,115,32,110,101,119,44,32,116, - 104,101,110,32,95,95,110,97,109,101,95,95,10,32,32,32, - 32,105,115,32,115,101,116,32,116,104,101,32,102,105,114,115, - 116,32,97,114,103,117,109,101,110,116,32,116,111,32,116,104, - 101,32,109,101,116,104,111,100,44,32,95,95,108,111,97,100, - 101,114,95,95,32,105,115,32,115,101,116,32,116,111,32,115, - 101,108,102,44,32,97,110,100,10,32,32,32,32,95,95,112, - 97,99,107,97,103,101,95,95,32,105,115,32,115,101,116,32, - 97,99,99,111,114,100,105,110,103,108,121,32,40,105,102,32, - 115,101,108,102,46,105,115,95,112,97,99,107,97,103,101,40, - 41,32,105,115,32,100,101,102,105,110,101,100,41,32,119,105, - 108,108,32,98,101,32,115,101,116,10,32,32,32,32,98,101, - 102,111,114,101,32,105,116,32,105,115,32,112,97,115,115,101, - 100,32,116,111,32,116,104,101,32,100,101,99,111,114,97,116, - 101,100,32,102,117,110,99,116,105,111,110,32,40,105,102,32, - 115,101,108,102,46,105,115,95,112,97,99,107,97,103,101,40, - 41,32,100,111,101,115,10,32,32,32,32,110,111,116,32,119, - 111,114,107,32,102,111,114,32,116,104,101,32,109,111,100,117, - 108,101,32,105,116,32,119,105,108,108,32,98,101,32,115,101, - 116,32,112,111,115,116,45,108,111,97,100,41,46,10,10,32, - 32,32,32,73,102,32,97,110,32,101,120,99,101,112,116,105, - 111,110,32,105,115,32,114,97,105,115,101,100,32,97,110,100, - 32,116,104,101,32,100,101,99,111,114,97,116,111,114,32,99, - 114,101,97,116,101,100,32,116,104,101,32,109,111,100,117,108, - 101,32,105,116,32,105,115,10,32,32,32,32,115,117,98,115, - 101,113,117,101,110,116,108,121,32,114,101,109,111,118,101,100, - 32,102,114,111,109,32,115,121,115,46,109,111,100,117,108,101, + 0,0,117,39,0,0,0,83,101,116,32,95,95,112,97,99, + 107,97,103,101,95,95,32,111,110,32,116,104,101,32,114,101, + 116,117,114,110,101,100,32,109,111,100,117,108,101,46,99,0, + 0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,31, + 0,0,0,115,101,0,0,0,136,0,0,124,0,0,124,1, + 0,142,0,0,125,2,0,116,0,0,124,2,0,100,1,0, + 100,0,0,131,3,0,100,0,0,107,8,0,114,97,0,124, + 2,0,106,1,0,124,2,0,95,2,0,116,3,0,124,2, + 0,100,2,0,131,2,0,115,97,0,124,2,0,106,2,0, + 106,4,0,100,3,0,131,1,0,100,4,0,25,124,2,0, + 95,2,0,113,97,0,110,0,0,124,2,0,83,40,5,0, + 0,0,78,244,11,0,0,0,95,95,112,97,99,107,97,103, + 101,95,95,244,8,0,0,0,95,95,112,97,116,104,95,95, + 114,104,0,0,0,114,71,0,0,0,40,5,0,0,0,114, + 61,0,0,0,114,56,0,0,0,114,142,0,0,0,114,59, + 0,0,0,114,32,0,0,0,40,3,0,0,0,114,101,0, + 0,0,244,6,0,0,0,107,119,97,114,103,115,244,6,0, + 0,0,109,111,100,117,108,101,40,1,0,0,0,244,3,0, + 0,0,102,120,110,114,4,0,0,0,114,5,0,0,0,244, + 19,0,0,0,115,101,116,95,112,97,99,107,97,103,101,95, + 119,114,97,112,112,101,114,245,1,0,0,115,12,0,0,0, + 0,1,15,1,24,1,12,1,15,1,31,1,117,40,0,0, + 0,115,101,116,95,112,97,99,107,97,103,101,46,60,108,111, + 99,97,108,115,62,46,115,101,116,95,112,97,99,107,97,103, + 101,95,119,114,97,112,112,101,114,40,1,0,0,0,114,64, + 0,0,0,40,2,0,0,0,114,146,0,0,0,114,147,0, + 0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0, + 0,114,5,0,0,0,244,11,0,0,0,115,101,116,95,112, + 97,99,107,97,103,101,243,1,0,0,115,6,0,0,0,0, + 2,18,7,13,1,114,148,0,0,0,99,1,0,0,0,0, + 0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,115, + 35,0,0,0,135,0,0,102,1,0,100,1,0,100,2,0, + 134,0,0,125,1,0,116,0,0,124,1,0,136,0,0,131, + 2,0,1,124,1,0,83,40,3,0,0,0,117,38,0,0, + 0,83,101,116,32,95,95,108,111,97,100,101,114,95,95,32, + 111,110,32,116,104,101,32,114,101,116,117,114,110,101,100,32, + 109,111,100,117,108,101,46,99,1,0,0,0,0,0,0,0, + 4,0,0,0,4,0,0,0,31,0,0,0,115,58,0,0, + 0,136,0,0,124,0,0,124,1,0,124,2,0,142,1,0, + 125,3,0,116,0,0,124,3,0,100,1,0,100,0,0,131, + 3,0,100,0,0,107,8,0,114,54,0,124,0,0,124,3, + 0,95,1,0,110,0,0,124,3,0,83,40,2,0,0,0, + 78,244,10,0,0,0,95,95,108,111,97,100,101,114,95,95, + 40,2,0,0,0,114,61,0,0,0,114,149,0,0,0,40, + 4,0,0,0,114,78,0,0,0,114,101,0,0,0,114,144, + 0,0,0,114,145,0,0,0,40,1,0,0,0,114,146,0, + 0,0,114,4,0,0,0,114,5,0,0,0,244,18,0,0, + 0,115,101,116,95,108,111,97,100,101,114,95,119,114,97,112, + 112,101,114,2,2,0,0,115,8,0,0,0,0,1,18,1, + 24,1,12,1,117,38,0,0,0,115,101,116,95,108,111,97, + 100,101,114,46,60,108,111,99,97,108,115,62,46,115,101,116, + 95,108,111,97,100,101,114,95,119,114,97,112,112,101,114,40, + 1,0,0,0,114,64,0,0,0,40,2,0,0,0,114,146, + 0,0,0,114,150,0,0,0,114,4,0,0,0,40,1,0, + 0,0,114,146,0,0,0,114,5,0,0,0,244,10,0,0, + 0,115,101,116,95,108,111,97,100,101,114,0,2,0,0,115, + 6,0,0,0,0,2,18,5,13,1,114,151,0,0,0,99, + 1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, + 3,0,0,0,115,35,0,0,0,135,0,0,102,1,0,100, + 1,0,100,2,0,134,0,0,125,1,0,116,0,0,124,1, + 0,136,0,0,131,2,0,1,124,1,0,83,40,3,0,0, + 0,117,42,3,0,0,68,101,99,111,114,97,116,111,114,32, + 116,111,32,104,97,110,100,108,101,32,115,101,108,101,99,116, + 105,110,103,32,116,104,101,32,112,114,111,112,101,114,32,109, + 111,100,117,108,101,32,102,111,114,32,108,111,97,100,101,114, 115,46,10,10,32,32,32,32,84,104,101,32,100,101,99,111, - 114,97,116,111,114,32,97,115,115,117,109,101,115,32,116,104, - 97,116,32,116,104,101,32,100,101,99,111,114,97,116,101,100, - 32,102,117,110,99,116,105,111,110,32,116,97,107,101,115,32, - 116,104,101,32,109,111,100,117,108,101,32,110,97,109,101,32, - 97,115,10,32,32,32,32,116,104,101,32,115,101,99,111,110, - 100,32,97,114,103,117,109,101,110,116,46,10,10,32,32,32, - 32,99,2,0,0,0,0,0,0,0,7,0,0,0,25,0, - 0,0,31,0,0,0,115,254,0,0,0,116,0,0,106,1, - 0,106,2,0,124,1,0,131,1,0,125,4,0,124,4,0, - 100,0,0,107,9,0,125,5,0,124,5,0,115,168,0,116, - 4,0,124,1,0,131,1,0,125,4,0,100,3,0,124,4, - 0,95,6,0,124,4,0,116,0,0,106,1,0,124,1,0, - 60,124,0,0,124,4,0,95,7,0,121,19,0,124,0,0, - 106,8,0,124,1,0,131,1,0,125,6,0,87,110,24,0, - 4,116,9,0,116,10,0,102,2,0,107,10,0,114,124,0, - 1,1,1,89,113,177,0,88,124,6,0,114,143,0,124,1, - 0,124,4,0,95,11,0,113,177,0,124,1,0,106,12,0, - 100,1,0,131,1,0,100,2,0,25,124,4,0,95,11,0, - 110,9,0,100,3,0,124,4,0,95,6,0,122,60,0,121, - 23,0,136,0,0,124,0,0,124,4,0,124,2,0,124,3, - 0,142,2,0,83,87,110,30,0,1,1,1,124,5,0,115, - 228,0,116,0,0,106,1,0,124,1,0,61,110,0,0,130, - 0,0,89,110,1,0,88,87,100,0,0,100,4,0,124,4, - 0,95,6,0,88,100,0,0,83,40,5,0,0,0,78,117, - 1,0,0,0,46,105,0,0,0,0,84,70,40,14,0,0, - 0,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,103,101,116,117,4,0, - 0,0,78,111,110,101,117,10,0,0,0,110,101,119,95,109, - 111,100,117,108,101,117,4,0,0,0,84,114,117,101,117,16, - 0,0,0,95,95,105,110,105,116,105,97,108,105,122,105,110, - 103,95,95,117,10,0,0,0,95,95,108,111,97,100,101,114, - 95,95,117,10,0,0,0,105,115,95,112,97,99,107,97,103, - 101,117,11,0,0,0,73,109,112,111,114,116,69,114,114,111, - 114,117,14,0,0,0,65,116,116,114,105,98,117,116,101,69, - 114,114,111,114,117,11,0,0,0,95,95,112,97,99,107,97, - 103,101,95,95,117,10,0,0,0,114,112,97,114,116,105,116, - 105,111,110,117,5,0,0,0,70,97,108,115,101,40,7,0, - 0,0,117,4,0,0,0,115,101,108,102,117,8,0,0,0, - 102,117,108,108,110,97,109,101,117,4,0,0,0,97,114,103, - 115,117,6,0,0,0,107,119,97,114,103,115,117,6,0,0, - 0,109,111,100,117,108,101,117,9,0,0,0,105,115,95,114, - 101,108,111,97,100,117,10,0,0,0,105,115,95,112,97,99, - 107,97,103,101,40,1,0,0,0,117,3,0,0,0,102,120, - 110,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,25,0,0,0,109,111,100, - 117,108,101,95,102,111,114,95,108,111,97,100,101,114,95,119, - 114,97,112,112,101,114,24,2,0,0,115,44,0,0,0,0, - 1,18,1,12,1,6,4,12,3,9,1,13,1,9,1,3, - 1,19,1,19,1,5,2,6,1,12,2,25,2,9,1,6, - 2,23,1,3,1,6,1,13,1,12,2,117,52,0,0,0, + 114,97,116,101,100,32,102,117,110,99,116,105,111,110,32,105, + 115,32,112,97,115,115,101,100,32,116,104,101,32,109,111,100, + 117,108,101,32,116,111,32,117,115,101,32,105,110,115,116,101, + 97,100,32,111,102,32,116,104,101,32,109,111,100,117,108,101, + 10,32,32,32,32,110,97,109,101,46,32,84,104,101,32,109, + 111,100,117,108,101,32,112,97,115,115,101,100,32,105,110,32, + 116,111,32,116,104,101,32,102,117,110,99,116,105,111,110,32, + 105,115,32,101,105,116,104,101,114,32,102,114,111,109,32,115, + 121,115,46,109,111,100,117,108,101,115,32,105,102,10,32,32, + 32,32,105,116,32,97,108,114,101,97,100,121,32,101,120,105, + 115,116,115,32,111,114,32,105,115,32,97,32,110,101,119,32, + 109,111,100,117,108,101,46,32,73,102,32,116,104,101,32,109, + 111,100,117,108,101,32,105,115,32,110,101,119,44,32,116,104, + 101,110,32,95,95,110,97,109,101,95,95,10,32,32,32,32, + 105,115,32,115,101,116,32,116,104,101,32,102,105,114,115,116, + 32,97,114,103,117,109,101,110,116,32,116,111,32,116,104,101, + 32,109,101,116,104,111,100,44,32,95,95,108,111,97,100,101, + 114,95,95,32,105,115,32,115,101,116,32,116,111,32,115,101, + 108,102,44,32,97,110,100,10,32,32,32,32,95,95,112,97, + 99,107,97,103,101,95,95,32,105,115,32,115,101,116,32,97, + 99,99,111,114,100,105,110,103,108,121,32,40,105,102,32,115, + 101,108,102,46,105,115,95,112,97,99,107,97,103,101,40,41, + 32,105,115,32,100,101,102,105,110,101,100,41,32,119,105,108, + 108,32,98,101,32,115,101,116,10,32,32,32,32,98,101,102, + 111,114,101,32,105,116,32,105,115,32,112,97,115,115,101,100, + 32,116,111,32,116,104,101,32,100,101,99,111,114,97,116,101, + 100,32,102,117,110,99,116,105,111,110,32,40,105,102,32,115, + 101,108,102,46,105,115,95,112,97,99,107,97,103,101,40,41, + 32,100,111,101,115,10,32,32,32,32,110,111,116,32,119,111, + 114,107,32,102,111,114,32,116,104,101,32,109,111,100,117,108, + 101,32,105,116,32,119,105,108,108,32,98,101,32,115,101,116, + 32,112,111,115,116,45,108,111,97,100,41,46,10,10,32,32, + 32,32,73,102,32,97,110,32,101,120,99,101,112,116,105,111, + 110,32,105,115,32,114,97,105,115,101,100,32,97,110,100,32, + 116,104,101,32,100,101,99,111,114,97,116,111,114,32,99,114, + 101,97,116,101,100,32,116,104,101,32,109,111,100,117,108,101, + 32,105,116,32,105,115,10,32,32,32,32,115,117,98,115,101, + 113,117,101,110,116,108,121,32,114,101,109,111,118,101,100,32, + 102,114,111,109,32,115,121,115,46,109,111,100,117,108,101,115, + 46,10,10,32,32,32,32,84,104,101,32,100,101,99,111,114, + 97,116,111,114,32,97,115,115,117,109,101,115,32,116,104,97, + 116,32,116,104,101,32,100,101,99,111,114,97,116,101,100,32, + 102,117,110,99,116,105,111,110,32,116,97,107,101,115,32,116, + 104,101,32,109,111,100,117,108,101,32,110,97,109,101,32,97, + 115,10,32,32,32,32,116,104,101,32,115,101,99,111,110,100, + 32,97,114,103,117,109,101,110,116,46,10,10,32,32,32,32, + 99,2,0,0,0,0,0,0,0,7,0,0,0,25,0,0, + 0,31,0,0,0,115,254,0,0,0,116,0,0,106,1,0, + 106,2,0,124,1,0,131,1,0,125,4,0,124,4,0,100, + 0,0,107,9,0,125,5,0,124,5,0,115,168,0,116,3, + 0,124,1,0,131,1,0,125,4,0,100,1,0,124,4,0, + 95,4,0,124,4,0,116,0,0,106,1,0,124,1,0,60, + 124,0,0,124,4,0,95,5,0,121,19,0,124,0,0,106, + 6,0,124,1,0,131,1,0,125,6,0,87,110,24,0,4, + 116,7,0,116,8,0,102,2,0,107,10,0,114,124,0,1, + 1,1,89,113,177,0,88,124,6,0,114,143,0,124,1,0, + 124,4,0,95,9,0,113,177,0,124,1,0,106,10,0,100, + 2,0,131,1,0,100,3,0,25,124,4,0,95,9,0,110, + 9,0,100,1,0,124,4,0,95,4,0,122,60,0,121,23, + 0,136,0,0,124,0,0,124,4,0,124,2,0,124,3,0, + 142,2,0,83,87,110,30,0,1,1,1,124,5,0,115,228, + 0,116,0,0,106,1,0,124,1,0,61,110,0,0,130,0, + 0,89,110,1,0,88,87,100,0,0,100,4,0,124,4,0, + 95,4,0,88,100,0,0,83,40,5,0,0,0,78,84,114, + 104,0,0,0,114,71,0,0,0,70,40,11,0,0,0,114, + 7,0,0,0,244,7,0,0,0,109,111,100,117,108,101,115, + 114,82,0,0,0,114,67,0,0,0,116,16,0,0,0,95, + 95,105,110,105,116,105,97,108,105,122,105,110,103,95,95,114, + 149,0,0,0,244,10,0,0,0,105,115,95,112,97,99,107, + 97,103,101,244,11,0,0,0,73,109,112,111,114,116,69,114, + 114,111,114,244,14,0,0,0,65,116,116,114,105,98,117,116, + 101,69,114,114,111,114,114,142,0,0,0,114,32,0,0,0, + 40,7,0,0,0,114,78,0,0,0,244,8,0,0,0,102, + 117,108,108,110,97,109,101,114,101,0,0,0,114,144,0,0, + 0,114,145,0,0,0,244,9,0,0,0,105,115,95,114,101, + 108,111,97,100,114,153,0,0,0,40,1,0,0,0,114,146, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,25,0, + 0,0,109,111,100,117,108,101,95,102,111,114,95,108,111,97, + 100,101,114,95,119,114,97,112,112,101,114,29,2,0,0,115, + 44,0,0,0,0,1,18,1,12,1,6,4,12,3,9,1, + 13,1,9,1,3,1,19,1,19,1,5,2,6,1,12,2, + 25,2,9,1,6,2,23,1,3,1,6,1,13,1,12,2, + 117,52,0,0,0,109,111,100,117,108,101,95,102,111,114,95, + 108,111,97,100,101,114,46,60,108,111,99,97,108,115,62,46, 109,111,100,117,108,101,95,102,111,114,95,108,111,97,100,101, - 114,46,60,108,111,99,97,108,115,62,46,109,111,100,117,108, - 101,95,102,111,114,95,108,111,97,100,101,114,95,119,114,97, - 112,112,101,114,40,1,0,0,0,117,5,0,0,0,95,119, - 114,97,112,40,2,0,0,0,117,3,0,0,0,102,120,110, - 117,25,0,0,0,109,111,100,117,108,101,95,102,111,114,95, - 108,111,97,100,101,114,95,119,114,97,112,112,101,114,40,0, - 0,0,0,40,1,0,0,0,117,3,0,0,0,102,120,110, - 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,109,111,100,117,108,101,95,102,111, - 114,95,108,111,97,100,101,114,6,2,0,0,115,6,0,0, - 0,0,18,18,33,13,1,117,17,0,0,0,109,111,100,117, - 108,101,95,102,111,114,95,108,111,97,100,101,114,99,1,0, - 0,0,0,0,0,0,2,0,0,0,4,0,0,0,3,0, - 0,0,115,38,0,0,0,100,3,0,135,0,0,102,1,0, - 100,1,0,100,2,0,134,1,0,125,1,0,116,1,0,124, - 1,0,136,0,0,131,2,0,1,124,1,0,83,40,4,0, - 0,0,117,252,0,0,0,68,101,99,111,114,97,116,111,114, - 32,116,111,32,118,101,114,105,102,121,32,116,104,97,116,32, - 116,104,101,32,109,111,100,117,108,101,32,98,101,105,110,103, - 32,114,101,113,117,101,115,116,101,100,32,109,97,116,99,104, - 101,115,32,116,104,101,32,111,110,101,32,116,104,101,10,32, - 32,32,32,108,111,97,100,101,114,32,99,97,110,32,104,97, - 110,100,108,101,46,10,10,32,32,32,32,84,104,101,32,102, - 105,114,115,116,32,97,114,103,117,109,101,110,116,32,40,115, - 101,108,102,41,32,109,117,115,116,32,100,101,102,105,110,101, - 32,95,110,97,109,101,32,119,104,105,99,104,32,116,104,101, - 32,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116, - 32,105,115,10,32,32,32,32,99,111,109,112,97,114,101,100, - 32,97,103,97,105,110,115,116,46,32,73,102,32,116,104,101, - 32,99,111,109,112,97,114,105,115,111,110,32,102,97,105,108, - 115,32,116,104,101,110,32,73,109,112,111,114,116,69,114,114, - 111,114,32,105,115,32,114,97,105,115,101,100,46,10,10,32, - 32,32,32,99,2,0,0,0,0,0,0,0,4,0,0,0, - 5,0,0,0,31,0,0,0,115,83,0,0,0,124,1,0, - 100,0,0,107,8,0,114,24,0,124,0,0,106,1,0,125, - 1,0,110,40,0,124,0,0,106,1,0,124,1,0,107,3, - 0,114,64,0,116,2,0,100,1,0,124,1,0,22,100,2, - 0,124,1,0,131,1,1,130,1,0,110,0,0,136,0,0, - 124,0,0,124,1,0,124,2,0,124,3,0,142,2,0,83, - 40,3,0,0,0,78,117,23,0,0,0,108,111,97,100,101, - 114,32,99,97,110,110,111,116,32,104,97,110,100,108,101,32, - 37,115,117,4,0,0,0,110,97,109,101,40,3,0,0,0, - 117,4,0,0,0,78,111,110,101,117,4,0,0,0,110,97, - 109,101,117,11,0,0,0,73,109,112,111,114,116,69,114,114, - 111,114,40,4,0,0,0,117,4,0,0,0,115,101,108,102, - 117,4,0,0,0,110,97,109,101,117,4,0,0,0,97,114, - 103,115,117,6,0,0,0,107,119,97,114,103,115,40,1,0, - 0,0,117,6,0,0,0,109,101,116,104,111,100,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,19,0,0,0,95,99,104,101,99,107,95, - 110,97,109,101,95,119,114,97,112,112,101,114,69,2,0,0, - 115,10,0,0,0,0,1,12,1,12,1,15,1,25,1,117, - 40,0,0,0,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,101,114,78,40,2,0, - 0,0,117,4,0,0,0,78,111,110,101,117,5,0,0,0, - 95,119,114,97,112,40,2,0,0,0,117,6,0,0,0,109, - 101,116,104,111,100,117,19,0,0,0,95,99,104,101,99,107, - 95,110,97,109,101,95,119,114,97,112,112,101,114,40,0,0, - 0,0,40,1,0,0,0,117,6,0,0,0,109,101,116,104, - 111,100,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,99,104,101,99,107,95, - 110,97,109,101,61,2,0,0,115,6,0,0,0,0,8,21, - 6,13,1,117,11,0,0,0,95,99,104,101,99,107,95,110, - 97,109,101,99,1,0,0,0,0,0,0,0,2,0,0,0, - 3,0,0,0,3,0,0,0,115,35,0,0,0,135,0,0, - 102,1,0,100,1,0,100,2,0,134,0,0,125,1,0,116, + 114,95,119,114,97,112,112,101,114,40,1,0,0,0,114,64, + 0,0,0,40,2,0,0,0,114,146,0,0,0,114,158,0, + 0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0, + 0,114,5,0,0,0,244,17,0,0,0,109,111,100,117,108, + 101,95,102,111,114,95,108,111,97,100,101,114,11,2,0,0, + 115,6,0,0,0,0,18,18,33,13,1,114,159,0,0,0, + 99,1,0,0,0,0,0,0,0,2,0,0,0,4,0,0, + 0,3,0,0,0,115,38,0,0,0,100,1,0,135,0,0, + 102,1,0,100,2,0,100,3,0,134,1,0,125,1,0,116, 0,0,124,1,0,136,0,0,131,2,0,1,124,1,0,83, - 40,3,0,0,0,117,49,0,0,0,68,101,99,111,114,97, + 40,4,0,0,0,117,252,0,0,0,68,101,99,111,114,97, 116,111,114,32,116,111,32,118,101,114,105,102,121,32,116,104, - 101,32,110,97,109,101,100,32,109,111,100,117,108,101,32,105, - 115,32,98,117,105,108,116,45,105,110,46,99,2,0,0,0, - 0,0,0,0,2,0,0,0,4,0,0,0,19,0,0,0, - 115,58,0,0,0,124,1,0,116,0,0,106,1,0,107,7, - 0,114,45,0,116,2,0,100,1,0,106,3,0,124,1,0, - 131,1,0,100,2,0,124,1,0,131,1,1,130,1,0,110, - 0,0,136,0,0,124,0,0,124,1,0,131,2,0,83,40, - 3,0,0,0,78,117,27,0,0,0,123,125,32,105,115,32, - 110,111,116,32,97,32,98,117,105,108,116,45,105,110,32,109, - 111,100,117,108,101,117,4,0,0,0,110,97,109,101,40,4, - 0,0,0,117,3,0,0,0,115,121,115,117,20,0,0,0, - 98,117,105,108,116,105,110,95,109,111,100,117,108,101,95,110, - 97,109,101,115,117,11,0,0,0,73,109,112,111,114,116,69, - 114,114,111,114,117,6,0,0,0,102,111,114,109,97,116,40, - 2,0,0,0,117,4,0,0,0,115,101,108,102,117,8,0, - 0,0,102,117,108,108,110,97,109,101,40,1,0,0,0,117, - 3,0,0,0,102,120,110,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,25, - 0,0,0,95,114,101,113,117,105,114,101,115,95,98,117,105, - 108,116,105,110,95,119,114,97,112,112,101,114,81,2,0,0, - 115,8,0,0,0,0,1,15,1,18,1,12,1,117,52,0, + 97,116,32,116,104,101,32,109,111,100,117,108,101,32,98,101, + 105,110,103,32,114,101,113,117,101,115,116,101,100,32,109,97, + 116,99,104,101,115,32,116,104,101,32,111,110,101,32,116,104, + 101,10,32,32,32,32,108,111,97,100,101,114,32,99,97,110, + 32,104,97,110,100,108,101,46,10,10,32,32,32,32,84,104, + 101,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116, + 32,40,115,101,108,102,41,32,109,117,115,116,32,100,101,102, + 105,110,101,32,95,110,97,109,101,32,119,104,105,99,104,32, + 116,104,101,32,115,101,99,111,110,100,32,97,114,103,117,109, + 101,110,116,32,105,115,10,32,32,32,32,99,111,109,112,97, + 114,101,100,32,97,103,97,105,110,115,116,46,32,73,102,32, + 116,104,101,32,99,111,109,112,97,114,105,115,111,110,32,102, + 97,105,108,115,32,116,104,101,110,32,73,109,112,111,114,116, + 69,114,114,111,114,32,105,115,32,114,97,105,115,101,100,46, + 10,10,32,32,32,32,78,99,2,0,0,0,0,0,0,0, + 4,0,0,0,5,0,0,0,31,0,0,0,115,83,0,0, + 0,124,1,0,100,0,0,107,8,0,114,24,0,124,0,0, + 106,0,0,125,1,0,110,40,0,124,0,0,106,0,0,124, + 1,0,107,3,0,114,64,0,116,1,0,100,1,0,124,1, + 0,22,100,2,0,124,1,0,131,1,1,130,1,0,110,0, + 0,136,0,0,124,0,0,124,1,0,124,2,0,124,3,0, + 142,2,0,83,40,3,0,0,0,78,117,23,0,0,0,108, + 111,97,100,101,114,32,99,97,110,110,111,116,32,104,97,110, + 100,108,101,32,37,115,114,66,0,0,0,40,2,0,0,0, + 114,66,0,0,0,114,154,0,0,0,40,4,0,0,0,114, + 78,0,0,0,114,66,0,0,0,114,101,0,0,0,114,144, + 0,0,0,40,1,0,0,0,244,6,0,0,0,109,101,116, + 104,111,100,114,4,0,0,0,114,5,0,0,0,244,19,0, + 0,0,95,99,104,101,99,107,95,110,97,109,101,95,119,114, + 97,112,112,101,114,74,2,0,0,115,10,0,0,0,0,1, + 12,1,12,1,15,1,25,1,117,40,0,0,0,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,101,114,40,1,0,0,0,114,64,0,0,0,40, + 2,0,0,0,114,160,0,0,0,114,161,0,0,0,114,4, + 0,0,0,40,1,0,0,0,114,160,0,0,0,114,5,0, + 0,0,244,11,0,0,0,95,99,104,101,99,107,95,110,97, + 109,101,66,2,0,0,115,6,0,0,0,0,8,21,6,13, + 1,114,162,0,0,0,99,1,0,0,0,0,0,0,0,2, + 0,0,0,3,0,0,0,3,0,0,0,115,35,0,0,0, + 135,0,0,102,1,0,100,1,0,100,2,0,134,0,0,125, + 1,0,116,0,0,124,1,0,136,0,0,131,2,0,1,124, + 1,0,83,40,3,0,0,0,117,49,0,0,0,68,101,99, + 111,114,97,116,111,114,32,116,111,32,118,101,114,105,102,121, + 32,116,104,101,32,110,97,109,101,100,32,109,111,100,117,108, + 101,32,105,115,32,98,117,105,108,116,45,105,110,46,99,2, + 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,19, + 0,0,0,115,58,0,0,0,124,1,0,116,0,0,106,1, + 0,107,7,0,114,45,0,116,2,0,100,1,0,106,3,0, + 124,1,0,131,1,0,100,2,0,124,1,0,131,1,1,130, + 1,0,110,0,0,136,0,0,124,0,0,124,1,0,131,2, + 0,83,40,3,0,0,0,78,117,27,0,0,0,123,125,32, + 105,115,32,110,111,116,32,97,32,98,117,105,108,116,45,105, + 110,32,109,111,100,117,108,101,114,66,0,0,0,40,4,0, + 0,0,114,7,0,0,0,244,20,0,0,0,98,117,105,108, + 116,105,110,95,109,111,100,117,108,101,95,110,97,109,101,115, + 114,154,0,0,0,114,46,0,0,0,40,2,0,0,0,114, + 78,0,0,0,114,156,0,0,0,40,1,0,0,0,114,146, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,25,0, 0,0,95,114,101,113,117,105,114,101,115,95,98,117,105,108, - 116,105,110,46,60,108,111,99,97,108,115,62,46,95,114,101, - 113,117,105,114,101,115,95,98,117,105,108,116,105,110,95,119, - 114,97,112,112,101,114,40,1,0,0,0,117,5,0,0,0, - 95,119,114,97,112,40,2,0,0,0,117,3,0,0,0,102, - 120,110,117,25,0,0,0,95,114,101,113,117,105,114,101,115, - 95,98,117,105,108,116,105,110,95,119,114,97,112,112,101,114, - 40,0,0,0,0,40,1,0,0,0,117,3,0,0,0,102, - 120,110,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,114,101,113,117,105,114, - 101,115,95,98,117,105,108,116,105,110,79,2,0,0,115,6, - 0,0,0,0,2,18,5,13,1,117,17,0,0,0,95,114, - 101,113,117,105,114,101,115,95,98,117,105,108,116,105,110,99, - 1,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0, - 3,0,0,0,115,35,0,0,0,135,0,0,102,1,0,100, - 1,0,100,2,0,134,0,0,125,1,0,116,0,0,124,1, - 0,136,0,0,131,2,0,1,124,1,0,83,40,3,0,0, - 0,117,47,0,0,0,68,101,99,111,114,97,116,111,114,32, - 116,111,32,118,101,114,105,102,121,32,116,104,101,32,110,97, - 109,101,100,32,109,111,100,117,108,101,32,105,115,32,102,114, - 111,122,101,110,46,99,2,0,0,0,0,0,0,0,2,0, - 0,0,4,0,0,0,19,0,0,0,115,58,0,0,0,116, - 0,0,106,1,0,124,1,0,131,1,0,115,45,0,116,2, - 0,100,1,0,106,3,0,124,1,0,131,1,0,100,2,0, - 124,1,0,131,1,1,130,1,0,110,0,0,136,0,0,124, - 0,0,124,1,0,131,2,0,83,40,3,0,0,0,78,117, - 25,0,0,0,123,125,32,105,115,32,110,111,116,32,97,32, - 102,114,111,122,101,110,32,109,111,100,117,108,101,117,4,0, - 0,0,110,97,109,101,40,4,0,0,0,117,4,0,0,0, - 95,105,109,112,117,9,0,0,0,105,115,95,102,114,111,122, - 101,110,117,11,0,0,0,73,109,112,111,114,116,69,114,114, - 111,114,117,6,0,0,0,102,111,114,109,97,116,40,2,0, - 0,0,117,4,0,0,0,115,101,108,102,117,8,0,0,0, - 102,117,108,108,110,97,109,101,40,1,0,0,0,117,3,0, - 0,0,102,120,110,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,24,0,0, - 0,95,114,101,113,117,105,114,101,115,95,102,114,111,122,101, - 110,95,119,114,97,112,112,101,114,92,2,0,0,115,8,0, - 0,0,0,1,15,1,18,1,12,1,117,50,0,0,0,95, - 114,101,113,117,105,114,101,115,95,102,114,111,122,101,110,46, - 60,108,111,99,97,108,115,62,46,95,114,101,113,117,105,114, + 116,105,110,95,119,114,97,112,112,101,114,86,2,0,0,115, + 8,0,0,0,0,1,15,1,18,1,12,1,117,52,0,0, + 0,95,114,101,113,117,105,114,101,115,95,98,117,105,108,116, + 105,110,46,60,108,111,99,97,108,115,62,46,95,114,101,113, + 117,105,114,101,115,95,98,117,105,108,116,105,110,95,119,114, + 97,112,112,101,114,40,1,0,0,0,114,64,0,0,0,40, + 2,0,0,0,114,146,0,0,0,114,164,0,0,0,114,4, + 0,0,0,40,1,0,0,0,114,146,0,0,0,114,5,0, + 0,0,244,17,0,0,0,95,114,101,113,117,105,114,101,115, + 95,98,117,105,108,116,105,110,84,2,0,0,115,6,0,0, + 0,0,2,18,5,13,1,114,165,0,0,0,99,1,0,0, + 0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0, + 0,115,35,0,0,0,135,0,0,102,1,0,100,1,0,100, + 2,0,134,0,0,125,1,0,116,0,0,124,1,0,136,0, + 0,131,2,0,1,124,1,0,83,40,3,0,0,0,117,47, + 0,0,0,68,101,99,111,114,97,116,111,114,32,116,111,32, + 118,101,114,105,102,121,32,116,104,101,32,110,97,109,101,100, + 32,109,111,100,117,108,101,32,105,115,32,102,114,111,122,101, + 110,46,99,2,0,0,0,0,0,0,0,2,0,0,0,4, + 0,0,0,19,0,0,0,115,58,0,0,0,116,0,0,106, + 1,0,124,1,0,131,1,0,115,45,0,116,2,0,100,1, + 0,106,3,0,124,1,0,131,1,0,100,2,0,124,1,0, + 131,1,1,130,1,0,110,0,0,136,0,0,124,0,0,124, + 1,0,131,2,0,83,40,3,0,0,0,78,117,25,0,0, + 0,123,125,32,105,115,32,110,111,116,32,97,32,102,114,111, + 122,101,110,32,109,111,100,117,108,101,114,66,0,0,0,40, + 4,0,0,0,114,97,0,0,0,244,9,0,0,0,105,115, + 95,102,114,111,122,101,110,114,154,0,0,0,114,46,0,0, + 0,40,2,0,0,0,114,78,0,0,0,114,156,0,0,0, + 40,1,0,0,0,114,146,0,0,0,114,4,0,0,0,114, + 5,0,0,0,244,24,0,0,0,95,114,101,113,117,105,114, 101,115,95,102,114,111,122,101,110,95,119,114,97,112,112,101, - 114,40,1,0,0,0,117,5,0,0,0,95,119,114,97,112, - 40,2,0,0,0,117,3,0,0,0,102,120,110,117,24,0, - 0,0,95,114,101,113,117,105,114,101,115,95,102,114,111,122, - 101,110,95,119,114,97,112,112,101,114,40,0,0,0,0,40, - 1,0,0,0,117,3,0,0,0,102,120,110,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,114,101,113,117,105,114,101,115,95,102,114,111, - 122,101,110,90,2,0,0,115,6,0,0,0,0,2,18,5, - 13,1,117,16,0,0,0,95,114,101,113,117,105,114,101,115, - 95,102,114,111,122,101,110,99,2,0,0,0,0,0,0,0, - 5,0,0,0,5,0,0,0,67,0,0,0,115,87,0,0, - 0,124,0,0,106,0,0,124,1,0,131,1,0,92,2,0, - 125,2,0,125,3,0,124,2,0,100,3,0,107,8,0,114, - 83,0,116,2,0,124,3,0,131,1,0,114,83,0,100,1, - 0,125,4,0,116,3,0,106,4,0,124,4,0,106,5,0, - 124,3,0,100,2,0,25,131,1,0,116,6,0,131,2,0, - 1,110,0,0,124,2,0,83,40,4,0,0,0,117,86,0, - 0,0,84,114,121,32,116,111,32,102,105,110,100,32,97,32, - 108,111,97,100,101,114,32,102,111,114,32,116,104,101,32,115, - 112,101,99,105,102,105,101,100,32,109,111,100,117,108,101,32, - 98,121,32,100,101,108,101,103,97,116,105,110,103,32,116,111, - 10,32,32,32,32,115,101,108,102,46,102,105,110,100,95,108, - 111,97,100,101,114,40,41,46,117,44,0,0,0,78,111,116, - 32,105,109,112,111,114,116,105,110,103,32,100,105,114,101,99, - 116,111,114,121,32,123,125,58,32,109,105,115,115,105,110,103, - 32,95,95,105,110,105,116,95,95,105,0,0,0,0,78,40, - 7,0,0,0,117,11,0,0,0,102,105,110,100,95,108,111, - 97,100,101,114,117,4,0,0,0,78,111,110,101,117,3,0, - 0,0,108,101,110,117,9,0,0,0,95,119,97,114,110,105, - 110,103,115,117,4,0,0,0,119,97,114,110,117,6,0,0, - 0,102,111,114,109,97,116,117,13,0,0,0,73,109,112,111, - 114,116,87,97,114,110,105,110,103,40,5,0,0,0,117,4, - 0,0,0,115,101,108,102,117,8,0,0,0,102,117,108,108, - 110,97,109,101,117,6,0,0,0,108,111,97,100,101,114,117, - 8,0,0,0,112,111,114,116,105,111,110,115,117,3,0,0, - 0,109,115,103,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,102,105,110,100,95,109,111,100,117,108, - 101,95,115,104,105,109,101,2,0,0,115,10,0,0,0,0, - 6,21,1,24,1,6,1,32,1,117,17,0,0,0,95,102, - 105,110,100,95,109,111,100,117,108,101,95,115,104,105,109,99, - 1,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0, - 66,0,0,0,115,173,0,0,0,124,0,0,69,101,0,0, - 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,101, - 4,0,100,2,0,100,3,0,132,0,0,131,1,0,90,5, - 0,101,4,0,100,14,0,100,4,0,100,5,0,132,1,0, - 131,1,0,90,7,0,101,4,0,101,8,0,101,9,0,101, - 10,0,100,6,0,100,7,0,132,0,0,131,1,0,131,1, - 0,131,1,0,131,1,0,90,11,0,101,4,0,101,10,0, - 100,8,0,100,9,0,132,0,0,131,1,0,131,1,0,90, - 12,0,101,4,0,101,10,0,100,10,0,100,11,0,132,0, - 0,131,1,0,131,1,0,90,13,0,101,4,0,101,10,0, - 100,12,0,100,13,0,132,0,0,131,1,0,131,1,0,90, - 14,0,100,14,0,83,40,15,0,0,0,117,15,0,0,0, - 66,117,105,108,116,105,110,73,109,112,111,114,116,101,114,117, - 144,0,0,0,77,101,116,97,32,112,97,116,104,32,105,109, - 112,111,114,116,32,102,111,114,32,98,117,105,108,116,45,105, - 110,32,109,111,100,117,108,101,115,46,10,10,32,32,32,32, - 65,108,108,32,109,101,116,104,111,100,115,32,97,114,101,32, - 101,105,116,104,101,114,32,99,108,97,115,115,32,111,114,32, - 115,116,97,116,105,99,32,109,101,116,104,111,100,115,32,116, - 111,32,97,118,111,105,100,32,116,104,101,32,110,101,101,100, - 32,116,111,10,32,32,32,32,105,110,115,116,97,110,116,105, - 97,116,101,32,116,104,101,32,99,108,97,115,115,46,10,10, - 32,32,32,32,99,2,0,0,0,0,0,0,0,2,0,0, - 0,2,0,0,0,67,0,0,0,115,16,0,0,0,100,1, - 0,106,0,0,124,1,0,106,1,0,131,1,0,83,40,2, - 0,0,0,78,117,24,0,0,0,60,109,111,100,117,108,101, - 32,39,123,125,39,32,40,98,117,105,108,116,45,105,110,41, - 62,40,2,0,0,0,117,6,0,0,0,102,111,114,109,97, - 116,117,8,0,0,0,95,95,110,97,109,101,95,95,40,2, - 0,0,0,117,3,0,0,0,99,108,115,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,11,0,0,0,109,111,100,117,108,101,95,114,101, - 112,114,127,2,0,0,115,2,0,0,0,0,2,117,27,0, - 0,0,66,117,105,108,116,105,110,73,109,112,111,114,116,101, - 114,46,109,111,100,117,108,101,95,114,101,112,114,99,3,0, - 0,0,0,0,0,0,3,0,0,0,2,0,0,0,67,0, - 0,0,115,39,0,0,0,124,2,0,100,1,0,107,9,0, - 114,16,0,100,1,0,83,116,1,0,106,2,0,124,1,0, - 131,1,0,114,35,0,124,0,0,83,100,1,0,83,40,2, - 0,0,0,117,113,0,0,0,70,105,110,100,32,116,104,101, - 32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101, - 46,10,10,32,32,32,32,32,32,32,32,73,102,32,39,112, - 97,116,104,39,32,105,115,32,101,118,101,114,32,115,112,101, - 99,105,102,105,101,100,32,116,104,101,110,32,116,104,101,32, - 115,101,97,114,99,104,32,105,115,32,99,111,110,115,105,100, - 101,114,101,100,32,97,32,102,97,105,108,117,114,101,46,10, - 10,32,32,32,32,32,32,32,32,78,40,3,0,0,0,117, - 4,0,0,0,78,111,110,101,117,4,0,0,0,95,105,109, - 112,117,10,0,0,0,105,115,95,98,117,105,108,116,105,110, - 40,3,0,0,0,117,3,0,0,0,99,108,115,117,8,0, - 0,0,102,117,108,108,110,97,109,101,117,4,0,0,0,112, - 97,116,104,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,102,105,110,100,95,109,111,100,117,108,101,131, - 2,0,0,115,6,0,0,0,0,7,12,1,4,1,117,27, - 0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,116, - 101,114,46,102,105,110,100,95,109,111,100,117,108,101,99,2, - 0,0,0,0,0,0,0,3,0,0,0,9,0,0,0,67, - 0,0,0,115,88,0,0,0,124,1,0,116,0,0,106,1, - 0,107,6,0,125,2,0,121,20,0,116,2,0,116,3,0, - 106,4,0,124,1,0,131,2,0,83,87,110,46,0,1,1, - 1,124,2,0,12,114,76,0,124,1,0,116,0,0,106,1, - 0,107,6,0,114,76,0,116,0,0,106,1,0,124,1,0, - 61,110,0,0,130,0,0,89,110,1,0,88,100,1,0,83, - 40,2,0,0,0,117,23,0,0,0,76,111,97,100,32,97, - 32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101, - 46,78,40,5,0,0,0,117,3,0,0,0,115,121,115,117, - 7,0,0,0,109,111,100,117,108,101,115,117,25,0,0,0, - 95,99,97,108,108,95,119,105,116,104,95,102,114,97,109,101, - 115,95,114,101,109,111,118,101,100,117,4,0,0,0,95,105, - 109,112,117,12,0,0,0,105,110,105,116,95,98,117,105,108, - 116,105,110,40,3,0,0,0,117,3,0,0,0,99,108,115, - 117,8,0,0,0,102,117,108,108,110,97,109,101,117,9,0, - 0,0,105,115,95,114,101,108,111,97,100,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,108,111,97,100, - 95,109,111,100,117,108,101,142,2,0,0,115,14,0,0,0, - 0,6,15,1,3,1,20,1,3,1,22,1,13,1,117,27, - 0,0,0,66,117,105,108,116,105,110,73,109,112,111,114,116, - 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,4,0,0,0,100,1,0,83,40,2,0,0, - 0,117,57,0,0,0,82,101,116,117,114,110,32,78,111,110, - 101,32,97,115,32,98,117,105,108,116,45,105,110,32,109,111, - 100,117,108,101,115,32,100,111,32,110,111,116,32,104,97,118, - 101,32,99,111,100,101,32,111,98,106,101,99,116,115,46,78, - 40,1,0,0,0,117,4,0,0,0,78,111,110,101,40,2, - 0,0,0,117,3,0,0,0,99,108,115,117,8,0,0,0, - 102,117,108,108,110,97,109,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,8,0,0,0,103,101,116,95,99,111,100, - 101,156,2,0,0,115,2,0,0,0,0,4,117,24,0,0, - 0,66,117,105,108,116,105,110,73,109,112,111,114,116,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, - 0,0,0,100,1,0,83,40,2,0,0,0,117,56,0,0, - 0,82,101,116,117,114,110,32,78,111,110,101,32,97,115,32, - 98,117,105,108,116,45,105,110,32,109,111,100,117,108,101,115, - 32,100,111,32,110,111,116,32,104,97,118,101,32,115,111,117, - 114,99,101,32,99,111,100,101,46,78,40,1,0,0,0,117, - 4,0,0,0,78,111,110,101,40,2,0,0,0,117,3,0, - 0,0,99,108,115,117,8,0,0,0,102,117,108,108,110,97, - 109,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,10, - 0,0,0,103,101,116,95,115,111,117,114,99,101,162,2,0, - 0,115,2,0,0,0,0,4,117,26,0,0,0,66,117,105, - 108,116,105,110,73,109,112,111,114,116,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,1,0,0,0,67,0,0,0,115,4,0,0, - 0,100,1,0,83,40,2,0,0,0,117,52,0,0,0,82, - 101,116,117,114,110,32,70,97,108,115,101,32,97,115,32,98, - 117,105,108,116,45,105,110,32,109,111,100,117,108,101,115,32, - 97,114,101,32,110,101,118,101,114,32,112,97,99,107,97,103, - 101,115,46,70,40,1,0,0,0,117,5,0,0,0,70,97, - 108,115,101,40,2,0,0,0,117,3,0,0,0,99,108,115, - 117,8,0,0,0,102,117,108,108,110,97,109,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,10,0,0,0,105,115, - 95,112,97,99,107,97,103,101,168,2,0,0,115,2,0,0, - 0,0,4,117,26,0,0,0,66,117,105,108,116,105,110,73, - 109,112,111,114,116,101,114,46,105,115,95,112,97,99,107,97, - 103,101,78,40,15,0,0,0,117,8,0,0,0,95,95,110, - 97,109,101,95,95,117,10,0,0,0,95,95,109,111,100,117, - 108,101,95,95,117,12,0,0,0,95,95,113,117,97,108,110, - 97,109,101,95,95,117,7,0,0,0,95,95,100,111,99,95, - 95,117,11,0,0,0,99,108,97,115,115,109,101,116,104,111, - 100,117,11,0,0,0,109,111,100,117,108,101,95,114,101,112, - 114,117,4,0,0,0,78,111,110,101,117,11,0,0,0,102, - 105,110,100,95,109,111,100,117,108,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,95,114, - 101,113,117,105,114,101,115,95,98,117,105,108,116,105,110,117, - 11,0,0,0,108,111,97,100,95,109,111,100,117,108,101,117, - 8,0,0,0,103,101,116,95,99,111,100,101,117,10,0,0, - 0,103,101,116,95,115,111,117,114,99,101,117,10,0,0,0, - 105,115,95,112,97,99,107,97,103,101,40,1,0,0,0,117, - 10,0,0,0,95,95,108,111,99,97,108,115,95,95,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,15,0,0,0,66, - 117,105,108,116,105,110,73,109,112,111,114,116,101,114,118,2, - 0,0,115,28,0,0,0,16,7,6,2,18,4,3,1,18, - 10,3,1,3,1,3,1,27,11,3,1,21,5,3,1,21, - 5,3,1,117,15,0,0,0,66,117,105,108,116,105,110,73, - 109,112,111,114,116,101,114,99,1,0,0,0,0,0,0,0, - 1,0,0,0,6,0,0,0,66,0,0,0,115,173,0,0, - 0,124,0,0,69,101,0,0,90,1,0,100,0,0,90,2, - 0,100,1,0,90,3,0,101,4,0,100,2,0,100,3,0, - 132,0,0,131,1,0,90,5,0,101,4,0,100,14,0,100, - 4,0,100,5,0,132,1,0,131,1,0,90,7,0,101,4, - 0,101,8,0,101,9,0,101,10,0,100,6,0,100,7,0, - 132,0,0,131,1,0,131,1,0,131,1,0,131,1,0,90, - 11,0,101,4,0,101,10,0,100,8,0,100,9,0,132,0, - 0,131,1,0,131,1,0,90,12,0,101,4,0,101,10,0, - 100,10,0,100,11,0,132,0,0,131,1,0,131,1,0,90, - 13,0,101,4,0,101,10,0,100,12,0,100,13,0,132,0, - 0,131,1,0,131,1,0,90,14,0,100,14,0,83,40,15, - 0,0,0,117,14,0,0,0,70,114,111,122,101,110,73,109, - 112,111,114,116,101,114,117,142,0,0,0,77,101,116,97,32, - 112,97,116,104,32,105,109,112,111,114,116,32,102,111,114,32, - 102,114,111,122,101,110,32,109,111,100,117,108,101,115,46,10, + 114,97,2,0,0,115,8,0,0,0,0,1,15,1,18,1, + 12,1,117,50,0,0,0,95,114,101,113,117,105,114,101,115, + 95,102,114,111,122,101,110,46,60,108,111,99,97,108,115,62, + 46,95,114,101,113,117,105,114,101,115,95,102,114,111,122,101, + 110,95,119,114,97,112,112,101,114,40,1,0,0,0,114,64, + 0,0,0,40,2,0,0,0,114,146,0,0,0,114,167,0, + 0,0,114,4,0,0,0,40,1,0,0,0,114,146,0,0, + 0,114,5,0,0,0,244,16,0,0,0,95,114,101,113,117, + 105,114,101,115,95,102,114,111,122,101,110,95,2,0,0,115, + 6,0,0,0,0,2,18,5,13,1,114,168,0,0,0,99, + 2,0,0,0,0,0,0,0,5,0,0,0,5,0,0,0, + 67,0,0,0,115,87,0,0,0,124,0,0,106,0,0,124, + 1,0,131,1,0,92,2,0,125,2,0,125,3,0,124,2, + 0,100,1,0,107,8,0,114,83,0,116,1,0,124,3,0, + 131,1,0,114,83,0,100,2,0,125,4,0,116,2,0,106, + 3,0,124,4,0,106,4,0,124,3,0,100,3,0,25,131, + 1,0,116,5,0,131,2,0,1,110,0,0,124,2,0,83, + 40,4,0,0,0,117,86,0,0,0,84,114,121,32,116,111, + 32,102,105,110,100,32,97,32,108,111,97,100,101,114,32,102, + 111,114,32,116,104,101,32,115,112,101,99,105,102,105,101,100, + 32,109,111,100,117,108,101,32,98,121,32,100,101,108,101,103, + 97,116,105,110,103,32,116,111,10,32,32,32,32,115,101,108, + 102,46,102,105,110,100,95,108,111,97,100,101,114,40,41,46, + 78,117,44,0,0,0,78,111,116,32,105,109,112,111,114,116, + 105,110,103,32,100,105,114,101,99,116,111,114,121,32,123,125, + 58,32,109,105,115,115,105,110,103,32,95,95,105,110,105,116, + 95,95,114,71,0,0,0,40,6,0,0,0,244,11,0,0, + 0,102,105,110,100,95,108,111,97,100,101,114,114,31,0,0, + 0,244,9,0,0,0,95,119,97,114,110,105,110,103,115,244, + 4,0,0,0,119,97,114,110,114,46,0,0,0,244,13,0, + 0,0,73,109,112,111,114,116,87,97,114,110,105,110,103,40, + 5,0,0,0,114,78,0,0,0,114,156,0,0,0,244,6, + 0,0,0,108,111,97,100,101,114,244,8,0,0,0,112,111, + 114,116,105,111,110,115,244,3,0,0,0,109,115,103,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,17,0, + 0,0,95,102,105,110,100,95,109,111,100,117,108,101,95,115, + 104,105,109,106,2,0,0,115,10,0,0,0,0,6,21,1, + 24,1,6,1,32,1,114,176,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,243,1,0,0,105,0,0,125,4,0,124,2,0,100,1, + 0,107,9,0,114,31,0,124,2,0,124,4,0,100,2,0, + 60,110,6,0,100,3,0,125,2,0,124,3,0,100,1,0, + 107,9,0,114,62,0,124,3,0,124,4,0,100,4,0,60, + 110,0,0,124,0,0,100,1,0,100,5,0,133,2,0,25, + 125,5,0,124,0,0,100,5,0,100,6,0,133,2,0,25, + 125,6,0,124,0,0,100,6,0,100,7,0,133,2,0,25, + 125,7,0,124,5,0,116,0,0,107,3,0,114,168,0,100, + 8,0,106,1,0,124,2,0,124,5,0,131,2,0,125,8, + 0,116,2,0,124,8,0,131,1,0,1,116,3,0,124,8, + 0,124,4,0,141,1,0,130,1,0,110,116,0,116,4,0, + 124,6,0,131,1,0,100,5,0,107,3,0,114,226,0,100, + 9,0,106,1,0,124,2,0,131,1,0,125,8,0,116,2, + 0,124,8,0,131,1,0,1,116,5,0,124,8,0,131,1, + 0,130,1,0,110,58,0,116,4,0,124,7,0,131,1,0, + 100,5,0,107,3,0,114,28,1,100,10,0,106,1,0,124, + 2,0,131,1,0,125,8,0,116,2,0,124,8,0,131,1, + 0,1,116,5,0,124,8,0,131,1,0,130,1,0,110,0, + 0,124,1,0,100,1,0,107,9,0,114,229,1,121,20,0, + 116,6,0,124,1,0,100,11,0,25,131,1,0,125,9,0, + 87,110,18,0,4,116,7,0,107,10,0,114,80,1,1,1, + 1,89,110,62,0,88,116,8,0,124,6,0,131,1,0,124, + 9,0,107,3,0,114,142,1,100,12,0,106,1,0,124,2, + 0,131,1,0,125,8,0,116,2,0,124,8,0,131,1,0, + 1,116,3,0,124,8,0,124,4,0,141,1,0,130,1,0, + 110,0,0,121,18,0,124,1,0,100,13,0,25,100,14,0, + 64,125,10,0,87,110,18,0,4,116,7,0,107,10,0,114, + 180,1,1,1,1,89,113,229,1,88,116,8,0,124,7,0, + 131,1,0,124,10,0,107,3,0,114,229,1,116,3,0,100, + 12,0,106,1,0,124,2,0,131,1,0,124,4,0,141,1, + 0,130,1,0,113,229,1,110,0,0,124,0,0,100,7,0, + 100,1,0,133,2,0,25,83,40,15,0,0,0,117,122,1, + 0,0,86,97,108,105,100,97,116,101,32,116,104,101,32,104, + 101,97,100,101,114,32,111,102,32,116,104,101,32,112,97,115, + 115,101,100,45,105,110,32,98,121,116,101,99,111,100,101,32, + 97,103,97,105,110,115,116,32,115,111,117,114,99,101,95,115, + 116,97,116,115,32,40,105,102,10,32,32,32,32,103,105,118, + 101,110,41,32,97,110,100,32,114,101,116,117,114,110,105,110, + 103,32,116,104,101,32,98,121,116,101,99,111,100,101,32,116, + 104,97,116,32,99,97,110,32,98,101,32,99,111,109,112,105, + 108,101,100,32,98,121,32,99,111,109,112,105,108,101,40,41, + 46,10,10,32,32,32,32,65,108,108,32,111,116,104,101,114, + 32,97,114,103,117,109,101,110,116,115,32,97,114,101,32,117, + 115,101,100,32,116,111,32,101,110,104,97,110,99,101,32,101, + 114,114,111,114,32,114,101,112,111,114,116,105,110,103,46,10, + 10,32,32,32,32,73,109,112,111,114,116,69,114,114,111,114, + 32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32, + 116,104,101,32,109,97,103,105,99,32,110,117,109,98,101,114, + 32,105,115,32,105,110,99,111,114,114,101,99,116,32,111,114, + 32,116,104,101,32,98,121,116,101,99,111,100,101,32,105,115, + 10,32,32,32,32,102,111,117,110,100,32,116,111,32,98,101, + 32,115,116,97,108,101,46,32,69,79,70,69,114,114,111,114, + 32,105,115,32,114,97,105,115,101,100,32,119,104,101,110,32, + 116,104,101,32,100,97,116,97,32,105,115,32,102,111,117,110, + 100,32,116,111,32,98,101,10,32,32,32,32,116,114,117,110, + 99,97,116,101,100,46,10,10,32,32,32,32,78,114,66,0, + 0,0,117,10,0,0,0,60,98,121,116,101,99,111,100,101, + 62,114,35,0,0,0,114,12,0,0,0,233,8,0,0,0, + 233,12,0,0,0,117,30,0,0,0,98,97,100,32,109,97, + 103,105,99,32,110,117,109,98,101,114,32,105,110,32,123,33, + 114,125,58,32,123,33,114,125,117,28,0,0,0,105,110,99, + 111,109,112,108,101,116,101,32,116,105,109,101,115,116,97,109, + 112,32,105,110,32,123,33,114,125,117,23,0,0,0,105,110, + 99,111,109,112,108,101,116,101,32,115,105,122,101,32,105,110, + 32,123,33,114,125,244,5,0,0,0,109,116,105,109,101,117, + 26,0,0,0,98,121,116,101,99,111,100,101,32,105,115,32, + 115,116,97,108,101,32,102,111,114,32,123,33,114,125,244,4, + 0,0,0,115,105,122,101,108,3,0,0,0,255,127,255,127, + 3,0,40,9,0,0,0,244,12,0,0,0,95,77,65,71, + 73,67,95,66,89,84,69,83,114,46,0,0,0,114,141,0, + 0,0,114,154,0,0,0,114,31,0,0,0,244,8,0,0, + 0,69,79,70,69,114,114,111,114,114,14,0,0,0,114,94, + 0,0,0,114,19,0,0,0,40,11,0,0,0,114,52,0, + 0,0,114,128,0,0,0,114,66,0,0,0,114,35,0,0, + 0,116,11,0,0,0,101,120,99,95,100,101,116,97,105,108, + 115,116,5,0,0,0,109,97,103,105,99,116,13,0,0,0, + 114,97,119,95,116,105,109,101,115,116,97,109,112,116,8,0, + 0,0,114,97,119,95,115,105,122,101,114,140,0,0,0,244, + 12,0,0,0,115,111,117,114,99,101,95,109,116,105,109,101, + 244,11,0,0,0,115,111,117,114,99,101,95,115,105,122,101, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,244, + 25,0,0,0,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,119,2,0, + 0,115,76,0,0,0,0,11,6,1,12,1,13,3,6,1, + 12,1,13,1,16,1,16,1,16,1,12,1,18,1,10,1, + 18,1,18,1,15,1,10,1,15,1,18,1,15,1,10,1, + 15,1,12,1,3,1,20,1,13,1,5,2,18,1,15,1, + 10,1,18,1,3,1,18,1,13,1,5,2,18,1,15,1, + 15,1,114,185,0,0,0,99,4,0,0,0,0,0,0,0, + 5,0,0,0,6,0,0,0,67,0,0,0,115,115,0,0, + 0,116,0,0,106,1,0,124,0,0,131,1,0,125,4,0, + 116,2,0,124,4,0,116,3,0,131,2,0,114,78,0,116, + 4,0,100,1,0,124,2,0,131,2,0,1,124,3,0,100, + 2,0,107,9,0,114,74,0,116,5,0,106,6,0,124,4, + 0,124,3,0,131,2,0,1,110,0,0,124,4,0,83,116, + 7,0,100,3,0,106,8,0,124,2,0,131,1,0,100,4, + 0,124,1,0,100,5,0,124,2,0,131,1,2,130,1,0, + 100,2,0,83,40,6,0,0,0,117,60,0,0,0,67,111, + 109,112,105,108,101,32,98,121,116,101,99,111,100,101,32,97, + 115,32,114,101,116,117,114,110,101,100,32,98,121,32,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,40,41,46,117,21,0,0,0,99, + 111,100,101,32,111,98,106,101,99,116,32,102,114,111,109,32, + 123,33,114,125,78,117,23,0,0,0,78,111,110,45,99,111, + 100,101,32,111,98,106,101,99,116,32,105,110,32,123,33,114, + 125,114,66,0,0,0,114,35,0,0,0,40,9,0,0,0, + 244,7,0,0,0,109,97,114,115,104,97,108,116,5,0,0, + 0,108,111,97,100,115,244,10,0,0,0,105,115,105,110,115, + 116,97,110,99,101,244,10,0,0,0,95,99,111,100,101,95, + 116,121,112,101,114,141,0,0,0,114,97,0,0,0,116,16, + 0,0,0,95,102,105,120,95,99,111,95,102,105,108,101,110, + 97,109,101,114,154,0,0,0,114,46,0,0,0,40,5,0, + 0,0,114,52,0,0,0,114,66,0,0,0,114,129,0,0, + 0,114,130,0,0,0,244,4,0,0,0,99,111,100,101,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,17, + 0,0,0,95,99,111,109,112,105,108,101,95,98,121,116,101, + 99,111,100,101,174,2,0,0,115,16,0,0,0,0,2,15, + 1,15,1,13,1,12,1,19,1,4,2,18,1,114,190,0, + 0,0,114,71,0,0,0,99,3,0,0,0,0,0,0,0, + 4,0,0,0,3,0,0,0,67,0,0,0,115,76,0,0, + 0,116,0,0,116,1,0,131,1,0,125,3,0,124,3,0, + 106,2,0,116,3,0,124,1,0,131,1,0,131,1,0,1, + 124,3,0,106,2,0,116,3,0,124,2,0,131,1,0,131, + 1,0,1,124,3,0,106,2,0,116,4,0,106,5,0,124, + 0,0,131,1,0,131,1,0,1,124,3,0,83,40,1,0, + 0,0,117,80,0,0,0,67,111,109,112,105,108,101,32,97, + 32,99,111,100,101,32,111,98,106,101,99,116,32,105,110,116, + 111,32,98,121,116,101,99,111,100,101,32,102,111,114,32,119, + 114,105,116,105,110,103,32,111,117,116,32,116,111,32,97,32, + 98,121,116,101,45,99,111,109,112,105,108,101,100,10,32,32, + 32,32,102,105,108,101,46,40,6,0,0,0,244,9,0,0, + 0,98,121,116,101,97,114,114,97,121,114,181,0,0,0,244, + 6,0,0,0,101,120,116,101,110,100,114,17,0,0,0,114, + 186,0,0,0,116,5,0,0,0,100,117,109,112,115,40,4, + 0,0,0,114,189,0,0,0,114,179,0,0,0,114,184,0, + 0,0,114,52,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,17,0,0,0,95,99,111,100,101, + 95,116,111,95,98,121,116,101,99,111,100,101,186,2,0,0, + 115,10,0,0,0,0,3,12,1,19,1,19,1,22,1,114, + 193,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, + 0,6,0,0,0,66,0,0,0,115,173,0,0,0,124,0, + 0,69,101,0,0,90,1,0,100,0,0,90,2,0,100,1, + 0,90,3,0,101,4,0,100,2,0,100,3,0,132,0,0, + 131,1,0,90,5,0,101,4,0,100,4,0,100,5,0,100, + 6,0,132,1,0,131,1,0,90,6,0,101,4,0,101,7, + 0,101,8,0,101,9,0,100,7,0,100,8,0,132,0,0, + 131,1,0,131,1,0,131,1,0,131,1,0,90,10,0,101, + 4,0,101,9,0,100,9,0,100,10,0,132,0,0,131,1, + 0,131,1,0,90,11,0,101,4,0,101,9,0,100,11,0, + 100,12,0,132,0,0,131,1,0,131,1,0,90,12,0,101, + 4,0,101,9,0,100,13,0,100,14,0,132,0,0,131,1, + 0,131,1,0,90,13,0,100,4,0,83,40,15,0,0,0, + 244,15,0,0,0,66,117,105,108,116,105,110,73,109,112,111, + 114,116,101,114,117,144,0,0,0,77,101,116,97,32,112,97, + 116,104,32,105,109,112,111,114,116,32,102,111,114,32,98,117, + 105,108,116,45,105,110,32,109,111,100,117,108,101,115,46,10, 10,32,32,32,32,65,108,108,32,109,101,116,104,111,100,115, 32,97,114,101,32,101,105,116,104,101,114,32,99,108,97,115, 115,32,111,114,32,115,116,97,116,105,99,32,109,101,116,104, @@ -1541,1506 +1318,1189 @@ unsigned char _Py_M__importlib[] = { 115,115,46,10,10,32,32,32,32,99,2,0,0,0,0,0, 0,0,2,0,0,0,2,0,0,0,67,0,0,0,115,16, 0,0,0,100,1,0,106,0,0,124,1,0,106,1,0,131, - 1,0,83,40,2,0,0,0,78,117,22,0,0,0,60,109, - 111,100,117,108,101,32,39,123,125,39,32,40,102,114,111,122, - 101,110,41,62,40,2,0,0,0,117,6,0,0,0,102,111, - 114,109,97,116,117,8,0,0,0,95,95,110,97,109,101,95, - 95,40,2,0,0,0,117,3,0,0,0,99,108,115,117,1, - 0,0,0,109,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,109,111,100,117,108,101,95,114,101,112,114, - 184,2,0,0,115,2,0,0,0,0,2,117,26,0,0,0, - 70,114,111,122,101,110,73,109,112,111,114,116,101,114,46,109, - 111,100,117,108,101,95,114,101,112,114,99,3,0,0,0,0, - 0,0,0,3,0,0,0,2,0,0,0,67,0,0,0,115, - 23,0,0,0,116,0,0,106,1,0,124,1,0,131,1,0, - 114,19,0,124,0,0,83,100,1,0,83,40,2,0,0,0, - 117,21,0,0,0,70,105,110,100,32,97,32,102,114,111,122, - 101,110,32,109,111,100,117,108,101,46,78,40,3,0,0,0, - 117,4,0,0,0,95,105,109,112,117,9,0,0,0,105,115, - 95,102,114,111,122,101,110,117,4,0,0,0,78,111,110,101, - 40,3,0,0,0,117,3,0,0,0,99,108,115,117,8,0, - 0,0,102,117,108,108,110,97,109,101,117,4,0,0,0,112, - 97,116,104,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,102,105,110,100,95,109,111,100,117,108,101,188, - 2,0,0,115,2,0,0,0,0,3,117,26,0,0,0,70, - 114,111,122,101,110,73,109,112,111,114,116,101,114,46,102,105, - 110,100,95,109,111,100,117,108,101,99,2,0,0,0,0,0, - 0,0,4,0,0,0,9,0,0,0,67,0,0,0,115,100, - 0,0,0,124,1,0,116,0,0,106,1,0,107,6,0,125, - 2,0,121,32,0,116,2,0,116,3,0,106,4,0,124,1, - 0,131,2,0,125,3,0,124,3,0,96,5,0,124,3,0, - 83,87,110,46,0,1,1,1,124,2,0,12,114,88,0,124, - 1,0,116,0,0,106,1,0,107,6,0,114,88,0,116,0, - 0,106,1,0,124,1,0,61,110,0,0,130,0,0,89,110, - 1,0,88,100,1,0,83,40,2,0,0,0,117,21,0,0, - 0,76,111,97,100,32,97,32,102,114,111,122,101,110,32,109, - 111,100,117,108,101,46,78,40,6,0,0,0,117,3,0,0, - 0,115,121,115,117,7,0,0,0,109,111,100,117,108,101,115, - 117,25,0,0,0,95,99,97,108,108,95,119,105,116,104,95, - 102,114,97,109,101,115,95,114,101,109,111,118,101,100,117,4, - 0,0,0,95,105,109,112,117,11,0,0,0,105,110,105,116, - 95,102,114,111,122,101,110,117,8,0,0,0,95,95,102,105, - 108,101,95,95,40,4,0,0,0,117,3,0,0,0,99,108, - 115,117,8,0,0,0,102,117,108,108,110,97,109,101,117,9, - 0,0,0,105,115,95,114,101,108,111,97,100,117,1,0,0, - 0,109,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,108,111,97,100,95,109,111,100,117,108,101,193,2, - 0,0,115,18,0,0,0,0,6,15,1,3,1,18,2,6, - 1,8,1,3,1,22,1,13,1,117,26,0,0,0,70,114, - 111,122,101,110,73,109,112,111,114,116,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,2,0,0,0,67,0,0,0,115,13,0, - 0,0,116,0,0,106,1,0,124,1,0,131,1,0,83,40, - 1,0,0,0,117,45,0,0,0,82,101,116,117,114,110,32, - 116,104,101,32,99,111,100,101,32,111,98,106,101,99,116,32, - 102,111,114,32,116,104,101,32,102,114,111,122,101,110,32,109, - 111,100,117,108,101,46,40,2,0,0,0,117,4,0,0,0, - 95,105,109,112,117,17,0,0,0,103,101,116,95,102,114,111, - 122,101,110,95,111,98,106,101,99,116,40,2,0,0,0,117, - 3,0,0,0,99,108,115,117,8,0,0,0,102,117,108,108, - 110,97,109,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,8,0,0,0,103,101,116,95,99,111,100,101,210,2,0, - 0,115,2,0,0,0,0,4,117,23,0,0,0,70,114,111, - 122,101,110,73,109,112,111,114,116,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,0,0,0,100,1, - 0,83,40,2,0,0,0,117,54,0,0,0,82,101,116,117, - 114,110,32,78,111,110,101,32,97,115,32,102,114,111,122,101, + 1,0,83,40,2,0,0,0,78,117,24,0,0,0,60,109, + 111,100,117,108,101,32,39,123,125,39,32,40,98,117,105,108, + 116,45,105,110,41,62,40,2,0,0,0,114,46,0,0,0, + 114,56,0,0,0,40,2,0,0,0,244,3,0,0,0,99, + 108,115,114,145,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,11,0,0,0,109,111,100,117,108, + 101,95,114,101,112,114,207,2,0,0,115,2,0,0,0,0, + 2,117,27,0,0,0,66,117,105,108,116,105,110,73,109,112, + 111,114,116,101,114,46,109,111,100,117,108,101,95,114,101,112, + 114,78,99,3,0,0,0,0,0,0,0,3,0,0,0,2, + 0,0,0,67,0,0,0,115,39,0,0,0,124,2,0,100, + 1,0,107,9,0,114,16,0,100,1,0,83,116,0,0,106, + 1,0,124,1,0,131,1,0,114,35,0,124,0,0,83,100, + 1,0,83,40,2,0,0,0,117,113,0,0,0,70,105,110, + 100,32,116,104,101,32,98,117,105,108,116,45,105,110,32,109, + 111,100,117,108,101,46,10,10,32,32,32,32,32,32,32,32, + 73,102,32,39,112,97,116,104,39,32,105,115,32,101,118,101, + 114,32,115,112,101,99,105,102,105,101,100,32,116,104,101,110, + 32,116,104,101,32,115,101,97,114,99,104,32,105,115,32,99, + 111,110,115,105,100,101,114,101,100,32,97,32,102,97,105,108, + 117,114,101,46,10,10,32,32,32,32,32,32,32,32,78,40, + 2,0,0,0,114,97,0,0,0,116,10,0,0,0,105,115, + 95,98,117,105,108,116,105,110,40,3,0,0,0,114,195,0, + 0,0,114,156,0,0,0,114,35,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,244,11,0,0,0, + 102,105,110,100,95,109,111,100,117,108,101,211,2,0,0,115, + 6,0,0,0,0,7,12,1,4,1,117,27,0,0,0,66, + 117,105,108,116,105,110,73,109,112,111,114,116,101,114,46,102, + 105,110,100,95,109,111,100,117,108,101,99,2,0,0,0,0, + 0,0,0,3,0,0,0,9,0,0,0,67,0,0,0,115, + 88,0,0,0,124,1,0,116,0,0,106,1,0,107,6,0, + 125,2,0,121,20,0,116,2,0,116,3,0,106,4,0,124, + 1,0,131,2,0,83,87,110,46,0,1,1,1,124,2,0, + 12,114,76,0,124,1,0,116,0,0,106,1,0,107,6,0, + 114,76,0,116,0,0,106,1,0,124,1,0,61,110,0,0, + 130,0,0,89,110,1,0,88,100,1,0,83,40,2,0,0, + 0,117,23,0,0,0,76,111,97,100,32,97,32,98,117,105, + 108,116,45,105,110,32,109,111,100,117,108,101,46,78,40,5, + 0,0,0,114,7,0,0,0,114,152,0,0,0,114,102,0, + 0,0,114,97,0,0,0,116,12,0,0,0,105,110,105,116, + 95,98,117,105,108,116,105,110,40,3,0,0,0,114,195,0, + 0,0,114,156,0,0,0,114,157,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,244,11,0,0,0, + 108,111,97,100,95,109,111,100,117,108,101,222,2,0,0,115, + 14,0,0,0,0,6,15,1,3,1,20,1,3,1,22,1, + 13,1,117,27,0,0,0,66,117,105,108,116,105,110,73,109, + 112,111,114,116,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,4,0,0,0,100,1,0,83, + 40,2,0,0,0,117,57,0,0,0,82,101,116,117,114,110, + 32,78,111,110,101,32,97,115,32,98,117,105,108,116,45,105, 110,32,109,111,100,117,108,101,115,32,100,111,32,110,111,116, - 32,104,97,118,101,32,115,111,117,114,99,101,32,99,111,100, - 101,46,78,40,1,0,0,0,117,4,0,0,0,78,111,110, - 101,40,2,0,0,0,117,3,0,0,0,99,108,115,117,8, - 0,0,0,102,117,108,108,110,97,109,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,10,0,0,0,103,101,116,95, - 115,111,117,114,99,101,216,2,0,0,115,2,0,0,0,0, - 4,117,25,0,0,0,70,114,111,122,101,110,73,109,112,111, - 114,116,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,2,0,0,0, - 67,0,0,0,115,13,0,0,0,116,0,0,106,1,0,124, - 1,0,131,1,0,83,40,1,0,0,0,117,46,0,0,0, - 82,101,116,117,114,110,32,84,114,117,101,32,105,102,32,116, - 104,101,32,102,114,111,122,101,110,32,109,111,100,117,108,101, - 32,105,115,32,97,32,112,97,99,107,97,103,101,46,40,2, - 0,0,0,117,4,0,0,0,95,105,109,112,117,17,0,0, - 0,105,115,95,102,114,111,122,101,110,95,112,97,99,107,97, - 103,101,40,2,0,0,0,117,3,0,0,0,99,108,115,117, - 8,0,0,0,102,117,108,108,110,97,109,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,10,0,0,0,105,115,95, - 112,97,99,107,97,103,101,222,2,0,0,115,2,0,0,0, - 0,4,117,25,0,0,0,70,114,111,122,101,110,73,109,112, - 111,114,116,101,114,46,105,115,95,112,97,99,107,97,103,101, - 78,40,15,0,0,0,117,8,0,0,0,95,95,110,97,109, - 101,95,95,117,10,0,0,0,95,95,109,111,100,117,108,101, - 95,95,117,12,0,0,0,95,95,113,117,97,108,110,97,109, - 101,95,95,117,7,0,0,0,95,95,100,111,99,95,95,117, - 11,0,0,0,99,108,97,115,115,109,101,116,104,111,100,117, - 11,0,0,0,109,111,100,117,108,101,95,114,101,112,114,117, - 4,0,0,0,78,111,110,101,117,11,0,0,0,102,105,110, - 100,95,109,111,100,117,108,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,16,0,0,0,95,114,101,113, - 117,105,114,101,115,95,102,114,111,122,101,110,117,11,0,0, - 0,108,111,97,100,95,109,111,100,117,108,101,117,8,0,0, - 0,103,101,116,95,99,111,100,101,117,10,0,0,0,103,101, - 116,95,115,111,117,114,99,101,117,10,0,0,0,105,115,95, - 112,97,99,107,97,103,101,40,1,0,0,0,117,10,0,0, - 0,95,95,108,111,99,97,108,115,95,95,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,70,114,111,122, - 101,110,73,109,112,111,114,116,101,114,175,2,0,0,115,28, + 32,104,97,118,101,32,99,111,100,101,32,111,98,106,101,99, + 116,115,46,78,114,4,0,0,0,40,2,0,0,0,114,195, + 0,0,0,114,156,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,244,8,0,0,0,103,101,116,95, + 99,111,100,101,236,2,0,0,115,2,0,0,0,0,4,117, + 24,0,0,0,66,117,105,108,116,105,110,73,109,112,111,114, + 116,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,0,0,0,100,1,0,83,40,2,0,0,0,117, + 56,0,0,0,82,101,116,117,114,110,32,78,111,110,101,32, + 97,115,32,98,117,105,108,116,45,105,110,32,109,111,100,117, + 108,101,115,32,100,111,32,110,111,116,32,104,97,118,101,32, + 115,111,117,114,99,101,32,99,111,100,101,46,78,114,4,0, + 0,0,40,2,0,0,0,114,195,0,0,0,114,156,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 244,10,0,0,0,103,101,116,95,115,111,117,114,99,101,242, + 2,0,0,115,2,0,0,0,0,4,117,26,0,0,0,66, + 117,105,108,116,105,110,73,109,112,111,114,116,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,1,0,0,0,67,0,0,0,115,4, + 0,0,0,100,1,0,83,40,2,0,0,0,117,52,0,0, + 0,82,101,116,117,114,110,32,70,97,108,115,101,32,97,115, + 32,98,117,105,108,116,45,105,110,32,109,111,100,117,108,101, + 115,32,97,114,101,32,110,101,118,101,114,32,112,97,99,107, + 97,103,101,115,46,70,114,4,0,0,0,40,2,0,0,0, + 114,195,0,0,0,114,156,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,114,153,0,0,0,248,2, + 0,0,115,2,0,0,0,0,4,117,26,0,0,0,66,117, + 105,108,116,105,110,73,109,112,111,114,116,101,114,46,105,115, + 95,112,97,99,107,97,103,101,40,14,0,0,0,114,56,0, + 0,0,114,55,0,0,0,114,57,0,0,0,114,58,0,0, + 0,244,11,0,0,0,99,108,97,115,115,109,101,116,104,111, + 100,114,196,0,0,0,114,197,0,0,0,114,148,0,0,0, + 114,151,0,0,0,114,165,0,0,0,114,198,0,0,0,114, + 199,0,0,0,114,200,0,0,0,114,153,0,0,0,40,1, + 0,0,0,114,69,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,114,194,0,0,0,198,2,0,0, + 115,28,0,0,0,16,7,6,2,18,4,3,1,18,10,3, + 1,3,1,3,1,27,11,3,1,21,5,3,1,21,5,3, + 1,114,194,0,0,0,99,1,0,0,0,0,0,0,0,1, + 0,0,0,6,0,0,0,66,0,0,0,115,173,0,0,0, + 124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,0, + 100,1,0,90,3,0,101,4,0,100,2,0,100,3,0,132, + 0,0,131,1,0,90,5,0,101,4,0,100,4,0,100,5, + 0,100,6,0,132,1,0,131,1,0,90,6,0,101,4,0, + 101,7,0,101,8,0,101,9,0,100,7,0,100,8,0,132, + 0,0,131,1,0,131,1,0,131,1,0,131,1,0,90,10, + 0,101,4,0,101,9,0,100,9,0,100,10,0,132,0,0, + 131,1,0,131,1,0,90,11,0,101,4,0,101,9,0,100, + 11,0,100,12,0,132,0,0,131,1,0,131,1,0,90,12, + 0,101,4,0,101,9,0,100,13,0,100,14,0,132,0,0, + 131,1,0,131,1,0,90,13,0,100,4,0,83,40,15,0, + 0,0,244,14,0,0,0,70,114,111,122,101,110,73,109,112, + 111,114,116,101,114,117,142,0,0,0,77,101,116,97,32,112, + 97,116,104,32,105,109,112,111,114,116,32,102,111,114,32,102, + 114,111,122,101,110,32,109,111,100,117,108,101,115,46,10,10, + 32,32,32,32,65,108,108,32,109,101,116,104,111,100,115,32, + 97,114,101,32,101,105,116,104,101,114,32,99,108,97,115,115, + 32,111,114,32,115,116,97,116,105,99,32,109,101,116,104,111, + 100,115,32,116,111,32,97,118,111,105,100,32,116,104,101,32, + 110,101,101,100,32,116,111,10,32,32,32,32,105,110,115,116, + 97,110,116,105,97,116,101,32,116,104,101,32,99,108,97,115, + 115,46,10,10,32,32,32,32,99,2,0,0,0,0,0,0, + 0,2,0,0,0,2,0,0,0,67,0,0,0,115,16,0, + 0,0,100,1,0,106,0,0,124,1,0,106,1,0,131,1, + 0,83,40,2,0,0,0,78,117,22,0,0,0,60,109,111, + 100,117,108,101,32,39,123,125,39,32,40,102,114,111,122,101, + 110,41,62,40,2,0,0,0,114,46,0,0,0,114,56,0, + 0,0,40,2,0,0,0,114,195,0,0,0,244,1,0,0, + 0,109,114,4,0,0,0,114,4,0,0,0,114,5,0,0, + 0,114,196,0,0,0,8,3,0,0,115,2,0,0,0,0, + 2,117,26,0,0,0,70,114,111,122,101,110,73,109,112,111, + 114,116,101,114,46,109,111,100,117,108,101,95,114,101,112,114, + 78,99,3,0,0,0,0,0,0,0,3,0,0,0,2,0, + 0,0,67,0,0,0,115,23,0,0,0,116,0,0,106,1, + 0,124,1,0,131,1,0,114,19,0,124,0,0,83,100,1, + 0,83,40,2,0,0,0,117,21,0,0,0,70,105,110,100, + 32,97,32,102,114,111,122,101,110,32,109,111,100,117,108,101, + 46,78,40,2,0,0,0,114,97,0,0,0,114,166,0,0, + 0,40,3,0,0,0,114,195,0,0,0,114,156,0,0,0, + 114,35,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,197,0,0,0,12,3,0,0,115,2,0, + 0,0,0,3,117,26,0,0,0,70,114,111,122,101,110,73, + 109,112,111,114,116,101,114,46,102,105,110,100,95,109,111,100, + 117,108,101,99,2,0,0,0,0,0,0,0,4,0,0,0, + 9,0,0,0,67,0,0,0,115,100,0,0,0,124,1,0, + 116,0,0,106,1,0,107,6,0,125,2,0,121,32,0,116, + 2,0,116,3,0,106,4,0,124,1,0,131,2,0,125,3, + 0,124,3,0,96,5,0,124,3,0,83,87,110,46,0,1, + 1,1,124,2,0,12,114,88,0,124,1,0,116,0,0,106, + 1,0,107,6,0,114,88,0,116,0,0,106,1,0,124,1, + 0,61,110,0,0,130,0,0,89,110,1,0,88,100,1,0, + 83,40,2,0,0,0,117,21,0,0,0,76,111,97,100,32, + 97,32,102,114,111,122,101,110,32,109,111,100,117,108,101,46, + 78,40,6,0,0,0,114,7,0,0,0,114,152,0,0,0, + 114,102,0,0,0,114,97,0,0,0,116,11,0,0,0,105, + 110,105,116,95,102,114,111,122,101,110,244,8,0,0,0,95, + 95,102,105,108,101,95,95,40,4,0,0,0,114,195,0,0, + 0,114,156,0,0,0,114,157,0,0,0,114,203,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114, + 198,0,0,0,17,3,0,0,115,18,0,0,0,0,6,15, + 1,3,1,18,2,6,1,8,1,3,1,22,1,13,1,117, + 26,0,0,0,70,114,111,122,101,110,73,109,112,111,114,116, + 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,2,0,0,0,67, + 0,0,0,115,13,0,0,0,116,0,0,106,1,0,124,1, + 0,131,1,0,83,40,1,0,0,0,117,45,0,0,0,82, + 101,116,117,114,110,32,116,104,101,32,99,111,100,101,32,111, + 98,106,101,99,116,32,102,111,114,32,116,104,101,32,102,114, + 111,122,101,110,32,109,111,100,117,108,101,46,40,2,0,0, + 0,114,97,0,0,0,116,17,0,0,0,103,101,116,95,102, + 114,111,122,101,110,95,111,98,106,101,99,116,40,2,0,0, + 0,114,195,0,0,0,114,156,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,34, + 3,0,0,115,2,0,0,0,0,4,117,23,0,0,0,70, + 114,111,122,101,110,73,109,112,111,114,116,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,0,0,0, + 100,1,0,83,40,2,0,0,0,117,54,0,0,0,82,101, + 116,117,114,110,32,78,111,110,101,32,97,115,32,102,114,111, + 122,101,110,32,109,111,100,117,108,101,115,32,100,111,32,110, + 111,116,32,104,97,118,101,32,115,111,117,114,99,101,32,99, + 111,100,101,46,78,114,4,0,0,0,40,2,0,0,0,114, + 195,0,0,0,114,156,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,114,200,0,0,0,40,3,0, + 0,115,2,0,0,0,0,4,117,25,0,0,0,70,114,111, + 122,101,110,73,109,112,111,114,116,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,2,0,0,0,67,0,0,0,115,13,0,0,0, + 116,0,0,106,1,0,124,1,0,131,1,0,83,40,1,0, + 0,0,117,46,0,0,0,82,101,116,117,114,110,32,84,114, + 117,101,32,105,102,32,116,104,101,32,102,114,111,122,101,110, + 32,109,111,100,117,108,101,32,105,115,32,97,32,112,97,99, + 107,97,103,101,46,40,2,0,0,0,114,97,0,0,0,116, + 17,0,0,0,105,115,95,102,114,111,122,101,110,95,112,97, + 99,107,97,103,101,40,2,0,0,0,114,195,0,0,0,114, + 156,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,153,0,0,0,46,3,0,0,115,2,0,0, + 0,0,4,117,25,0,0,0,70,114,111,122,101,110,73,109, + 112,111,114,116,101,114,46,105,115,95,112,97,99,107,97,103, + 101,40,14,0,0,0,114,56,0,0,0,114,55,0,0,0, + 114,57,0,0,0,114,58,0,0,0,114,201,0,0,0,114, + 196,0,0,0,114,197,0,0,0,114,148,0,0,0,114,151, + 0,0,0,114,168,0,0,0,114,198,0,0,0,114,199,0, + 0,0,114,200,0,0,0,114,153,0,0,0,40,1,0,0, + 0,114,69,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,114,202,0,0,0,255,2,0,0,115,28, 0,0,0,16,7,6,2,18,4,3,1,18,4,3,1,3, - 1,3,1,27,14,3,1,21,5,3,1,21,5,3,1,117, - 14,0,0,0,70,114,111,122,101,110,73,109,112,111,114,116, - 101,114,99,1,0,0,0,0,0,0,0,1,0,0,0,4, - 0,0,0,66,0,0,0,115,101,0,0,0,124,0,0,69, - 101,0,0,90,1,0,100,0,0,90,2,0,100,1,0,90, - 3,0,100,2,0,90,4,0,100,3,0,90,5,0,100,11, - 0,90,7,0,101,8,0,100,4,0,100,5,0,132,0,0, - 131,1,0,90,9,0,101,8,0,100,6,0,100,7,0,132, - 0,0,131,1,0,90,10,0,101,8,0,100,10,0,100,8, - 0,100,9,0,132,1,0,131,1,0,90,12,0,100,10,0, - 83,40,12,0,0,0,117,21,0,0,0,87,105,110,100,111, - 119,115,82,101,103,105,115,116,114,121,70,105,110,100,101,114, - 117,67,0,0,0,77,101,116,97,32,112,97,116,104,32,102, - 105,110,100,101,114,32,102,111,114,32,109,111,100,117,108,101, - 115,32,100,101,99,108,97,114,101,100,32,105,110,32,116,104, - 101,32,87,105,110,100,111,119,115,32,114,101,103,105,115,116, - 114,121,46,10,32,32,32,32,117,59,0,0,0,83,111,102, - 116,119,97,114,101,92,80,121,116,104,111,110,92,80,121,116, - 104,111,110,67,111,114,101,92,123,115,121,115,95,118,101,114, - 115,105,111,110,125,92,77,111,100,117,108,101,115,92,123,102, - 117,108,108,110,97,109,101,125,117,65,0,0,0,83,111,102, - 116,119,97,114,101,92,80,121,116,104,111,110,92,80,121,116, - 104,111,110,67,111,114,101,92,123,115,121,115,95,118,101,114, - 115,105,111,110,125,92,77,111,100,117,108,101,115,92,123,102, - 117,108,108,110,97,109,101,125,92,68,101,98,117,103,99,2, - 0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,67, - 0,0,0,115,67,0,0,0,121,23,0,116,0,0,106,1, - 0,116,0,0,106,2,0,124,1,0,131,2,0,83,87,110, - 37,0,4,116,3,0,107,10,0,114,62,0,1,1,1,116, - 0,0,106,1,0,116,0,0,106,4,0,124,1,0,131,2, - 0,83,89,110,1,0,88,100,0,0,83,40,1,0,0,0, - 78,40,5,0,0,0,117,7,0,0,0,95,119,105,110,114, - 101,103,117,7,0,0,0,79,112,101,110,75,101,121,117,17, - 0,0,0,72,75,69,89,95,67,85,82,82,69,78,84,95, - 85,83,69,82,117,12,0,0,0,87,105,110,100,111,119,115, - 69,114,114,111,114,117,18,0,0,0,72,75,69,89,95,76, - 79,67,65,76,95,77,65,67,72,73,78,69,40,2,0,0, - 0,117,3,0,0,0,99,108,115,117,3,0,0,0,107,101, - 121,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,111,112,101,110,95,114,101,103,105,115,116,114,121, - 242,2,0,0,115,8,0,0,0,0,2,3,1,23,1,13, - 1,117,36,0,0,0,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,0,0,0, - 0,0,0,6,0,0,0,16,0,0,0,67,0,0,0,115, - 142,0,0,0,124,0,0,106,0,0,114,21,0,124,0,0, - 106,1,0,125,2,0,110,9,0,124,0,0,106,2,0,125, - 2,0,124,2,0,106,3,0,100,1,0,124,1,0,100,2, - 0,116,4,0,106,5,0,100,0,0,100,3,0,133,2,0, - 25,131,0,2,125,3,0,121,46,0,124,0,0,106,6,0, - 124,3,0,131,1,0,143,25,0,125,4,0,116,7,0,106, - 8,0,124,4,0,100,4,0,131,2,0,125,5,0,87,100, - 0,0,81,88,87,110,22,0,4,116,9,0,107,10,0,114, - 137,0,1,1,1,100,0,0,83,89,110,1,0,88,124,5, - 0,83,40,5,0,0,0,78,117,8,0,0,0,102,117,108, - 108,110,97,109,101,117,11,0,0,0,115,121,115,95,118,101, - 114,115,105,111,110,105,3,0,0,0,117,0,0,0,0,40, - 11,0,0,0,117,11,0,0,0,68,69,66,85,71,95,66, - 85,73,76,68,117,18,0,0,0,82,69,71,73,83,84,82, - 89,95,75,69,89,95,68,69,66,85,71,117,12,0,0,0, - 82,69,71,73,83,84,82,89,95,75,69,89,117,6,0,0, - 0,102,111,114,109,97,116,117,3,0,0,0,115,121,115,117, - 7,0,0,0,118,101,114,115,105,111,110,117,14,0,0,0, - 95,111,112,101,110,95,114,101,103,105,115,116,114,121,117,7, - 0,0,0,95,119,105,110,114,101,103,117,10,0,0,0,81, - 117,101,114,121,86,97,108,117,101,117,12,0,0,0,87,105, - 110,100,111,119,115,69,114,114,111,114,117,4,0,0,0,78, - 111,110,101,40,6,0,0,0,117,3,0,0,0,99,108,115, - 117,8,0,0,0,102,117,108,108,110,97,109,101,117,12,0, - 0,0,114,101,103,105,115,116,114,121,95,107,101,121,117,3, - 0,0,0,107,101,121,117,4,0,0,0,104,107,101,121,117, - 8,0,0,0,102,105,108,101,112,97,116,104,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,115,101, - 97,114,99,104,95,114,101,103,105,115,116,114,121,249,2,0, - 0,115,22,0,0,0,0,2,9,1,12,2,9,1,15,1, - 22,1,3,1,18,1,28,1,13,1,9,1,117,38,0,0, - 0,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,114,99,104,95,114, - 101,103,105,115,116,114,121,99,3,0,0,0,0,0,0,0, - 7,0,0,0,12,0,0,0,67,0,0,0,115,140,0,0, - 0,124,0,0,106,0,0,124,1,0,131,1,0,125,3,0, - 124,3,0,100,1,0,107,8,0,114,31,0,100,1,0,83, - 121,17,0,116,2,0,106,3,0,124,3,0,131,1,0,1, - 87,110,22,0,4,116,4,0,107,10,0,114,72,0,1,1, - 1,100,1,0,83,89,110,1,0,88,120,60,0,116,5,0, - 131,0,0,68,93,49,0,92,3,0,125,4,0,125,5,0, - 125,6,0,124,3,0,106,6,0,116,7,0,124,5,0,131, - 1,0,131,1,0,114,83,0,124,4,0,124,1,0,124,3, - 0,131,2,0,83,113,83,0,87,100,1,0,83,40,2,0, - 0,0,117,34,0,0,0,70,105,110,100,32,109,111,100,117, - 108,101,32,110,97,109,101,100,32,105,110,32,116,104,101,32, - 114,101,103,105,115,116,114,121,46,78,40,8,0,0,0,117, - 16,0,0,0,95,115,101,97,114,99,104,95,114,101,103,105, - 115,116,114,121,117,4,0,0,0,78,111,110,101,117,3,0, - 0,0,95,111,115,117,4,0,0,0,115,116,97,116,117,7, - 0,0,0,79,83,69,114,114,111,114,117,27,0,0,0,95, - 103,101,116,95,115,117,112,112,111,114,116,101,100,95,102,105, - 108,101,95,108,111,97,100,101,114,115,117,8,0,0,0,101, - 110,100,115,119,105,116,104,117,5,0,0,0,116,117,112,108, - 101,40,7,0,0,0,117,3,0,0,0,99,108,115,117,8, - 0,0,0,102,117,108,108,110,97,109,101,117,4,0,0,0, - 112,97,116,104,117,8,0,0,0,102,105,108,101,112,97,116, - 104,117,6,0,0,0,108,111,97,100,101,114,117,8,0,0, - 0,115,117,102,102,105,120,101,115,117,1,0,0,0,95,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, - 102,105,110,100,95,109,111,100,117,108,101,8,3,0,0,115, - 20,0,0,0,0,3,15,1,12,1,4,1,3,1,17,1, - 13,1,9,1,25,1,21,1,117,33,0,0,0,87,105,110, + 1,3,1,27,14,3,1,21,5,3,1,21,5,3,1,114, + 202,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, + 0,4,0,0,0,66,0,0,0,115,101,0,0,0,124,0, + 0,69,101,0,0,90,1,0,100,0,0,90,2,0,100,1, + 0,90,3,0,100,2,0,90,4,0,100,3,0,90,5,0, + 100,4,0,90,6,0,101,7,0,100,5,0,100,6,0,132, + 0,0,131,1,0,90,8,0,101,7,0,100,7,0,100,8, + 0,132,0,0,131,1,0,90,9,0,101,7,0,100,9,0, + 100,10,0,100,11,0,132,1,0,131,1,0,90,10,0,100, + 9,0,83,40,12,0,0,0,244,21,0,0,0,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,78,70, - 40,13,0,0,0,117,8,0,0,0,95,95,110,97,109,101, - 95,95,117,10,0,0,0,95,95,109,111,100,117,108,101,95, - 95,117,12,0,0,0,95,95,113,117,97,108,110,97,109,101, - 95,95,117,7,0,0,0,95,95,100,111,99,95,95,117,12, - 0,0,0,82,69,71,73,83,84,82,89,95,75,69,89,117, - 18,0,0,0,82,69,71,73,83,84,82,89,95,75,69,89, - 95,68,69,66,85,71,117,5,0,0,0,70,97,108,115,101, - 117,11,0,0,0,68,69,66,85,71,95,66,85,73,76,68, - 117,11,0,0,0,99,108,97,115,115,109,101,116,104,111,100, - 117,14,0,0,0,95,111,112,101,110,95,114,101,103,105,115, - 116,114,121,117,16,0,0,0,95,115,101,97,114,99,104,95, - 114,101,103,105,115,116,114,121,117,4,0,0,0,78,111,110, - 101,117,11,0,0,0,102,105,110,100,95,109,111,100,117,108, - 101,40,1,0,0,0,117,10,0,0,0,95,95,108,111,99, - 97,108,115,95,95,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,21,0,0,0,87,105,110,100,111,119,115,82,101,103, - 105,115,116,114,121,70,105,110,100,101,114,229,2,0,0,115, - 16,0,0,0,16,3,6,3,6,3,6,2,6,2,18,7, - 18,15,3,1,117,21,0,0,0,87,105,110,100,111,119,115, - 82,101,103,105,115,116,114,121,70,105,110,100,101,114,99,1, - 0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,66, - 0,0,0,115,74,0,0,0,124,0,0,69,101,0,0,90, - 1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,2, - 0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,0, - 132,0,0,90,5,0,101,6,0,100,6,0,100,10,0,100, - 7,0,100,8,0,132,0,1,131,1,0,90,8,0,100,9, - 0,83,40,11,0,0,0,117,13,0,0,0,95,76,111,97, - 100,101,114,66,97,115,105,99,115,117,83,0,0,0,66,97, - 115,101,32,99,108,97,115,115,32,111,102,32,99,111,109,109, - 111,110,32,99,111,100,101,32,110,101,101,100,101,100,32,98, - 121,32,98,111,116,104,32,83,111,117,114,99,101,76,111,97, - 100,101,114,32,97,110,100,10,32,32,32,32,83,111,117,114, - 99,101,108,101,115,115,70,105,108,101,76,111,97,100,101,114, - 46,99,2,0,0,0,0,0,0,0,5,0,0,0,3,0, - 0,0,67,0,0,0,115,88,0,0,0,116,0,0,124,0, - 0,106,1,0,124,1,0,131,1,0,131,1,0,100,1,0, - 25,125,2,0,124,2,0,106,2,0,100,2,0,100,1,0, - 131,2,0,100,3,0,25,125,3,0,124,1,0,106,3,0, - 100,2,0,131,1,0,100,4,0,25,125,4,0,124,3,0, - 100,5,0,107,2,0,111,87,0,124,4,0,100,5,0,107, - 3,0,83,40,6,0,0,0,117,141,0,0,0,67,111,110, - 99,114,101,116,101,32,105,109,112,108,101,109,101,110,116,97, - 116,105,111,110,32,111,102,32,73,110,115,112,101,99,116,76, - 111,97,100,101,114,46,105,115,95,112,97,99,107,97,103,101, - 32,98,121,32,99,104,101,99,107,105,110,103,32,105,102,10, - 32,32,32,32,32,32,32,32,116,104,101,32,112,97,116,104, - 32,114,101,116,117,114,110,101,100,32,98,121,32,103,101,116, - 95,102,105,108,101,110,97,109,101,32,104,97,115,32,97,32, - 102,105,108,101,110,97,109,101,32,111,102,32,39,95,95,105, - 110,105,116,95,95,46,112,121,39,46,105,1,0,0,0,117, - 1,0,0,0,46,105,0,0,0,0,105,2,0,0,0,117, - 8,0,0,0,95,95,105,110,105,116,95,95,40,4,0,0, - 0,117,11,0,0,0,95,112,97,116,104,95,115,112,108,105, - 116,117,12,0,0,0,103,101,116,95,102,105,108,101,110,97, - 109,101,117,6,0,0,0,114,115,112,108,105,116,117,10,0, - 0,0,114,112,97,114,116,105,116,105,111,110,40,5,0,0, - 0,117,4,0,0,0,115,101,108,102,117,8,0,0,0,102, - 117,108,108,110,97,109,101,117,8,0,0,0,102,105,108,101, - 110,97,109,101,117,13,0,0,0,102,105,108,101,110,97,109, - 101,95,98,97,115,101,117,9,0,0,0,116,97,105,108,95, - 110,97,109,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,10,0,0,0,105,115,95,112,97,99,107,97,103,101,28, - 3,0,0,115,8,0,0,0,0,3,25,1,22,1,19,1, - 117,24,0,0,0,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,5,0, - 0,0,0,0,0,0,12,0,0,0,22,0,0,0,67,0, - 0,0,115,208,1,0,0,124,2,0,100,1,0,100,2,0, - 133,2,0,25,125,5,0,124,2,0,100,2,0,100,3,0, - 133,2,0,25,125,6,0,124,2,0,100,3,0,100,4,0, - 133,2,0,25,125,7,0,124,5,0,116,0,0,107,3,0, - 114,115,0,100,5,0,106,1,0,124,1,0,124,5,0,131, - 2,0,125,8,0,116,2,0,124,8,0,131,1,0,1,116, - 3,0,124,8,0,100,6,0,124,1,0,100,7,0,124,3, - 0,131,1,2,130,1,0,110,116,0,116,4,0,124,6,0, - 131,1,0,100,2,0,107,3,0,114,173,0,100,8,0,106, - 1,0,124,1,0,131,1,0,125,9,0,116,2,0,124,9, - 0,131,1,0,1,116,5,0,124,9,0,131,1,0,130,1, - 0,110,58,0,116,4,0,124,7,0,131,1,0,100,2,0, - 107,3,0,114,231,0,100,9,0,106,1,0,124,1,0,131, - 1,0,125,9,0,116,2,0,124,9,0,131,1,0,1,116, - 5,0,124,9,0,131,1,0,130,1,0,110,0,0,124,4, - 0,100,1,0,107,9,0,114,194,1,121,20,0,116,7,0, - 124,4,0,100,10,0,25,131,1,0,125,10,0,87,110,18, - 0,4,116,8,0,107,10,0,114,27,1,1,1,1,89,110, - 71,0,88,116,9,0,124,6,0,131,1,0,124,10,0,107, - 3,0,114,98,1,100,11,0,106,1,0,124,1,0,131,1, - 0,125,9,0,116,2,0,124,9,0,131,1,0,1,116,3, - 0,124,9,0,100,6,0,124,1,0,100,7,0,124,3,0, - 131,1,2,130,1,0,110,0,0,121,18,0,124,4,0,100, - 12,0,25,100,13,0,64,125,11,0,87,110,18,0,4,116, - 8,0,107,10,0,114,136,1,1,1,1,89,113,194,1,88, - 116,9,0,124,7,0,131,1,0,124,11,0,107,3,0,114, - 194,1,116,3,0,100,11,0,106,1,0,124,1,0,131,1, - 0,100,6,0,124,1,0,100,7,0,124,3,0,131,1,2, - 130,1,0,113,194,1,110,0,0,124,2,0,100,4,0,100, - 1,0,133,2,0,25,83,40,14,0,0,0,117,193,0,0, - 0,82,101,116,117,114,110,32,116,104,101,32,109,97,114,115, - 104,97,108,108,101,100,32,98,121,116,101,115,32,102,114,111, - 109,32,98,121,116,101,99,111,100,101,44,32,118,101,114,105, - 102,121,105,110,103,32,116,104,101,32,109,97,103,105,99,10, - 32,32,32,32,32,32,32,32,110,117,109,98,101,114,44,32, - 116,105,109,101,115,116,97,109,112,32,97,110,100,32,115,111, - 117,114,99,101,32,115,105,122,101,32,97,108,111,110,103,32, - 116,104,101,32,119,97,121,46,10,10,32,32,32,32,32,32, - 32,32,73,102,32,115,111,117,114,99,101,95,115,116,97,116, - 115,32,105,115,32,78,111,110,101,32,116,104,101,110,32,115, - 107,105,112,32,116,104,101,32,116,105,109,101,115,116,97,109, - 112,32,99,104,101,99,107,46,10,10,32,32,32,32,32,32, - 32,32,78,105,4,0,0,0,105,8,0,0,0,105,12,0, - 0,0,117,30,0,0,0,98,97,100,32,109,97,103,105,99, - 32,110,117,109,98,101,114,32,105,110,32,123,33,114,125,58, - 32,123,33,114,125,117,4,0,0,0,110,97,109,101,117,4, - 0,0,0,112,97,116,104,117,19,0,0,0,98,97,100,32, - 116,105,109,101,115,116,97,109,112,32,105,110,32,123,125,117, - 14,0,0,0,98,97,100,32,115,105,122,101,32,105,110,32, - 123,125,117,5,0,0,0,109,116,105,109,101,117,24,0,0, - 0,98,121,116,101,99,111,100,101,32,105,115,32,115,116,97, - 108,101,32,102,111,114,32,123,125,117,4,0,0,0,115,105, - 122,101,108,3,0,0,0,255,127,255,127,3,0,40,10,0, - 0,0,117,12,0,0,0,95,77,65,71,73,67,95,66,89, - 84,69,83,117,6,0,0,0,102,111,114,109,97,116,117,16, - 0,0,0,95,118,101,114,98,111,115,101,95,109,101,115,115, - 97,103,101,117,11,0,0,0,73,109,112,111,114,116,69,114, - 114,111,114,117,3,0,0,0,108,101,110,117,8,0,0,0, - 69,79,70,69,114,114,111,114,117,4,0,0,0,78,111,110, - 101,117,3,0,0,0,105,110,116,117,8,0,0,0,75,101, - 121,69,114,114,111,114,117,7,0,0,0,95,114,95,108,111, - 110,103,40,12,0,0,0,117,4,0,0,0,115,101,108,102, - 117,8,0,0,0,102,117,108,108,110,97,109,101,117,4,0, - 0,0,100,97,116,97,117,13,0,0,0,98,121,116,101,99, - 111,100,101,95,112,97,116,104,117,12,0,0,0,115,111,117, - 114,99,101,95,115,116,97,116,115,117,5,0,0,0,109,97, - 103,105,99,117,13,0,0,0,114,97,119,95,116,105,109,101, - 115,116,97,109,112,117,8,0,0,0,114,97,119,95,115,105, - 122,101,117,3,0,0,0,109,115,103,117,7,0,0,0,109, - 101,115,115,97,103,101,117,12,0,0,0,115,111,117,114,99, - 101,95,109,116,105,109,101,117,11,0,0,0,115,111,117,114, - 99,101,95,115,105,122,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,20,0,0,0,95,98,121,116,101,115,95,102, - 114,111,109,95,98,121,116,101,99,111,100,101,36,3,0,0, - 115,68,0,0,0,0,7,16,1,16,1,16,1,12,1,18, - 1,10,1,27,1,18,1,15,1,10,1,15,1,18,1,15, - 1,10,1,15,1,12,1,3,1,20,1,13,1,5,2,18, - 1,15,1,10,1,15,1,12,1,3,1,18,1,13,1,5, - 2,18,1,3,1,15,1,21,3,117,34,0,0,0,95,76, - 111,97,100,101,114,66,97,115,105,99,115,46,95,98,121,116, - 101,115,95,102,114,111,109,95,98,121,116,101,99,111,100,101, - 117,10,0,0,0,115,111,117,114,99,101,108,101,115,115,99, - 2,0,0,0,1,0,0,0,5,0,0,0,12,0,0,0, - 67,0,0,0,115,227,0,0,0,124,1,0,106,0,0,125, - 3,0,124,0,0,106,1,0,124,3,0,131,1,0,125,4, - 0,124,0,0,106,2,0,124,3,0,131,1,0,124,1,0, - 95,3,0,124,2,0,115,106,0,121,22,0,116,4,0,124, - 1,0,106,3,0,131,1,0,124,1,0,95,5,0,87,113, - 118,0,4,116,6,0,107,10,0,114,102,0,1,1,1,124, - 1,0,106,3,0,124,1,0,95,5,0,89,113,118,0,88, - 110,12,0,124,1,0,106,3,0,124,1,0,95,5,0,124, - 3,0,124,1,0,95,7,0,124,0,0,106,8,0,124,3, - 0,131,1,0,114,170,0,116,9,0,124,1,0,106,3,0, - 131,1,0,100,1,0,25,103,1,0,124,1,0,95,10,0, - 110,25,0,124,1,0,106,7,0,106,11,0,100,2,0,131, - 1,0,100,1,0,25,124,1,0,95,7,0,124,0,0,124, - 1,0,95,12,0,116,13,0,116,14,0,124,4,0,124,1, - 0,106,15,0,131,3,0,1,124,1,0,83,40,3,0,0, - 0,117,82,0,0,0,72,101,108,112,101,114,32,102,111,114, - 32,108,111,97,100,95,109,111,100,117,108,101,32,97,98,108, - 101,32,116,111,32,104,97,110,100,108,101,32,101,105,116,104, - 101,114,32,115,111,117,114,99,101,32,111,114,32,115,111,117, - 114,99,101,108,101,115,115,10,32,32,32,32,32,32,32,32, - 108,111,97,100,105,110,103,46,105,0,0,0,0,117,1,0, - 0,0,46,40,16,0,0,0,117,8,0,0,0,95,95,110, - 97,109,101,95,95,117,8,0,0,0,103,101,116,95,99,111, - 100,101,117,12,0,0,0,103,101,116,95,102,105,108,101,110, - 97,109,101,117,8,0,0,0,95,95,102,105,108,101,95,95, - 117,17,0,0,0,99,97,99,104,101,95,102,114,111,109,95, - 115,111,117,114,99,101,117,10,0,0,0,95,95,99,97,99, - 104,101,100,95,95,117,19,0,0,0,78,111,116,73,109,112, - 108,101,109,101,110,116,101,100,69,114,114,111,114,117,11,0, - 0,0,95,95,112,97,99,107,97,103,101,95,95,117,10,0, - 0,0,105,115,95,112,97,99,107,97,103,101,117,11,0,0, - 0,95,112,97,116,104,95,115,112,108,105,116,117,8,0,0, - 0,95,95,112,97,116,104,95,95,117,10,0,0,0,114,112, - 97,114,116,105,116,105,111,110,117,10,0,0,0,95,95,108, - 111,97,100,101,114,95,95,117,25,0,0,0,95,99,97,108, - 108,95,119,105,116,104,95,102,114,97,109,101,115,95,114,101, - 109,111,118,101,100,117,4,0,0,0,101,120,101,99,117,8, - 0,0,0,95,95,100,105,99,116,95,95,40,5,0,0,0, - 117,4,0,0,0,115,101,108,102,117,6,0,0,0,109,111, - 100,117,108,101,117,10,0,0,0,115,111,117,114,99,101,108, - 101,115,115,117,4,0,0,0,110,97,109,101,117,11,0,0, - 0,99,111,100,101,95,111,98,106,101,99,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,12,0,0,0,95,108,111, - 97,100,95,109,111,100,117,108,101,82,3,0,0,115,32,0, - 0,0,0,4,9,1,15,1,18,1,6,1,3,1,22,1, - 13,1,20,2,12,1,9,1,15,1,28,2,25,1,9,1, - 19,1,117,26,0,0,0,95,76,111,97,100,101,114,66,97, - 115,105,99,115,46,95,108,111,97,100,95,109,111,100,117,108, - 101,78,70,40,9,0,0,0,117,8,0,0,0,95,95,110, - 97,109,101,95,95,117,10,0,0,0,95,95,109,111,100,117, - 108,101,95,95,117,12,0,0,0,95,95,113,117,97,108,110, - 97,109,101,95,95,117,7,0,0,0,95,95,100,111,99,95, - 95,117,10,0,0,0,105,115,95,112,97,99,107,97,103,101, - 117,20,0,0,0,95,98,121,116,101,115,95,102,114,111,109, - 95,98,121,116,101,99,111,100,101,117,17,0,0,0,109,111, - 100,117,108,101,95,102,111,114,95,108,111,97,100,101,114,117, - 5,0,0,0,70,97,108,115,101,117,12,0,0,0,95,108, - 111,97,100,95,109,111,100,117,108,101,40,1,0,0,0,117, - 10,0,0,0,95,95,108,111,99,97,108,115,95,95,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,13,0,0,0,95, - 76,111,97,100,101,114,66,97,115,105,99,115,23,3,0,0, - 115,10,0,0,0,16,3,6,2,12,8,12,46,6,1,117, - 13,0,0,0,95,76,111,97,100,101,114,66,97,115,105,99, - 115,99,1,0,0,0,0,0,0,0,1,0,0,0,2,0, - 0,0,66,0,0,0,115,104,0,0,0,124,0,0,69,101, - 0,0,90,1,0,100,0,0,90,2,0,100,1,0,100,2, - 0,132,0,0,90,3,0,100,3,0,100,4,0,132,0,0, - 90,4,0,100,5,0,100,6,0,132,0,0,90,5,0,100, - 7,0,100,8,0,132,0,0,90,6,0,100,9,0,100,10, - 0,132,0,0,90,7,0,100,11,0,100,12,0,132,0,0, - 90,8,0,100,13,0,100,14,0,132,0,0,90,9,0,100, - 15,0,83,40,16,0,0,0,117,12,0,0,0,83,111,117, - 114,99,101,76,111,97,100,101,114,99,2,0,0,0,0,0, - 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,10, - 0,0,0,116,0,0,130,1,0,100,1,0,83,40,2,0, - 0,0,117,121,0,0,0,79,112,116,105,111,110,97,108,32, - 109,101,116,104,111,100,32,116,104,97,116,32,114,101,116,117, - 114,110,115,32,116,104,101,32,109,111,100,105,102,105,99,97, - 116,105,111,110,32,116,105,109,101,32,40,97,110,32,105,110, - 116,41,32,102,111,114,32,116,104,101,10,32,32,32,32,32, - 32,32,32,115,112,101,99,105,102,105,101,100,32,112,97,116, - 104,44,32,119,104,101,114,101,32,112,97,116,104,32,105,115, - 32,97,32,115,116,114,46,10,32,32,32,32,32,32,32,32, - 78,40,1,0,0,0,117,19,0,0,0,78,111,116,73,109, - 112,108,101,109,101,110,116,101,100,69,114,114,111,114,40,2, - 0,0,0,117,4,0,0,0,115,101,108,102,117,4,0,0, - 0,112,97,116,104,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,112,97,116,104,95,109,116,105,109,101, - 108,3,0,0,115,2,0,0,0,0,4,117,23,0,0,0, - 83,111,117,114,99,101,76,111,97,100,101,114,46,112,97,116, - 104,95,109,116,105,109,101,99,2,0,0,0,0,0,0,0, - 2,0,0,0,3,0,0,0,67,0,0,0,115,20,0,0, - 0,105,1,0,124,0,0,106,0,0,124,1,0,131,1,0, - 100,1,0,54,83,40,2,0,0,0,117,114,1,0,0,79, - 112,116,105,111,110,97,108,32,109,101,116,104,111,100,32,114, - 101,116,117,114,110,105,110,103,32,97,32,109,101,116,97,100, - 97,116,97,32,100,105,99,116,32,102,111,114,32,116,104,101, - 32,115,112,101,99,105,102,105,101,100,32,112,97,116,104,10, - 32,32,32,32,32,32,32,32,116,111,32,98,121,32,116,104, - 101,32,112,97,116,104,32,40,115,116,114,41,46,10,32,32, - 32,32,32,32,32,32,80,111,115,115,105,98,108,101,32,107, - 101,121,115,58,10,32,32,32,32,32,32,32,32,45,32,39, - 109,116,105,109,101,39,32,40,109,97,110,100,97,116,111,114, - 121,41,32,105,115,32,116,104,101,32,110,117,109,101,114,105, - 99,32,116,105,109,101,115,116,97,109,112,32,111,102,32,108, - 97,115,116,32,115,111,117,114,99,101,10,32,32,32,32,32, - 32,32,32,32,32,99,111,100,101,32,109,111,100,105,102,105, - 99,97,116,105,111,110,59,10,32,32,32,32,32,32,32,32, - 45,32,39,115,105,122,101,39,32,40,111,112,116,105,111,110, - 97,108,41,32,105,115,32,116,104,101,32,115,105,122,101,32, - 105,110,32,98,121,116,101,115,32,111,102,32,116,104,101,32, - 115,111,117,114,99,101,32,99,111,100,101,46,10,10,32,32, - 32,32,32,32,32,32,73,109,112,108,101,109,101,110,116,105, - 110,103,32,116,104,105,115,32,109,101,116,104,111,100,32,97, - 108,108,111,119,115,32,116,104,101,32,108,111,97,100,101,114, - 32,116,111,32,114,101,97,100,32,98,121,116,101,99,111,100, - 101,32,102,105,108,101,115,46,10,32,32,32,32,32,32,32, - 32,117,5,0,0,0,109,116,105,109,101,40,1,0,0,0, - 117,10,0,0,0,112,97,116,104,95,109,116,105,109,101,40, - 2,0,0,0,117,4,0,0,0,115,101,108,102,117,4,0, - 0,0,112,97,116,104,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,112,97,116,104,95,115,116,97,116, - 115,114,3,0,0,115,2,0,0,0,0,10,117,23,0,0, - 0,83,111,117,114,99,101,76,111,97,100,101,114,46,112,97, - 116,104,95,115,116,97,116,115,99,4,0,0,0,0,0,0, - 0,4,0,0,0,3,0,0,0,67,0,0,0,115,16,0, - 0,0,124,0,0,106,0,0,124,2,0,124,3,0,131,2, - 0,83,40,1,0,0,0,117,228,0,0,0,79,112,116,105, - 111,110,97,108,32,109,101,116,104,111,100,32,119,104,105,99, - 104,32,119,114,105,116,101,115,32,100,97,116,97,32,40,98, - 121,116,101,115,41,32,116,111,32,97,32,102,105,108,101,32, - 112,97,116,104,32,40,97,32,115,116,114,41,46,10,10,32, - 32,32,32,32,32,32,32,73,109,112,108,101,109,101,110,116, - 105,110,103,32,116,104,105,115,32,109,101,116,104,111,100,32, - 97,108,108,111,119,115,32,102,111,114,32,116,104,101,32,119, - 114,105,116,105,110,103,32,111,102,32,98,121,116,101,99,111, - 100,101,32,102,105,108,101,115,46,10,10,32,32,32,32,32, - 32,32,32,84,104,101,32,115,111,117,114,99,101,32,112,97, - 116,104,32,105,115,32,110,101,101,100,101,100,32,105,110,32, - 111,114,100,101,114,32,116,111,32,99,111,114,114,101,99,116, - 108,121,32,116,114,97,110,115,102,101,114,32,112,101,114,109, - 105,115,115,105,111,110,115,10,32,32,32,32,32,32,32,32, - 40,1,0,0,0,117,8,0,0,0,115,101,116,95,100,97, - 116,97,40,4,0,0,0,117,4,0,0,0,115,101,108,102, - 117,11,0,0,0,115,111,117,114,99,101,95,112,97,116,104, - 117,10,0,0,0,99,97,99,104,101,95,112,97,116,104,117, - 4,0,0,0,100,97,116,97,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,15,0,0,0,95,99,97,99,104,101,95, - 98,121,116,101,99,111,100,101,126,3,0,0,115,2,0,0, - 0,0,8,117,28,0,0,0,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,0,0,0,115,10,0,0,0,116,0, - 0,130,1,0,100,1,0,83,40,2,0,0,0,117,151,0, - 0,0,79,112,116,105,111,110,97,108,32,109,101,116,104,111, - 100,32,119,104,105,99,104,32,119,114,105,116,101,115,32,100, - 97,116,97,32,40,98,121,116,101,115,41,32,116,111,32,97, - 32,102,105,108,101,32,112,97,116,104,32,40,97,32,115,116, - 114,41,46,10,10,32,32,32,32,32,32,32,32,73,109,112, - 108,101,109,101,110,116,105,110,103,32,116,104,105,115,32,109, - 101,116,104,111,100,32,97,108,108,111,119,115,32,102,111,114, - 32,116,104,101,32,119,114,105,116,105,110,103,32,111,102,32, - 98,121,116,101,99,111,100,101,32,102,105,108,101,115,46,10, - 10,32,32,32,32,32,32,32,32,78,40,1,0,0,0,117, - 19,0,0,0,78,111,116,73,109,112,108,101,109,101,110,116, - 101,100,69,114,114,111,114,40,3,0,0,0,117,4,0,0, - 0,115,101,108,102,117,4,0,0,0,112,97,116,104,117,4, - 0,0,0,100,97,116,97,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,115,101,116,95,100,97,116,97, - 136,3,0,0,115,2,0,0,0,0,6,117,21,0,0,0, - 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,9,0, - 0,0,44,0,0,0,67,0,0,0,115,62,1,0,0,100, - 1,0,100,2,0,108,0,0,125,2,0,124,0,0,106,1, - 0,124,1,0,131,1,0,125,3,0,121,19,0,124,0,0, - 106,2,0,124,3,0,131,1,0,125,4,0,87,110,58,0, - 4,116,3,0,107,10,0,114,106,0,1,125,5,0,1,122, - 26,0,116,4,0,100,3,0,100,4,0,124,1,0,131,1, + 101,114,117,67,0,0,0,77,101,116,97,32,112,97,116,104, + 32,102,105,110,100,101,114,32,102,111,114,32,109,111,100,117, + 108,101,115,32,100,101,99,108,97,114,101,100,32,105,110,32, + 116,104,101,32,87,105,110,100,111,119,115,32,114,101,103,105, + 115,116,114,121,46,10,32,32,32,32,117,59,0,0,0,83, + 111,102,116,119,97,114,101,92,80,121,116,104,111,110,92,80, + 121,116,104,111,110,67,111,114,101,92,123,115,121,115,95,118, + 101,114,115,105,111,110,125,92,77,111,100,117,108,101,115,92, + 123,102,117,108,108,110,97,109,101,125,117,65,0,0,0,83, + 111,102,116,119,97,114,101,92,80,121,116,104,111,110,92,80, + 121,116,104,111,110,67,111,114,101,92,123,115,121,115,95,118, + 101,114,115,105,111,110,125,92,77,111,100,117,108,101,115,92, + 123,102,117,108,108,110,97,109,101,125,92,68,101,98,117,103, + 70,99,2,0,0,0,0,0,0,0,2,0,0,0,11,0, + 0,0,67,0,0,0,115,67,0,0,0,121,23,0,116,0, + 0,106,1,0,116,0,0,106,2,0,124,1,0,131,2,0, + 83,87,110,37,0,4,116,3,0,107,10,0,114,62,0,1, + 1,1,116,0,0,106,1,0,116,0,0,106,4,0,124,1, + 0,131,2,0,83,89,110,1,0,88,100,0,0,83,40,1, + 0,0,0,78,40,5,0,0,0,244,7,0,0,0,95,119, + 105,110,114,101,103,116,7,0,0,0,79,112,101,110,75,101, + 121,116,17,0,0,0,72,75,69,89,95,67,85,82,82,69, + 78,84,95,85,83,69,82,114,40,0,0,0,116,18,0,0, + 0,72,75,69,89,95,76,79,67,65,76,95,77,65,67,72, + 73,78,69,40,2,0,0,0,114,195,0,0,0,244,3,0, + 0,0,107,101,121,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,244,14,0,0,0,95,111,112,101,110,95,114, + 101,103,105,115,116,114,121,66,3,0,0,115,8,0,0,0, + 0,2,3,1,23,1,13,1,117,36,0,0,0,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,0,0,0,0,0,0,6,0,0,0,16,0, + 0,0,67,0,0,0,115,142,0,0,0,124,0,0,106,0, + 0,114,21,0,124,0,0,106,1,0,125,2,0,110,9,0, + 124,0,0,106,2,0,125,2,0,124,2,0,106,3,0,100, + 1,0,124,1,0,100,2,0,116,4,0,106,5,0,100,0, + 0,100,3,0,133,2,0,25,131,0,2,125,3,0,121,46, + 0,124,0,0,106,6,0,124,3,0,131,1,0,143,25,0, + 125,4,0,116,7,0,106,8,0,124,4,0,100,4,0,131, + 2,0,125,5,0,87,100,0,0,81,88,87,110,22,0,4, + 116,9,0,107,10,0,114,137,0,1,1,1,100,0,0,83, + 89,110,1,0,88,124,5,0,83,40,5,0,0,0,78,114, + 156,0,0,0,116,11,0,0,0,115,121,115,95,118,101,114, + 115,105,111,110,114,124,0,0,0,114,30,0,0,0,40,10, + 0,0,0,244,11,0,0,0,68,69,66,85,71,95,66,85, + 73,76,68,244,18,0,0,0,82,69,71,73,83,84,82,89, + 95,75,69,89,95,68,69,66,85,71,244,12,0,0,0,82, + 69,71,73,83,84,82,89,95,75,69,89,114,46,0,0,0, + 114,7,0,0,0,244,7,0,0,0,118,101,114,115,105,111, + 110,114,208,0,0,0,114,206,0,0,0,116,10,0,0,0, + 81,117,101,114,121,86,97,108,117,101,114,40,0,0,0,40, + 6,0,0,0,114,195,0,0,0,114,156,0,0,0,116,12, + 0,0,0,114,101,103,105,115,116,114,121,95,107,101,121,114, + 207,0,0,0,116,4,0,0,0,104,107,101,121,244,8,0, + 0,0,102,105,108,101,112,97,116,104,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,244,16,0,0,0,95,115, + 101,97,114,99,104,95,114,101,103,105,115,116,114,121,73,3, + 0,0,115,22,0,0,0,0,2,9,1,12,2,9,1,15, + 1,22,1,3,1,18,1,28,1,13,1,9,1,117,38,0, + 0,0,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,114,99,104,95, + 114,101,103,105,115,116,114,121,78,99,3,0,0,0,0,0, + 0,0,7,0,0,0,12,0,0,0,67,0,0,0,115,140, + 0,0,0,124,0,0,106,0,0,124,1,0,131,1,0,125, + 3,0,124,3,0,100,1,0,107,8,0,114,31,0,100,1, + 0,83,121,17,0,116,1,0,106,2,0,124,3,0,131,1, + 0,1,87,110,22,0,4,116,3,0,107,10,0,114,72,0, + 1,1,1,100,1,0,83,89,110,1,0,88,120,60,0,116, + 4,0,131,0,0,68,93,49,0,92,3,0,125,4,0,125, + 5,0,125,6,0,124,3,0,106,5,0,116,6,0,124,5, + 0,131,1,0,131,1,0,114,83,0,124,4,0,124,1,0, + 124,3,0,131,2,0,83,113,83,0,87,100,1,0,83,40, + 2,0,0,0,117,34,0,0,0,70,105,110,100,32,109,111, + 100,117,108,101,32,110,97,109,101,100,32,105,110,32,116,104, + 101,32,114,101,103,105,115,116,114,121,46,78,40,7,0,0, + 0,114,214,0,0,0,114,3,0,0,0,114,39,0,0,0, + 114,40,0,0,0,244,27,0,0,0,95,103,101,116,95,115, + 117,112,112,111,114,116,101,100,95,102,105,108,101,95,108,111, + 97,100,101,114,115,244,8,0,0,0,101,110,100,115,119,105, + 116,104,244,5,0,0,0,116,117,112,108,101,40,7,0,0, + 0,114,195,0,0,0,114,156,0,0,0,114,35,0,0,0, + 114,213,0,0,0,114,173,0,0,0,114,115,0,0,0,114, + 36,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,197,0,0,0,88,3,0,0,115,20,0,0, + 0,0,3,15,1,12,1,4,1,3,1,17,1,13,1,9, + 1,25,1,21,1,117,33,0,0,0,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,40,11,0,0,0, + 114,56,0,0,0,114,55,0,0,0,114,57,0,0,0,114, + 58,0,0,0,114,211,0,0,0,114,210,0,0,0,114,209, + 0,0,0,114,201,0,0,0,114,208,0,0,0,114,214,0, + 0,0,114,197,0,0,0,40,1,0,0,0,114,69,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 114,205,0,0,0,53,3,0,0,115,16,0,0,0,16,3, + 6,3,6,3,6,2,6,2,18,7,18,15,3,1,114,205, + 0,0,0,99,1,0,0,0,0,0,0,0,1,0,0,0, + 5,0,0,0,66,0,0,0,115,62,0,0,0,124,0,0, + 69,101,0,0,90,1,0,100,0,0,90,2,0,100,1,0, + 90,3,0,100,2,0,100,3,0,132,0,0,90,4,0,101, + 5,0,100,4,0,100,5,0,100,6,0,100,7,0,132,0, + 1,131,1,0,90,6,0,100,8,0,83,40,9,0,0,0, + 244,13,0,0,0,95,76,111,97,100,101,114,66,97,115,105, + 99,115,117,83,0,0,0,66,97,115,101,32,99,108,97,115, + 115,32,111,102,32,99,111,109,109,111,110,32,99,111,100,101, + 32,110,101,101,100,101,100,32,98,121,32,98,111,116,104,32, + 83,111,117,114,99,101,76,111,97,100,101,114,32,97,110,100, + 10,32,32,32,32,83,111,117,114,99,101,108,101,115,115,70, + 105,108,101,76,111,97,100,101,114,46,99,2,0,0,0,0, + 0,0,0,5,0,0,0,3,0,0,0,67,0,0,0,115, + 88,0,0,0,116,0,0,124,0,0,106,1,0,124,1,0, + 131,1,0,131,1,0,100,1,0,25,125,2,0,124,2,0, + 106,2,0,100,2,0,100,1,0,131,2,0,100,3,0,25, + 125,3,0,124,1,0,106,3,0,100,2,0,131,1,0,100, + 4,0,25,125,4,0,124,3,0,100,5,0,107,2,0,111, + 87,0,124,4,0,100,5,0,107,3,0,83,40,6,0,0, + 0,117,141,0,0,0,67,111,110,99,114,101,116,101,32,105, + 109,112,108,101,109,101,110,116,97,116,105,111,110,32,111,102, + 32,73,110,115,112,101,99,116,76,111,97,100,101,114,46,105, + 115,95,112,97,99,107,97,103,101,32,98,121,32,99,104,101, + 99,107,105,110,103,32,105,102,10,32,32,32,32,32,32,32, + 32,116,104,101,32,112,97,116,104,32,114,101,116,117,114,110, + 101,100,32,98,121,32,103,101,116,95,102,105,108,101,110,97, + 109,101,32,104,97,115,32,97,32,102,105,108,101,110,97,109, + 101,32,111,102,32,39,95,95,105,110,105,116,95,95,46,112, + 121,39,46,114,29,0,0,0,114,104,0,0,0,114,71,0, + 0,0,114,103,0,0,0,114,79,0,0,0,40,4,0,0, + 0,114,38,0,0,0,244,12,0,0,0,103,101,116,95,102, + 105,108,101,110,97,109,101,114,34,0,0,0,114,32,0,0, + 0,40,5,0,0,0,114,78,0,0,0,114,156,0,0,0, + 114,119,0,0,0,116,13,0,0,0,102,105,108,101,110,97, + 109,101,95,98,97,115,101,116,9,0,0,0,116,97,105,108, + 95,110,97,109,101,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,153,0,0,0,108,3,0,0,115,8,0, + 0,0,0,3,25,1,22,1,19,1,117,24,0,0,0,95, + 76,111,97,100,101,114,66,97,115,105,99,115,46,105,115,95, + 112,97,99,107,97,103,101,244,10,0,0,0,115,111,117,114, + 99,101,108,101,115,115,70,99,2,0,0,0,1,0,0,0, + 5,0,0,0,12,0,0,0,67,0,0,0,115,184,0,0, + 0,124,1,0,106,0,0,125,3,0,124,0,0,106,1,0, + 124,3,0,131,1,0,125,4,0,124,0,0,106,2,0,124, + 3,0,131,1,0,124,1,0,95,3,0,124,2,0,115,106, + 0,121,22,0,116,4,0,124,1,0,106,3,0,131,1,0, + 124,1,0,95,5,0,87,113,118,0,4,116,6,0,107,10, + 0,114,102,0,1,1,1,124,1,0,106,3,0,124,1,0, + 95,5,0,89,113,118,0,88,110,12,0,124,1,0,106,3, + 0,124,1,0,95,5,0,124,0,0,106,7,0,124,3,0, + 131,1,0,114,161,0,116,8,0,124,1,0,106,3,0,131, + 1,0,100,1,0,25,103,1,0,124,1,0,95,9,0,110, + 0,0,116,10,0,116,11,0,124,4,0,124,1,0,106,12, + 0,131,3,0,1,124,1,0,83,40,2,0,0,0,117,82, + 0,0,0,72,101,108,112,101,114,32,102,111,114,32,108,111, + 97,100,95,109,111,100,117,108,101,32,97,98,108,101,32,116, + 111,32,104,97,110,100,108,101,32,101,105,116,104,101,114,32, + 115,111,117,114,99,101,32,111,114,32,115,111,117,114,99,101, + 108,101,115,115,10,32,32,32,32,32,32,32,32,108,111,97, + 100,105,110,103,46,114,71,0,0,0,40,13,0,0,0,114, + 56,0,0,0,114,199,0,0,0,114,219,0,0,0,114,204, + 0,0,0,114,120,0,0,0,116,10,0,0,0,95,95,99, + 97,99,104,101,100,95,95,114,112,0,0,0,114,153,0,0, + 0,114,38,0,0,0,114,143,0,0,0,114,102,0,0,0, + 244,4,0,0,0,101,120,101,99,114,62,0,0,0,40,5, + 0,0,0,114,78,0,0,0,114,145,0,0,0,114,220,0, + 0,0,114,66,0,0,0,244,11,0,0,0,99,111,100,101, + 95,111,98,106,101,99,116,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,12,0,0,0,95,108,111,97,100, + 95,109,111,100,117,108,101,116,3,0,0,115,26,0,0,0, + 0,4,9,1,15,1,18,1,6,1,3,1,22,1,13,1, + 20,2,12,1,15,1,28,2,19,1,117,26,0,0,0,95, + 76,111,97,100,101,114,66,97,115,105,99,115,46,95,108,111, + 97,100,95,109,111,100,117,108,101,78,40,7,0,0,0,114, + 56,0,0,0,114,55,0,0,0,114,57,0,0,0,114,58, + 0,0,0,114,153,0,0,0,114,159,0,0,0,114,223,0, + 0,0,40,1,0,0,0,114,69,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,114,218,0,0,0, + 103,3,0,0,115,8,0,0,0,16,3,6,2,12,8,6, + 1,114,218,0,0,0,99,1,0,0,0,0,0,0,0,1, + 0,0,0,4,0,0,0,66,0,0,0,115,122,0,0,0, + 124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,0, + 100,1,0,100,2,0,132,0,0,90,3,0,100,3,0,100, + 4,0,132,0,0,90,4,0,100,5,0,100,6,0,132,0, + 0,90,5,0,100,7,0,100,8,0,132,0,0,90,6,0, + 100,9,0,100,10,0,132,0,0,90,7,0,100,11,0,100, + 20,0,100,13,0,100,14,0,132,0,1,90,8,0,100,15, + 0,100,16,0,132,0,0,90,9,0,100,17,0,100,18,0, + 132,0,0,90,10,0,100,19,0,83,40,21,0,0,0,244, + 12,0,0,0,83,111,117,114,99,101,76,111,97,100,101,114, + 99,2,0,0,0,0,0,0,0,2,0,0,0,1,0,0, + 0,67,0,0,0,115,10,0,0,0,116,0,0,130,1,0, + 100,1,0,83,40,2,0,0,0,117,178,0,0,0,79,112, + 116,105,111,110,97,108,32,109,101,116,104,111,100,32,116,104, + 97,116,32,114,101,116,117,114,110,115,32,116,104,101,32,109, + 111,100,105,102,105,99,97,116,105,111,110,32,116,105,109,101, + 32,40,97,110,32,105,110,116,41,32,102,111,114,32,116,104, + 101,10,32,32,32,32,32,32,32,32,115,112,101,99,105,102, + 105,101,100,32,112,97,116,104,44,32,119,104,101,114,101,32, + 112,97,116,104,32,105,115,32,97,32,115,116,114,46,10,10, + 32,32,32,32,32,32,32,32,82,97,105,115,101,115,32,73, + 79,69,114,114,111,114,32,119,104,101,110,32,116,104,101,32, + 112,97,116,104,32,99,97,110,110,111,116,32,98,101,32,104, + 97,110,100,108,101,100,46,10,32,32,32,32,32,32,32,32, + 78,40,1,0,0,0,244,7,0,0,0,73,79,69,114,114, + 111,114,40,2,0,0,0,114,78,0,0,0,114,35,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 244,10,0,0,0,112,97,116,104,95,109,116,105,109,101,139, + 3,0,0,115,2,0,0,0,0,6,117,23,0,0,0,83, + 111,117,114,99,101,76,111,97,100,101,114,46,112,97,116,104, + 95,109,116,105,109,101,99,2,0,0,0,0,0,0,0,2, + 0,0,0,3,0,0,0,67,0,0,0,115,20,0,0,0, + 105,1,0,124,0,0,106,0,0,124,1,0,131,1,0,100, + 1,0,54,83,40,2,0,0,0,117,170,1,0,0,79,112, + 116,105,111,110,97,108,32,109,101,116,104,111,100,32,114,101, + 116,117,114,110,105,110,103,32,97,32,109,101,116,97,100,97, + 116,97,32,100,105,99,116,32,102,111,114,32,116,104,101,32, + 115,112,101,99,105,102,105,101,100,32,112,97,116,104,10,32, + 32,32,32,32,32,32,32,116,111,32,98,121,32,116,104,101, + 32,112,97,116,104,32,40,115,116,114,41,46,10,32,32,32, + 32,32,32,32,32,80,111,115,115,105,98,108,101,32,107,101, + 121,115,58,10,32,32,32,32,32,32,32,32,45,32,39,109, + 116,105,109,101,39,32,40,109,97,110,100,97,116,111,114,121, + 41,32,105,115,32,116,104,101,32,110,117,109,101,114,105,99, + 32,116,105,109,101,115,116,97,109,112,32,111,102,32,108,97, + 115,116,32,115,111,117,114,99,101,10,32,32,32,32,32,32, + 32,32,32,32,99,111,100,101,32,109,111,100,105,102,105,99, + 97,116,105,111,110,59,10,32,32,32,32,32,32,32,32,45, + 32,39,115,105,122,101,39,32,40,111,112,116,105,111,110,97, + 108,41,32,105,115,32,116,104,101,32,115,105,122,101,32,105, + 110,32,98,121,116,101,115,32,111,102,32,116,104,101,32,115, + 111,117,114,99,101,32,99,111,100,101,46,10,10,32,32,32, + 32,32,32,32,32,73,109,112,108,101,109,101,110,116,105,110, + 103,32,116,104,105,115,32,109,101,116,104,111,100,32,97,108, + 108,111,119,115,32,116,104,101,32,108,111,97,100,101,114,32, + 116,111,32,114,101,97,100,32,98,121,116,101,99,111,100,101, + 32,102,105,108,101,115,46,10,32,32,32,32,32,32,32,32, + 82,97,105,115,101,115,32,73,79,69,114,114,111,114,32,119, + 104,101,110,32,116,104,101,32,112,97,116,104,32,99,97,110, + 110,111,116,32,98,101,32,104,97,110,100,108,101,100,46,10, + 32,32,32,32,32,32,32,32,114,179,0,0,0,40,1,0, + 0,0,114,226,0,0,0,40,2,0,0,0,114,78,0,0, + 0,114,35,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,10,0,0,0,112,97,116,104,95,115, + 116,97,116,115,147,3,0,0,115,2,0,0,0,0,11,117, + 23,0,0,0,83,111,117,114,99,101,76,111,97,100,101,114, + 46,112,97,116,104,95,115,116,97,116,115,99,4,0,0,0, + 0,0,0,0,4,0,0,0,3,0,0,0,67,0,0,0, + 115,16,0,0,0,124,0,0,106,0,0,124,2,0,124,3, + 0,131,2,0,83,40,1,0,0,0,117,228,0,0,0,79, + 112,116,105,111,110,97,108,32,109,101,116,104,111,100,32,119, + 104,105,99,104,32,119,114,105,116,101,115,32,100,97,116,97, + 32,40,98,121,116,101,115,41,32,116,111,32,97,32,102,105, + 108,101,32,112,97,116,104,32,40,97,32,115,116,114,41,46, + 10,10,32,32,32,32,32,32,32,32,73,109,112,108,101,109, + 101,110,116,105,110,103,32,116,104,105,115,32,109,101,116,104, + 111,100,32,97,108,108,111,119,115,32,102,111,114,32,116,104, + 101,32,119,114,105,116,105,110,103,32,111,102,32,98,121,116, + 101,99,111,100,101,32,102,105,108,101,115,46,10,10,32,32, + 32,32,32,32,32,32,84,104,101,32,115,111,117,114,99,101, + 32,112,97,116,104,32,105,115,32,110,101,101,100,101,100,32, + 105,110,32,111,114,100,101,114,32,116,111,32,99,111,114,114, + 101,99,116,108,121,32,116,114,97,110,115,102,101,114,32,112, + 101,114,109,105,115,115,105,111,110,115,10,32,32,32,32,32, + 32,32,32,40,1,0,0,0,244,8,0,0,0,115,101,116, + 95,100,97,116,97,40,4,0,0,0,114,78,0,0,0,114, + 130,0,0,0,116,10,0,0,0,99,97,99,104,101,95,112, + 97,116,104,114,52,0,0,0,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,244,15,0,0,0,95,99,97,99, + 104,101,95,98,121,116,101,99,111,100,101,160,3,0,0,115, + 2,0,0,0,0,8,117,28,0,0,0,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,0,0,0,115,4,0,0, + 0,100,1,0,83,40,2,0,0,0,117,150,0,0,0,79, + 112,116,105,111,110,97,108,32,109,101,116,104,111,100,32,119, + 104,105,99,104,32,119,114,105,116,101,115,32,100,97,116,97, + 32,40,98,121,116,101,115,41,32,116,111,32,97,32,102,105, + 108,101,32,112,97,116,104,32,40,97,32,115,116,114,41,46, + 10,10,32,32,32,32,32,32,32,32,73,109,112,108,101,109, + 101,110,116,105,110,103,32,116,104,105,115,32,109,101,116,104, + 111,100,32,97,108,108,111,119,115,32,102,111,114,32,116,104, + 101,32,119,114,105,116,105,110,103,32,111,102,32,98,121,116, + 101,99,111,100,101,32,102,105,108,101,115,46,10,32,32,32, + 32,32,32,32,32,78,114,4,0,0,0,40,3,0,0,0, + 114,78,0,0,0,114,35,0,0,0,114,52,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,228, + 0,0,0,170,3,0,0,115,0,0,0,0,117,21,0,0, + 0,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,9, + 0,0,0,44,0,0,0,67,0,0,0,115,62,1,0,0, + 100,1,0,100,2,0,108,0,0,125,2,0,124,0,0,106, + 1,0,124,1,0,131,1,0,125,3,0,121,19,0,124,0, + 0,106,2,0,124,3,0,131,1,0,125,4,0,87,110,58, + 0,4,116,3,0,107,10,0,114,106,0,1,125,5,0,1, + 122,26,0,116,4,0,100,3,0,100,4,0,124,1,0,131, + 1,1,124,5,0,130,2,0,87,89,100,2,0,100,2,0, + 125,5,0,126,5,0,88,110,1,0,88,116,5,0,106,6, + 0,124,4,0,131,1,0,106,7,0,125,6,0,121,19,0, + 124,2,0,106,8,0,124,6,0,131,1,0,125,7,0,87, + 110,58,0,4,116,9,0,107,10,0,114,204,0,1,125,5, + 0,1,122,26,0,116,4,0,100,5,0,100,4,0,124,1, + 0,131,1,1,124,5,0,130,2,0,87,89,100,2,0,100, + 2,0,125,5,0,126,5,0,88,110,1,0,88,116,5,0, + 106,10,0,100,2,0,100,6,0,131,2,0,125,8,0,121, + 30,0,124,8,0,106,11,0,124,4,0,106,11,0,124,7, + 0,100,1,0,25,131,1,0,131,1,0,83,87,110,58,0, + 4,116,12,0,107,10,0,114,57,1,1,125,5,0,1,122, + 26,0,116,4,0,100,7,0,100,4,0,124,1,0,131,1, 1,124,5,0,130,2,0,87,89,100,2,0,100,2,0,125, - 5,0,126,5,0,88,110,1,0,88,116,5,0,106,6,0, - 124,4,0,131,1,0,106,7,0,125,6,0,121,19,0,124, - 2,0,106,8,0,124,6,0,131,1,0,125,7,0,87,110, - 58,0,4,116,9,0,107,10,0,114,204,0,1,125,5,0, - 1,122,26,0,116,4,0,100,5,0,100,4,0,124,1,0, - 131,1,1,124,5,0,130,2,0,87,89,100,2,0,100,2, - 0,125,5,0,126,5,0,88,110,1,0,88,116,5,0,106, - 10,0,100,2,0,100,7,0,131,2,0,125,8,0,121,30, - 0,124,8,0,106,13,0,124,4,0,106,13,0,124,7,0, - 100,1,0,25,131,1,0,131,1,0,83,87,110,58,0,4, - 116,14,0,107,10,0,114,57,1,1,125,5,0,1,122,26, - 0,116,4,0,100,6,0,100,4,0,124,1,0,131,1,1, - 124,5,0,130,2,0,87,89,100,2,0,100,2,0,125,5, - 0,126,5,0,88,110,1,0,88,100,2,0,83,40,8,0, - 0,0,117,52,0,0,0,67,111,110,99,114,101,116,101,32, - 105,109,112,108,101,109,101,110,116,97,116,105,111,110,32,111, - 102,32,73,110,115,112,101,99,116,76,111,97,100,101,114,46, - 103,101,116,95,115,111,117,114,99,101,46,105,0,0,0,0, - 78,117,39,0,0,0,115,111,117,114,99,101,32,110,111,116, - 32,97,118,97,105,108,97,98,108,101,32,116,104,114,111,117, - 103,104,32,103,101,116,95,100,97,116,97,40,41,117,4,0, - 0,0,110,97,109,101,117,25,0,0,0,70,97,105,108,101, - 100,32,116,111,32,100,101,116,101,99,116,32,101,110,99,111, - 100,105,110,103,117,28,0,0,0,70,97,105,108,101,100,32, - 116,111,32,100,101,99,111,100,101,32,115,111,117,114,99,101, - 32,102,105,108,101,84,40,15,0,0,0,117,8,0,0,0, - 116,111,107,101,110,105,122,101,117,12,0,0,0,103,101,116, - 95,102,105,108,101,110,97,109,101,117,8,0,0,0,103,101, - 116,95,100,97,116,97,117,7,0,0,0,73,79,69,114,114, - 111,114,117,11,0,0,0,73,109,112,111,114,116,69,114,114, - 111,114,117,3,0,0,0,95,105,111,117,7,0,0,0,66, - 121,116,101,115,73,79,117,8,0,0,0,114,101,97,100,108, - 105,110,101,117,15,0,0,0,100,101,116,101,99,116,95,101, - 110,99,111,100,105,110,103,117,11,0,0,0,83,121,110,116, - 97,120,69,114,114,111,114,117,25,0,0,0,73,110,99,114, - 101,109,101,110,116,97,108,78,101,119,108,105,110,101,68,101, - 99,111,100,101,114,117,4,0,0,0,78,111,110,101,117,4, - 0,0,0,84,114,117,101,117,6,0,0,0,100,101,99,111, - 100,101,117,18,0,0,0,85,110,105,99,111,100,101,68,101, - 99,111,100,101,69,114,114,111,114,40,9,0,0,0,117,4, - 0,0,0,115,101,108,102,117,8,0,0,0,102,117,108,108, - 110,97,109,101,117,8,0,0,0,116,111,107,101,110,105,122, - 101,117,4,0,0,0,112,97,116,104,117,12,0,0,0,115, - 111,117,114,99,101,95,98,121,116,101,115,117,3,0,0,0, - 101,120,99,117,10,0,0,0,114,101,97,100,115,111,117,114, - 99,101,117,8,0,0,0,101,110,99,111,100,105,110,103,117, - 15,0,0,0,110,101,119,108,105,110,101,95,100,101,99,111, - 100,101,114,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,103,101,116,95,115,111,117,114,99,101,145,3, - 0,0,115,38,0,0,0,0,2,12,1,15,1,3,1,19, - 1,18,1,9,1,31,1,18,1,3,1,19,1,18,1,9, - 1,31,1,18,1,3,1,30,1,18,1,9,1,117,23,0, - 0,0,83,111,117,114,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,12,0,0,0,45,0,0,0,67,0,0,0,115,52, - 2,0,0,124,0,0,106,0,0,124,1,0,131,1,0,125, - 2,0,100,10,0,125,3,0,121,16,0,116,2,0,124,2, - 0,131,1,0,125,4,0,87,110,24,0,4,116,3,0,107, - 10,0,114,63,0,1,1,1,100,10,0,125,4,0,89,110, - 14,1,88,121,19,0,124,0,0,106,4,0,124,2,0,131, - 1,0,125,5,0,87,110,18,0,4,116,3,0,107,10,0, - 114,103,0,1,1,1,89,110,230,0,88,116,5,0,124,5, - 0,100,1,0,25,131,1,0,125,3,0,121,19,0,124,0, - 0,106,6,0,124,4,0,131,1,0,125,6,0,87,110,18, - 0,4,116,7,0,107,10,0,114,159,0,1,1,1,89,110, - 174,0,88,121,28,0,124,0,0,106,8,0,124,1,0,124, - 6,0,124,4,0,124,5,0,131,4,0,125,7,0,87,110, - 24,0,4,116,9,0,116,10,0,102,2,0,107,10,0,114, - 214,0,1,1,1,89,110,119,0,88,116,11,0,100,2,0, - 124,4,0,124,2,0,131,3,0,1,116,12,0,106,13,0, - 124,7,0,131,1,0,125,8,0,116,14,0,124,8,0,116, - 15,0,131,2,0,114,38,1,116,16,0,106,17,0,124,8, - 0,124,2,0,131,2,0,1,116,11,0,100,3,0,124,4, - 0,131,2,0,1,124,8,0,83,100,4,0,125,9,0,116, - 9,0,124,9,0,106,18,0,124,4,0,131,1,0,100,5, - 0,124,1,0,100,6,0,124,4,0,131,1,2,130,1,0, - 124,0,0,106,6,0,124,2,0,131,1,0,125,10,0,116, - 19,0,116,20,0,124,10,0,124,2,0,100,7,0,100,8, - 0,100,11,0,131,4,1,125,11,0,116,11,0,100,3,0, - 124,2,0,131,2,0,1,116,22,0,106,23,0,12,114,48, - 2,124,4,0,100,10,0,107,9,0,114,48,2,124,3,0, - 100,10,0,107,9,0,114,48,2,116,24,0,116,25,0,131, - 1,0,125,6,0,124,6,0,106,26,0,116,27,0,124,3, - 0,131,1,0,131,1,0,1,124,6,0,106,26,0,116,27, - 0,116,28,0,124,10,0,131,1,0,131,1,0,131,1,0, - 1,124,6,0,106,26,0,116,12,0,106,29,0,124,11,0, - 131,1,0,131,1,0,1,121,36,0,124,0,0,106,30,0, - 124,2,0,124,4,0,124,6,0,131,3,0,1,116,11,0, - 100,9,0,124,4,0,131,2,0,1,87,113,48,2,4,116, - 3,0,107,10,0,114,44,2,1,1,1,89,113,48,2,88, - 110,0,0,124,11,0,83,40,12,0,0,0,117,190,0,0, + 5,0,126,5,0,88,110,1,0,88,100,2,0,83,40,8, + 0,0,0,117,52,0,0,0,67,111,110,99,114,101,116,101, + 32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,32, + 111,102,32,73,110,115,112,101,99,116,76,111,97,100,101,114, + 46,103,101,116,95,115,111,117,114,99,101,46,114,71,0,0, + 0,78,117,39,0,0,0,115,111,117,114,99,101,32,110,111, + 116,32,97,118,97,105,108,97,98,108,101,32,116,104,114,111, + 117,103,104,32,103,101,116,95,100,97,116,97,40,41,114,66, + 0,0,0,117,25,0,0,0,70,97,105,108,101,100,32,116, + 111,32,100,101,116,101,99,116,32,101,110,99,111,100,105,110, + 103,84,117,28,0,0,0,70,97,105,108,101,100,32,116,111, + 32,100,101,99,111,100,101,32,115,111,117,114,99,101,32,102, + 105,108,101,40,13,0,0,0,244,8,0,0,0,116,111,107, + 101,110,105,122,101,114,219,0,0,0,244,8,0,0,0,103, + 101,116,95,100,97,116,97,114,40,0,0,0,114,154,0,0, + 0,114,48,0,0,0,116,7,0,0,0,66,121,116,101,115, + 73,79,116,8,0,0,0,114,101,97,100,108,105,110,101,116, + 15,0,0,0,100,101,116,101,99,116,95,101,110,99,111,100, + 105,110,103,244,11,0,0,0,83,121,110,116,97,120,69,114, + 114,111,114,116,25,0,0,0,73,110,99,114,101,109,101,110, + 116,97,108,78,101,119,108,105,110,101,68,101,99,111,100,101, + 114,244,6,0,0,0,100,101,99,111,100,101,244,18,0,0, + 0,85,110,105,99,111,100,101,68,101,99,111,100,101,69,114, + 114,111,114,40,9,0,0,0,114,78,0,0,0,114,156,0, + 0,0,114,230,0,0,0,114,35,0,0,0,244,12,0,0, + 0,115,111,117,114,99,101,95,98,121,116,101,115,244,3,0, + 0,0,101,120,99,116,10,0,0,0,114,101,97,100,115,111, + 117,114,99,101,244,8,0,0,0,101,110,99,111,100,105,110, + 103,116,15,0,0,0,110,101,119,108,105,110,101,95,100,101, + 99,111,100,101,114,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,200,0,0,0,177,3,0,0,115,38,0, + 0,0,0,2,12,1,15,1,3,1,19,1,18,1,9,1, + 31,1,18,1,3,1,19,1,18,1,9,1,31,1,18,1, + 3,1,30,1,18,1,9,1,117,23,0,0,0,83,111,117, + 114,99,101,76,111,97,100,101,114,46,103,101,116,95,115,111, + 117,114,99,101,244,9,0,0,0,95,111,112,116,105,109,105, + 122,101,114,29,0,0,0,99,3,0,0,0,1,0,0,0, + 4,0,0,0,9,0,0,0,67,0,0,0,115,31,0,0, + 0,116,0,0,116,1,0,124,1,0,124,2,0,100,1,0, + 100,2,0,100,3,0,100,4,0,124,3,0,131,4,2,83, + 40,5,0,0,0,117,130,0,0,0,82,101,116,117,114,110, + 32,116,104,101,32,99,111,100,101,32,111,98,106,101,99,116, + 32,99,111,109,112,105,108,101,100,32,102,114,111,109,32,115, + 111,117,114,99,101,46,10,10,32,32,32,32,32,32,32,32, + 84,104,101,32,39,100,97,116,97,39,32,97,114,103,117,109, + 101,110,116,32,99,97,110,32,98,101,32,97,110,121,32,111, + 98,106,101,99,116,32,116,121,112,101,32,116,104,97,116,32, + 99,111,109,112,105,108,101,40,41,32,115,117,112,112,111,114, + 116,115,46,10,32,32,32,32,32,32,32,32,114,221,0,0, + 0,116,12,0,0,0,100,111,110,116,95,105,110,104,101,114, + 105,116,84,114,106,0,0,0,40,2,0,0,0,114,102,0, + 0,0,244,7,0,0,0,99,111,109,112,105,108,101,40,4, + 0,0,0,114,78,0,0,0,114,52,0,0,0,114,35,0, + 0,0,114,238,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,14,0,0,0,115,111,117,114,99, + 101,95,116,111,95,99,111,100,101,199,3,0,0,115,4,0, + 0,0,0,5,18,1,117,27,0,0,0,83,111,117,114,99, + 101,76,111,97,100,101,114,46,115,111,117,114,99,101,95,116, + 111,95,99,111,100,101,99,2,0,0,0,0,0,0,0,10, + 0,0,0,45,0,0,0,67,0,0,0,115,177,1,0,0, + 124,0,0,106,0,0,124,1,0,131,1,0,125,2,0,100, + 1,0,125,3,0,121,16,0,116,1,0,124,2,0,131,1, + 0,125,4,0,87,110,24,0,4,116,2,0,107,10,0,114, + 63,0,1,1,1,100,1,0,125,4,0,89,110,202,0,88, + 121,19,0,124,0,0,106,3,0,124,2,0,131,1,0,125, + 5,0,87,110,18,0,4,116,4,0,107,10,0,114,103,0, + 1,1,1,89,110,162,0,88,116,5,0,124,5,0,100,2, + 0,25,131,1,0,125,3,0,121,19,0,124,0,0,106,6, + 0,124,4,0,131,1,0,125,6,0,87,110,18,0,4,116, + 7,0,107,10,0,114,159,0,1,1,1,89,110,106,0,88, + 121,34,0,116,8,0,124,6,0,100,3,0,124,5,0,100, + 4,0,124,1,0,100,5,0,124,4,0,131,1,3,125,7, + 0,87,110,24,0,4,116,9,0,116,10,0,102,2,0,107, + 10,0,114,220,0,1,1,1,89,110,45,0,88,116,11,0, + 100,6,0,124,4,0,124,2,0,131,3,0,1,116,12,0, + 124,7,0,100,4,0,124,1,0,100,7,0,124,4,0,100, + 8,0,124,2,0,131,1,3,83,124,0,0,106,6,0,124, + 2,0,131,1,0,125,8,0,124,0,0,106,13,0,124,8, + 0,124,2,0,131,2,0,125,9,0,116,11,0,100,9,0, + 124,2,0,131,2,0,1,116,14,0,106,15,0,12,114,173, + 1,124,4,0,100,1,0,107,9,0,114,173,1,124,3,0, + 100,1,0,107,9,0,114,173,1,116,16,0,124,9,0,124, + 3,0,116,17,0,124,8,0,131,1,0,131,3,0,125,6, + 0,121,36,0,124,0,0,106,18,0,124,2,0,124,4,0, + 124,6,0,131,3,0,1,116,11,0,100,10,0,124,4,0, + 131,2,0,1,87,113,173,1,4,116,2,0,107,10,0,114, + 169,1,1,1,1,89,113,173,1,88,110,0,0,124,9,0, + 83,40,11,0,0,0,117,190,0,0,0,67,111,110,99,114, + 101,116,101,32,105,109,112,108,101,109,101,110,116,97,116,105, + 111,110,32,111,102,32,73,110,115,112,101,99,116,76,111,97, + 100,101,114,46,103,101,116,95,99,111,100,101,46,10,10,32, + 32,32,32,32,32,32,32,82,101,97,100,105,110,103,32,111, + 102,32,98,121,116,101,99,111,100,101,32,114,101,113,117,105, + 114,101,115,32,112,97,116,104,95,115,116,97,116,115,32,116, + 111,32,98,101,32,105,109,112,108,101,109,101,110,116,101,100, + 46,32,84,111,32,119,114,105,116,101,10,32,32,32,32,32, + 32,32,32,98,121,116,101,99,111,100,101,44,32,115,101,116, + 95,100,97,116,97,32,109,117,115,116,32,97,108,115,111,32, + 98,101,32,105,109,112,108,101,109,101,110,116,101,100,46,10, + 10,32,32,32,32,32,32,32,32,78,114,179,0,0,0,114, + 128,0,0,0,114,66,0,0,0,114,35,0,0,0,117,13, + 0,0,0,123,125,32,109,97,116,99,104,101,115,32,123,125, + 114,129,0,0,0,114,130,0,0,0,117,19,0,0,0,99, + 111,100,101,32,111,98,106,101,99,116,32,102,114,111,109,32, + 123,125,117,10,0,0,0,119,114,111,116,101,32,123,33,114, + 125,40,19,0,0,0,114,219,0,0,0,114,120,0,0,0, + 114,112,0,0,0,114,227,0,0,0,114,225,0,0,0,114, + 14,0,0,0,114,231,0,0,0,114,40,0,0,0,114,185, + 0,0,0,114,154,0,0,0,114,182,0,0,0,114,141,0, + 0,0,114,190,0,0,0,114,240,0,0,0,114,7,0,0, + 0,244,19,0,0,0,100,111,110,116,95,119,114,105,116,101, + 95,98,121,116,101,99,111,100,101,114,193,0,0,0,114,31, + 0,0,0,114,229,0,0,0,40,10,0,0,0,114,78,0, + 0,0,114,156,0,0,0,114,130,0,0,0,114,183,0,0, + 0,114,129,0,0,0,244,2,0,0,0,115,116,114,52,0, + 0,0,244,10,0,0,0,98,121,116,101,115,95,100,97,116, + 97,114,235,0,0,0,114,222,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,199,0,0,0,207, + 3,0,0,115,78,0,0,0,0,7,15,1,6,1,3,1, + 16,1,13,1,11,2,3,1,19,1,13,1,5,2,16,1, + 3,1,19,1,13,1,5,2,3,1,9,1,12,1,13,1, + 19,1,5,2,9,1,7,1,15,1,6,1,7,1,15,1, + 18,1,13,1,22,1,12,1,9,1,15,1,3,1,19,1, + 17,1,13,1,8,1,117,21,0,0,0,83,111,117,114,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,2,0,0, + 0,67,0,0,0,115,13,0,0,0,124,0,0,106,0,0, + 124,1,0,131,1,0,83,40,1,0,0,0,117,0,1,0, 0,67,111,110,99,114,101,116,101,32,105,109,112,108,101,109, - 101,110,116,97,116,105,111,110,32,111,102,32,73,110,115,112, - 101,99,116,76,111,97,100,101,114,46,103,101,116,95,99,111, - 100,101,46,10,10,32,32,32,32,32,32,32,32,82,101,97, - 100,105,110,103,32,111,102,32,98,121,116,101,99,111,100,101, - 32,114,101,113,117,105,114,101,115,32,112,97,116,104,95,115, - 116,97,116,115,32,116,111,32,98,101,32,105,109,112,108,101, - 109,101,110,116,101,100,46,32,84,111,32,119,114,105,116,101, - 10,32,32,32,32,32,32,32,32,98,121,116,101,99,111,100, - 101,44,32,115,101,116,95,100,97,116,97,32,109,117,115,116, - 32,97,108,115,111,32,98,101,32,105,109,112,108,101,109,101, - 110,116,101,100,46,10,10,32,32,32,32,32,32,32,32,117, - 5,0,0,0,109,116,105,109,101,117,13,0,0,0,123,125, - 32,109,97,116,99,104,101,115,32,123,125,117,19,0,0,0, - 99,111,100,101,32,111,98,106,101,99,116,32,102,114,111,109, - 32,123,125,117,21,0,0,0,78,111,110,45,99,111,100,101, - 32,111,98,106,101,99,116,32,105,110,32,123,125,117,4,0, - 0,0,110,97,109,101,117,4,0,0,0,112,97,116,104,117, - 4,0,0,0,101,120,101,99,117,12,0,0,0,100,111,110, - 116,95,105,110,104,101,114,105,116,117,10,0,0,0,119,114, - 111,116,101,32,123,33,114,125,78,84,40,31,0,0,0,117, - 12,0,0,0,103,101,116,95,102,105,108,101,110,97,109,101, - 117,4,0,0,0,78,111,110,101,117,17,0,0,0,99,97, - 99,104,101,95,102,114,111,109,95,115,111,117,114,99,101,117, - 19,0,0,0,78,111,116,73,109,112,108,101,109,101,110,116, - 101,100,69,114,114,111,114,117,10,0,0,0,112,97,116,104, - 95,115,116,97,116,115,117,3,0,0,0,105,110,116,117,8, - 0,0,0,103,101,116,95,100,97,116,97,117,7,0,0,0, - 73,79,69,114,114,111,114,117,20,0,0,0,95,98,121,116, - 101,115,95,102,114,111,109,95,98,121,116,101,99,111,100,101, - 117,11,0,0,0,73,109,112,111,114,116,69,114,114,111,114, - 117,8,0,0,0,69,79,70,69,114,114,111,114,117,16,0, - 0,0,95,118,101,114,98,111,115,101,95,109,101,115,115,97, - 103,101,117,7,0,0,0,109,97,114,115,104,97,108,117,5, - 0,0,0,108,111,97,100,115,117,10,0,0,0,105,115,105, - 110,115,116,97,110,99,101,117,10,0,0,0,95,99,111,100, - 101,95,116,121,112,101,117,4,0,0,0,95,105,109,112,117, - 16,0,0,0,95,102,105,120,95,99,111,95,102,105,108,101, - 110,97,109,101,117,6,0,0,0,102,111,114,109,97,116,117, - 25,0,0,0,95,99,97,108,108,95,119,105,116,104,95,102, - 114,97,109,101,115,95,114,101,109,111,118,101,100,117,7,0, - 0,0,99,111,109,112,105,108,101,117,4,0,0,0,84,114, - 117,101,117,3,0,0,0,115,121,115,117,19,0,0,0,100, - 111,110,116,95,119,114,105,116,101,95,98,121,116,101,99,111, - 100,101,117,9,0,0,0,98,121,116,101,97,114,114,97,121, - 117,12,0,0,0,95,77,65,71,73,67,95,66,89,84,69, - 83,117,6,0,0,0,101,120,116,101,110,100,117,7,0,0, - 0,95,119,95,108,111,110,103,117,3,0,0,0,108,101,110, - 117,5,0,0,0,100,117,109,112,115,117,15,0,0,0,95, - 99,97,99,104,101,95,98,121,116,101,99,111,100,101,40,12, - 0,0,0,117,4,0,0,0,115,101,108,102,117,8,0,0, - 0,102,117,108,108,110,97,109,101,117,11,0,0,0,115,111, - 117,114,99,101,95,112,97,116,104,117,12,0,0,0,115,111, - 117,114,99,101,95,109,116,105,109,101,117,13,0,0,0,98, - 121,116,101,99,111,100,101,95,112,97,116,104,117,2,0,0, - 0,115,116,117,4,0,0,0,100,97,116,97,117,10,0,0, - 0,98,121,116,101,115,95,100,97,116,97,117,5,0,0,0, - 102,111,117,110,100,117,3,0,0,0,109,115,103,117,12,0, - 0,0,115,111,117,114,99,101,95,98,121,116,101,115,117,11, - 0,0,0,99,111,100,101,95,111,98,106,101,99,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,103, - 101,116,95,99,111,100,101,167,3,0,0,115,98,0,0,0, - 0,7,15,1,6,1,3,1,16,1,13,1,11,2,3,1, - 19,1,13,1,5,2,16,1,3,1,19,1,13,1,5,2, - 3,1,12,1,3,1,13,1,19,1,5,2,9,1,7,1, - 15,1,15,1,16,1,6,1,7,1,4,2,6,1,18,1, - 15,1,15,1,6,1,12,1,9,1,13,1,22,1,12,1, - 12,1,19,1,25,1,22,1,3,1,19,1,17,1,13,1, - 8,1,117,21,0,0,0,83,111,117,114,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,2,0,0,0,67,0,0, - 0,115,13,0,0,0,124,0,0,106,0,0,124,1,0,131, - 1,0,83,40,1,0,0,0,117,0,1,0,0,67,111,110, - 99,114,101,116,101,32,105,109,112,108,101,109,101,110,116,97, - 116,105,111,110,32,111,102,32,76,111,97,100,101,114,46,108, - 111,97,100,95,109,111,100,117,108,101,46,10,10,32,32,32, - 32,32,32,32,32,82,101,113,117,105,114,101,115,32,69,120, - 101,99,117,116,105,111,110,76,111,97,100,101,114,46,103,101, - 116,95,102,105,108,101,110,97,109,101,32,97,110,100,32,82, - 101,115,111,117,114,99,101,76,111,97,100,101,114,46,103,101, - 116,95,100,97,116,97,32,116,111,32,98,101,10,32,32,32, - 32,32,32,32,32,105,109,112,108,101,109,101,110,116,101,100, - 32,116,111,32,108,111,97,100,32,115,111,117,114,99,101,32, - 99,111,100,101,46,32,85,115,101,32,111,102,32,98,121,116, - 101,99,111,100,101,32,105,115,32,100,105,99,116,97,116,101, - 100,32,98,121,32,119,104,101,116,104,101,114,10,32,32,32, - 32,32,32,32,32,103,101,116,95,99,111,100,101,32,117,115, - 101,115,47,119,114,105,116,101,115,32,98,121,116,101,99,111, - 100,101,46,10,10,32,32,32,32,32,32,32,32,40,1,0, - 0,0,117,12,0,0,0,95,108,111,97,100,95,109,111,100, - 117,108,101,40,2,0,0,0,117,4,0,0,0,115,101,108, - 102,117,8,0,0,0,102,117,108,108,110,97,109,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,108, - 111,97,100,95,109,111,100,117,108,101,229,3,0,0,115,2, - 0,0,0,0,8,117,24,0,0,0,83,111,117,114,99,101, - 76,111,97,100,101,114,46,108,111,97,100,95,109,111,100,117, - 108,101,78,40,10,0,0,0,117,8,0,0,0,95,95,110, - 97,109,101,95,95,117,10,0,0,0,95,95,109,111,100,117, - 108,101,95,95,117,12,0,0,0,95,95,113,117,97,108,110, - 97,109,101,95,95,117,10,0,0,0,112,97,116,104,95,109, - 116,105,109,101,117,10,0,0,0,112,97,116,104,95,115,116, - 97,116,115,117,15,0,0,0,95,99,97,99,104,101,95,98, - 121,116,101,99,111,100,101,117,8,0,0,0,115,101,116,95, - 100,97,116,97,117,10,0,0,0,103,101,116,95,115,111,117, - 114,99,101,117,8,0,0,0,103,101,116,95,99,111,100,101, - 117,11,0,0,0,108,111,97,100,95,109,111,100,117,108,101, - 40,1,0,0,0,117,10,0,0,0,95,95,108,111,99,97, - 108,115,95,95,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,12,0,0,0,83,111,117,114,99,101,76,111,97,100,101, - 114,106,3,0,0,115,14,0,0,0,16,2,12,6,12,12, - 12,10,12,9,12,22,12,62,117,12,0,0,0,83,111,117, - 114,99,101,76,111,97,100,101,114,99,1,0,0,0,0,0, - 0,0,1,0,0,0,4,0,0,0,2,0,0,0,115,92, - 0,0,0,124,0,0,69,101,0,0,90,1,0,100,0,0, - 90,2,0,100,1,0,90,3,0,100,2,0,100,3,0,132, - 0,0,90,4,0,101,5,0,135,0,0,102,1,0,100,4, - 0,100,5,0,134,0,0,131,1,0,90,6,0,101,5,0, - 100,6,0,100,7,0,132,0,0,131,1,0,90,7,0,100, - 8,0,100,9,0,132,0,0,90,8,0,135,0,0,83,40, - 10,0,0,0,117,10,0,0,0,70,105,108,101,76,111,97, - 100,101,114,117,103,0,0,0,66,97,115,101,32,102,105,108, - 101,32,108,111,97,100,101,114,32,99,108,97,115,115,32,119, - 104,105,99,104,32,105,109,112,108,101,109,101,110,116,115,32, - 116,104,101,32,108,111,97,100,101,114,32,112,114,111,116,111, - 99,111,108,32,109,101,116,104,111,100,115,32,116,104,97,116, - 10,32,32,32,32,114,101,113,117,105,114,101,32,102,105,108, - 101,32,115,121,115,116,101,109,32,117,115,97,103,101,46,99, - 3,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0, - 67,0,0,0,115,22,0,0,0,124,1,0,124,0,0,95, - 0,0,124,2,0,124,0,0,95,1,0,100,1,0,83,40, - 2,0,0,0,117,75,0,0,0,67,97,99,104,101,32,116, - 104,101,32,109,111,100,117,108,101,32,110,97,109,101,32,97, - 110,100,32,116,104,101,32,112,97,116,104,32,116,111,32,116, - 104,101,32,102,105,108,101,32,102,111,117,110,100,32,98,121, - 32,116,104,101,10,32,32,32,32,32,32,32,32,102,105,110, - 100,101,114,46,78,40,2,0,0,0,117,4,0,0,0,110, - 97,109,101,117,4,0,0,0,112,97,116,104,40,3,0,0, - 0,117,4,0,0,0,115,101,108,102,117,8,0,0,0,102, - 117,108,108,110,97,109,101,117,4,0,0,0,112,97,116,104, - 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,95,105,110,105,116,95,95,245,3,0,0,115,4,0, - 0,0,0,3,9,1,117,19,0,0,0,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,3,0,0,0,3, - 0,0,0,115,22,0,0,0,116,0,0,116,1,0,124,0, - 0,131,2,0,106,2,0,124,1,0,131,1,0,83,40,1, - 0,0,0,117,26,0,0,0,76,111,97,100,32,97,32,109, - 111,100,117,108,101,32,102,114,111,109,32,97,32,102,105,108, - 101,46,40,3,0,0,0,117,5,0,0,0,115,117,112,101, - 114,117,10,0,0,0,70,105,108,101,76,111,97,100,101,114, - 117,11,0,0,0,108,111,97,100,95,109,111,100,117,108,101, - 40,2,0,0,0,117,4,0,0,0,115,101,108,102,117,8, - 0,0,0,102,117,108,108,110,97,109,101,40,1,0,0,0, - 117,9,0,0,0,95,95,99,108,97,115,115,95,95,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,108,111,97,100,95,109, - 111,100,117,108,101,251,3,0,0,115,2,0,0,0,0,5, - 117,22,0,0,0,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,7,0,0,0,124,0,0,106,0,0,83,40,1,0,0, - 0,117,58,0,0,0,82,101,116,117,114,110,32,116,104,101, - 32,112,97,116,104,32,116,111,32,116,104,101,32,115,111,117, - 114,99,101,32,102,105,108,101,32,97,115,32,102,111,117,110, - 100,32,98,121,32,116,104,101,32,102,105,110,100,101,114,46, - 40,1,0,0,0,117,4,0,0,0,112,97,116,104,40,2, - 0,0,0,117,4,0,0,0,115,101,108,102,117,8,0,0, - 0,102,117,108,108,110,97,109,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,12,0,0,0,103,101,116,95,102,105, - 108,101,110,97,109,101,2,4,0,0,115,2,0,0,0,0, - 3,117,23,0,0,0,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,8,0,0,0,67,0, - 0,0,115,41,0,0,0,116,0,0,106,1,0,124,1,0, - 100,1,0,131,2,0,143,17,0,125,2,0,124,2,0,106, - 2,0,131,0,0,83,87,100,2,0,81,88,100,2,0,83, - 40,3,0,0,0,117,39,0,0,0,82,101,116,117,114,110, - 32,116,104,101,32,100,97,116,97,32,102,114,111,109,32,112, - 97,116,104,32,97,115,32,114,97,119,32,98,121,116,101,115, - 46,117,1,0,0,0,114,78,40,3,0,0,0,117,3,0, - 0,0,95,105,111,117,6,0,0,0,70,105,108,101,73,79, - 117,4,0,0,0,114,101,97,100,40,3,0,0,0,117,4, - 0,0,0,115,101,108,102,117,4,0,0,0,112,97,116,104, - 117,4,0,0,0,102,105,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,8,0,0,0,103,101,116,95,100,97, - 116,97,7,4,0,0,115,4,0,0,0,0,2,21,1,117, - 19,0,0,0,70,105,108,101,76,111,97,100,101,114,46,103, - 101,116,95,100,97,116,97,40,9,0,0,0,117,8,0,0, - 0,95,95,110,97,109,101,95,95,117,10,0,0,0,95,95, - 109,111,100,117,108,101,95,95,117,12,0,0,0,95,95,113, - 117,97,108,110,97,109,101,95,95,117,7,0,0,0,95,95, - 100,111,99,95,95,117,8,0,0,0,95,95,105,110,105,116, - 95,95,117,11,0,0,0,95,99,104,101,99,107,95,110,97, - 109,101,117,11,0,0,0,108,111,97,100,95,109,111,100,117, - 108,101,117,12,0,0,0,103,101,116,95,102,105,108,101,110, - 97,109,101,117,8,0,0,0,103,101,116,95,100,97,116,97, - 40,1,0,0,0,117,10,0,0,0,95,95,108,111,99,97, - 108,115,95,95,40,0,0,0,0,40,1,0,0,0,117,9, - 0,0,0,95,95,99,108,97,115,115,95,95,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,70,105,108,101,76,111,97,100,101,114,240,3,0, - 0,115,10,0,0,0,16,3,6,2,12,6,24,7,18,5, - 117,10,0,0,0,70,105,108,101,76,111,97,100,101,114,99, - 1,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0, - 66,0,0,0,115,68,0,0,0,124,0,0,69,101,0,0, - 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100, - 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5, - 0,132,0,0,90,5,0,100,6,0,100,7,0,100,8,0, - 100,9,0,132,0,1,90,6,0,100,10,0,83,40,11,0, - 0,0,117,16,0,0,0,83,111,117,114,99,101,70,105,108, - 101,76,111,97,100,101,114,117,62,0,0,0,67,111,110,99, - 114,101,116,101,32,105,109,112,108,101,109,101,110,116,97,116, - 105,111,110,32,111,102,32,83,111,117,114,99,101,76,111,97, - 100,101,114,32,117,115,105,110,103,32,116,104,101,32,102,105, - 108,101,32,115,121,115,116,101,109,46,99,2,0,0,0,0, - 0,0,0,3,0,0,0,3,0,0,0,67,0,0,0,115, - 39,0,0,0,116,0,0,106,1,0,124,1,0,131,1,0, - 125,2,0,105,2,0,124,2,0,106,2,0,100,1,0,54, - 124,2,0,106,3,0,100,2,0,54,83,40,3,0,0,0, - 117,33,0,0,0,82,101,116,117,114,110,32,116,104,101,32, - 109,101,116,97,100,97,116,97,32,102,111,114,32,116,104,101, - 32,112,97,116,104,46,117,5,0,0,0,109,116,105,109,101, - 117,4,0,0,0,115,105,122,101,40,4,0,0,0,117,3, - 0,0,0,95,111,115,117,4,0,0,0,115,116,97,116,117, - 8,0,0,0,115,116,95,109,116,105,109,101,117,7,0,0, - 0,115,116,95,115,105,122,101,40,3,0,0,0,117,4,0, - 0,0,115,101,108,102,117,4,0,0,0,112,97,116,104,117, - 2,0,0,0,115,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,10,0,0,0,112,97,116,104,95,115,116,97,116, - 115,17,4,0,0,115,4,0,0,0,0,2,15,1,117,27, - 0,0,0,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,13,0,0,0,67, - 0,0,0,115,81,0,0,0,121,22,0,116,0,0,106,1, - 0,124,1,0,131,1,0,106,2,0,125,4,0,87,110,24, - 0,4,116,3,0,107,10,0,114,48,0,1,1,1,100,1, - 0,125,4,0,89,110,1,0,88,124,4,0,100,2,0,79, - 125,4,0,124,0,0,106,4,0,124,2,0,124,3,0,100, - 3,0,124,4,0,131,2,1,83,40,4,0,0,0,78,105, - 182,1,0,0,105,128,0,0,0,117,5,0,0,0,95,109, - 111,100,101,40,5,0,0,0,117,3,0,0,0,95,111,115, - 117,4,0,0,0,115,116,97,116,117,7,0,0,0,115,116, - 95,109,111,100,101,117,7,0,0,0,79,83,69,114,114,111, - 114,117,8,0,0,0,115,101,116,95,100,97,116,97,40,5, - 0,0,0,117,4,0,0,0,115,101,108,102,117,11,0,0, - 0,115,111,117,114,99,101,95,112,97,116,104,117,13,0,0, - 0,98,121,116,101,99,111,100,101,95,112,97,116,104,117,4, - 0,0,0,100,97,116,97,117,4,0,0,0,109,111,100,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,15,0,0, - 0,95,99,97,99,104,101,95,98,121,116,101,99,111,100,101, - 22,4,0,0,115,12,0,0,0,0,2,3,1,22,1,13, - 1,11,3,10,1,117,32,0,0,0,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,117,5,0,0,0,95, - 109,111,100,101,105,182,1,0,0,99,3,0,0,0,1,0, - 0,0,9,0,0,0,18,0,0,0,67,0,0,0,115,53, - 1,0,0,116,0,0,124,1,0,131,1,0,92,2,0,125, - 4,0,125,5,0,103,0,0,125,6,0,120,54,0,124,4, - 0,114,80,0,116,1,0,124,4,0,131,1,0,12,114,80, - 0,116,0,0,124,4,0,131,1,0,92,2,0,125,4,0, - 125,7,0,124,6,0,106,2,0,124,7,0,131,1,0,1, - 113,27,0,87,120,132,0,116,3,0,124,6,0,131,1,0, - 68,93,118,0,125,7,0,116,4,0,124,4,0,124,7,0, - 131,2,0,125,4,0,121,17,0,116,5,0,106,6,0,124, - 4,0,131,1,0,1,87,113,94,0,4,116,7,0,107,10, - 0,114,155,0,1,1,1,119,94,0,89,113,94,0,4,116, - 8,0,107,10,0,114,211,0,1,125,8,0,1,122,25,0, - 116,9,0,100,1,0,124,4,0,124,8,0,131,3,0,1, - 100,2,0,83,87,89,100,2,0,100,2,0,125,8,0,126, - 8,0,88,113,94,0,88,113,94,0,87,121,33,0,116,10, - 0,124,1,0,124,2,0,124,3,0,131,3,0,1,116,9, - 0,100,3,0,124,1,0,131,2,0,1,87,110,53,0,4, - 116,8,0,107,10,0,114,48,1,1,125,8,0,1,122,21, - 0,116,9,0,100,1,0,124,1,0,124,8,0,131,3,0, - 1,87,89,100,2,0,100,2,0,125,8,0,126,8,0,88, - 110,1,0,88,100,2,0,83,40,4,0,0,0,117,27,0, - 0,0,87,114,105,116,101,32,98,121,116,101,115,32,100,97, - 116,97,32,116,111,32,97,32,102,105,108,101,46,117,27,0, - 0,0,99,111,117,108,100,32,110,111,116,32,99,114,101,97, - 116,101,32,123,33,114,125,58,32,123,33,114,125,78,117,12, - 0,0,0,99,114,101,97,116,101,100,32,123,33,114,125,40, - 11,0,0,0,117,11,0,0,0,95,112,97,116,104,95,115, - 112,108,105,116,117,11,0,0,0,95,112,97,116,104,95,105, - 115,100,105,114,117,6,0,0,0,97,112,112,101,110,100,117, - 8,0,0,0,114,101,118,101,114,115,101,100,117,10,0,0, - 0,95,112,97,116,104,95,106,111,105,110,117,3,0,0,0, - 95,111,115,117,5,0,0,0,109,107,100,105,114,117,15,0, - 0,0,70,105,108,101,69,120,105,115,116,115,69,114,114,111, - 114,117,7,0,0,0,79,83,69,114,114,111,114,117,16,0, - 0,0,95,118,101,114,98,111,115,101,95,109,101,115,115,97, - 103,101,117,13,0,0,0,95,119,114,105,116,101,95,97,116, - 111,109,105,99,40,9,0,0,0,117,4,0,0,0,115,101, - 108,102,117,4,0,0,0,112,97,116,104,117,4,0,0,0, - 100,97,116,97,117,5,0,0,0,95,109,111,100,101,117,6, - 0,0,0,112,97,114,101,110,116,117,8,0,0,0,102,105, - 108,101,110,97,109,101,117,10,0,0,0,112,97,116,104,95, - 112,97,114,116,115,117,4,0,0,0,112,97,114,116,117,3, - 0,0,0,101,120,99,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,115,101,116,95,100,97,116,97,33, - 4,0,0,115,38,0,0,0,0,2,18,1,6,2,22,1, - 18,1,17,2,19,1,15,1,3,1,17,1,13,2,7,1, - 18,3,16,1,27,1,3,1,16,1,17,1,18,2,117,25, - 0,0,0,83,111,117,114,99,101,70,105,108,101,76,111,97, - 100,101,114,46,115,101,116,95,100,97,116,97,78,40,7,0, - 0,0,117,8,0,0,0,95,95,110,97,109,101,95,95,117, - 10,0,0,0,95,95,109,111,100,117,108,101,95,95,117,12, - 0,0,0,95,95,113,117,97,108,110,97,109,101,95,95,117, - 7,0,0,0,95,95,100,111,99,95,95,117,10,0,0,0, - 112,97,116,104,95,115,116,97,116,115,117,15,0,0,0,95, - 99,97,99,104,101,95,98,121,116,101,99,111,100,101,117,8, - 0,0,0,115,101,116,95,100,97,116,97,40,1,0,0,0, - 117,10,0,0,0,95,95,108,111,99,97,108,115,95,95,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, - 83,111,117,114,99,101,70,105,108,101,76,111,97,100,101,114, - 13,4,0,0,115,8,0,0,0,16,2,6,2,12,5,12, - 11,117,16,0,0,0,83,111,117,114,99,101,70,105,108,101, - 76,111,97,100,101,114,99,1,0,0,0,0,0,0,0,1, - 0,0,0,2,0,0,0,66,0,0,0,115,62,0,0,0, + 101,110,116,97,116,105,111,110,32,111,102,32,76,111,97,100, + 101,114,46,108,111,97,100,95,109,111,100,117,108,101,46,10, + 10,32,32,32,32,32,32,32,32,82,101,113,117,105,114,101, + 115,32,69,120,101,99,117,116,105,111,110,76,111,97,100,101, + 114,46,103,101,116,95,102,105,108,101,110,97,109,101,32,97, + 110,100,32,82,101,115,111,117,114,99,101,76,111,97,100,101, + 114,46,103,101,116,95,100,97,116,97,32,116,111,32,98,101, + 10,32,32,32,32,32,32,32,32,105,109,112,108,101,109,101, + 110,116,101,100,32,116,111,32,108,111,97,100,32,115,111,117, + 114,99,101,32,99,111,100,101,46,32,85,115,101,32,111,102, + 32,98,121,116,101,99,111,100,101,32,105,115,32,100,105,99, + 116,97,116,101,100,32,98,121,32,119,104,101,116,104,101,114, + 10,32,32,32,32,32,32,32,32,103,101,116,95,99,111,100, + 101,32,117,115,101,115,47,119,114,105,116,101,115,32,98,121, + 116,101,99,111,100,101,46,10,10,32,32,32,32,32,32,32, + 32,40,1,0,0,0,114,223,0,0,0,40,2,0,0,0, + 114,78,0,0,0,114,156,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,114,198,0,0,0,2,4, + 0,0,115,2,0,0,0,0,8,117,24,0,0,0,83,111, + 117,114,99,101,76,111,97,100,101,114,46,108,111,97,100,95, + 109,111,100,117,108,101,78,114,126,0,0,0,40,11,0,0, + 0,114,56,0,0,0,114,55,0,0,0,114,57,0,0,0, + 114,226,0,0,0,114,227,0,0,0,114,229,0,0,0,114, + 228,0,0,0,114,200,0,0,0,114,240,0,0,0,114,199, + 0,0,0,114,198,0,0,0,40,1,0,0,0,114,69,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, + 0,114,224,0,0,0,137,3,0,0,115,16,0,0,0,16, + 2,12,8,12,13,12,10,12,7,12,22,18,8,12,51,114, + 224,0,0,0,99,1,0,0,0,0,0,0,0,1,0,0, + 0,4,0,0,0,2,0,0,0,115,92,0,0,0,124,0, + 0,69,101,0,0,90,1,0,100,0,0,90,2,0,100,1, + 0,90,3,0,100,2,0,100,3,0,132,0,0,90,4,0, + 101,5,0,135,0,0,102,1,0,100,4,0,100,5,0,134, + 0,0,131,1,0,90,6,0,101,5,0,100,6,0,100,7, + 0,132,0,0,131,1,0,90,7,0,100,8,0,100,9,0, + 132,0,0,90,8,0,135,0,0,83,40,10,0,0,0,244, + 10,0,0,0,70,105,108,101,76,111,97,100,101,114,117,103, + 0,0,0,66,97,115,101,32,102,105,108,101,32,108,111,97, + 100,101,114,32,99,108,97,115,115,32,119,104,105,99,104,32, + 105,109,112,108,101,109,101,110,116,115,32,116,104,101,32,108, + 111,97,100,101,114,32,112,114,111,116,111,99,111,108,32,109, + 101,116,104,111,100,115,32,116,104,97,116,10,32,32,32,32, + 114,101,113,117,105,114,101,32,102,105,108,101,32,115,121,115, + 116,101,109,32,117,115,97,103,101,46,99,3,0,0,0,0, + 0,0,0,3,0,0,0,2,0,0,0,67,0,0,0,115, + 22,0,0,0,124,1,0,124,0,0,95,0,0,124,2,0, + 124,0,0,95,1,0,100,1,0,83,40,2,0,0,0,117, + 75,0,0,0,67,97,99,104,101,32,116,104,101,32,109,111, + 100,117,108,101,32,110,97,109,101,32,97,110,100,32,116,104, + 101,32,112,97,116,104,32,116,111,32,116,104,101,32,102,105, + 108,101,32,102,111,117,110,100,32,98,121,32,116,104,101,10, + 32,32,32,32,32,32,32,32,102,105,110,100,101,114,46,78, + 40,2,0,0,0,114,66,0,0,0,114,35,0,0,0,40, + 3,0,0,0,114,78,0,0,0,114,156,0,0,0,114,35, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,114,79,0,0,0,18,4,0,0,115,4,0,0,0, + 0,3,9,1,117,19,0,0,0,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,3,0,0,0,3,0,0, + 0,115,22,0,0,0,116,0,0,116,1,0,124,0,0,131, + 2,0,106,2,0,124,1,0,131,1,0,83,40,1,0,0, + 0,117,26,0,0,0,76,111,97,100,32,97,32,109,111,100, + 117,108,101,32,102,114,111,109,32,97,32,102,105,108,101,46, + 40,3,0,0,0,244,5,0,0,0,115,117,112,101,114,114, + 244,0,0,0,114,198,0,0,0,40,2,0,0,0,114,78, + 0,0,0,114,156,0,0,0,40,1,0,0,0,244,9,0, + 0,0,95,95,99,108,97,115,115,95,95,114,4,0,0,0, + 114,5,0,0,0,114,198,0,0,0,24,4,0,0,115,2, + 0,0,0,0,5,117,22,0,0,0,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,7,0,0,0,124,0,0,106,0,0, + 83,40,1,0,0,0,117,58,0,0,0,82,101,116,117,114, + 110,32,116,104,101,32,112,97,116,104,32,116,111,32,116,104, + 101,32,115,111,117,114,99,101,32,102,105,108,101,32,97,115, + 32,102,111,117,110,100,32,98,121,32,116,104,101,32,102,105, + 110,100,101,114,46,40,1,0,0,0,114,35,0,0,0,40, + 2,0,0,0,114,78,0,0,0,114,156,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,114,219,0, + 0,0,31,4,0,0,115,2,0,0,0,0,3,117,23,0, + 0,0,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,8,0,0,0,67,0,0,0,115,41, + 0,0,0,116,0,0,106,1,0,124,1,0,100,1,0,131, + 2,0,143,17,0,125,2,0,124,2,0,106,2,0,131,0, + 0,83,87,100,2,0,81,88,100,2,0,83,40,3,0,0, + 0,117,39,0,0,0,82,101,116,117,114,110,32,116,104,101, + 32,100,97,116,97,32,102,114,111,109,32,112,97,116,104,32, + 97,115,32,114,97,119,32,98,121,116,101,115,46,244,1,0, + 0,0,114,78,40,3,0,0,0,114,48,0,0,0,114,49, + 0,0,0,116,4,0,0,0,114,101,97,100,40,3,0,0, + 0,114,78,0,0,0,114,35,0,0,0,114,53,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114, + 231,0,0,0,36,4,0,0,115,4,0,0,0,0,2,21, + 1,117,19,0,0,0,70,105,108,101,76,111,97,100,101,114, + 46,103,101,116,95,100,97,116,97,40,9,0,0,0,114,56, + 0,0,0,114,55,0,0,0,114,57,0,0,0,114,58,0, + 0,0,114,79,0,0,0,114,162,0,0,0,114,198,0,0, + 0,114,219,0,0,0,114,231,0,0,0,40,1,0,0,0, + 114,69,0,0,0,114,4,0,0,0,40,1,0,0,0,114, + 246,0,0,0,114,5,0,0,0,114,244,0,0,0,13,4, + 0,0,115,10,0,0,0,16,3,6,2,12,6,24,7,18, + 5,114,244,0,0,0,99,1,0,0,0,0,0,0,0,1, + 0,0,0,4,0,0,0,66,0,0,0,115,68,0,0,0, 124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,0, 100,1,0,90,3,0,100,2,0,100,3,0,132,0,0,90, 4,0,100,4,0,100,5,0,132,0,0,90,5,0,100,6, - 0,100,7,0,132,0,0,90,6,0,100,8,0,83,40,9, - 0,0,0,117,20,0,0,0,83,111,117,114,99,101,108,101, - 115,115,70,105,108,101,76,111,97,100,101,114,117,45,0,0, - 0,76,111,97,100,101,114,32,119,104,105,99,104,32,104,97, - 110,100,108,101,115,32,115,111,117,114,99,101,108,101,115,115, - 32,102,105,108,101,32,105,109,112,111,114,116,115,46,99,2, - 0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,67, - 0,0,0,115,19,0,0,0,124,0,0,106,0,0,124,1, - 0,100,1,0,100,2,0,131,1,1,83,40,3,0,0,0, - 78,117,10,0,0,0,115,111,117,114,99,101,108,101,115,115, - 84,40,2,0,0,0,117,12,0,0,0,95,108,111,97,100, - 95,109,111,100,117,108,101,117,4,0,0,0,84,114,117,101, - 40,2,0,0,0,117,4,0,0,0,115,101,108,102,117,8, - 0,0,0,102,117,108,108,110,97,109,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,108,111,97,100, - 95,109,111,100,117,108,101,66,4,0,0,115,2,0,0,0, - 0,1,117,32,0,0,0,83,111,117,114,99,101,108,101,115, - 115,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, - 6,0,0,0,6,0,0,0,67,0,0,0,115,138,0,0, - 0,124,0,0,106,0,0,124,1,0,131,1,0,125,2,0, - 124,0,0,106,1,0,124,2,0,131,1,0,125,3,0,124, - 0,0,106,2,0,124,1,0,124,3,0,124,2,0,100,0, - 0,131,4,0,125,4,0,116,4,0,106,5,0,124,4,0, - 131,1,0,125,5,0,116,6,0,124,5,0,116,7,0,131, - 2,0,114,101,0,116,8,0,100,1,0,124,2,0,131,2, - 0,1,124,5,0,83,116,9,0,100,2,0,106,10,0,124, - 2,0,131,1,0,100,3,0,124,1,0,100,4,0,124,2, - 0,131,1,2,130,1,0,100,0,0,83,40,5,0,0,0, - 78,117,21,0,0,0,99,111,100,101,32,111,98,106,101,99, - 116,32,102,114,111,109,32,123,33,114,125,117,21,0,0,0, - 78,111,110,45,99,111,100,101,32,111,98,106,101,99,116,32, - 105,110,32,123,125,117,4,0,0,0,110,97,109,101,117,4, - 0,0,0,112,97,116,104,40,11,0,0,0,117,12,0,0, - 0,103,101,116,95,102,105,108,101,110,97,109,101,117,8,0, - 0,0,103,101,116,95,100,97,116,97,117,20,0,0,0,95, - 98,121,116,101,115,95,102,114,111,109,95,98,121,116,101,99, - 111,100,101,117,4,0,0,0,78,111,110,101,117,7,0,0, - 0,109,97,114,115,104,97,108,117,5,0,0,0,108,111,97, - 100,115,117,10,0,0,0,105,115,105,110,115,116,97,110,99, - 101,117,10,0,0,0,95,99,111,100,101,95,116,121,112,101, - 117,16,0,0,0,95,118,101,114,98,111,115,101,95,109,101, - 115,115,97,103,101,117,11,0,0,0,73,109,112,111,114,116, - 69,114,114,111,114,117,6,0,0,0,102,111,114,109,97,116, - 40,6,0,0,0,117,4,0,0,0,115,101,108,102,117,8, - 0,0,0,102,117,108,108,110,97,109,101,117,4,0,0,0, - 112,97,116,104,117,4,0,0,0,100,97,116,97,117,10,0, - 0,0,98,121,116,101,115,95,100,97,116,97,117,5,0,0, - 0,102,111,117,110,100,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,103,101,116,95,99,111,100,101,69, - 4,0,0,115,18,0,0,0,0,1,15,1,15,1,24,1, - 15,1,15,1,13,1,4,2,18,1,117,29,0,0,0,83, - 111,117,114,99,101,108,101,115,115,70,105,108,101,76,111,97, - 100,101,114,46,103,101,116,95,99,111,100,101,99,2,0,0, - 0,0,0,0,0,2,0,0,0,1,0,0,0,67,0,0, - 0,115,4,0,0,0,100,1,0,83,40,2,0,0,0,117, - 39,0,0,0,82,101,116,117,114,110,32,78,111,110,101,32, - 97,115,32,116,104,101,114,101,32,105,115,32,110,111,32,115, - 111,117,114,99,101,32,99,111,100,101,46,78,40,1,0,0, - 0,117,4,0,0,0,78,111,110,101,40,2,0,0,0,117, - 4,0,0,0,115,101,108,102,117,8,0,0,0,102,117,108, - 108,110,97,109,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,10,0,0,0,103,101,116,95,115,111,117,114,99,101, - 81,4,0,0,115,2,0,0,0,0,2,117,31,0,0,0, - 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, - 40,7,0,0,0,117,8,0,0,0,95,95,110,97,109,101, - 95,95,117,10,0,0,0,95,95,109,111,100,117,108,101,95, - 95,117,12,0,0,0,95,95,113,117,97,108,110,97,109,101, - 95,95,117,7,0,0,0,95,95,100,111,99,95,95,117,11, - 0,0,0,108,111,97,100,95,109,111,100,117,108,101,117,8, - 0,0,0,103,101,116,95,99,111,100,101,117,10,0,0,0, - 103,101,116,95,115,111,117,114,99,101,40,1,0,0,0,117, - 10,0,0,0,95,95,108,111,99,97,108,115,95,95,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,20,0,0,0,83, - 111,117,114,99,101,108,101,115,115,70,105,108,101,76,111,97, - 100,101,114,62,4,0,0,115,8,0,0,0,16,2,6,2, - 12,3,12,12,117,20,0,0,0,83,111,117,114,99,101,108, - 101,115,115,70,105,108,101,76,111,97,100,101,114,99,1,0, - 0,0,0,0,0,0,1,0,0,0,5,0,0,0,66,0, - 0,0,115,104,0,0,0,124,0,0,69,101,0,0,90,1, - 0,100,0,0,90,2,0,100,1,0,90,3,0,100,2,0, - 100,3,0,132,0,0,90,4,0,101,5,0,101,6,0,101, - 7,0,100,4,0,100,5,0,132,0,0,131,1,0,131,1, - 0,131,1,0,90,8,0,100,6,0,100,7,0,132,0,0, - 90,9,0,100,8,0,100,9,0,132,0,0,90,10,0,100, - 10,0,100,11,0,132,0,0,90,11,0,100,12,0,83,40, - 13,0,0,0,117,19,0,0,0,69,120,116,101,110,115,105, - 111,110,70,105,108,101,76,111,97,100,101,114,117,93,0,0, - 0,76,111,97,100,101,114,32,102,111,114,32,101,120,116,101, - 110,115,105,111,110,32,109,111,100,117,108,101,115,46,10,10, - 32,32,32,32,84,104,101,32,99,111,110,115,116,114,117,99, - 116,111,114,32,105,115,32,100,101,115,105,103,110,101,100,32, - 116,111,32,119,111,114,107,32,119,105,116,104,32,70,105,108, - 101,70,105,110,100,101,114,46,10,10,32,32,32,32,99,3, - 0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,67, - 0,0,0,115,22,0,0,0,124,1,0,124,0,0,95,0, - 0,124,2,0,124,0,0,95,1,0,100,0,0,83,40,1, - 0,0,0,78,40,2,0,0,0,117,4,0,0,0,110,97, - 109,101,117,4,0,0,0,112,97,116,104,40,3,0,0,0, - 117,4,0,0,0,115,101,108,102,117,4,0,0,0,110,97, - 109,101,117,4,0,0,0,112,97,116,104,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,95,105,110, - 105,116,95,95,98,4,0,0,115,4,0,0,0,0,1,9, - 1,117,28,0,0,0,69,120,116,101,110,115,105,111,110,70, - 105,108,101,76,111,97,100,101,114,46,95,95,105,110,105,116, - 95,95,99,2,0,0,0,0,0,0,0,4,0,0,0,10, - 0,0,0,67,0,0,0,115,175,0,0,0,124,1,0,116, - 0,0,106,1,0,107,6,0,125,2,0,121,107,0,116,2, - 0,116,3,0,106,4,0,124,1,0,124,0,0,106,5,0, - 131,3,0,125,3,0,116,6,0,100,1,0,124,0,0,106, - 5,0,131,2,0,1,124,0,0,106,7,0,124,1,0,131, - 1,0,114,117,0,116,8,0,124,3,0,100,2,0,131,2, - 0,12,114,117,0,116,9,0,124,0,0,106,5,0,131,1, - 0,100,3,0,25,103,1,0,124,3,0,95,10,0,110,0, - 0,124,3,0,83,87,110,46,0,1,1,1,124,2,0,12, - 114,163,0,124,1,0,116,0,0,106,1,0,107,6,0,114, - 163,0,116,0,0,106,1,0,124,1,0,61,110,0,0,130, - 0,0,89,110,1,0,88,100,4,0,83,40,5,0,0,0, - 117,25,0,0,0,76,111,97,100,32,97,110,32,101,120,116, - 101,110,115,105,111,110,32,109,111,100,117,108,101,46,117,33, - 0,0,0,101,120,116,101,110,115,105,111,110,32,109,111,100, - 117,108,101,32,108,111,97,100,101,100,32,102,114,111,109,32, - 123,33,114,125,117,8,0,0,0,95,95,112,97,116,104,95, - 95,105,0,0,0,0,78,40,11,0,0,0,117,3,0,0, - 0,115,121,115,117,7,0,0,0,109,111,100,117,108,101,115, - 117,25,0,0,0,95,99,97,108,108,95,119,105,116,104,95, - 102,114,97,109,101,115,95,114,101,109,111,118,101,100,117,4, - 0,0,0,95,105,109,112,117,12,0,0,0,108,111,97,100, - 95,100,121,110,97,109,105,99,117,4,0,0,0,112,97,116, - 104,117,16,0,0,0,95,118,101,114,98,111,115,101,95,109, - 101,115,115,97,103,101,117,10,0,0,0,105,115,95,112,97, - 99,107,97,103,101,117,7,0,0,0,104,97,115,97,116,116, - 114,117,11,0,0,0,95,112,97,116,104,95,115,112,108,105, - 116,117,8,0,0,0,95,95,112,97,116,104,95,95,40,4, - 0,0,0,117,4,0,0,0,115,101,108,102,117,8,0,0, - 0,102,117,108,108,110,97,109,101,117,9,0,0,0,105,115, - 95,114,101,108,111,97,100,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,11, - 0,0,0,108,111,97,100,95,109,111,100,117,108,101,102,4, - 0,0,115,24,0,0,0,0,5,15,1,3,1,9,1,15, - 1,16,1,31,1,28,1,8,1,3,1,22,1,13,1,117, - 31,0,0,0,69,120,116,101,110,115,105,111,110,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, - 4,0,0,0,3,0,0,0,115,48,0,0,0,116,0,0, - 124,0,0,106,1,0,131,1,0,100,1,0,25,137,0,0, - 116,2,0,135,0,0,102,1,0,100,2,0,100,3,0,134, - 0,0,116,3,0,68,131,1,0,131,1,0,83,40,4,0, - 0,0,117,49,0,0,0,82,101,116,117,114,110,32,84,114, - 117,101,32,105,102,32,116,104,101,32,101,120,116,101,110,115, - 105,111,110,32,109,111,100,117,108,101,32,105,115,32,97,32, - 112,97,99,107,97,103,101,46,105,1,0,0,0,99,1,0, - 0,0,0,0,0,0,2,0,0,0,4,0,0,0,51,0, - 0,0,115,31,0,0,0,124,0,0,93,21,0,125,1,0, - 136,0,0,100,0,0,124,1,0,23,107,2,0,86,1,113, - 3,0,100,1,0,83,40,2,0,0,0,117,8,0,0,0, - 95,95,105,110,105,116,95,95,78,40,0,0,0,0,40,2, - 0,0,0,117,2,0,0,0,46,48,117,6,0,0,0,115, - 117,102,102,105,120,40,1,0,0,0,117,9,0,0,0,102, - 105,108,101,95,110,97,109,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,123,4,0, - 0,115,2,0,0,0,6,1,117,49,0,0,0,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,110,101,120,112,114,62,40,4, - 0,0,0,117,11,0,0,0,95,112,97,116,104,95,115,112, - 108,105,116,117,4,0,0,0,112,97,116,104,117,3,0,0, - 0,97,110,121,117,18,0,0,0,69,88,84,69,78,83,73, - 79,78,95,83,85,70,70,73,88,69,83,40,2,0,0,0, - 117,4,0,0,0,115,101,108,102,117,8,0,0,0,102,117, - 108,108,110,97,109,101,40,0,0,0,0,40,1,0,0,0, - 117,9,0,0,0,102,105,108,101,95,110,97,109,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,10,0,0,0,105,115,95,112,97,99,107,97,103,101,120, - 4,0,0,115,6,0,0,0,0,2,19,1,18,1,117,30, - 0,0,0,69,120,116,101,110,115,105,111,110,70,105,108,101, - 76,111,97,100,101,114,46,105,115,95,112,97,99,107,97,103, - 101,99,2,0,0,0,0,0,0,0,2,0,0,0,1,0, - 0,0,67,0,0,0,115,4,0,0,0,100,1,0,83,40, - 2,0,0,0,117,63,0,0,0,82,101,116,117,114,110,32, - 78,111,110,101,32,97,115,32,97,110,32,101,120,116,101,110, - 115,105,111,110,32,109,111,100,117,108,101,32,99,97,110,110, - 111,116,32,99,114,101,97,116,101,32,97,32,99,111,100,101, - 32,111,98,106,101,99,116,46,78,40,1,0,0,0,117,4, - 0,0,0,78,111,110,101,40,2,0,0,0,117,4,0,0, - 0,115,101,108,102,117,8,0,0,0,102,117,108,108,110,97, - 109,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,8, - 0,0,0,103,101,116,95,99,111,100,101,126,4,0,0,115, - 2,0,0,0,0,2,117,28,0,0,0,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,0,115,4,0,0, - 0,100,1,0,83,40,2,0,0,0,117,53,0,0,0,82, - 101,116,117,114,110,32,78,111,110,101,32,97,115,32,101,120, - 116,101,110,115,105,111,110,32,109,111,100,117,108,101,115,32, - 104,97,118,101,32,110,111,32,115,111,117,114,99,101,32,99, - 111,100,101,46,78,40,1,0,0,0,117,4,0,0,0,78, - 111,110,101,40,2,0,0,0,117,4,0,0,0,115,101,108, - 102,117,8,0,0,0,102,117,108,108,110,97,109,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,10,0,0,0,103, - 101,116,95,115,111,117,114,99,101,130,4,0,0,115,2,0, - 0,0,0,2,117,30,0,0,0,69,120,116,101,110,115,105, + 0,100,7,0,100,8,0,100,9,0,132,0,1,90,6,0, + 100,10,0,83,40,11,0,0,0,244,16,0,0,0,83,111, + 117,114,99,101,70,105,108,101,76,111,97,100,101,114,117,62, + 0,0,0,67,111,110,99,114,101,116,101,32,105,109,112,108, + 101,109,101,110,116,97,116,105,111,110,32,111,102,32,83,111, + 117,114,99,101,76,111,97,100,101,114,32,117,115,105,110,103, + 32,116,104,101,32,102,105,108,101,32,115,121,115,116,101,109, + 46,99,2,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,67,0,0,0,115,39,0,0,0,116,0,0,106,1, + 0,124,1,0,131,1,0,125,2,0,105,2,0,124,2,0, + 106,2,0,100,1,0,54,124,2,0,106,3,0,100,2,0, + 54,83,40,3,0,0,0,117,33,0,0,0,82,101,116,117, + 114,110,32,116,104,101,32,109,101,116,97,100,97,116,97,32, + 102,111,114,32,116,104,101,32,112,97,116,104,46,114,179,0, + 0,0,114,180,0,0,0,40,4,0,0,0,114,3,0,0, + 0,114,39,0,0,0,244,8,0,0,0,115,116,95,109,116, + 105,109,101,116,7,0,0,0,115,116,95,115,105,122,101,40, + 3,0,0,0,114,78,0,0,0,114,35,0,0,0,114,242, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,114,227,0,0,0,46,4,0,0,115,4,0,0,0, + 0,2,15,1,117,27,0,0,0,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,34,0,0,0,116,0, + 0,124,1,0,131,1,0,125,4,0,124,0,0,106,1,0, + 124,2,0,124,3,0,100,1,0,124,4,0,131,2,1,83, + 40,2,0,0,0,78,244,5,0,0,0,95,109,111,100,101, + 40,2,0,0,0,114,133,0,0,0,114,228,0,0,0,40, + 5,0,0,0,114,78,0,0,0,114,130,0,0,0,114,129, + 0,0,0,114,52,0,0,0,114,42,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,114,229,0,0, + 0,51,4,0,0,115,4,0,0,0,0,2,12,1,117,32, + 0,0,0,83,111,117,114,99,101,70,105,108,101,76,111,97, + 100,101,114,46,95,99,97,99,104,101,95,98,121,116,101,99, + 111,100,101,114,250,0,0,0,105,182,1,0,0,99,3,0, + 0,0,1,0,0,0,9,0,0,0,18,0,0,0,67,0, + 0,0,115,53,1,0,0,116,0,0,124,1,0,131,1,0, + 92,2,0,125,4,0,125,5,0,103,0,0,125,6,0,120, + 54,0,124,4,0,114,80,0,116,1,0,124,4,0,131,1, + 0,12,114,80,0,116,0,0,124,4,0,131,1,0,92,2, + 0,125,4,0,125,7,0,124,6,0,106,2,0,124,7,0, + 131,1,0,1,113,27,0,87,120,132,0,116,3,0,124,6, + 0,131,1,0,68,93,118,0,125,7,0,116,4,0,124,4, + 0,124,7,0,131,2,0,125,4,0,121,17,0,116,5,0, + 106,6,0,124,4,0,131,1,0,1,87,113,94,0,4,116, + 7,0,107,10,0,114,155,0,1,1,1,119,94,0,89,113, + 94,0,4,116,8,0,107,10,0,114,211,0,1,125,8,0, + 1,122,25,0,116,9,0,100,1,0,124,4,0,124,8,0, + 131,3,0,1,100,2,0,83,87,89,100,2,0,100,2,0, + 125,8,0,126,8,0,88,113,94,0,88,113,94,0,87,121, + 33,0,116,10,0,124,1,0,124,2,0,124,3,0,131,3, + 0,1,116,9,0,100,3,0,124,1,0,131,2,0,1,87, + 110,53,0,4,116,8,0,107,10,0,114,48,1,1,125,8, + 0,1,122,21,0,116,9,0,100,1,0,124,1,0,124,8, + 0,131,3,0,1,87,89,100,2,0,100,2,0,125,8,0, + 126,8,0,88,110,1,0,88,100,2,0,83,40,4,0,0, + 0,117,27,0,0,0,87,114,105,116,101,32,98,121,116,101, + 115,32,100,97,116,97,32,116,111,32,97,32,102,105,108,101, + 46,117,27,0,0,0,99,111,117,108,100,32,110,111,116,32, + 99,114,101,97,116,101,32,123,33,114,125,58,32,123,33,114, + 125,78,117,12,0,0,0,99,114,101,97,116,101,100,32,123, + 33,114,125,40,11,0,0,0,114,38,0,0,0,114,45,0, + 0,0,244,6,0,0,0,97,112,112,101,110,100,114,33,0, + 0,0,114,28,0,0,0,114,3,0,0,0,116,5,0,0, + 0,109,107,100,105,114,244,15,0,0,0,70,105,108,101,69, + 120,105,115,116,115,69,114,114,111,114,114,40,0,0,0,114, + 141,0,0,0,114,54,0,0,0,40,9,0,0,0,114,78, + 0,0,0,114,35,0,0,0,114,52,0,0,0,114,250,0, + 0,0,244,6,0,0,0,112,97,114,101,110,116,114,119,0, + 0,0,114,27,0,0,0,114,23,0,0,0,114,236,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 114,228,0,0,0,56,4,0,0,115,38,0,0,0,0,2, + 18,1,6,2,22,1,18,1,17,2,19,1,15,1,3,1, + 17,1,13,2,7,1,18,3,16,1,27,1,3,1,16,1, + 17,1,18,2,117,25,0,0,0,83,111,117,114,99,101,70, + 105,108,101,76,111,97,100,101,114,46,115,101,116,95,100,97, + 116,97,78,40,7,0,0,0,114,56,0,0,0,114,55,0, + 0,0,114,57,0,0,0,114,58,0,0,0,114,227,0,0, + 0,114,229,0,0,0,114,228,0,0,0,40,1,0,0,0, + 114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,248,0,0,0,42,4,0,0,115,8,0, + 0,0,16,2,6,2,12,5,12,5,114,248,0,0,0,99, + 1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0, + 66,0,0,0,115,62,0,0,0,124,0,0,69,101,0,0, + 90,1,0,100,0,0,90,2,0,100,1,0,90,3,0,100, + 2,0,100,3,0,132,0,0,90,4,0,100,4,0,100,5, + 0,132,0,0,90,5,0,100,6,0,100,7,0,132,0,0, + 90,6,0,100,8,0,83,40,9,0,0,0,244,20,0,0, + 0,83,111,117,114,99,101,108,101,115,115,70,105,108,101,76, + 111,97,100,101,114,117,45,0,0,0,76,111,97,100,101,114, + 32,119,104,105,99,104,32,104,97,110,100,108,101,115,32,115, + 111,117,114,99,101,108,101,115,115,32,102,105,108,101,32,105, + 109,112,111,114,116,115,46,99,2,0,0,0,0,0,0,0, + 2,0,0,0,4,0,0,0,67,0,0,0,115,19,0,0, + 0,124,0,0,106,0,0,124,1,0,100,1,0,100,2,0, + 131,1,1,83,40,3,0,0,0,78,114,220,0,0,0,84, + 40,1,0,0,0,114,223,0,0,0,40,2,0,0,0,114, + 78,0,0,0,114,156,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,114,198,0,0,0,89,4,0, + 0,115,2,0,0,0,0,1,117,32,0,0,0,83,111,117, + 114,99,101,108,101,115,115,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,5,0,0,0,6,0,0,0,67,0, + 0,0,115,76,0,0,0,124,0,0,106,0,0,124,1,0, + 131,1,0,125,2,0,124,0,0,106,1,0,124,2,0,131, + 1,0,125,3,0,116,2,0,124,3,0,100,1,0,124,1, + 0,100,2,0,124,2,0,131,1,2,125,4,0,116,3,0, + 124,4,0,100,1,0,124,1,0,100,3,0,124,2,0,131, + 1,2,83,40,4,0,0,0,78,114,66,0,0,0,114,35, + 0,0,0,114,129,0,0,0,40,4,0,0,0,114,219,0, + 0,0,114,231,0,0,0,114,185,0,0,0,114,190,0,0, + 0,40,5,0,0,0,114,78,0,0,0,114,156,0,0,0, + 114,35,0,0,0,114,52,0,0,0,114,243,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,199, + 0,0,0,92,4,0,0,115,8,0,0,0,0,1,15,1, + 15,1,24,1,117,29,0,0,0,83,111,117,114,99,101,108, + 101,115,115,70,105,108,101,76,111,97,100,101,114,46,103,101, + 116,95,99,111,100,101,99,2,0,0,0,0,0,0,0,2, + 0,0,0,1,0,0,0,67,0,0,0,115,4,0,0,0, + 100,1,0,83,40,2,0,0,0,117,39,0,0,0,82,101, + 116,117,114,110,32,78,111,110,101,32,97,115,32,116,104,101, + 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,40,2,0,0,0, + 114,78,0,0,0,114,156,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,114,200,0,0,0,98,4, + 0,0,115,2,0,0,0,0,2,117,31,0,0,0,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,40,7, + 0,0,0,114,56,0,0,0,114,55,0,0,0,114,57,0, + 0,0,114,58,0,0,0,114,198,0,0,0,114,199,0,0, + 0,114,200,0,0,0,40,1,0,0,0,114,69,0,0,0, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114, + 254,0,0,0,85,4,0,0,115,8,0,0,0,16,2,6, + 2,12,3,12,6,114,254,0,0,0,99,1,0,0,0,0, + 0,0,0,1,0,0,0,5,0,0,0,66,0,0,0,115, + 104,0,0,0,124,0,0,69,101,0,0,90,1,0,100,0, + 0,90,2,0,100,1,0,90,3,0,100,2,0,100,3,0, + 132,0,0,90,4,0,101,5,0,101,6,0,101,7,0,100, + 4,0,100,5,0,132,0,0,131,1,0,131,1,0,131,1, + 0,90,8,0,100,6,0,100,7,0,132,0,0,90,9,0, + 100,8,0,100,9,0,132,0,0,90,10,0,100,10,0,100, + 11,0,132,0,0,90,11,0,100,12,0,83,40,13,0,0, + 0,244,19,0,0,0,69,120,116,101,110,115,105,111,110,70, + 105,108,101,76,111,97,100,101,114,117,93,0,0,0,76,111, + 97,100,101,114,32,102,111,114,32,101,120,116,101,110,115,105, + 111,110,32,109,111,100,117,108,101,115,46,10,10,32,32,32, + 32,84,104,101,32,99,111,110,115,116,114,117,99,116,111,114, + 32,105,115,32,100,101,115,105,103,110,101,100,32,116,111,32, + 119,111,114,107,32,119,105,116,104,32,70,105,108,101,70,105, + 110,100,101,114,46,10,10,32,32,32,32,99,3,0,0,0, + 0,0,0,0,3,0,0,0,2,0,0,0,67,0,0,0, + 115,22,0,0,0,124,1,0,124,0,0,95,0,0,124,2, + 0,124,0,0,95,1,0,100,0,0,83,40,1,0,0,0, + 78,40,2,0,0,0,114,66,0,0,0,114,35,0,0,0, + 40,3,0,0,0,114,78,0,0,0,114,66,0,0,0,114, + 35,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,79,0,0,0,115,4,0,0,115,4,0,0, + 0,0,1,9,1,117,28,0,0,0,69,120,116,101,110,115, + 105,111,110,70,105,108,101,76,111,97,100,101,114,46,95,95, + 105,110,105,116,95,95,99,2,0,0,0,0,0,0,0,4, + 0,0,0,10,0,0,0,67,0,0,0,115,175,0,0,0, + 124,1,0,116,0,0,106,1,0,107,6,0,125,2,0,121, + 107,0,116,2,0,116,3,0,106,4,0,124,1,0,124,0, + 0,106,5,0,131,3,0,125,3,0,116,6,0,100,1,0, + 124,0,0,106,5,0,131,2,0,1,124,0,0,106,7,0, + 124,1,0,131,1,0,114,117,0,116,8,0,124,3,0,100, + 2,0,131,2,0,12,114,117,0,116,9,0,124,0,0,106, + 5,0,131,1,0,100,3,0,25,103,1,0,124,3,0,95, + 10,0,110,0,0,124,3,0,83,87,110,46,0,1,1,1, + 124,2,0,12,114,163,0,124,1,0,116,0,0,106,1,0, + 107,6,0,114,163,0,116,0,0,106,1,0,124,1,0,61, + 110,0,0,130,0,0,89,110,1,0,88,100,4,0,83,40, + 5,0,0,0,117,25,0,0,0,76,111,97,100,32,97,110, + 32,101,120,116,101,110,115,105,111,110,32,109,111,100,117,108, + 101,46,117,33,0,0,0,101,120,116,101,110,115,105,111,110, + 32,109,111,100,117,108,101,32,108,111,97,100,101,100,32,102, + 114,111,109,32,123,33,114,125,114,143,0,0,0,114,71,0, + 0,0,78,40,11,0,0,0,114,7,0,0,0,114,152,0, + 0,0,114,102,0,0,0,114,97,0,0,0,116,12,0,0, + 0,108,111,97,100,95,100,121,110,97,109,105,99,114,35,0, + 0,0,114,141,0,0,0,114,153,0,0,0,114,59,0,0, + 0,114,38,0,0,0,114,143,0,0,0,40,4,0,0,0, + 114,78,0,0,0,114,156,0,0,0,114,157,0,0,0,114, + 145,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,198,0,0,0,119,4,0,0,115,24,0,0, + 0,0,5,15,1,3,1,9,1,15,1,16,1,31,1,28, + 1,8,1,3,1,22,1,13,1,117,31,0,0,0,69,120, + 116,101,110,115,105,111,110,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,4,0,0,0,3,0, + 0,0,115,48,0,0,0,116,0,0,124,0,0,106,1,0, + 131,1,0,100,1,0,25,137,0,0,116,2,0,135,0,0, + 102,1,0,100,2,0,100,3,0,134,0,0,116,3,0,68, + 131,1,0,131,1,0,83,40,4,0,0,0,117,49,0,0, + 0,82,101,116,117,114,110,32,84,114,117,101,32,105,102,32, + 116,104,101,32,101,120,116,101,110,115,105,111,110,32,109,111, + 100,117,108,101,32,105,115,32,97,32,112,97,99,107,97,103, + 101,46,114,29,0,0,0,99,1,0,0,0,0,0,0,0, + 2,0,0,0,4,0,0,0,51,0,0,0,115,31,0,0, + 0,124,0,0,93,21,0,125,1,0,136,0,0,100,0,0, + 124,1,0,23,107,2,0,86,1,113,3,0,100,1,0,83, + 40,2,0,0,0,114,79,0,0,0,78,114,4,0,0,0, + 40,2,0,0,0,114,22,0,0,0,244,6,0,0,0,115, + 117,102,102,105,120,40,1,0,0,0,244,9,0,0,0,102, + 105,108,101,95,110,97,109,101,114,4,0,0,0,114,5,0, + 0,0,245,9,0,0,0,60,103,101,110,101,120,112,114,62, + 140,4,0,0,115,2,0,0,0,6,1,117,49,0,0,0, + 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,110,101,120,112,114, + 62,40,4,0,0,0,114,38,0,0,0,114,35,0,0,0, + 244,3,0,0,0,97,110,121,244,18,0,0,0,69,88,84, + 69,78,83,73,79,78,95,83,85,70,70,73,88,69,83,40, + 2,0,0,0,114,78,0,0,0,114,156,0,0,0,114,4, + 0,0,0,40,1,0,0,0,114,1,1,0,0,114,5,0, + 0,0,114,153,0,0,0,137,4,0,0,115,6,0,0,0, + 0,2,19,1,18,1,117,30,0,0,0,69,120,116,101,110, + 115,105,111,110,70,105,108,101,76,111,97,100,101,114,46,105, + 115,95,112,97,99,107,97,103,101,99,2,0,0,0,0,0, + 0,0,2,0,0,0,1,0,0,0,67,0,0,0,115,4, + 0,0,0,100,1,0,83,40,2,0,0,0,117,63,0,0, + 0,82,101,116,117,114,110,32,78,111,110,101,32,97,115,32, + 97,110,32,101,120,116,101,110,115,105,111,110,32,109,111,100, + 117,108,101,32,99,97,110,110,111,116,32,99,114,101,97,116, + 101,32,97,32,99,111,100,101,32,111,98,106,101,99,116,46, + 78,114,4,0,0,0,40,2,0,0,0,114,78,0,0,0, + 114,156,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,199,0,0,0,143,4,0,0,115,2,0, + 0,0,0,2,117,28,0,0,0,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,78,40,12,0,0,0,117,8,0, - 0,0,95,95,110,97,109,101,95,95,117,10,0,0,0,95, - 95,109,111,100,117,108,101,95,95,117,12,0,0,0,95,95, - 113,117,97,108,110,97,109,101,95,95,117,7,0,0,0,95, - 95,100,111,99,95,95,117,8,0,0,0,95,95,105,110,105, - 116,95,95,117,11,0,0,0,95,99,104,101,99,107,95,110, - 97,109,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,11,0,0,0,108,111,97,100,95,109,111,100,117, - 108,101,117,10,0,0,0,105,115,95,112,97,99,107,97,103, - 101,117,8,0,0,0,103,101,116,95,99,111,100,101,117,10, - 0,0,0,103,101,116,95,115,111,117,114,99,101,40,1,0, - 0,0,117,10,0,0,0,95,95,108,111,99,97,108,115,95, - 95,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,19,0, - 0,0,69,120,116,101,110,115,105,111,110,70,105,108,101,76, - 111,97,100,101,114,90,4,0,0,115,16,0,0,0,16,6, - 6,2,12,4,3,1,3,1,24,16,12,6,12,4,117,19, - 0,0,0,69,120,116,101,110,115,105,111,110,70,105,108,101, - 76,111,97,100,101,114,99,1,0,0,0,0,0,0,0,1, - 0,0,0,2,0,0,0,66,0,0,0,115,134,0,0,0, - 124,0,0,69,101,0,0,90,1,0,100,0,0,90,2,0, - 100,1,0,90,3,0,100,2,0,100,3,0,132,0,0,90, - 4,0,100,4,0,100,5,0,132,0,0,90,5,0,100,6, - 0,100,7,0,132,0,0,90,6,0,100,8,0,100,9,0, - 132,0,0,90,7,0,100,10,0,100,11,0,132,0,0,90, - 8,0,100,12,0,100,13,0,132,0,0,90,9,0,100,14, - 0,100,15,0,132,0,0,90,10,0,100,16,0,100,17,0, - 132,0,0,90,11,0,100,18,0,100,19,0,132,0,0,90, - 12,0,100,20,0,83,40,21,0,0,0,117,14,0,0,0, - 95,78,97,109,101,115,112,97,99,101,80,97,116,104,117,38, - 1,0,0,82,101,112,114,101,115,101,110,116,115,32,97,32, - 110,97,109,101,115,112,97,99,101,32,112,97,99,107,97,103, - 101,39,115,32,112,97,116,104,46,32,32,73,116,32,117,115, - 101,115,32,116,104,101,32,109,111,100,117,108,101,32,110,97, - 109,101,10,32,32,32,32,116,111,32,102,105,110,100,32,105, - 116,115,32,112,97,114,101,110,116,32,109,111,100,117,108,101, - 44,32,97,110,100,32,102,114,111,109,32,116,104,101,114,101, - 32,105,116,32,108,111,111,107,115,32,117,112,32,116,104,101, - 32,112,97,114,101,110,116,39,115,10,32,32,32,32,95,95, - 112,97,116,104,95,95,46,32,32,87,104,101,110,32,116,104, - 105,115,32,99,104,97,110,103,101,115,44,32,116,104,101,32, - 109,111,100,117,108,101,39,115,32,111,119,110,32,112,97,116, - 104,32,105,115,32,114,101,99,111,109,112,117,116,101,100,44, - 10,32,32,32,32,117,115,105,110,103,32,112,97,116,104,95, - 102,105,110,100,101,114,46,32,32,70,111,114,32,116,111,112, - 45,108,101,118,101,108,32,109,111,100,117,108,101,115,44,32, - 116,104,101,32,112,97,114,101,110,116,32,109,111,100,117,108, - 101,39,115,32,112,97,116,104,10,32,32,32,32,105,115,32, - 115,121,115,46,112,97,116,104,46,99,4,0,0,0,0,0, - 0,0,4,0,0,0,2,0,0,0,67,0,0,0,115,52, - 0,0,0,124,1,0,124,0,0,95,0,0,124,2,0,124, - 0,0,95,1,0,116,2,0,124,0,0,106,3,0,131,0, - 0,131,1,0,124,0,0,95,4,0,124,3,0,124,0,0, - 95,5,0,100,0,0,83,40,1,0,0,0,78,40,6,0, - 0,0,117,5,0,0,0,95,110,97,109,101,117,5,0,0, - 0,95,112,97,116,104,117,5,0,0,0,116,117,112,108,101, - 117,16,0,0,0,95,103,101,116,95,112,97,114,101,110,116, - 95,112,97,116,104,117,17,0,0,0,95,108,97,115,116,95, - 112,97,114,101,110,116,95,112,97,116,104,117,12,0,0,0, - 95,112,97,116,104,95,102,105,110,100,101,114,40,4,0,0, - 0,117,4,0,0,0,115,101,108,102,117,4,0,0,0,110, - 97,109,101,117,4,0,0,0,112,97,116,104,117,11,0,0, - 0,112,97,116,104,95,102,105,110,100,101,114,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,95,105, - 110,105,116,95,95,142,4,0,0,115,8,0,0,0,0,1, - 9,1,9,1,21,1,117,23,0,0,0,95,78,97,109,101, - 115,112,97,99,101,80,97,116,104,46,95,95,105,110,105,116, - 95,95,99,1,0,0,0,0,0,0,0,4,0,0,0,3, - 0,0,0,67,0,0,0,115,53,0,0,0,124,0,0,106, - 0,0,106,1,0,100,1,0,131,1,0,92,3,0,125,1, - 0,125,2,0,125,3,0,124,2,0,100,2,0,107,2,0, - 114,43,0,100,6,0,83,124,1,0,100,5,0,102,2,0, - 83,40,7,0,0,0,117,62,0,0,0,82,101,116,117,114, - 110,115,32,97,32,116,117,112,108,101,32,111,102,32,40,112, - 97,114,101,110,116,45,109,111,100,117,108,101,45,110,97,109, - 101,44,32,112,97,114,101,110,116,45,112,97,116,104,45,97, - 116,116,114,45,110,97,109,101,41,117,1,0,0,0,46,117, - 0,0,0,0,117,3,0,0,0,115,121,115,117,4,0,0, - 0,112,97,116,104,117,8,0,0,0,95,95,112,97,116,104, - 95,95,40,2,0,0,0,117,3,0,0,0,115,121,115,117, - 4,0,0,0,112,97,116,104,40,2,0,0,0,117,5,0, - 0,0,95,110,97,109,101,117,10,0,0,0,114,112,97,114, - 116,105,116,105,111,110,40,4,0,0,0,117,4,0,0,0, - 115,101,108,102,117,6,0,0,0,112,97,114,101,110,116,117, - 3,0,0,0,100,111,116,117,2,0,0,0,109,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,23,0,0,0,95, - 102,105,110,100,95,112,97,114,101,110,116,95,112,97,116,104, - 95,110,97,109,101,115,148,4,0,0,115,8,0,0,0,0, - 2,27,1,12,2,4,3,117,38,0,0,0,95,78,97,109, - 101,115,112,97,99,101,80,97,116,104,46,95,102,105,110,100, - 95,112,97,114,101,110,116,95,112,97,116,104,95,110,97,109, - 101,115,99,1,0,0,0,0,0,0,0,3,0,0,0,3, - 0,0,0,67,0,0,0,115,38,0,0,0,124,0,0,106, - 0,0,131,0,0,92,2,0,125,1,0,125,2,0,116,1, - 0,116,2,0,106,3,0,124,1,0,25,124,2,0,131,2, - 0,83,40,1,0,0,0,78,40,4,0,0,0,117,23,0, + 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,0,0,0,100, + 1,0,83,40,2,0,0,0,117,53,0,0,0,82,101,116, + 117,114,110,32,78,111,110,101,32,97,115,32,101,120,116,101, + 110,115,105,111,110,32,109,111,100,117,108,101,115,32,104,97, + 118,101,32,110,111,32,115,111,117,114,99,101,32,99,111,100, + 101,46,78,114,4,0,0,0,40,2,0,0,0,114,78,0, + 0,0,114,156,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,114,200,0,0,0,147,4,0,0,115, + 2,0,0,0,0,2,117,30,0,0,0,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,78,40,12,0,0,0,114, + 56,0,0,0,114,55,0,0,0,114,57,0,0,0,114,58, + 0,0,0,114,79,0,0,0,114,162,0,0,0,114,148,0, + 0,0,114,151,0,0,0,114,198,0,0,0,114,153,0,0, + 0,114,199,0,0,0,114,200,0,0,0,40,1,0,0,0, + 114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,255,0,0,0,107,4,0,0,115,16,0, + 0,0,16,6,6,2,12,4,3,1,3,1,24,16,12,6, + 12,4,114,255,0,0,0,99,1,0,0,0,0,0,0,0, + 1,0,0,0,2,0,0,0,66,0,0,0,115,134,0,0, + 0,124,0,0,69,101,0,0,90,1,0,100,0,0,90,2, + 0,100,1,0,90,3,0,100,2,0,100,3,0,132,0,0, + 90,4,0,100,4,0,100,5,0,132,0,0,90,5,0,100, + 6,0,100,7,0,132,0,0,90,6,0,100,8,0,100,9, + 0,132,0,0,90,7,0,100,10,0,100,11,0,132,0,0, + 90,8,0,100,12,0,100,13,0,132,0,0,90,9,0,100, + 14,0,100,15,0,132,0,0,90,10,0,100,16,0,100,17, + 0,132,0,0,90,11,0,100,18,0,100,19,0,132,0,0, + 90,12,0,100,20,0,83,40,21,0,0,0,244,14,0,0, + 0,95,78,97,109,101,115,112,97,99,101,80,97,116,104,117, + 38,1,0,0,82,101,112,114,101,115,101,110,116,115,32,97, + 32,110,97,109,101,115,112,97,99,101,32,112,97,99,107,97, + 103,101,39,115,32,112,97,116,104,46,32,32,73,116,32,117, + 115,101,115,32,116,104,101,32,109,111,100,117,108,101,32,110, + 97,109,101,10,32,32,32,32,116,111,32,102,105,110,100,32, + 105,116,115,32,112,97,114,101,110,116,32,109,111,100,117,108, + 101,44,32,97,110,100,32,102,114,111,109,32,116,104,101,114, + 101,32,105,116,32,108,111,111,107,115,32,117,112,32,116,104, + 101,32,112,97,114,101,110,116,39,115,10,32,32,32,32,95, + 95,112,97,116,104,95,95,46,32,32,87,104,101,110,32,116, + 104,105,115,32,99,104,97,110,103,101,115,44,32,116,104,101, + 32,109,111,100,117,108,101,39,115,32,111,119,110,32,112,97, + 116,104,32,105,115,32,114,101,99,111,109,112,117,116,101,100, + 44,10,32,32,32,32,117,115,105,110,103,32,112,97,116,104, + 95,102,105,110,100,101,114,46,32,32,70,111,114,32,116,111, + 112,45,108,101,118,101,108,32,109,111,100,117,108,101,115,44, + 32,116,104,101,32,112,97,114,101,110,116,32,109,111,100,117, + 108,101,39,115,32,112,97,116,104,10,32,32,32,32,105,115, + 32,115,121,115,46,112,97,116,104,46,99,4,0,0,0,0, + 0,0,0,4,0,0,0,2,0,0,0,67,0,0,0,115, + 52,0,0,0,124,1,0,124,0,0,95,0,0,124,2,0, + 124,0,0,95,1,0,116,2,0,124,0,0,106,3,0,131, + 0,0,131,1,0,124,0,0,95,4,0,124,3,0,124,0, + 0,95,5,0,100,0,0,83,40,1,0,0,0,78,40,6, + 0,0,0,244,5,0,0,0,95,110,97,109,101,244,5,0, + 0,0,95,112,97,116,104,114,217,0,0,0,244,16,0,0, + 0,95,103,101,116,95,112,97,114,101,110,116,95,112,97,116, + 104,244,17,0,0,0,95,108,97,115,116,95,112,97,114,101, + 110,116,95,112,97,116,104,244,12,0,0,0,95,112,97,116, + 104,95,102,105,110,100,101,114,40,4,0,0,0,114,78,0, + 0,0,114,66,0,0,0,114,35,0,0,0,244,11,0,0, + 0,112,97,116,104,95,102,105,110,100,101,114,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,114,79,0,0,0, + 159,4,0,0,115,8,0,0,0,0,1,9,1,9,1,21, + 1,117,23,0,0,0,95,78,97,109,101,115,112,97,99,101, + 80,97,116,104,46,95,95,105,110,105,116,95,95,99,1,0, + 0,0,0,0,0,0,4,0,0,0,3,0,0,0,67,0, + 0,0,115,53,0,0,0,124,0,0,106,0,0,106,1,0, + 100,1,0,131,1,0,92,3,0,125,1,0,125,2,0,125, + 3,0,124,2,0,100,2,0,107,2,0,114,43,0,100,6, + 0,83,124,1,0,100,5,0,102,2,0,83,40,7,0,0, + 0,117,62,0,0,0,82,101,116,117,114,110,115,32,97,32, + 116,117,112,108,101,32,111,102,32,40,112,97,114,101,110,116, + 45,109,111,100,117,108,101,45,110,97,109,101,44,32,112,97, + 114,101,110,116,45,112,97,116,104,45,97,116,116,114,45,110, + 97,109,101,41,114,104,0,0,0,114,30,0,0,0,114,7, + 0,0,0,114,35,0,0,0,114,143,0,0,0,40,2,0, + 0,0,117,3,0,0,0,115,121,115,117,4,0,0,0,112, + 97,116,104,40,2,0,0,0,114,6,1,0,0,114,32,0, + 0,0,40,4,0,0,0,114,78,0,0,0,114,253,0,0, + 0,244,3,0,0,0,100,111,116,114,83,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,23,0, 0,0,95,102,105,110,100,95,112,97,114,101,110,116,95,112, - 97,116,104,95,110,97,109,101,115,117,7,0,0,0,103,101, - 116,97,116,116,114,117,3,0,0,0,115,121,115,117,7,0, - 0,0,109,111,100,117,108,101,115,40,3,0,0,0,117,4, - 0,0,0,115,101,108,102,117,18,0,0,0,112,97,114,101, - 110,116,95,109,111,100,117,108,101,95,110,97,109,101,117,14, - 0,0,0,112,97,116,104,95,97,116,116,114,95,110,97,109, - 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,103,101,116,95,112,97,114,101,110,116,95,112,97, - 116,104,158,4,0,0,115,4,0,0,0,0,1,18,1,117, - 31,0,0,0,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,4,0,0,0, - 3,0,0,0,67,0,0,0,115,103,0,0,0,116,0,0, - 124,0,0,106,1,0,131,0,0,131,1,0,125,1,0,124, - 1,0,124,0,0,106,2,0,107,3,0,114,96,0,124,0, - 0,106,3,0,124,0,0,106,4,0,124,1,0,131,2,0, - 92,2,0,125,2,0,125,3,0,124,2,0,100,0,0,107, - 8,0,114,84,0,124,3,0,124,0,0,95,6,0,110,0, - 0,124,1,0,124,0,0,95,2,0,110,0,0,124,0,0, - 106,6,0,83,40,1,0,0,0,78,40,7,0,0,0,117, - 5,0,0,0,116,117,112,108,101,117,16,0,0,0,95,103, - 101,116,95,112,97,114,101,110,116,95,112,97,116,104,117,17, - 0,0,0,95,108,97,115,116,95,112,97,114,101,110,116,95, - 112,97,116,104,117,12,0,0,0,95,112,97,116,104,95,102, - 105,110,100,101,114,117,5,0,0,0,95,110,97,109,101,117, - 4,0,0,0,78,111,110,101,117,5,0,0,0,95,112,97, - 116,104,40,4,0,0,0,117,4,0,0,0,115,101,108,102, - 117,11,0,0,0,112,97,114,101,110,116,95,112,97,116,104, - 117,6,0,0,0,108,111,97,100,101,114,117,8,0,0,0, - 110,101,119,95,112,97,116,104,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,12,0,0,0,95,114,101,99,97,108,99, - 117,108,97,116,101,162,4,0,0,115,14,0,0,0,0,2, - 18,1,15,1,27,3,12,1,12,1,12,1,117,27,0,0, - 0,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,0,1,0,0,0,2,0,0,0,67,0,0, - 0,115,16,0,0,0,116,0,0,124,0,0,106,1,0,131, - 0,0,131,1,0,83,40,1,0,0,0,78,40,2,0,0, - 0,117,4,0,0,0,105,116,101,114,117,12,0,0,0,95, - 114,101,99,97,108,99,117,108,97,116,101,40,1,0,0,0, - 117,4,0,0,0,115,101,108,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,8,0,0,0,95,95,105,116,101,114, - 95,95,174,4,0,0,115,2,0,0,0,0,1,117,23,0, - 0,0,95,78,97,109,101,115,112,97,99,101,80,97,116,104, - 46,95,95,105,116,101,114,95,95,99,1,0,0,0,0,0, - 0,0,1,0,0,0,2,0,0,0,67,0,0,0,115,16, - 0,0,0,116,0,0,124,0,0,106,1,0,131,0,0,131, - 1,0,83,40,1,0,0,0,78,40,2,0,0,0,117,3, - 0,0,0,108,101,110,117,12,0,0,0,95,114,101,99,97, - 108,99,117,108,97,116,101,40,1,0,0,0,117,4,0,0, - 0,115,101,108,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,7,0,0,0,95,95,108,101,110,95,95,177,4,0, - 0,115,2,0,0,0,0,1,117,22,0,0,0,95,78,97, - 109,101,115,112,97,99,101,80,97,116,104,46,95,95,108,101, - 110,95,95,99,1,0,0,0,0,0,0,0,1,0,0,0, - 2,0,0,0,67,0,0,0,115,16,0,0,0,100,1,0, - 106,0,0,124,0,0,106,1,0,131,1,0,83,40,2,0, - 0,0,78,117,20,0,0,0,95,78,97,109,101,115,112,97, - 99,101,80,97,116,104,40,123,33,114,125,41,40,2,0,0, - 0,117,6,0,0,0,102,111,114,109,97,116,117,5,0,0, - 0,95,112,97,116,104,40,1,0,0,0,117,4,0,0,0, - 115,101,108,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,8,0,0,0,95,95,114,101,112,114,95,95,180,4,0, - 0,115,2,0,0,0,0,1,117,23,0,0,0,95,78,97, - 109,101,115,112,97,99,101,80,97,116,104,46,95,95,114,101, - 112,114,95,95,99,2,0,0,0,0,0,0,0,2,0,0, - 0,2,0,0,0,67,0,0,0,115,16,0,0,0,124,1, - 0,124,0,0,106,0,0,131,0,0,107,6,0,83,40,1, - 0,0,0,78,40,1,0,0,0,117,12,0,0,0,95,114, - 101,99,97,108,99,117,108,97,116,101,40,2,0,0,0,117, - 4,0,0,0,115,101,108,102,117,4,0,0,0,105,116,101, - 109,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,12,0, - 0,0,95,95,99,111,110,116,97,105,110,115,95,95,183,4, + 97,116,104,95,110,97,109,101,115,165,4,0,0,115,8,0, + 0,0,0,2,27,1,12,2,4,3,117,38,0,0,0,95, + 78,97,109,101,115,112,97,99,101,80,97,116,104,46,95,102, + 105,110,100,95,112,97,114,101,110,116,95,112,97,116,104,95, + 110,97,109,101,115,99,1,0,0,0,0,0,0,0,3,0, + 0,0,3,0,0,0,67,0,0,0,115,38,0,0,0,124, + 0,0,106,0,0,131,0,0,92,2,0,125,1,0,125,2, + 0,116,1,0,116,2,0,106,3,0,124,1,0,25,124,2, + 0,131,2,0,83,40,1,0,0,0,78,40,4,0,0,0, + 114,13,1,0,0,114,61,0,0,0,114,7,0,0,0,114, + 152,0,0,0,40,3,0,0,0,114,78,0,0,0,116,18, + 0,0,0,112,97,114,101,110,116,95,109,111,100,117,108,101, + 95,110,97,109,101,116,14,0,0,0,112,97,116,104,95,97, + 116,116,114,95,110,97,109,101,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,114,8,1,0,0,175,4,0,0, + 115,4,0,0,0,0,1,18,1,117,31,0,0,0,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,4,0,0,0,3,0,0,0,67,0, + 0,0,115,103,0,0,0,116,0,0,124,0,0,106,1,0, + 131,0,0,131,1,0,125,1,0,124,1,0,124,0,0,106, + 2,0,107,3,0,114,96,0,124,0,0,106,3,0,124,0, + 0,106,4,0,124,1,0,131,2,0,92,2,0,125,2,0, + 125,3,0,124,2,0,100,0,0,107,8,0,114,84,0,124, + 3,0,124,0,0,95,5,0,110,0,0,124,1,0,124,0, + 0,95,2,0,110,0,0,124,0,0,106,5,0,83,40,1, + 0,0,0,78,40,6,0,0,0,114,217,0,0,0,114,8, + 1,0,0,114,9,1,0,0,114,10,1,0,0,114,6,1, + 0,0,114,7,1,0,0,40,4,0,0,0,114,78,0,0, + 0,116,11,0,0,0,112,97,114,101,110,116,95,112,97,116, + 104,114,173,0,0,0,116,8,0,0,0,110,101,119,95,112, + 97,116,104,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,12,0,0,0,95,114,101,99,97,108,99,117,108, + 97,116,101,179,4,0,0,115,14,0,0,0,0,2,18,1, + 15,1,27,3,12,1,12,1,12,1,117,27,0,0,0,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,0,1,0,0,0,2,0,0,0,67,0,0,0,115, + 16,0,0,0,116,0,0,124,0,0,106,1,0,131,0,0, + 131,1,0,83,40,1,0,0,0,78,40,2,0,0,0,244, + 4,0,0,0,105,116,101,114,114,14,1,0,0,40,1,0, + 0,0,114,78,0,0,0,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,244,8,0,0,0,95,95,105,116,101, + 114,95,95,191,4,0,0,115,2,0,0,0,0,1,117,23, + 0,0,0,95,78,97,109,101,115,112,97,99,101,80,97,116, + 104,46,95,95,105,116,101,114,95,95,99,1,0,0,0,0, + 0,0,0,1,0,0,0,2,0,0,0,67,0,0,0,115, + 16,0,0,0,116,0,0,124,0,0,106,1,0,131,0,0, + 131,1,0,83,40,1,0,0,0,78,40,2,0,0,0,114, + 31,0,0,0,114,14,1,0,0,40,1,0,0,0,114,78, + 0,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,244,7,0,0,0,95,95,108,101,110,95,95,194,4, + 0,0,115,2,0,0,0,0,1,117,22,0,0,0,95,78, + 97,109,101,115,112,97,99,101,80,97,116,104,46,95,95,108, + 101,110,95,95,99,1,0,0,0,0,0,0,0,1,0,0, + 0,2,0,0,0,67,0,0,0,115,16,0,0,0,100,1, + 0,106,0,0,124,0,0,106,1,0,131,1,0,83,40,2, + 0,0,0,78,117,20,0,0,0,95,78,97,109,101,115,112, + 97,99,101,80,97,116,104,40,123,33,114,125,41,40,2,0, + 0,0,114,46,0,0,0,114,7,1,0,0,40,1,0,0, + 0,114,78,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,114,90,0,0,0,197,4,0,0,115,2, + 0,0,0,0,1,117,23,0,0,0,95,78,97,109,101,115, + 112,97,99,101,80,97,116,104,46,95,95,114,101,112,114,95, + 95,99,2,0,0,0,0,0,0,0,2,0,0,0,2,0, + 0,0,67,0,0,0,115,16,0,0,0,124,1,0,124,0, + 0,106,0,0,131,0,0,107,6,0,83,40,1,0,0,0, + 78,40,1,0,0,0,114,14,1,0,0,40,2,0,0,0, + 114,78,0,0,0,244,4,0,0,0,105,116,101,109,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,12,0, + 0,0,95,95,99,111,110,116,97,105,110,115,95,95,200,4, 0,0,115,2,0,0,0,0,1,117,27,0,0,0,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,0,0,0,67,0,0,0,115,20, 0,0,0,124,0,0,106,0,0,106,1,0,124,1,0,131, 1,0,1,100,0,0,83,40,1,0,0,0,78,40,2,0, - 0,0,117,5,0,0,0,95,112,97,116,104,117,6,0,0, - 0,97,112,112,101,110,100,40,2,0,0,0,117,4,0,0, - 0,115,101,108,102,117,4,0,0,0,105,116,101,109,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,97, - 112,112,101,110,100,186,4,0,0,115,2,0,0,0,0,1, - 117,21,0,0,0,95,78,97,109,101,115,112,97,99,101,80, - 97,116,104,46,97,112,112,101,110,100,78,40,13,0,0,0, - 117,8,0,0,0,95,95,110,97,109,101,95,95,117,10,0, - 0,0,95,95,109,111,100,117,108,101,95,95,117,12,0,0, - 0,95,95,113,117,97,108,110,97,109,101,95,95,117,7,0, - 0,0,95,95,100,111,99,95,95,117,8,0,0,0,95,95, - 105,110,105,116,95,95,117,23,0,0,0,95,102,105,110,100, - 95,112,97,114,101,110,116,95,112,97,116,104,95,110,97,109, - 101,115,117,16,0,0,0,95,103,101,116,95,112,97,114,101, - 110,116,95,112,97,116,104,117,12,0,0,0,95,114,101,99, - 97,108,99,117,108,97,116,101,117,8,0,0,0,95,95,105, - 116,101,114,95,95,117,7,0,0,0,95,95,108,101,110,95, - 95,117,8,0,0,0,95,95,114,101,112,114,95,95,117,12, - 0,0,0,95,95,99,111,110,116,97,105,110,115,95,95,117, - 6,0,0,0,97,112,112,101,110,100,40,1,0,0,0,117, - 10,0,0,0,95,95,108,111,99,97,108,115,95,95,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, - 78,97,109,101,115,112,97,99,101,80,97,116,104,135,4,0, - 0,115,20,0,0,0,16,5,6,2,12,6,12,10,12,4, - 12,12,12,3,12,3,12,3,12,3,117,14,0,0,0,95, - 78,97,109,101,115,112,97,99,101,80,97,116,104,99,1,0, - 0,0,0,0,0,0,1,0,0,0,3,0,0,0,66,0, - 0,0,115,68,0,0,0,124,0,0,69,101,0,0,90,1, - 0,100,0,0,90,2,0,100,1,0,100,2,0,132,0,0, - 90,3,0,101,4,0,100,3,0,100,4,0,132,0,0,131, - 1,0,90,5,0,101,6,0,100,5,0,100,6,0,132,0, - 0,131,1,0,90,7,0,100,7,0,83,40,8,0,0,0, - 117,15,0,0,0,78,97,109,101,115,112,97,99,101,76,111, - 97,100,101,114,99,4,0,0,0,0,0,0,0,4,0,0, - 0,4,0,0,0,67,0,0,0,115,25,0,0,0,116,0, - 0,124,1,0,124,2,0,124,3,0,131,3,0,124,0,0, - 95,1,0,100,0,0,83,40,1,0,0,0,78,40,2,0, - 0,0,117,14,0,0,0,95,78,97,109,101,115,112,97,99, - 101,80,97,116,104,117,5,0,0,0,95,112,97,116,104,40, - 4,0,0,0,117,4,0,0,0,115,101,108,102,117,4,0, - 0,0,110,97,109,101,117,4,0,0,0,112,97,116,104,117, - 11,0,0,0,112,97,116,104,95,102,105,110,100,101,114,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,95,105,110,105,116,95,95,191,4,0,0,115,2,0,0, - 0,0,1,117,24,0,0,0,78,97,109,101,115,112,97,99, - 101,76,111,97,100,101,114,46,95,95,105,110,105,116,95,95, - 99,2,0,0,0,0,0,0,0,2,0,0,0,2,0,0, - 0,67,0,0,0,115,16,0,0,0,100,1,0,106,0,0, - 124,1,0,106,1,0,131,1,0,83,40,2,0,0,0,78, - 117,25,0,0,0,60,109,111,100,117,108,101,32,39,123,125, - 39,32,40,110,97,109,101,115,112,97,99,101,41,62,40,2, - 0,0,0,117,6,0,0,0,102,111,114,109,97,116,117,8, - 0,0,0,95,95,110,97,109,101,95,95,40,2,0,0,0, - 117,3,0,0,0,99,108,115,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, - 11,0,0,0,109,111,100,117,108,101,95,114,101,112,114,194, + 0,0,114,7,1,0,0,114,251,0,0,0,40,2,0,0, + 0,114,78,0,0,0,114,18,1,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,251,0,0,0,203, + 4,0,0,115,2,0,0,0,0,1,117,21,0,0,0,95, + 78,97,109,101,115,112,97,99,101,80,97,116,104,46,97,112, + 112,101,110,100,78,40,13,0,0,0,114,56,0,0,0,114, + 55,0,0,0,114,57,0,0,0,114,58,0,0,0,114,79, + 0,0,0,114,13,1,0,0,114,8,1,0,0,114,14,1, + 0,0,114,16,1,0,0,114,17,1,0,0,114,90,0,0, + 0,114,19,1,0,0,114,251,0,0,0,40,1,0,0,0, + 114,69,0,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,5,1,0,0,152,4,0,0,115,20,0, + 0,0,16,5,6,2,12,6,12,10,12,4,12,12,12,3, + 12,3,12,3,12,3,114,5,1,0,0,99,1,0,0,0, + 0,0,0,0,1,0,0,0,3,0,0,0,66,0,0,0, + 115,68,0,0,0,124,0,0,69,101,0,0,90,1,0,100, + 0,0,90,2,0,100,1,0,100,2,0,132,0,0,90,3, + 0,101,4,0,100,3,0,100,4,0,132,0,0,131,1,0, + 90,5,0,101,6,0,100,5,0,100,6,0,132,0,0,131, + 1,0,90,7,0,100,7,0,83,40,8,0,0,0,244,15, + 0,0,0,78,97,109,101,115,112,97,99,101,76,111,97,100, + 101,114,99,4,0,0,0,0,0,0,0,4,0,0,0,4, + 0,0,0,67,0,0,0,115,25,0,0,0,116,0,0,124, + 1,0,124,2,0,124,3,0,131,3,0,124,0,0,95,1, + 0,100,0,0,83,40,1,0,0,0,78,40,2,0,0,0, + 114,5,1,0,0,114,7,1,0,0,40,4,0,0,0,114, + 78,0,0,0,114,66,0,0,0,114,35,0,0,0,114,11, + 1,0,0,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,114,79,0,0,0,208,4,0,0,115,2,0,0,0, + 0,1,117,24,0,0,0,78,97,109,101,115,112,97,99,101, + 76,111,97,100,101,114,46,95,95,105,110,105,116,95,95,99, + 2,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0, + 67,0,0,0,115,16,0,0,0,100,1,0,106,0,0,124, + 1,0,106,1,0,131,1,0,83,40,2,0,0,0,78,117, + 25,0,0,0,60,109,111,100,117,108,101,32,39,123,125,39, + 32,40,110,97,109,101,115,112,97,99,101,41,62,40,2,0, + 0,0,114,46,0,0,0,114,56,0,0,0,40,2,0,0, + 0,114,195,0,0,0,114,145,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,196,0,0,0,211, 4,0,0,115,2,0,0,0,0,2,117,27,0,0,0,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, @@ -3052,1245 +2512,970 @@ unsigned char _Py_M__importlib[] = { 111,100,117,108,101,46,117,38,0,0,0,110,97,109,101,115, 112,97,99,101,32,109,111,100,117,108,101,32,108,111,97,100, 101,100,32,119,105,116,104,32,112,97,116,104,32,123,33,114, - 125,40,3,0,0,0,117,16,0,0,0,95,118,101,114,98, - 111,115,101,95,109,101,115,115,97,103,101,117,5,0,0,0, - 95,112,97,116,104,117,8,0,0,0,95,95,112,97,116,104, - 95,95,40,2,0,0,0,117,4,0,0,0,115,101,108,102, - 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,11,0,0,0,108,111,97,100, - 95,109,111,100,117,108,101,198,4,0,0,115,6,0,0,0, - 0,3,16,1,12,1,117,27,0,0,0,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,40,8,0,0,0,117,8,0,0, - 0,95,95,110,97,109,101,95,95,117,10,0,0,0,95,95, - 109,111,100,117,108,101,95,95,117,12,0,0,0,95,95,113, - 117,97,108,110,97,109,101,95,95,117,8,0,0,0,95,95, - 105,110,105,116,95,95,117,11,0,0,0,99,108,97,115,115, - 109,101,116,104,111,100,117,11,0,0,0,109,111,100,117,108, - 101,95,114,101,112,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,108,111,97,100,95,109,111,100,117,108,101,40,1,0,0, - 0,117,10,0,0,0,95,95,108,111,99,97,108,115,95,95, - 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,15,0,0, - 0,78,97,109,101,115,112,97,99,101,76,111,97,100,101,114, - 190,4,0,0,115,6,0,0,0,16,1,12,3,18,4,117, - 15,0,0,0,78,97,109,101,115,112,97,99,101,76,111,97, - 100,101,114,99,1,0,0,0,0,0,0,0,1,0,0,0, - 4,0,0,0,66,0,0,0,115,119,0,0,0,124,0,0, - 69,101,0,0,90,1,0,100,0,0,90,2,0,100,1,0, - 90,3,0,101,4,0,100,2,0,100,3,0,132,0,0,131, - 1,0,90,5,0,101,4,0,100,4,0,100,5,0,132,0, - 0,131,1,0,90,6,0,101,4,0,100,6,0,100,7,0, - 132,0,0,131,1,0,90,7,0,101,4,0,100,8,0,100, - 9,0,132,0,0,131,1,0,90,8,0,101,4,0,100,12, - 0,100,10,0,100,11,0,132,1,0,131,1,0,90,10,0, - 100,12,0,83,40,13,0,0,0,117,10,0,0,0,80,97, - 116,104,70,105,110,100,101,114,117,62,0,0,0,77,101,116, - 97,32,112,97,116,104,32,102,105,110,100,101,114,32,102,111, - 114,32,115,121,115,46,112,97,116,104,32,97,110,100,32,112, - 97,99,107,97,103,101,32,95,95,112,97,116,104,95,95,32, - 97,116,116,114,105,98,117,116,101,115,46,99,1,0,0,0, - 0,0,0,0,2,0,0,0,4,0,0,0,67,0,0,0, - 115,58,0,0,0,120,51,0,116,0,0,106,1,0,106,2, - 0,131,0,0,68,93,34,0,125,1,0,116,3,0,124,1, - 0,100,1,0,131,2,0,114,16,0,124,1,0,106,4,0, - 131,0,0,1,113,16,0,113,16,0,87,100,2,0,83,40, - 3,0,0,0,117,125,0,0,0,67,97,108,108,32,116,104, - 101,32,105,110,118,97,108,105,100,97,116,101,95,99,97,99, - 104,101,115,40,41,32,109,101,116,104,111,100,32,111,110,32, - 97,108,108,32,112,97,116,104,32,101,110,116,114,121,32,102, - 105,110,100,101,114,115,10,32,32,32,32,32,32,32,32,115, - 116,111,114,101,100,32,105,110,32,115,121,115,46,112,97,116, - 104,95,105,109,112,111,114,116,101,114,95,99,97,99,104,101, - 115,32,40,119,104,101,114,101,32,105,109,112,108,101,109,101, - 110,116,101,100,41,46,117,17,0,0,0,105,110,118,97,108, - 105,100,97,116,101,95,99,97,99,104,101,115,78,40,5,0, - 0,0,117,3,0,0,0,115,121,115,117,19,0,0,0,112, - 97,116,104,95,105,109,112,111,114,116,101,114,95,99,97,99, - 104,101,117,6,0,0,0,118,97,108,117,101,115,117,7,0, - 0,0,104,97,115,97,116,116,114,117,17,0,0,0,105,110, - 118,97,108,105,100,97,116,101,95,99,97,99,104,101,115,40, - 2,0,0,0,117,3,0,0,0,99,108,115,117,6,0,0, - 0,102,105,110,100,101,114,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,105,110,118,97,108,105,100,97, - 116,101,95,99,97,99,104,101,115,212,4,0,0,115,6,0, - 0,0,0,4,22,1,15,1,117,28,0,0,0,80,97,116, - 104,70,105,110,100,101,114,46,105,110,118,97,108,105,100,97, - 116,101,95,99,97,99,104,101,115,99,2,0,0,0,0,0, - 0,0,3,0,0,0,12,0,0,0,67,0,0,0,115,94, - 0,0,0,116,0,0,106,1,0,115,28,0,116,2,0,106, - 3,0,100,1,0,116,4,0,131,2,0,1,110,0,0,120, - 59,0,116,0,0,106,1,0,68,93,44,0,125,2,0,121, - 14,0,124,2,0,124,1,0,131,1,0,83,87,113,38,0, - 4,116,5,0,107,10,0,114,81,0,1,1,1,119,38,0, - 89,113,38,0,88,113,38,0,87,100,2,0,83,100,2,0, - 83,40,3,0,0,0,117,113,0,0,0,83,101,97,114,99, - 104,32,115,101,113,117,101,110,99,101,32,111,102,32,104,111, - 111,107,115,32,102,111,114,32,97,32,102,105,110,100,101,114, - 32,102,111,114,32,39,112,97,116,104,39,46,10,10,32,32, - 32,32,32,32,32,32,73,102,32,39,104,111,111,107,115,39, - 32,105,115,32,102,97,108,115,101,32,116,104,101,110,32,117, - 115,101,32,115,121,115,46,112,97,116,104,95,104,111,111,107, - 115,46,10,10,32,32,32,32,32,32,32,32,117,23,0,0, - 0,115,121,115,46,112,97,116,104,95,104,111,111,107,115,32, - 105,115,32,101,109,112,116,121,78,40,7,0,0,0,117,3, - 0,0,0,115,121,115,117,10,0,0,0,112,97,116,104,95, - 104,111,111,107,115,117,9,0,0,0,95,119,97,114,110,105, - 110,103,115,117,4,0,0,0,119,97,114,110,117,13,0,0, - 0,73,109,112,111,114,116,87,97,114,110,105,110,103,117,11, - 0,0,0,73,109,112,111,114,116,69,114,114,111,114,117,4, - 0,0,0,78,111,110,101,40,3,0,0,0,117,3,0,0, - 0,99,108,115,117,4,0,0,0,112,97,116,104,117,4,0, - 0,0,104,111,111,107,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,112,97,116,104,95,104,111,111, - 107,115,220,4,0,0,115,16,0,0,0,0,7,9,1,19, - 1,16,1,3,1,14,1,13,1,12,2,117,22,0,0,0, - 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,0,0,3, - 0,0,0,11,0,0,0,67,0,0,0,115,91,0,0,0, - 124,1,0,100,1,0,107,2,0,114,21,0,100,2,0,125, - 1,0,110,0,0,121,17,0,116,0,0,106,1,0,124,1, - 0,25,125,2,0,87,110,46,0,4,116,2,0,107,10,0, - 114,86,0,1,1,1,124,0,0,106,3,0,124,1,0,131, - 1,0,125,2,0,124,2,0,116,0,0,106,1,0,124,1, - 0,60,89,110,1,0,88,124,2,0,83,40,3,0,0,0, - 117,210,0,0,0,71,101,116,32,116,104,101,32,102,105,110, - 100,101,114,32,102,111,114,32,116,104,101,32,112,97,116,104, - 32,101,110,116,114,121,32,102,114,111,109,32,115,121,115,46, + 125,40,3,0,0,0,114,141,0,0,0,114,7,1,0,0, + 114,143,0,0,0,40,2,0,0,0,114,78,0,0,0,114, + 145,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,198,0,0,0,215,4,0,0,115,6,0,0, + 0,0,3,16,1,12,1,117,27,0,0,0,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,40,8,0,0,0,114,56,0, + 0,0,114,55,0,0,0,114,57,0,0,0,114,79,0,0, + 0,114,201,0,0,0,114,196,0,0,0,114,159,0,0,0, + 114,198,0,0,0,40,1,0,0,0,114,69,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,20, + 1,0,0,207,4,0,0,115,6,0,0,0,16,1,12,3, + 18,4,114,20,1,0,0,99,1,0,0,0,0,0,0,0, + 1,0,0,0,4,0,0,0,66,0,0,0,115,119,0,0, + 0,124,0,0,69,101,0,0,90,1,0,100,0,0,90,2, + 0,100,1,0,90,3,0,101,4,0,100,2,0,100,3,0, + 132,0,0,131,1,0,90,5,0,101,4,0,100,4,0,100, + 5,0,132,0,0,131,1,0,90,6,0,101,4,0,100,6, + 0,100,7,0,132,0,0,131,1,0,90,7,0,101,4,0, + 100,8,0,100,9,0,132,0,0,131,1,0,90,8,0,101, + 4,0,100,10,0,100,11,0,100,12,0,132,1,0,131,1, + 0,90,9,0,100,10,0,83,40,13,0,0,0,244,10,0, + 0,0,80,97,116,104,70,105,110,100,101,114,117,62,0,0, + 0,77,101,116,97,32,112,97,116,104,32,102,105,110,100,101, + 114,32,102,111,114,32,115,121,115,46,112,97,116,104,32,97, + 110,100,32,112,97,99,107,97,103,101,32,95,95,112,97,116, + 104,95,95,32,97,116,116,114,105,98,117,116,101,115,46,99, + 1,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0, + 67,0,0,0,115,58,0,0,0,120,51,0,116,0,0,106, + 1,0,106,2,0,131,0,0,68,93,34,0,125,1,0,116, + 3,0,124,1,0,100,1,0,131,2,0,114,16,0,124,1, + 0,106,4,0,131,0,0,1,113,16,0,113,16,0,87,100, + 2,0,83,40,3,0,0,0,117,125,0,0,0,67,97,108, + 108,32,116,104,101,32,105,110,118,97,108,105,100,97,116,101, + 95,99,97,99,104,101,115,40,41,32,109,101,116,104,111,100, + 32,111,110,32,97,108,108,32,112,97,116,104,32,101,110,116, + 114,121,32,102,105,110,100,101,114,115,10,32,32,32,32,32, + 32,32,32,115,116,111,114,101,100,32,105,110,32,115,121,115, + 46,112,97,116,104,95,105,109,112,111,114,116,101,114,95,99, + 97,99,104,101,115,32,40,119,104,101,114,101,32,105,109,112, + 108,101,109,101,110,116,101,100,41,46,244,17,0,0,0,105, + 110,118,97,108,105,100,97,116,101,95,99,97,99,104,101,115, + 78,40,5,0,0,0,114,7,0,0,0,244,19,0,0,0, 112,97,116,104,95,105,109,112,111,114,116,101,114,95,99,97, - 99,104,101,46,10,10,32,32,32,32,32,32,32,32,73,102, - 32,116,104,101,32,112,97,116,104,32,101,110,116,114,121,32, - 105,115,32,110,111,116,32,105,110,32,116,104,101,32,99,97, - 99,104,101,44,32,102,105,110,100,32,116,104,101,32,97,112, - 112,114,111,112,114,105,97,116,101,32,102,105,110,100,101,114, - 10,32,32,32,32,32,32,32,32,97,110,100,32,99,97,99, - 104,101,32,105,116,46,32,73,102,32,110,111,32,102,105,110, - 100,101,114,32,105,115,32,97,118,97,105,108,97,98,108,101, - 44,32,115,116,111,114,101,32,78,111,110,101,46,10,10,32, - 32,32,32,32,32,32,32,117,0,0,0,0,117,1,0,0, - 0,46,40,4,0,0,0,117,3,0,0,0,115,121,115,117, - 19,0,0,0,112,97,116,104,95,105,109,112,111,114,116,101, - 114,95,99,97,99,104,101,117,8,0,0,0,75,101,121,69, - 114,114,111,114,117,11,0,0,0,95,112,97,116,104,95,104, - 111,111,107,115,40,3,0,0,0,117,3,0,0,0,99,108, - 115,117,4,0,0,0,112,97,116,104,117,6,0,0,0,102, - 105,110,100,101,114,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,20,0,0,0,95,112,97,116,104,95,105,109,112,111, - 114,116,101,114,95,99,97,99,104,101,237,4,0,0,115,16, - 0,0,0,0,8,12,1,9,1,3,1,17,1,13,1,15, - 1,18,1,117,31,0,0,0,80,97,116,104,70,105,110,100, - 101,114,46,95,112,97,116,104,95,105,109,112,111,114,116,101, - 114,95,99,97,99,104,101,99,3,0,0,0,0,0,0,0, - 8,0,0,0,5,0,0,0,67,0,0,0,115,189,0,0, - 0,103,0,0,125,3,0,120,176,0,124,2,0,68,93,158, - 0,125,4,0,116,0,0,124,4,0,116,1,0,116,2,0, - 102,2,0,131,2,0,115,46,0,113,13,0,110,0,0,124, - 0,0,106,3,0,124,4,0,131,1,0,125,5,0,124,5, - 0,100,2,0,107,9,0,114,13,0,116,5,0,124,5,0, - 100,1,0,131,2,0,114,112,0,124,5,0,106,6,0,124, - 1,0,131,1,0,92,2,0,125,6,0,125,7,0,110,21, - 0,124,5,0,106,7,0,124,1,0,131,1,0,125,6,0, - 103,0,0,125,7,0,124,6,0,100,2,0,107,9,0,114, - 155,0,124,6,0,124,3,0,102,2,0,83,124,3,0,106, - 8,0,124,7,0,131,1,0,1,113,13,0,113,13,0,87, - 100,2,0,124,3,0,102,2,0,83,100,2,0,83,40,3, - 0,0,0,117,63,0,0,0,70,105,110,100,32,116,104,101, - 32,108,111,97,100,101,114,32,111,114,32,110,97,109,101,115, - 112,97,99,101,95,112,97,116,104,32,102,111,114,32,116,104, - 105,115,32,109,111,100,117,108,101,47,112,97,99,107,97,103, - 101,32,110,97,109,101,46,117,11,0,0,0,102,105,110,100, - 95,108,111,97,100,101,114,78,40,9,0,0,0,117,10,0, - 0,0,105,115,105,110,115,116,97,110,99,101,117,3,0,0, - 0,115,116,114,117,5,0,0,0,98,121,116,101,115,117,20, - 0,0,0,95,112,97,116,104,95,105,109,112,111,114,116,101, - 114,95,99,97,99,104,101,117,4,0,0,0,78,111,110,101, - 117,7,0,0,0,104,97,115,97,116,116,114,117,11,0,0, - 0,102,105,110,100,95,108,111,97,100,101,114,117,11,0,0, - 0,102,105,110,100,95,109,111,100,117,108,101,117,6,0,0, - 0,101,120,116,101,110,100,40,8,0,0,0,117,3,0,0, - 0,99,108,115,117,8,0,0,0,102,117,108,108,110,97,109, - 101,117,4,0,0,0,112,97,116,104,117,14,0,0,0,110, - 97,109,101,115,112,97,99,101,95,112,97,116,104,117,5,0, - 0,0,101,110,116,114,121,117,6,0,0,0,102,105,110,100, - 101,114,117,6,0,0,0,108,111,97,100,101,114,117,8,0, - 0,0,112,111,114,116,105,111,110,115,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,101,116,95, - 108,111,97,100,101,114,254,4,0,0,115,28,0,0,0,0, - 5,6,1,13,1,21,1,6,1,15,1,12,1,15,1,24, - 2,15,1,6,1,12,2,10,5,20,2,117,22,0,0,0, - 80,97,116,104,70,105,110,100,101,114,46,95,103,101,116,95, - 108,111,97,100,101,114,99,3,0,0,0,0,0,0,0,5, - 0,0,0,4,0,0,0,67,0,0,0,115,97,0,0,0, - 124,2,0,100,1,0,107,8,0,114,24,0,116,1,0,106, - 2,0,125,2,0,110,0,0,124,0,0,106,3,0,124,1, - 0,124,2,0,131,2,0,92,2,0,125,3,0,125,4,0, - 124,3,0,100,1,0,107,9,0,114,64,0,124,3,0,83, - 124,4,0,114,89,0,116,4,0,124,1,0,124,4,0,124, - 0,0,106,3,0,131,3,0,83,100,1,0,83,100,1,0, - 83,40,2,0,0,0,117,98,0,0,0,70,105,110,100,32, - 116,104,101,32,109,111,100,117,108,101,32,111,110,32,115,121, - 115,46,112,97,116,104,32,111,114,32,39,112,97,116,104,39, - 32,98,97,115,101,100,32,111,110,32,115,121,115,46,112,97, - 116,104,95,104,111,111,107,115,32,97,110,100,10,32,32,32, - 32,32,32,32,32,115,121,115,46,112,97,116,104,95,105,109, - 112,111,114,116,101,114,95,99,97,99,104,101,46,78,40,5, - 0,0,0,117,4,0,0,0,78,111,110,101,117,3,0,0, - 0,115,121,115,117,4,0,0,0,112,97,116,104,117,11,0, - 0,0,95,103,101,116,95,108,111,97,100,101,114,117,15,0, - 0,0,78,97,109,101,115,112,97,99,101,76,111,97,100,101, - 114,40,5,0,0,0,117,3,0,0,0,99,108,115,117,8, - 0,0,0,102,117,108,108,110,97,109,101,117,4,0,0,0, - 112,97,116,104,117,6,0,0,0,108,111,97,100,101,114,117, - 14,0,0,0,110,97,109,101,115,112,97,99,101,95,112,97, - 116,104,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,102,105,110,100,95,109,111,100,117,108,101,25,5, - 0,0,115,16,0,0,0,0,4,12,1,12,1,24,1,12, - 1,4,2,6,3,19,2,117,22,0,0,0,80,97,116,104, - 70,105,110,100,101,114,46,102,105,110,100,95,109,111,100,117, - 108,101,78,40,11,0,0,0,117,8,0,0,0,95,95,110, - 97,109,101,95,95,117,10,0,0,0,95,95,109,111,100,117, - 108,101,95,95,117,12,0,0,0,95,95,113,117,97,108,110, - 97,109,101,95,95,117,7,0,0,0,95,95,100,111,99,95, - 95,117,11,0,0,0,99,108,97,115,115,109,101,116,104,111, - 100,117,17,0,0,0,105,110,118,97,108,105,100,97,116,101, - 95,99,97,99,104,101,115,117,11,0,0,0,95,112,97,116, - 104,95,104,111,111,107,115,117,20,0,0,0,95,112,97,116, - 104,95,105,109,112,111,114,116,101,114,95,99,97,99,104,101, - 117,11,0,0,0,95,103,101,116,95,108,111,97,100,101,114, - 117,4,0,0,0,78,111,110,101,117,11,0,0,0,102,105, - 110,100,95,109,111,100,117,108,101,40,1,0,0,0,117,10, - 0,0,0,95,95,108,111,99,97,108,115,95,95,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,80,97, - 116,104,70,105,110,100,101,114,208,4,0,0,115,14,0,0, - 0,16,2,6,2,18,8,18,17,18,17,18,27,3,1,117, - 10,0,0,0,80,97,116,104,70,105,110,100,101,114,99,1, - 0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,66, - 0,0,0,115,110,0,0,0,124,0,0,69,101,0,0,90, - 1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,2, - 0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,0, - 132,0,0,90,5,0,101,6,0,90,7,0,100,6,0,100, - 7,0,132,0,0,90,8,0,100,8,0,100,9,0,132,0, - 0,90,9,0,101,10,0,100,10,0,100,11,0,132,0,0, - 131,1,0,90,11,0,100,12,0,100,13,0,132,0,0,90, - 12,0,100,14,0,83,40,15,0,0,0,117,10,0,0,0, - 70,105,108,101,70,105,110,100,101,114,117,172,0,0,0,70, - 105,108,101,45,98,97,115,101,100,32,102,105,110,100,101,114, - 46,10,10,32,32,32,32,73,110,116,101,114,97,99,116,105, - 111,110,115,32,119,105,116,104,32,116,104,101,32,102,105,108, - 101,32,115,121,115,116,101,109,32,97,114,101,32,99,97,99, - 104,101,100,32,102,111,114,32,112,101,114,102,111,114,109,97, - 110,99,101,44,32,98,101,105,110,103,10,32,32,32,32,114, - 101,102,114,101,115,104,101,100,32,119,104,101,110,32,116,104, - 101,32,100,105,114,101,99,116,111,114,121,32,116,104,101,32, - 102,105,110,100,101,114,32,105,115,32,104,97,110,100,108,105, - 110,103,32,104,97,115,32,98,101,101,110,32,109,111,100,105, - 102,105,101,100,46,10,10,32,32,32,32,99,2,0,0,0, - 0,0,0,0,5,0,0,0,5,0,0,0,7,0,0,0, - 115,122,0,0,0,103,0,0,125,3,0,120,52,0,124,2, - 0,68,93,44,0,92,2,0,137,0,0,125,4,0,124,3, - 0,106,0,0,135,0,0,102,1,0,100,1,0,100,2,0, - 134,0,0,124,4,0,68,131,1,0,131,1,0,1,113,13, - 0,87,124,3,0,124,0,0,95,1,0,124,1,0,112,79, - 0,100,3,0,124,0,0,95,2,0,100,6,0,124,0,0, - 95,3,0,116,4,0,131,0,0,124,0,0,95,5,0,116, - 4,0,131,0,0,124,0,0,95,6,0,100,5,0,83,40, - 7,0,0,0,117,154,0,0,0,73,110,105,116,105,97,108, - 105,122,101,32,119,105,116,104,32,116,104,101,32,112,97,116, - 104,32,116,111,32,115,101,97,114,99,104,32,111,110,32,97, - 110,100,32,97,32,118,97,114,105,97,98,108,101,32,110,117, - 109,98,101,114,32,111,102,10,32,32,32,32,32,32,32,32, - 50,45,116,117,112,108,101,115,32,99,111,110,116,97,105,110, - 105,110,103,32,116,104,101,32,108,111,97,100,101,114,32,97, - 110,100,32,116,104,101,32,102,105,108,101,32,115,117,102,102, - 105,120,101,115,32,116,104,101,32,108,111,97,100,101,114,10, - 32,32,32,32,32,32,32,32,114,101,99,111,103,110,105,122, - 101,115,46,99,1,0,0,0,0,0,0,0,2,0,0,0, - 3,0,0,0,51,0,0,0,115,27,0,0,0,124,0,0, - 93,17,0,125,1,0,124,1,0,136,0,0,102,2,0,86, - 1,113,3,0,100,0,0,83,40,1,0,0,0,78,40,0, - 0,0,0,40,2,0,0,0,117,2,0,0,0,46,48,117, - 6,0,0,0,115,117,102,102,105,120,40,1,0,0,0,117, - 6,0,0,0,108,111,97,100,101,114,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,58, - 5,0,0,115,2,0,0,0,6,0,117,38,0,0,0,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,117,1,0,0,0,46,105,1,0,0,0, - 78,105,255,255,255,255,40,7,0,0,0,117,6,0,0,0, - 101,120,116,101,110,100,117,8,0,0,0,95,108,111,97,100, - 101,114,115,117,4,0,0,0,112,97,116,104,117,11,0,0, - 0,95,112,97,116,104,95,109,116,105,109,101,117,3,0,0, - 0,115,101,116,117,11,0,0,0,95,112,97,116,104,95,99, - 97,99,104,101,117,19,0,0,0,95,114,101,108,97,120,101, - 100,95,112,97,116,104,95,99,97,99,104,101,40,5,0,0, - 0,117,4,0,0,0,115,101,108,102,117,4,0,0,0,112, - 97,116,104,117,7,0,0,0,100,101,116,97,105,108,115,117, - 7,0,0,0,108,111,97,100,101,114,115,117,8,0,0,0, - 115,117,102,102,105,120,101,115,40,0,0,0,0,40,1,0, - 0,0,117,6,0,0,0,108,111,97,100,101,114,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,95,105,110,105,116,95,95,52,5,0,0, - 115,16,0,0,0,0,4,6,1,19,1,36,1,9,2,15, - 1,9,1,12,1,117,19,0,0,0,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,0,0,0,2,0,0,0,67,0, - 0,0,115,13,0,0,0,100,3,0,124,0,0,95,0,0, - 100,2,0,83,40,4,0,0,0,117,31,0,0,0,73,110, - 118,97,108,105,100,97,116,101,32,116,104,101,32,100,105,114, - 101,99,116,111,114,121,32,109,116,105,109,101,46,105,1,0, - 0,0,78,105,255,255,255,255,40,1,0,0,0,117,11,0, - 0,0,95,112,97,116,104,95,109,116,105,109,101,40,1,0, - 0,0,117,4,0,0,0,115,101,108,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,17,0,0,0,105,110,118,97, - 108,105,100,97,116,101,95,99,97,99,104,101,115,66,5,0, - 0,115,2,0,0,0,0,2,117,28,0,0,0,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,12,0,0,0,13,0,0,0,67,0,0,0,115,216, - 1,0,0,100,8,0,125,2,0,124,1,0,106,1,0,100, - 1,0,131,1,0,100,2,0,25,125,3,0,121,25,0,116, - 2,0,106,3,0,124,0,0,106,4,0,131,1,0,106,5, - 0,125,4,0,87,110,24,0,4,116,6,0,107,10,0,114, - 76,0,1,1,1,100,9,0,125,4,0,89,110,1,0,88, - 124,4,0,124,0,0,106,7,0,107,3,0,114,114,0,124, - 0,0,106,8,0,131,0,0,1,124,4,0,124,0,0,95, - 7,0,110,0,0,116,9,0,131,0,0,114,147,0,124,0, - 0,106,10,0,125,5,0,124,3,0,106,11,0,131,0,0, - 125,6,0,110,15,0,124,0,0,106,12,0,125,5,0,124, - 3,0,125,6,0,124,6,0,124,5,0,107,6,0,114,45, - 1,116,13,0,124,0,0,106,4,0,124,3,0,131,2,0, - 125,7,0,116,14,0,124,7,0,131,1,0,114,45,1,120, - 91,0,124,0,0,106,15,0,68,93,71,0,92,2,0,125, - 8,0,125,9,0,100,4,0,124,8,0,23,125,10,0,116, - 13,0,124,7,0,124,10,0,131,2,0,125,11,0,116,16, - 0,124,11,0,131,1,0,114,214,0,124,9,0,124,1,0, - 124,11,0,131,2,0,124,7,0,103,1,0,102,2,0,83, - 113,214,0,87,100,10,0,125,2,0,113,45,1,110,0,0, - 120,120,0,124,0,0,106,15,0,68,93,109,0,92,2,0, - 125,8,0,125,9,0,116,13,0,124,0,0,106,4,0,124, - 3,0,124,8,0,23,131,2,0,125,11,0,116,18,0,100, - 5,0,106,19,0,124,11,0,131,1,0,100,6,0,100,2, - 0,131,1,1,1,124,6,0,124,8,0,23,124,5,0,107, - 6,0,114,55,1,116,16,0,124,11,0,131,1,0,114,164, - 1,124,9,0,124,1,0,124,11,0,131,2,0,103,0,0, - 102,2,0,83,113,55,1,113,55,1,87,124,2,0,114,206, - 1,116,18,0,100,7,0,106,19,0,124,7,0,131,1,0, - 131,1,0,1,100,11,0,124,7,0,103,1,0,102,2,0, - 83,100,11,0,103,0,0,102,2,0,83,40,12,0,0,0, - 117,125,0,0,0,84,114,121,32,116,111,32,102,105,110,100, - 32,97,32,108,111,97,100,101,114,32,102,111,114,32,116,104, - 101,32,115,112,101,99,105,102,105,101,100,32,109,111,100,117, - 108,101,44,32,111,114,32,116,104,101,32,110,97,109,101,115, - 112,97,99,101,10,32,32,32,32,32,32,32,32,112,97,99, - 107,97,103,101,32,112,111,114,116,105,111,110,115,46,32,82, - 101,116,117,114,110,115,32,40,108,111,97,100,101,114,44,32, - 108,105,115,116,45,111,102,45,112,111,114,116,105,111,110,115, - 41,46,117,1,0,0,0,46,105,2,0,0,0,105,1,0, - 0,0,117,8,0,0,0,95,95,105,110,105,116,95,95,117, - 9,0,0,0,116,114,121,105,110,103,32,123,125,117,9,0, - 0,0,118,101,114,98,111,115,105,116,121,117,25,0,0,0, - 112,111,115,115,105,98,108,101,32,110,97,109,101,115,112,97, - 99,101,32,102,111,114,32,123,125,70,105,255,255,255,255,84, - 78,40,21,0,0,0,117,5,0,0,0,70,97,108,115,101, - 117,10,0,0,0,114,112,97,114,116,105,116,105,111,110,117, - 3,0,0,0,95,111,115,117,4,0,0,0,115,116,97,116, - 117,4,0,0,0,112,97,116,104,117,8,0,0,0,115,116, - 95,109,116,105,109,101,117,7,0,0,0,79,83,69,114,114, - 111,114,117,11,0,0,0,95,112,97,116,104,95,109,116,105, - 109,101,117,11,0,0,0,95,102,105,108,108,95,99,97,99, - 104,101,117,11,0,0,0,95,114,101,108,97,120,95,99,97, - 115,101,117,19,0,0,0,95,114,101,108,97,120,101,100,95, - 112,97,116,104,95,99,97,99,104,101,117,5,0,0,0,108, - 111,119,101,114,117,11,0,0,0,95,112,97,116,104,95,99, - 97,99,104,101,117,10,0,0,0,95,112,97,116,104,95,106, - 111,105,110,117,11,0,0,0,95,112,97,116,104,95,105,115, - 100,105,114,117,8,0,0,0,95,108,111,97,100,101,114,115, - 117,12,0,0,0,95,112,97,116,104,95,105,115,102,105,108, - 101,117,4,0,0,0,84,114,117,101,117,16,0,0,0,95, - 118,101,114,98,111,115,101,95,109,101,115,115,97,103,101,117, - 6,0,0,0,102,111,114,109,97,116,117,4,0,0,0,78, - 111,110,101,40,12,0,0,0,117,4,0,0,0,115,101,108, - 102,117,8,0,0,0,102,117,108,108,110,97,109,101,117,12, - 0,0,0,105,115,95,110,97,109,101,115,112,97,99,101,117, - 11,0,0,0,116,97,105,108,95,109,111,100,117,108,101,117, - 5,0,0,0,109,116,105,109,101,117,5,0,0,0,99,97, - 99,104,101,117,12,0,0,0,99,97,99,104,101,95,109,111, - 100,117,108,101,117,9,0,0,0,98,97,115,101,95,112,97, - 116,104,117,6,0,0,0,115,117,102,102,105,120,117,6,0, - 0,0,108,111,97,100,101,114,117,13,0,0,0,105,110,105, - 116,95,102,105,108,101,110,97,109,101,117,9,0,0,0,102, - 117,108,108,95,112,97,116,104,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,102,105,110,100,95,108,111, - 97,100,101,114,72,5,0,0,115,66,0,0,0,0,3,6, - 1,19,1,3,1,25,1,13,1,11,1,15,1,10,1,12, - 2,9,1,9,1,15,2,9,1,6,2,12,1,18,1,12, - 1,22,1,10,1,15,1,12,1,26,4,12,2,22,1,22, - 1,25,1,16,1,12,1,26,1,6,1,19,1,13,1,117, - 22,0,0,0,70,105,108,101,70,105,110,100,101,114,46,102, - 105,110,100,95,108,111,97,100,101,114,99,1,0,0,0,0, - 0,0,0,9,0,0,0,13,0,0,0,67,0,0,0,115, - 8,1,0,0,124,0,0,106,0,0,125,1,0,121,19,0, - 116,1,0,106,2,0,124,1,0,131,1,0,125,2,0,87, - 110,33,0,4,116,3,0,116,4,0,116,5,0,102,3,0, - 107,10,0,114,63,0,1,1,1,103,0,0,125,2,0,89, - 110,1,0,88,116,6,0,106,7,0,106,8,0,100,1,0, - 131,1,0,115,100,0,116,9,0,124,2,0,131,1,0,124, - 0,0,95,10,0,110,111,0,116,9,0,131,0,0,125,3, - 0,120,90,0,124,2,0,68,93,82,0,125,4,0,124,4, - 0,106,11,0,100,2,0,131,1,0,92,3,0,125,5,0, - 125,6,0,125,7,0,124,6,0,114,179,0,100,3,0,106, - 12,0,124,5,0,124,7,0,106,13,0,131,0,0,131,2, - 0,125,8,0,110,6,0,124,5,0,125,8,0,124,3,0, - 106,14,0,124,8,0,131,1,0,1,113,116,0,87,124,3, - 0,124,0,0,95,10,0,116,6,0,106,7,0,106,8,0, - 116,15,0,131,1,0,114,4,1,116,9,0,100,4,0,100, - 5,0,132,0,0,124,2,0,68,131,1,0,131,1,0,124, - 0,0,95,16,0,110,0,0,100,6,0,83,40,7,0,0, - 0,117,68,0,0,0,70,105,108,108,32,116,104,101,32,99, - 97,99,104,101,32,111,102,32,112,111,116,101,110,116,105,97, - 108,32,109,111,100,117,108,101,115,32,97,110,100,32,112,97, - 99,107,97,103,101,115,32,102,111,114,32,116,104,105,115,32, - 100,105,114,101,99,116,111,114,121,46,117,3,0,0,0,119, - 105,110,117,1,0,0,0,46,117,5,0,0,0,123,125,46, - 123,125,99,1,0,0,0,0,0,0,0,2,0,0,0,2, - 0,0,0,115,0,0,0,115,27,0,0,0,124,0,0,93, - 17,0,125,1,0,124,1,0,106,0,0,131,0,0,86,1, - 113,3,0,100,0,0,83,40,1,0,0,0,78,40,1,0, - 0,0,117,5,0,0,0,108,111,119,101,114,40,2,0,0, - 0,117,2,0,0,0,46,48,117,2,0,0,0,102,110,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,145,5,0,0,115,2,0, - 0,0,6,0,117,41,0,0,0,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,103,101,110,101,120,112, - 114,62,78,40,17,0,0,0,117,4,0,0,0,112,97,116, - 104,117,3,0,0,0,95,111,115,117,7,0,0,0,108,105, - 115,116,100,105,114,117,17,0,0,0,70,105,108,101,78,111, - 116,70,111,117,110,100,69,114,114,111,114,117,15,0,0,0, - 80,101,114,109,105,115,115,105,111,110,69,114,114,111,114,117, + 99,104,101,244,6,0,0,0,118,97,108,117,101,115,114,59, + 0,0,0,114,22,1,0,0,40,2,0,0,0,114,195,0, + 0,0,244,6,0,0,0,102,105,110,100,101,114,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,114,22,1,0, + 0,229,4,0,0,115,6,0,0,0,0,4,22,1,15,1, + 117,28,0,0,0,80,97,116,104,70,105,110,100,101,114,46, + 105,110,118,97,108,105,100,97,116,101,95,99,97,99,104,101, + 115,99,2,0,0,0,0,0,0,0,3,0,0,0,12,0, + 0,0,67,0,0,0,115,94,0,0,0,116,0,0,106,1, + 0,115,28,0,116,2,0,106,3,0,100,1,0,116,4,0, + 131,2,0,1,110,0,0,120,59,0,116,0,0,106,1,0, + 68,93,44,0,125,2,0,121,14,0,124,2,0,124,1,0, + 131,1,0,83,87,113,38,0,4,116,5,0,107,10,0,114, + 81,0,1,1,1,119,38,0,89,113,38,0,88,113,38,0, + 87,100,2,0,83,100,2,0,83,40,3,0,0,0,117,113, + 0,0,0,83,101,97,114,99,104,32,115,101,113,117,101,110, + 99,101,32,111,102,32,104,111,111,107,115,32,102,111,114,32, + 97,32,102,105,110,100,101,114,32,102,111,114,32,39,112,97, + 116,104,39,46,10,10,32,32,32,32,32,32,32,32,73,102, + 32,39,104,111,111,107,115,39,32,105,115,32,102,97,108,115, + 101,32,116,104,101,110,32,117,115,101,32,115,121,115,46,112, + 97,116,104,95,104,111,111,107,115,46,10,10,32,32,32,32, + 32,32,32,32,117,23,0,0,0,115,121,115,46,112,97,116, + 104,95,104,111,111,107,115,32,105,115,32,101,109,112,116,121, + 78,40,6,0,0,0,114,7,0,0,0,244,10,0,0,0, + 112,97,116,104,95,104,111,111,107,115,114,170,0,0,0,114, + 171,0,0,0,114,172,0,0,0,114,154,0,0,0,40,3, + 0,0,0,114,195,0,0,0,114,35,0,0,0,116,4,0, + 0,0,104,111,111,107,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,11,0,0,0,95,112,97,116,104,95, + 104,111,111,107,115,237,4,0,0,115,16,0,0,0,0,7, + 9,1,19,1,16,1,3,1,14,1,13,1,12,2,117,22, + 0,0,0,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, + 0,0,3,0,0,0,11,0,0,0,67,0,0,0,115,91, + 0,0,0,124,1,0,100,1,0,107,2,0,114,21,0,100, + 2,0,125,1,0,110,0,0,121,17,0,116,0,0,106,1, + 0,124,1,0,25,125,2,0,87,110,46,0,4,116,2,0, + 107,10,0,114,86,0,1,1,1,124,0,0,106,3,0,124, + 1,0,131,1,0,125,2,0,124,2,0,116,0,0,106,1, + 0,124,1,0,60,89,110,1,0,88,124,2,0,83,40,3, + 0,0,0,117,210,0,0,0,71,101,116,32,116,104,101,32, + 102,105,110,100,101,114,32,102,111,114,32,116,104,101,32,112, + 97,116,104,32,101,110,116,114,121,32,102,114,111,109,32,115, + 121,115,46,112,97,116,104,95,105,109,112,111,114,116,101,114, + 95,99,97,99,104,101,46,10,10,32,32,32,32,32,32,32, + 32,73,102,32,116,104,101,32,112,97,116,104,32,101,110,116, + 114,121,32,105,115,32,110,111,116,32,105,110,32,116,104,101, + 32,99,97,99,104,101,44,32,102,105,110,100,32,116,104,101, + 32,97,112,112,114,111,112,114,105,97,116,101,32,102,105,110, + 100,101,114,10,32,32,32,32,32,32,32,32,97,110,100,32, + 99,97,99,104,101,32,105,116,46,32,73,102,32,110,111,32, + 102,105,110,100,101,114,32,105,115,32,97,118,97,105,108,97, + 98,108,101,44,32,115,116,111,114,101,32,78,111,110,101,46, + 10,10,32,32,32,32,32,32,32,32,114,30,0,0,0,114, + 104,0,0,0,40,4,0,0,0,114,7,0,0,0,114,23, + 1,0,0,114,94,0,0,0,114,27,1,0,0,40,3,0, + 0,0,114,195,0,0,0,114,35,0,0,0,114,25,1,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 244,20,0,0,0,95,112,97,116,104,95,105,109,112,111,114, + 116,101,114,95,99,97,99,104,101,254,4,0,0,115,16,0, + 0,0,0,8,12,1,9,1,3,1,17,1,13,1,15,1, + 18,1,117,31,0,0,0,80,97,116,104,70,105,110,100,101, + 114,46,95,112,97,116,104,95,105,109,112,111,114,116,101,114, + 95,99,97,99,104,101,99,3,0,0,0,0,0,0,0,8, + 0,0,0,5,0,0,0,67,0,0,0,115,189,0,0,0, + 103,0,0,125,3,0,120,176,0,124,2,0,68,93,158,0, + 125,4,0,116,0,0,124,4,0,116,1,0,116,2,0,102, + 2,0,131,2,0,115,46,0,113,13,0,110,0,0,124,0, + 0,106,3,0,124,4,0,131,1,0,125,5,0,124,5,0, + 100,1,0,107,9,0,114,13,0,116,4,0,124,5,0,100, + 2,0,131,2,0,114,112,0,124,5,0,106,5,0,124,1, + 0,131,1,0,92,2,0,125,6,0,125,7,0,110,21,0, + 124,5,0,106,6,0,124,1,0,131,1,0,125,6,0,103, + 0,0,125,7,0,124,6,0,100,1,0,107,9,0,114,155, + 0,124,6,0,124,3,0,102,2,0,83,124,3,0,106,7, + 0,124,7,0,131,1,0,1,113,13,0,113,13,0,87,100, + 1,0,124,3,0,102,2,0,83,100,1,0,83,40,3,0, + 0,0,117,63,0,0,0,70,105,110,100,32,116,104,101,32, + 108,111,97,100,101,114,32,111,114,32,110,97,109,101,115,112, + 97,99,101,95,112,97,116,104,32,102,111,114,32,116,104,105, + 115,32,109,111,100,117,108,101,47,112,97,99,107,97,103,101, + 32,110,97,109,101,46,78,114,169,0,0,0,40,8,0,0, + 0,114,187,0,0,0,244,3,0,0,0,115,116,114,244,5, + 0,0,0,98,121,116,101,115,114,28,1,0,0,114,59,0, + 0,0,114,169,0,0,0,114,197,0,0,0,114,192,0,0, + 0,40,8,0,0,0,114,195,0,0,0,114,156,0,0,0, + 114,35,0,0,0,244,14,0,0,0,110,97,109,101,115,112, + 97,99,101,95,112,97,116,104,116,5,0,0,0,101,110,116, + 114,121,114,25,1,0,0,114,173,0,0,0,114,174,0,0, + 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 244,11,0,0,0,95,103,101,116,95,108,111,97,100,101,114, + 15,5,0,0,115,28,0,0,0,0,5,6,1,13,1,21, + 1,6,1,15,1,12,1,15,1,24,2,15,1,6,1,12, + 2,10,5,20,2,117,22,0,0,0,80,97,116,104,70,105, + 110,100,101,114,46,95,103,101,116,95,108,111,97,100,101,114, + 78,99,3,0,0,0,0,0,0,0,5,0,0,0,4,0, + 0,0,67,0,0,0,115,97,0,0,0,124,2,0,100,1, + 0,107,8,0,114,24,0,116,0,0,106,1,0,125,2,0, + 110,0,0,124,0,0,106,2,0,124,1,0,124,2,0,131, + 2,0,92,2,0,125,3,0,125,4,0,124,3,0,100,1, + 0,107,9,0,114,64,0,124,3,0,83,124,4,0,114,89, + 0,116,3,0,124,1,0,124,4,0,124,0,0,106,2,0, + 131,3,0,83,100,1,0,83,100,1,0,83,40,2,0,0, + 0,117,98,0,0,0,70,105,110,100,32,116,104,101,32,109, + 111,100,117,108,101,32,111,110,32,115,121,115,46,112,97,116, + 104,32,111,114,32,39,112,97,116,104,39,32,98,97,115,101, + 100,32,111,110,32,115,121,115,46,112,97,116,104,95,104,111, + 111,107,115,32,97,110,100,10,32,32,32,32,32,32,32,32, + 115,121,115,46,112,97,116,104,95,105,109,112,111,114,116,101, + 114,95,99,97,99,104,101,46,78,40,4,0,0,0,114,7, + 0,0,0,114,35,0,0,0,114,32,1,0,0,114,20,1, + 0,0,40,5,0,0,0,114,195,0,0,0,114,156,0,0, + 0,114,35,0,0,0,114,173,0,0,0,114,31,1,0,0, + 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,114, + 197,0,0,0,42,5,0,0,115,16,0,0,0,0,4,12, + 1,12,1,24,1,12,1,4,2,6,3,19,2,117,22,0, + 0,0,80,97,116,104,70,105,110,100,101,114,46,102,105,110, + 100,95,109,111,100,117,108,101,40,10,0,0,0,114,56,0, + 0,0,114,55,0,0,0,114,57,0,0,0,114,58,0,0, + 0,114,201,0,0,0,114,22,1,0,0,114,27,1,0,0, + 114,28,1,0,0,114,32,1,0,0,114,197,0,0,0,40, + 1,0,0,0,114,69,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,114,21,1,0,0,225,4,0, + 0,115,14,0,0,0,16,2,6,2,18,8,18,17,18,17, + 18,27,3,1,114,21,1,0,0,99,1,0,0,0,0,0, + 0,0,1,0,0,0,3,0,0,0,66,0,0,0,115,110, + 0,0,0,124,0,0,69,101,0,0,90,1,0,100,0,0, + 90,2,0,100,1,0,90,3,0,100,2,0,100,3,0,132, + 0,0,90,4,0,100,4,0,100,5,0,132,0,0,90,5, + 0,101,6,0,90,7,0,100,6,0,100,7,0,132,0,0, + 90,8,0,100,8,0,100,9,0,132,0,0,90,9,0,101, + 10,0,100,10,0,100,11,0,132,0,0,131,1,0,90,11, + 0,100,12,0,100,13,0,132,0,0,90,12,0,100,14,0, + 83,40,15,0,0,0,244,10,0,0,0,70,105,108,101,70, + 105,110,100,101,114,117,172,0,0,0,70,105,108,101,45,98, + 97,115,101,100,32,102,105,110,100,101,114,46,10,10,32,32, + 32,32,73,110,116,101,114,97,99,116,105,111,110,115,32,119, + 105,116,104,32,116,104,101,32,102,105,108,101,32,115,121,115, + 116,101,109,32,97,114,101,32,99,97,99,104,101,100,32,102, + 111,114,32,112,101,114,102,111,114,109,97,110,99,101,44,32, + 98,101,105,110,103,10,32,32,32,32,114,101,102,114,101,115, + 104,101,100,32,119,104,101,110,32,116,104,101,32,100,105,114, + 101,99,116,111,114,121,32,116,104,101,32,102,105,110,100,101, + 114,32,105,115,32,104,97,110,100,108,105,110,103,32,104,97, + 115,32,98,101,101,110,32,109,111,100,105,102,105,101,100,46, + 10,10,32,32,32,32,99,2,0,0,0,0,0,0,0,5, + 0,0,0,5,0,0,0,7,0,0,0,115,122,0,0,0, + 103,0,0,125,3,0,120,52,0,124,2,0,68,93,44,0, + 92,2,0,137,0,0,125,4,0,124,3,0,106,0,0,135, + 0,0,102,1,0,100,1,0,100,2,0,134,0,0,124,4, + 0,68,131,1,0,131,1,0,1,113,13,0,87,124,3,0, + 124,0,0,95,1,0,124,1,0,112,79,0,100,3,0,124, + 0,0,95,2,0,100,6,0,124,0,0,95,3,0,116,4, + 0,131,0,0,124,0,0,95,5,0,116,4,0,131,0,0, + 124,0,0,95,6,0,100,5,0,83,40,7,0,0,0,117, + 154,0,0,0,73,110,105,116,105,97,108,105,122,101,32,119, + 105,116,104,32,116,104,101,32,112,97,116,104,32,116,111,32, + 115,101,97,114,99,104,32,111,110,32,97,110,100,32,97,32, + 118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32, + 111,102,10,32,32,32,32,32,32,32,32,50,45,116,117,112, + 108,101,115,32,99,111,110,116,97,105,110,105,110,103,32,116, + 104,101,32,108,111,97,100,101,114,32,97,110,100,32,116,104, + 101,32,102,105,108,101,32,115,117,102,102,105,120,101,115,32, + 116,104,101,32,108,111,97,100,101,114,10,32,32,32,32,32, + 32,32,32,114,101,99,111,103,110,105,122,101,115,46,99,1, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,51, + 0,0,0,115,27,0,0,0,124,0,0,93,17,0,125,1, + 0,124,1,0,136,0,0,102,2,0,86,1,113,3,0,100, + 0,0,83,40,1,0,0,0,78,114,4,0,0,0,40,2, + 0,0,0,114,22,0,0,0,114,0,1,0,0,40,1,0, + 0,0,114,173,0,0,0,114,4,0,0,0,114,5,0,0, + 0,114,2,1,0,0,75,5,0,0,115,2,0,0,0,6, + 0,117,38,0,0,0,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,104,0,0, + 0,114,29,0,0,0,78,114,126,0,0,0,40,7,0,0, + 0,114,192,0,0,0,244,8,0,0,0,95,108,111,97,100, + 101,114,115,114,35,0,0,0,244,11,0,0,0,95,112,97, + 116,104,95,109,116,105,109,101,244,3,0,0,0,115,101,116, + 244,11,0,0,0,95,112,97,116,104,95,99,97,99,104,101, + 244,19,0,0,0,95,114,101,108,97,120,101,100,95,112,97, + 116,104,95,99,97,99,104,101,40,5,0,0,0,114,78,0, + 0,0,114,35,0,0,0,116,7,0,0,0,100,101,116,97, + 105,108,115,116,7,0,0,0,108,111,97,100,101,114,115,114, + 115,0,0,0,114,4,0,0,0,40,1,0,0,0,114,173, + 0,0,0,114,5,0,0,0,114,79,0,0,0,69,5,0, + 0,115,16,0,0,0,0,4,6,1,19,1,36,1,9,2, + 15,1,9,1,12,1,117,19,0,0,0,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,0,0,0,2,0,0,0,67, + 0,0,0,115,13,0,0,0,100,3,0,124,0,0,95,0, + 0,100,2,0,83,40,4,0,0,0,117,31,0,0,0,73, + 110,118,97,108,105,100,97,116,101,32,116,104,101,32,100,105, + 114,101,99,116,111,114,121,32,109,116,105,109,101,46,114,29, + 0,0,0,78,114,126,0,0,0,40,1,0,0,0,114,35, + 1,0,0,40,1,0,0,0,114,78,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,114,22,1,0, + 0,83,5,0,0,115,2,0,0,0,0,2,117,28,0,0, + 0,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,12,0,0,0,13,0,0,0,67,0, + 0,0,115,216,1,0,0,100,1,0,125,2,0,124,1,0, + 106,0,0,100,2,0,131,1,0,100,3,0,25,125,3,0, + 121,25,0,116,1,0,106,2,0,124,0,0,106,3,0,131, + 1,0,106,4,0,125,4,0,87,110,24,0,4,116,5,0, + 107,10,0,114,76,0,1,1,1,100,11,0,125,4,0,89, + 110,1,0,88,124,4,0,124,0,0,106,6,0,107,3,0, + 114,114,0,124,0,0,106,7,0,131,0,0,1,124,4,0, + 124,0,0,95,6,0,110,0,0,116,8,0,131,0,0,114, + 147,0,124,0,0,106,9,0,125,5,0,124,3,0,106,10, + 0,131,0,0,125,6,0,110,15,0,124,0,0,106,11,0, + 125,5,0,124,3,0,125,6,0,124,6,0,124,5,0,107, + 6,0,114,45,1,116,12,0,124,0,0,106,3,0,124,3, + 0,131,2,0,125,7,0,116,13,0,124,7,0,131,1,0, + 114,45,1,120,91,0,124,0,0,106,14,0,68,93,71,0, + 92,2,0,125,8,0,125,9,0,100,5,0,124,8,0,23, + 125,10,0,116,12,0,124,7,0,124,10,0,131,2,0,125, + 11,0,116,15,0,124,11,0,131,1,0,114,214,0,124,9, + 0,124,1,0,124,11,0,131,2,0,124,7,0,103,1,0, + 102,2,0,83,113,214,0,87,100,6,0,125,2,0,113,45, + 1,110,0,0,120,120,0,124,0,0,106,14,0,68,93,109, + 0,92,2,0,125,8,0,125,9,0,116,12,0,124,0,0, + 106,3,0,124,3,0,124,8,0,23,131,2,0,125,11,0, + 116,16,0,100,7,0,106,17,0,124,11,0,131,1,0,100, + 8,0,100,3,0,131,1,1,1,124,6,0,124,8,0,23, + 124,5,0,107,6,0,114,55,1,116,15,0,124,11,0,131, + 1,0,114,164,1,124,9,0,124,1,0,124,11,0,131,2, + 0,103,0,0,102,2,0,83,113,55,1,113,55,1,87,124, + 2,0,114,206,1,116,16,0,100,9,0,106,17,0,124,7, + 0,131,1,0,131,1,0,1,100,10,0,124,7,0,103,1, + 0,102,2,0,83,100,10,0,103,0,0,102,2,0,83,40, + 12,0,0,0,117,125,0,0,0,84,114,121,32,116,111,32, + 102,105,110,100,32,97,32,108,111,97,100,101,114,32,102,111, + 114,32,116,104,101,32,115,112,101,99,105,102,105,101,100,32, + 109,111,100,117,108,101,44,32,111,114,32,116,104,101,32,110, + 97,109,101,115,112,97,99,101,10,32,32,32,32,32,32,32, + 32,112,97,99,107,97,103,101,32,112,111,114,116,105,111,110, + 115,46,32,82,101,116,117,114,110,115,32,40,108,111,97,100, + 101,114,44,32,108,105,115,116,45,111,102,45,112,111,114,116, + 105,111,110,115,41,46,70,114,104,0,0,0,114,103,0,0, + 0,114,29,0,0,0,114,79,0,0,0,84,117,9,0,0, + 0,116,114,121,105,110,103,32,123,125,114,134,0,0,0,117, + 25,0,0,0,112,111,115,115,105,98,108,101,32,110,97,109, + 101,115,112,97,99,101,32,102,111,114,32,123,125,78,114,126, + 0,0,0,40,18,0,0,0,114,32,0,0,0,114,3,0, + 0,0,114,39,0,0,0,114,35,0,0,0,114,249,0,0, + 0,114,40,0,0,0,114,35,1,0,0,244,11,0,0,0, + 95,102,105,108,108,95,99,97,99,104,101,114,6,0,0,0, + 114,38,1,0,0,114,127,0,0,0,114,37,1,0,0,114, + 28,0,0,0,114,45,0,0,0,114,34,1,0,0,114,44, + 0,0,0,114,141,0,0,0,114,46,0,0,0,40,12,0, + 0,0,114,78,0,0,0,114,156,0,0,0,116,12,0,0, + 0,105,115,95,110,97,109,101,115,112,97,99,101,116,11,0, + 0,0,116,97,105,108,95,109,111,100,117,108,101,114,179,0, + 0,0,116,5,0,0,0,99,97,99,104,101,116,12,0,0, + 0,99,97,99,104,101,95,109,111,100,117,108,101,116,9,0, + 0,0,98,97,115,101,95,112,97,116,104,114,0,1,0,0, + 114,173,0,0,0,116,13,0,0,0,105,110,105,116,95,102, + 105,108,101,110,97,109,101,116,9,0,0,0,102,117,108,108, + 95,112,97,116,104,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,114,169,0,0,0,89,5,0,0,115,66,0, + 0,0,0,3,6,1,19,1,3,1,25,1,13,1,11,1, + 15,1,10,1,12,2,9,1,9,1,15,2,9,1,6,2, + 12,1,18,1,12,1,22,1,10,1,15,1,12,1,26,4, + 12,2,22,1,22,1,25,1,16,1,12,1,26,1,6,1, + 19,1,13,1,117,22,0,0,0,70,105,108,101,70,105,110, + 100,101,114,46,102,105,110,100,95,108,111,97,100,101,114,99, + 1,0,0,0,0,0,0,0,9,0,0,0,13,0,0,0, + 67,0,0,0,115,2,1,0,0,124,0,0,106,0,0,125, + 1,0,121,19,0,116,1,0,106,2,0,124,1,0,131,1, + 0,125,2,0,87,110,33,0,4,116,3,0,116,4,0,116, + 5,0,102,3,0,107,10,0,114,63,0,1,1,1,103,0, + 0,125,2,0,89,110,1,0,88,116,6,0,106,7,0,106, + 8,0,100,1,0,131,1,0,115,100,0,116,9,0,124,2, + 0,131,1,0,124,0,0,95,10,0,110,111,0,116,9,0, + 131,0,0,125,3,0,120,90,0,124,2,0,68,93,82,0, + 125,4,0,124,4,0,106,11,0,100,2,0,131,1,0,92, + 3,0,125,5,0,125,6,0,125,7,0,124,6,0,114,179, + 0,100,3,0,106,12,0,124,5,0,124,7,0,106,13,0, + 131,0,0,131,2,0,125,8,0,110,6,0,124,5,0,125, + 8,0,124,3,0,106,14,0,124,8,0,131,1,0,1,113, + 116,0,87,124,3,0,124,0,0,95,10,0,116,6,0,106, + 7,0,106,8,0,116,15,0,131,1,0,114,254,0,100,4, + 0,100,5,0,132,0,0,124,2,0,68,131,1,0,124,0, + 0,95,16,0,110,0,0,100,6,0,83,40,7,0,0,0, + 117,68,0,0,0,70,105,108,108,32,116,104,101,32,99,97, + 99,104,101,32,111,102,32,112,111,116,101,110,116,105,97,108, + 32,109,111,100,117,108,101,115,32,97,110,100,32,112,97,99, + 107,97,103,101,115,32,102,111,114,32,116,104,105,115,32,100, + 105,114,101,99,116,111,114,121,46,114,0,0,0,0,114,104, + 0,0,0,117,5,0,0,0,123,125,46,123,125,99,1,0, + 0,0,0,0,0,0,2,0,0,0,3,0,0,0,83,0, + 0,0,115,28,0,0,0,104,0,0,124,0,0,93,18,0, + 125,1,0,124,1,0,106,0,0,131,0,0,146,2,0,113, + 6,0,83,114,4,0,0,0,40,1,0,0,0,114,127,0, + 0,0,40,2,0,0,0,114,22,0,0,0,116,2,0,0, + 0,102,110,114,4,0,0,0,114,4,0,0,0,114,5,0, + 0,0,245,9,0,0,0,60,115,101,116,99,111,109,112,62, + 162,5,0,0,115,2,0,0,0,9,0,117,41,0,0,0, + 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,40,17,0,0,0,114, + 35,0,0,0,114,3,0,0,0,116,7,0,0,0,108,105, + 115,116,100,105,114,244,17,0,0,0,70,105,108,101,78,111, + 116,70,111,117,110,100,69,114,114,111,114,244,15,0,0,0, + 80,101,114,109,105,115,115,105,111,110,69,114,114,111,114,244, 18,0,0,0,78,111,116,65,68,105,114,101,99,116,111,114, - 121,69,114,114,111,114,117,3,0,0,0,115,121,115,117,8, - 0,0,0,112,108,97,116,102,111,114,109,117,10,0,0,0, - 115,116,97,114,116,115,119,105,116,104,117,3,0,0,0,115, - 101,116,117,11,0,0,0,95,112,97,116,104,95,99,97,99, - 104,101,117,9,0,0,0,112,97,114,116,105,116,105,111,110, - 117,6,0,0,0,102,111,114,109,97,116,117,5,0,0,0, - 108,111,119,101,114,117,3,0,0,0,97,100,100,117,27,0, - 0,0,95,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,19,0, - 0,0,95,114,101,108,97,120,101,100,95,112,97,116,104,95, - 99,97,99,104,101,40,9,0,0,0,117,4,0,0,0,115, - 101,108,102,117,4,0,0,0,112,97,116,104,117,8,0,0, - 0,99,111,110,116,101,110,116,115,117,21,0,0,0,108,111, - 119,101,114,95,115,117,102,102,105,120,95,99,111,110,116,101, - 110,116,115,117,4,0,0,0,105,116,101,109,117,4,0,0, - 0,110,97,109,101,117,3,0,0,0,100,111,116,117,6,0, - 0,0,115,117,102,102,105,120,117,8,0,0,0,110,101,119, - 95,110,97,109,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,102,105,108,108,95,99,97,99,104, - 101,116,5,0,0,115,34,0,0,0,0,2,9,1,3,1, - 19,1,22,3,11,3,18,1,18,7,9,1,13,1,24,1, - 6,1,27,2,6,1,17,1,9,1,18,1,117,22,0,0, - 0,70,105,108,101,70,105,110,100,101,114,46,95,102,105,108, - 108,95,99,97,99,104,101,99,1,0,0,0,0,0,0,0, - 3,0,0,0,3,0,0,0,7,0,0,0,115,25,0,0, - 0,135,0,0,135,1,0,102,2,0,100,1,0,100,2,0, - 134,0,0,125,2,0,124,2,0,83,40,3,0,0,0,117, - 20,1,0,0,65,32,99,108,97,115,115,32,109,101,116,104, - 111,100,32,119,104,105,99,104,32,114,101,116,117,114,110,115, - 32,97,32,99,108,111,115,117,114,101,32,116,111,32,117,115, - 101,32,111,110,32,115,121,115,46,112,97,116,104,95,104,111, - 111,107,10,32,32,32,32,32,32,32,32,119,104,105,99,104, - 32,119,105,108,108,32,114,101,116,117,114,110,32,97,110,32, - 105,110,115,116,97,110,99,101,32,117,115,105,110,103,32,116, - 104,101,32,115,112,101,99,105,102,105,101,100,32,108,111,97, - 100,101,114,115,32,97,110,100,32,116,104,101,32,112,97,116, - 104,10,32,32,32,32,32,32,32,32,99,97,108,108,101,100, - 32,111,110,32,116,104,101,32,99,108,111,115,117,114,101,46, - 10,10,32,32,32,32,32,32,32,32,73,102,32,116,104,101, - 32,112,97,116,104,32,99,97,108,108,101,100,32,111,110,32, - 116,104,101,32,99,108,111,115,117,114,101,32,105,115,32,110, - 111,116,32,97,32,100,105,114,101,99,116,111,114,121,44,32, - 73,109,112,111,114,116,69,114,114,111,114,32,105,115,10,32, - 32,32,32,32,32,32,32,114,97,105,115,101,100,46,10,10, - 32,32,32,32,32,32,32,32,99,1,0,0,0,0,0,0, - 0,1,0,0,0,4,0,0,0,19,0,0,0,115,46,0, - 0,0,116,0,0,124,0,0,131,1,0,115,33,0,116,1, - 0,100,1,0,100,2,0,124,0,0,131,1,1,130,1,0, - 110,0,0,136,0,0,124,0,0,136,1,0,140,1,0,83, - 40,3,0,0,0,117,45,0,0,0,80,97,116,104,32,104, - 111,111,107,32,102,111,114,32,105,109,112,111,114,116,108,105, - 98,46,109,97,99,104,105,110,101,114,121,46,70,105,108,101, - 70,105,110,100,101,114,46,117,30,0,0,0,111,110,108,121, - 32,100,105,114,101,99,116,111,114,105,101,115,32,97,114,101, - 32,115,117,112,112,111,114,116,101,100,117,4,0,0,0,112, - 97,116,104,40,2,0,0,0,117,11,0,0,0,95,112,97, - 116,104,95,105,115,100,105,114,117,11,0,0,0,73,109,112, - 111,114,116,69,114,114,111,114,40,1,0,0,0,117,4,0, - 0,0,112,97,116,104,40,2,0,0,0,117,3,0,0,0, - 99,108,115,117,14,0,0,0,108,111,97,100,101,114,95,100, - 101,116,97,105,108,115,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,24,0, - 0,0,112,97,116,104,95,104,111,111,107,95,102,111,114,95, - 70,105,108,101,70,105,110,100,101,114,157,5,0,0,115,6, - 0,0,0,0,2,12,1,21,1,117,54,0,0,0,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,111,114,95,70,105,108,101,70,105, - 110,100,101,114,40,0,0,0,0,40,3,0,0,0,117,3, - 0,0,0,99,108,115,117,14,0,0,0,108,111,97,100,101, - 114,95,100,101,116,97,105,108,115,117,24,0,0,0,112,97, + 121,69,114,114,111,114,114,7,0,0,0,114,8,0,0,0, + 114,9,0,0,0,114,36,1,0,0,114,37,1,0,0,114, + 109,0,0,0,114,46,0,0,0,114,127,0,0,0,244,3, + 0,0,0,97,100,100,114,10,0,0,0,114,38,1,0,0, + 40,9,0,0,0,114,78,0,0,0,114,35,0,0,0,116, + 8,0,0,0,99,111,110,116,101,110,116,115,116,21,0,0, + 0,108,111,119,101,114,95,115,117,102,102,105,120,95,99,111, + 110,116,101,110,116,115,114,18,1,0,0,114,66,0,0,0, + 114,12,1,0,0,114,0,1,0,0,116,8,0,0,0,110, + 101,119,95,110,97,109,101,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,114,39,1,0,0,133,5,0,0,115, + 34,0,0,0,0,2,9,1,3,1,19,1,22,3,11,3, + 18,1,18,7,9,1,13,1,24,1,6,1,27,2,6,1, + 17,1,9,1,18,1,117,22,0,0,0,70,105,108,101,70, + 105,110,100,101,114,46,95,102,105,108,108,95,99,97,99,104, + 101,99,1,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,7,0,0,0,115,25,0,0,0,135,0,0,135,1, + 0,102,2,0,100,1,0,100,2,0,134,0,0,125,2,0, + 124,2,0,83,40,3,0,0,0,117,20,1,0,0,65,32, + 99,108,97,115,115,32,109,101,116,104,111,100,32,119,104,105, + 99,104,32,114,101,116,117,114,110,115,32,97,32,99,108,111, + 115,117,114,101,32,116,111,32,117,115,101,32,111,110,32,115, + 121,115,46,112,97,116,104,95,104,111,111,107,10,32,32,32, + 32,32,32,32,32,119,104,105,99,104,32,119,105,108,108,32, + 114,101,116,117,114,110,32,97,110,32,105,110,115,116,97,110, + 99,101,32,117,115,105,110,103,32,116,104,101,32,115,112,101, + 99,105,102,105,101,100,32,108,111,97,100,101,114,115,32,97, + 110,100,32,116,104,101,32,112,97,116,104,10,32,32,32,32, + 32,32,32,32,99,97,108,108,101,100,32,111,110,32,116,104, + 101,32,99,108,111,115,117,114,101,46,10,10,32,32,32,32, + 32,32,32,32,73,102,32,116,104,101,32,112,97,116,104,32, + 99,97,108,108,101,100,32,111,110,32,116,104,101,32,99,108, + 111,115,117,114,101,32,105,115,32,110,111,116,32,97,32,100, + 105,114,101,99,116,111,114,121,44,32,73,109,112,111,114,116, + 69,114,114,111,114,32,105,115,10,32,32,32,32,32,32,32, + 32,114,97,105,115,101,100,46,10,10,32,32,32,32,32,32, + 32,32,99,1,0,0,0,0,0,0,0,1,0,0,0,4, + 0,0,0,19,0,0,0,115,46,0,0,0,116,0,0,124, + 0,0,131,1,0,115,33,0,116,1,0,100,1,0,100,2, + 0,124,0,0,131,1,1,130,1,0,110,0,0,136,0,0, + 124,0,0,136,1,0,140,1,0,83,40,3,0,0,0,117, + 45,0,0,0,80,97,116,104,32,104,111,111,107,32,102,111, + 114,32,105,109,112,111,114,116,108,105,98,46,109,97,99,104, + 105,110,101,114,121,46,70,105,108,101,70,105,110,100,101,114, + 46,117,30,0,0,0,111,110,108,121,32,100,105,114,101,99, + 116,111,114,105,101,115,32,97,114,101,32,115,117,112,112,111, + 114,116,101,100,114,35,0,0,0,40,2,0,0,0,114,45, + 0,0,0,114,154,0,0,0,40,1,0,0,0,114,35,0, + 0,0,40,2,0,0,0,114,195,0,0,0,244,14,0,0, + 0,108,111,97,100,101,114,95,100,101,116,97,105,108,115,114, + 4,0,0,0,114,5,0,0,0,244,24,0,0,0,112,97, 116,104,95,104,111,111,107,95,102,111,114,95,70,105,108,101, - 70,105,110,100,101,114,40,0,0,0,0,40,2,0,0,0, - 117,3,0,0,0,99,108,115,117,14,0,0,0,108,111,97, - 100,101,114,95,100,101,116,97,105,108,115,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,112,97,116,104,95,104,111,111,107,147,5,0,0,115, - 4,0,0,0,0,10,21,6,117,20,0,0,0,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,14,0,0,0,100,1,0,124,0, - 0,106,0,0,102,1,0,22,83,40,2,0,0,0,78,117, - 14,0,0,0,70,105,108,101,70,105,110,100,101,114,40,37, - 114,41,40,1,0,0,0,117,4,0,0,0,112,97,116,104, - 40,1,0,0,0,117,4,0,0,0,115,101,108,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,8,0,0,0,95, - 95,114,101,112,114,95,95,165,5,0,0,115,2,0,0,0, - 0,1,117,19,0,0,0,70,105,108,101,70,105,110,100,101, - 114,46,95,95,114,101,112,114,95,95,78,40,13,0,0,0, - 117,8,0,0,0,95,95,110,97,109,101,95,95,117,10,0, - 0,0,95,95,109,111,100,117,108,101,95,95,117,12,0,0, - 0,95,95,113,117,97,108,110,97,109,101,95,95,117,7,0, - 0,0,95,95,100,111,99,95,95,117,8,0,0,0,95,95, - 105,110,105,116,95,95,117,17,0,0,0,105,110,118,97,108, - 105,100,97,116,101,95,99,97,99,104,101,115,117,17,0,0, - 0,95,102,105,110,100,95,109,111,100,117,108,101,95,115,104, - 105,109,117,11,0,0,0,102,105,110,100,95,109,111,100,117, - 108,101,117,11,0,0,0,102,105,110,100,95,108,111,97,100, - 101,114,117,11,0,0,0,95,102,105,108,108,95,99,97,99, - 104,101,117,11,0,0,0,99,108,97,115,115,109,101,116,104, - 111,100,117,9,0,0,0,112,97,116,104,95,104,111,111,107, - 117,8,0,0,0,95,95,114,101,112,114,95,95,40,1,0, - 0,0,117,10,0,0,0,95,95,108,111,99,97,108,115,95, - 95,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,70,105,108,101,70,105,110,100,101,114,43,5,0,0, - 115,16,0,0,0,16,7,6,2,12,14,12,4,6,2,12, - 44,12,31,18,18,117,10,0,0,0,70,105,108,101,70,105, - 110,100,101,114,99,1,0,0,0,0,0,0,0,1,0,0, - 0,2,0,0,0,66,0,0,0,115,50,0,0,0,124,0, - 0,69,101,0,0,90,1,0,100,0,0,90,2,0,100,1, - 0,90,3,0,100,2,0,100,3,0,132,0,0,90,4,0, - 100,4,0,100,5,0,132,0,0,90,5,0,100,6,0,83, - 40,7,0,0,0,117,18,0,0,0,95,73,109,112,111,114, - 116,76,111,99,107,67,111,110,116,101,120,116,117,36,0,0, - 0,67,111,110,116,101,120,116,32,109,97,110,97,103,101,114, - 32,102,111,114,32,116,104,101,32,105,109,112,111,114,116,32, - 108,111,99,107,46,99,1,0,0,0,0,0,0,0,1,0, - 0,0,1,0,0,0,67,0,0,0,115,14,0,0,0,116, - 0,0,106,1,0,131,0,0,1,100,1,0,83,40,2,0, - 0,0,117,24,0,0,0,65,99,113,117,105,114,101,32,116, - 104,101,32,105,109,112,111,114,116,32,108,111,99,107,46,78, - 40,2,0,0,0,117,4,0,0,0,95,105,109,112,117,12, - 0,0,0,97,99,113,117,105,114,101,95,108,111,99,107,40, - 1,0,0,0,117,4,0,0,0,115,101,108,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,95,95, - 101,110,116,101,114,95,95,175,5,0,0,115,2,0,0,0, - 0,2,117,28,0,0,0,95,73,109,112,111,114,116,76,111, - 99,107,67,111,110,116,101,120,116,46,95,95,101,110,116,101, - 114,95,95,99,4,0,0,0,0,0,0,0,4,0,0,0, - 1,0,0,0,67,0,0,0,115,14,0,0,0,116,0,0, - 106,1,0,131,0,0,1,100,1,0,83,40,2,0,0,0, - 117,60,0,0,0,82,101,108,101,97,115,101,32,116,104,101, - 32,105,109,112,111,114,116,32,108,111,99,107,32,114,101,103, - 97,114,100,108,101,115,115,32,111,102,32,97,110,121,32,114, - 97,105,115,101,100,32,101,120,99,101,112,116,105,111,110,115, - 46,78,40,2,0,0,0,117,4,0,0,0,95,105,109,112, - 117,12,0,0,0,114,101,108,101,97,115,101,95,108,111,99, - 107,40,4,0,0,0,117,4,0,0,0,115,101,108,102,117, - 8,0,0,0,101,120,99,95,116,121,112,101,117,9,0,0, - 0,101,120,99,95,118,97,108,117,101,117,13,0,0,0,101, - 120,99,95,116,114,97,99,101,98,97,99,107,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,95,101, - 120,105,116,95,95,179,5,0,0,115,2,0,0,0,0,2, - 117,27,0,0,0,95,73,109,112,111,114,116,76,111,99,107, - 67,111,110,116,101,120,116,46,95,95,101,120,105,116,95,95, - 78,40,6,0,0,0,117,8,0,0,0,95,95,110,97,109, - 101,95,95,117,10,0,0,0,95,95,109,111,100,117,108,101, - 95,95,117,12,0,0,0,95,95,113,117,97,108,110,97,109, - 101,95,95,117,7,0,0,0,95,95,100,111,99,95,95,117, - 9,0,0,0,95,95,101,110,116,101,114,95,95,117,8,0, - 0,0,95,95,101,120,105,116,95,95,40,1,0,0,0,117, - 10,0,0,0,95,95,108,111,99,97,108,115,95,95,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,18,0,0,0,95, - 73,109,112,111,114,116,76,111,99,107,67,111,110,116,101,120, - 116,171,5,0,0,115,6,0,0,0,16,2,6,2,12,4, - 117,18,0,0,0,95,73,109,112,111,114,116,76,111,99,107, - 67,111,110,116,101,120,116,99,3,0,0,0,0,0,0,0, - 5,0,0,0,4,0,0,0,67,0,0,0,115,91,0,0, - 0,124,1,0,106,0,0,100,1,0,124,2,0,100,2,0, - 24,131,2,0,125,3,0,116,1,0,124,3,0,131,1,0, - 124,2,0,107,0,0,114,55,0,116,2,0,100,3,0,131, - 1,0,130,1,0,110,0,0,124,3,0,100,4,0,25,125, - 4,0,124,0,0,114,87,0,100,5,0,106,3,0,124,4, - 0,124,0,0,131,2,0,83,124,4,0,83,40,6,0,0, - 0,117,50,0,0,0,82,101,115,111,108,118,101,32,97,32, - 114,101,108,97,116,105,118,101,32,109,111,100,117,108,101,32, - 110,97,109,101,32,116,111,32,97,110,32,97,98,115,111,108, - 117,116,101,32,111,110,101,46,117,1,0,0,0,46,105,1, - 0,0,0,117,50,0,0,0,97,116,116,101,109,112,116,101, - 100,32,114,101,108,97,116,105,118,101,32,105,109,112,111,114, - 116,32,98,101,121,111,110,100,32,116,111,112,45,108,101,118, - 101,108,32,112,97,99,107,97,103,101,105,0,0,0,0,117, - 5,0,0,0,123,125,46,123,125,40,4,0,0,0,117,6, - 0,0,0,114,115,112,108,105,116,117,3,0,0,0,108,101, - 110,117,10,0,0,0,86,97,108,117,101,69,114,114,111,114, - 117,6,0,0,0,102,111,114,109,97,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, - 4,0,0,0,98,105,116,115,117,4,0,0,0,98,97,115, - 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,13,0, - 0,0,95,114,101,115,111,108,118,101,95,110,97,109,101,184, - 5,0,0,115,10,0,0,0,0,2,22,1,18,1,15,1, - 10,1,117,13,0,0,0,95,114,101,115,111,108,118,101,95, - 110,97,109,101,99,2,0,0,0,0,0,0,0,4,0,0, - 0,11,0,0,0,67,0,0,0,115,138,0,0,0,116,0, - 0,106,1,0,115,28,0,116,2,0,106,3,0,100,1,0, - 116,4,0,131,2,0,1,110,0,0,120,103,0,116,0,0, - 106,1,0,68,93,88,0,125,2,0,116,5,0,131,0,0, - 143,23,0,1,124,2,0,106,6,0,124,0,0,124,1,0, - 131,2,0,125,3,0,87,100,2,0,81,88,124,3,0,100, - 2,0,107,9,0,114,38,0,124,0,0,116,0,0,106,8, - 0,107,7,0,114,109,0,124,3,0,83,116,0,0,106,8, - 0,124,0,0,25,106,9,0,83,113,38,0,113,38,0,87, - 100,2,0,83,100,2,0,83,40,3,0,0,0,117,23,0, - 0,0,70,105,110,100,32,97,32,109,111,100,117,108,101,39, - 115,32,108,111,97,100,101,114,46,117,22,0,0,0,115,121, - 115,46,109,101,116,97,95,112,97,116,104,32,105,115,32,101, - 109,112,116,121,78,40,10,0,0,0,117,3,0,0,0,115, - 121,115,117,9,0,0,0,109,101,116,97,95,112,97,116,104, - 117,9,0,0,0,95,119,97,114,110,105,110,103,115,117,4, - 0,0,0,119,97,114,110,117,13,0,0,0,73,109,112,111, - 114,116,87,97,114,110,105,110,103,117,18,0,0,0,95,73, - 109,112,111,114,116,76,111,99,107,67,111,110,116,101,120,116, - 117,11,0,0,0,102,105,110,100,95,109,111,100,117,108,101, - 117,4,0,0,0,78,111,110,101,117,7,0,0,0,109,111, - 100,117,108,101,115,117,10,0,0,0,95,95,108,111,97,100, - 101,114,95,95,40,4,0,0,0,117,4,0,0,0,110,97, - 109,101,117,4,0,0,0,112,97,116,104,117,6,0,0,0, - 102,105,110,100,101,114,117,6,0,0,0,108,111,97,100,101, - 114,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,12,0, - 0,0,95,102,105,110,100,95,109,111,100,117,108,101,193,5, - 0,0,115,20,0,0,0,0,2,9,1,19,1,16,1,10, - 1,24,1,12,2,15,1,4,2,21,2,117,12,0,0,0, - 95,102,105,110,100,95,109,111,100,117,108,101,99,3,0,0, - 0,0,0,0,0,4,0,0,0,4,0,0,0,67,0,0, - 0,115,194,0,0,0,116,0,0,124,0,0,116,1,0,131, - 2,0,115,45,0,116,2,0,100,1,0,106,3,0,116,4, - 0,124,0,0,131,1,0,131,1,0,131,1,0,130,1,0, - 110,0,0,124,2,0,100,2,0,107,0,0,114,72,0,116, - 5,0,100,3,0,131,1,0,130,1,0,110,0,0,124,1, - 0,114,156,0,116,0,0,124,1,0,116,1,0,131,2,0, - 115,108,0,116,2,0,100,4,0,131,1,0,130,1,0,113, - 156,0,124,1,0,116,6,0,106,7,0,107,7,0,114,156, - 0,100,5,0,125,3,0,116,8,0,124,3,0,106,3,0, - 124,1,0,131,1,0,131,1,0,130,1,0,113,156,0,110, - 0,0,124,0,0,12,114,190,0,124,2,0,100,2,0,107, - 2,0,114,190,0,116,5,0,100,6,0,131,1,0,130,1, - 0,110,0,0,100,7,0,83,40,8,0,0,0,117,28,0, - 0,0,86,101,114,105,102,121,32,97,114,103,117,109,101,110, - 116,115,32,97,114,101,32,34,115,97,110,101,34,46,117,31, - 0,0,0,109,111,100,117,108,101,32,110,97,109,101,32,109, - 117,115,116,32,98,101,32,115,116,114,44,32,110,111,116,32, - 123,125,105,0,0,0,0,117,18,0,0,0,108,101,118,101, - 108,32,109,117,115,116,32,98,101,32,62,61,32,48,117,31, - 0,0,0,95,95,112,97,99,107,97,103,101,95,95,32,110, - 111,116,32,115,101,116,32,116,111,32,97,32,115,116,114,105, - 110,103,117,61,0,0,0,80,97,114,101,110,116,32,109,111, - 100,117,108,101,32,123,33,114,125,32,110,111,116,32,108,111, - 97,100,101,100,44,32,99,97,110,110,111,116,32,112,101,114, - 102,111,114,109,32,114,101,108,97,116,105,118,101,32,105,109, - 112,111,114,116,117,17,0,0,0,69,109,112,116,121,32,109, - 111,100,117,108,101,32,110,97,109,101,78,40,9,0,0,0, - 117,10,0,0,0,105,115,105,110,115,116,97,110,99,101,117, - 3,0,0,0,115,116,114,117,9,0,0,0,84,121,112,101, - 69,114,114,111,114,117,6,0,0,0,102,111,114,109,97,116, - 117,4,0,0,0,116,121,112,101,117,10,0,0,0,86,97, - 108,117,101,69,114,114,111,114,117,3,0,0,0,115,121,115, - 117,7,0,0,0,109,111,100,117,108,101,115,117,11,0,0, - 0,83,121,115,116,101,109,69,114,114,111,114,40,4,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,3,0,0,0,109,115,103,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,13,0,0,0,95,115,97,110,105,116,121, - 95,99,104,101,99,107,210,5,0,0,115,24,0,0,0,0, - 2,15,1,30,1,12,1,15,1,6,1,15,1,15,1,15, - 1,6,2,27,1,19,1,117,13,0,0,0,95,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,9,0,0,0,27, - 0,0,0,67,0,0,0,115,12,2,0,0,100,0,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,178,0,124,3,0,116,2, - 0,106,3,0,107,7,0,114,62,0,116,4,0,124,1,0, - 124,3,0,131,2,0,1,110,0,0,124,0,0,116,2,0, - 106,3,0,107,6,0,114,88,0,116,2,0,106,3,0,124, - 0,0,25,83,116,2,0,106,3,0,124,3,0,25,125,4, - 0,121,13,0,124,4,0,106,5,0,125,2,0,87,113,178, - 0,4,116,6,0,107,10,0,114,174,0,1,1,1,116,7, - 0,100,3,0,23,106,8,0,124,0,0,124,3,0,131,2, - 0,125,5,0,116,9,0,124,5,0,100,4,0,124,0,0, - 131,1,1,130,1,0,89,113,178,0,88,110,0,0,116,10, - 0,124,0,0,124,2,0,131,2,0,125,6,0,124,6,0, - 100,0,0,107,8,0,114,250,0,116,9,0,116,7,0,106, - 8,0,124,0,0,131,1,0,100,4,0,124,0,0,131,1, - 1,125,7,0,100,10,0,124,7,0,95,12,0,124,7,0, - 130,1,0,110,47,0,124,0,0,116,2,0,106,3,0,107, - 7,0,114,41,1,124,6,0,106,13,0,124,0,0,131,1, - 0,1,116,14,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, - 8,0,124,3,0,114,105,1,116,2,0,106,3,0,124,3, - 0,25,125,4,0,116,15,0,124,4,0,124,0,0,106,1, - 0,100,1,0,131,1,0,100,6,0,25,124,8,0,131,3, - 0,1,110,0,0,116,16,0,124,8,0,100,7,0,100,0, - 0,131,3,0,100,0,0,107,8,0,114,212,1,121,59,0, - 124,8,0,106,17,0,124,8,0,95,18,0,116,19,0,124, - 8,0,100,8,0,131,2,0,115,187,1,124,8,0,106,18, - 0,106,1,0,100,1,0,131,1,0,100,2,0,25,124,8, - 0,95,18,0,110,0,0,87,113,212,1,4,116,6,0,107, - 10,0,114,208,1,1,1,1,89,113,212,1,88,110,0,0, - 116,19,0,124,8,0,100,9,0,131,2,0,115,8,2,121, - 13,0,124,6,0,124,8,0,95,20,0,87,113,8,2,4, - 116,6,0,107,10,0,114,4,2,1,1,1,89,113,8,2, - 88,110,0,0,124,8,0,83,40,11,0,0,0,78,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,117,10,0,0,0,95,95,108,111,97,100, - 101,114,95,95,84,40,21,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,25,0,0,0,95,99,97,108,108, - 95,119,105,116,104,95,102,114,97,109,101,115,95,114,101,109, - 111,118,101,100,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,4,0, - 0,0,84,114,117,101,117,10,0,0,0,95,110,111,116,95, - 102,111,117,110,100,117,11,0,0,0,108,111,97,100,95,109, - 111,100,117,108,101,117,16,0,0,0,95,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,103,101,116,97,116, - 116,114,117,8,0,0,0,95,95,110,97,109,101,95,95,117, - 11,0,0,0,95,95,112,97,99,107,97,103,101,95,95,117, - 7,0,0,0,104,97,115,97,116,116,114,117,10,0,0,0, - 95,95,108,111,97,100,101,114,95,95,40,9,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,3,0, - 0,0,101,120,99,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,23,0,0, - 0,95,102,105,110,100,95,97,110,100,95,108,111,97,100,95, - 117,110,108,111,99,107,101,100,229,5,0,0,115,76,0,0, - 0,0,1,6,1,19,1,6,1,15,1,16,2,15,1,11, - 2,13,1,3,1,13,1,13,1,22,1,26,1,15,1,12, - 1,27,3,9,1,9,1,15,2,13,1,19,2,13,1,6, - 2,13,1,32,2,24,1,3,1,12,1,15,1,32,1,13, - 1,8,2,15,1,3,1,13,1,13,1,8,1,117,23,0, - 0,0,95,102,105,110,100,95,97,110,100,95,108,111,97,100, - 95,117,110,108,111,99,107,101,100,99,2,0,0,0,0,0, - 0,0,3,0,0,0,18,0,0,0,67,0,0,0,115,75, - 0,0,0,122,16,0,116,0,0,124,0,0,131,1,0,125, - 2,0,87,100,1,0,116,1,0,106,2,0,131,0,0,1, - 88,124,2,0,106,3,0,131,0,0,1,122,17,0,116,4, - 0,124,0,0,124,1,0,131,2,0,83,87,100,1,0,124, - 2,0,106,5,0,131,0,0,1,88,100,1,0,83,40,2, - 0,0,0,117,54,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, - 44,32,97,110,100,32,114,101,108,101,97,115,101,32,116,104, - 101,32,105,109,112,111,114,116,32,108,111,99,107,46,78,40, - 6,0,0,0,117,16,0,0,0,95,103,101,116,95,109,111, - 100,117,108,101,95,108,111,99,107,117,4,0,0,0,95,105, - 109,112,117,12,0,0,0,114,101,108,101,97,115,101,95,108, - 111,99,107,117,7,0,0,0,97,99,113,117,105,114,101,117, - 23,0,0,0,95,102,105,110,100,95,97,110,100,95,108,111, - 97,100,95,117,110,108,111,99,107,101,100,117,7,0,0,0, - 114,101,108,101,97,115,101,40,3,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,108,111,99,107,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,23,6,0,0,115,14,0, - 0,0,0,2,3,1,16,2,11,1,10,1,3,1,17,2, - 117,14,0,0,0,95,102,105,110,100,95,97,110,100,95,108, - 111,97,100,99,3,0,0,0,0,0,0,0,5,0,0,0, - 4,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,106,3,0,131,0,0,1,124,0,0,116,4,0,106,5, - 0,107,7,0,114,87,0,116,6,0,124,0,0,116,7,0, - 131,2,0,83,116,4,0,106,5,0,124,0,0,25,125,3, - 0,124,3,0,100,4,0,107,8,0,114,158,0,116,2,0, - 106,9,0,131,0,0,1,100,2,0,106,10,0,124,0,0, - 131,1,0,125,4,0,116,11,0,124,4,0,100,3,0,124, - 0,0,131,1,1,130,1,0,110,0,0,116,12,0,124,0, - 0,131,1,0,1,124,3,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,13,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,4,0,0,0,95, - 105,109,112,117,12,0,0,0,97,99,113,117,105,114,101,95, - 108,111,99,107,117,3,0,0,0,115,121,115,117,7,0,0, - 0,109,111,100,117,108,101,115,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,117,4,0,0,0, - 78,111,110,101,117,12,0,0,0,114,101,108,101,97,115,101, - 95,108,111,99,107,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,19,0,0,0,95,108,111,99,107,95,117,110,108,111,99, - 107,95,109,111,100,117,108,101,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,36, - 6,0,0,115,28,0,0,0,0,9,16,1,12,1,21,1, - 10,1,15,1,13,1,13,1,12,1,10,1,6,1,9,1, - 21,1,10,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,6,0,0, - 0,17,0,0,0,67,0,0,0,115,254,0,0,0,116,0, - 0,124,0,0,100,1,0,131,2,0,114,250,0,100,2,0, - 124,1,0,107,6,0,114,89,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,116,0,0,124,0,0,100,3,0,131,2,0,114,89, - 0,124,1,0,106,3,0,124,0,0,106,4,0,131,1,0, - 1,113,89,0,110,0,0,120,158,0,124,1,0,68,93,147, - 0,125,3,0,116,0,0,124,0,0,124,3,0,131,2,0, - 115,96,0,100,4,0,106,5,0,124,0,0,106,6,0,124, - 3,0,131,2,0,125,4,0,121,17,0,116,7,0,124,2, - 0,124,4,0,131,2,0,1,87,113,243,0,4,116,8,0, - 107,10,0,114,239,0,1,125,5,0,1,122,50,0,116,9, - 0,124,5,0,100,5,0,100,7,0,131,3,0,114,218,0, - 124,5,0,106,11,0,124,4,0,107,2,0,114,218,0,119, - 96,0,113,218,0,110,0,0,130,0,0,87,89,100,6,0, - 100,6,0,125,5,0,126,5,0,88,113,243,0,88,113,96, - 0,113,96,0,87,110,0,0,124,0,0,83,40,8,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,117,5,0,0,0,123,125,46,123,125,117,10,0, - 0,0,95,110,111,116,95,102,111,117,110,100,78,70,40,12, - 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,25,0,0,0,95,99,97,108,108,95,119,105,116, - 104,95,102,114,97,109,101,115,95,114,101,109,111,118,101,100, - 117,11,0,0,0,73,109,112,111,114,116,69,114,114,111,114, - 117,7,0,0,0,103,101,116,97,116,116,114,117,5,0,0, - 0,70,97,108,115,101,117,4,0,0,0,110,97,109,101,40, - 6,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,117,9, - 0,0,0,102,114,111,109,95,110,97,109,101,117,3,0,0, - 0,101,120,99,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,60,6,0,0,115,34,0,0,0,0,10, - 15,1,12,1,12,1,13,1,15,1,22,1,13,1,15,1, - 21,1,3,1,17,1,18,6,18,1,15,1,9,1,32,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,94,6,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,0,0,0,0,0,0,0,0,3,0,0,0, - 3,0,0,0,67,0,0,0,115,55,0,0,0,116,0,0, - 116,1,0,106,2,0,131,0,0,102,2,0,125,0,0,116, - 3,0,116,4,0,102,2,0,125,1,0,116,5,0,116,6, - 0,102,2,0,125,2,0,124,0,0,124,1,0,124,2,0, - 103,3,0,83,40,1,0,0,0,117,111,0,0,0,82,101, - 116,117,114,110,115,32,97,32,108,105,115,116,32,111,102,32, - 102,105,108,101,45,98,97,115,101,100,32,109,111,100,117,108, - 101,32,108,111,97,100,101,114,115,46,10,10,32,32,32,32, - 69,97,99,104,32,105,116,101,109,32,105,115,32,97,32,116, - 117,112,108,101,32,40,108,111,97,100,101,114,44,32,115,117, - 102,102,105,120,101,115,44,32,97,108,108,111,119,95,112,97, - 99,107,97,103,101,115,41,46,10,32,32,32,32,40,7,0, - 0,0,117,19,0,0,0,69,120,116,101,110,115,105,111,110, - 70,105,108,101,76,111,97,100,101,114,117,4,0,0,0,95, - 105,109,112,117,18,0,0,0,101,120,116,101,110,115,105,111, - 110,95,115,117,102,102,105,120,101,115,117,16,0,0,0,83, - 111,117,114,99,101,70,105,108,101,76,111,97,100,101,114,117, - 15,0,0,0,83,79,85,82,67,69,95,83,85,70,70,73, - 88,69,83,117,20,0,0,0,83,111,117,114,99,101,108,101, - 115,115,70,105,108,101,76,111,97,100,101,114,117,17,0,0, - 0,66,89,84,69,67,79,68,69,95,83,85,70,70,73,88, - 69,83,40,3,0,0,0,117,10,0,0,0,101,120,116,101, - 110,115,105,111,110,115,117,6,0,0,0,115,111,117,114,99, - 101,117,8,0,0,0,98,121,116,101,99,111,100,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,27,0,0,0,95, - 103,101,116,95,115,117,112,112,111,114,116,101,100,95,102,105, - 108,101,95,108,111,97,100,101,114,115,109,6,0,0,115,8, - 0,0,0,0,5,18,1,12,1,12,1,117,27,0,0,0, - 95,103,101,116,95,115,117,112,112,111,114,116,101,100,95,102, - 105,108,101,95,108,111,97,100,101,114,115,99,5,0,0,0, - 0,0,0,0,9,0,0,0,5,0,0,0,67,0,0,0, - 115,227,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,54,0, - 124,1,0,100,3,0,107,9,0,114,45,0,124,1,0,110, - 3,0,105,0,0,125,6,0,116,2,0,124,6,0,131,1, - 0,125,7,0,116,0,0,124,0,0,124,7,0,124,4,0, - 131,3,0,125,5,0,124,3,0,115,207,0,124,4,0,100, - 1,0,107,2,0,114,122,0,116,0,0,124,0,0,106,3, - 0,100,2,0,131,1,0,100,1,0,25,131,1,0,83,124, - 0,0,115,132,0,124,5,0,83,116,4,0,124,0,0,131, - 1,0,116,4,0,124,0,0,106,3,0,100,2,0,131,1, - 0,100,1,0,25,131,1,0,24,125,8,0,116,5,0,106, - 6,0,124,5,0,106,7,0,100,3,0,116,4,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,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,9,0,0,0,117,11,0,0,0,95,103, - 99,100,95,105,109,112,111,114,116,117,4,0,0,0,78,111, - 110,101,117,17,0,0,0,95,99,97,108,99,95,95,95,112, - 97,99,107,97,103,101,95,95,117,9,0,0,0,112,97,114, - 116,105,116,105,111,110,117,3,0,0,0,108,101,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,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,8,0,0,0, - 103,108,111,98,97,108,115,95,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,120,6,0,0,115, - 26,0,0,0,0,11,12,1,15,2,24,1,12,1,18,1, - 6,3,12,1,23,1,6,1,4,4,35,3,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,16,0,0,0,13,0,0,0,67,0, - 0,0,115,24,3,0,0,124,1,0,97,0,0,124,0,0, - 97,1,0,116,1,0,106,2,0,106,3,0,114,33,0,116, - 4,0,97,5,0,110,6,0,116,6,0,97,5,0,116,7, - 0,116,1,0,131,1,0,125,2,0,120,119,0,116,1,0, - 106,8,0,106,9,0,131,0,0,68,93,102,0,92,2,0, - 125,3,0,125,4,0,116,10,0,124,4,0,124,2,0,131, - 2,0,114,67,0,116,11,0,124,4,0,100,1,0,131,2, - 0,115,169,0,124,3,0,116,1,0,106,12,0,107,6,0, - 114,136,0,116,13,0,124,4,0,95,14,0,113,166,0,116, - 0,0,106,15,0,124,3,0,131,1,0,114,166,0,116,16, - 0,124,4,0,95,14,0,113,166,0,113,169,0,113,67,0, + 70,105,110,100,101,114,174,5,0,0,115,6,0,0,0,0, + 2,12,1,21,1,117,54,0,0,0,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,111,114,95,70,105,108,101,70,105,110,100,101,114, + 114,4,0,0,0,40,3,0,0,0,114,195,0,0,0,114, + 45,1,0,0,114,46,1,0,0,114,4,0,0,0,40,2, + 0,0,0,114,195,0,0,0,114,45,1,0,0,114,5,0, + 0,0,244,9,0,0,0,112,97,116,104,95,104,111,111,107, + 164,5,0,0,115,4,0,0,0,0,10,21,6,117,20,0, + 0,0,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,16,0,0,0, + 100,1,0,106,0,0,124,0,0,106,1,0,131,1,0,83, + 40,2,0,0,0,78,117,16,0,0,0,70,105,108,101,70, + 105,110,100,101,114,40,123,33,114,125,41,40,2,0,0,0, + 114,46,0,0,0,114,35,0,0,0,40,1,0,0,0,114, + 78,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,114,90,0,0,0,182,5,0,0,115,2,0,0, + 0,0,1,117,19,0,0,0,70,105,108,101,70,105,110,100, + 101,114,46,95,95,114,101,112,114,95,95,78,40,13,0,0, + 0,114,56,0,0,0,114,55,0,0,0,114,57,0,0,0, + 114,58,0,0,0,114,79,0,0,0,114,22,1,0,0,114, + 176,0,0,0,114,197,0,0,0,114,169,0,0,0,114,39, + 1,0,0,114,201,0,0,0,114,47,1,0,0,114,90,0, + 0,0,40,1,0,0,0,114,69,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,114,33,1,0,0, + 60,5,0,0,115,16,0,0,0,16,7,6,2,12,14,12, + 4,6,2,12,44,12,31,18,18,114,33,1,0,0,99,1, + 0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,66, + 0,0,0,115,50,0,0,0,124,0,0,69,101,0,0,90, + 1,0,100,0,0,90,2,0,100,1,0,90,3,0,100,2, + 0,100,3,0,132,0,0,90,4,0,100,4,0,100,5,0, + 132,0,0,90,5,0,100,6,0,83,40,7,0,0,0,244, + 18,0,0,0,95,73,109,112,111,114,116,76,111,99,107,67, + 111,110,116,101,120,116,117,36,0,0,0,67,111,110,116,101, + 120,116,32,109,97,110,97,103,101,114,32,102,111,114,32,116, + 104,101,32,105,109,112,111,114,116,32,108,111,99,107,46,99, + 1,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0, + 67,0,0,0,115,14,0,0,0,116,0,0,106,1,0,131, + 0,0,1,100,1,0,83,40,2,0,0,0,117,24,0,0, + 0,65,99,113,117,105,114,101,32,116,104,101,32,105,109,112, + 111,114,116,32,108,111,99,107,46,78,40,2,0,0,0,114, + 97,0,0,0,244,12,0,0,0,97,99,113,117,105,114,101, + 95,108,111,99,107,40,1,0,0,0,114,78,0,0,0,114, + 4,0,0,0,114,4,0,0,0,114,5,0,0,0,244,9, + 0,0,0,95,95,101,110,116,101,114,95,95,192,5,0,0, + 115,2,0,0,0,0,2,117,28,0,0,0,95,73,109,112, + 111,114,116,76,111,99,107,67,111,110,116,101,120,116,46,95, + 95,101,110,116,101,114,95,95,99,4,0,0,0,0,0,0, + 0,4,0,0,0,1,0,0,0,67,0,0,0,115,14,0, + 0,0,116,0,0,106,1,0,131,0,0,1,100,1,0,83, + 40,2,0,0,0,117,60,0,0,0,82,101,108,101,97,115, + 101,32,116,104,101,32,105,109,112,111,114,116,32,108,111,99, + 107,32,114,101,103,97,114,100,108,101,115,115,32,111,102,32, + 97,110,121,32,114,97,105,115,101,100,32,101,120,99,101,112, + 116,105,111,110,115,46,78,40,2,0,0,0,114,97,0,0, + 0,114,98,0,0,0,40,4,0,0,0,114,78,0,0,0, + 116,8,0,0,0,101,120,99,95,116,121,112,101,116,9,0, + 0,0,101,120,99,95,118,97,108,117,101,116,13,0,0,0, + 101,120,99,95,116,114,97,99,101,98,97,99,107,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,244,8,0,0, + 0,95,95,101,120,105,116,95,95,196,5,0,0,115,2,0, + 0,0,0,2,117,27,0,0,0,95,73,109,112,111,114,116, + 76,111,99,107,67,111,110,116,101,120,116,46,95,95,101,120, + 105,116,95,95,78,40,6,0,0,0,114,56,0,0,0,114, + 55,0,0,0,114,57,0,0,0,114,58,0,0,0,114,50, + 1,0,0,114,51,1,0,0,40,1,0,0,0,114,69,0, + 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, + 0,114,48,1,0,0,188,5,0,0,115,6,0,0,0,16, + 2,6,2,12,4,114,48,1,0,0,99,3,0,0,0,0, + 0,0,0,5,0,0,0,4,0,0,0,67,0,0,0,115, + 91,0,0,0,124,1,0,106,0,0,100,1,0,124,2,0, + 100,2,0,24,131,2,0,125,3,0,116,1,0,124,3,0, + 131,1,0,124,2,0,107,0,0,114,55,0,116,2,0,100, + 3,0,131,1,0,130,1,0,110,0,0,124,3,0,100,4, + 0,25,125,4,0,124,0,0,114,87,0,100,5,0,106,3, + 0,124,4,0,124,0,0,131,2,0,83,124,4,0,83,40, + 6,0,0,0,117,50,0,0,0,82,101,115,111,108,118,101, + 32,97,32,114,101,108,97,116,105,118,101,32,109,111,100,117, + 108,101,32,110,97,109,101,32,116,111,32,97,110,32,97,98, + 115,111,108,117,116,101,32,111,110,101,46,114,104,0,0,0, + 114,29,0,0,0,117,50,0,0,0,97,116,116,101,109,112, + 116,101,100,32,114,101,108,97,116,105,118,101,32,105,109,112, + 111,114,116,32,98,101,121,111,110,100,32,116,111,112,45,108, + 101,118,101,108,32,112,97,99,107,97,103,101,114,71,0,0, + 0,117,5,0,0,0,123,125,46,123,125,40,4,0,0,0, + 114,34,0,0,0,114,31,0,0,0,114,121,0,0,0,114, + 46,0,0,0,40,5,0,0,0,114,66,0,0,0,244,7, + 0,0,0,112,97,99,107,97,103,101,244,5,0,0,0,108, + 101,118,101,108,116,4,0,0,0,98,105,116,115,116,4,0, + 0,0,98,97,115,101,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,13,0,0,0,95,114,101,115,111,108, + 118,101,95,110,97,109,101,201,5,0,0,115,10,0,0,0, + 0,2,22,1,18,1,15,1,10,1,114,54,1,0,0,99, + 2,0,0,0,0,0,0,0,4,0,0,0,11,0,0,0, + 67,0,0,0,115,138,0,0,0,116,0,0,106,1,0,115, + 28,0,116,2,0,106,3,0,100,1,0,116,4,0,131,2, + 0,1,110,0,0,120,103,0,116,0,0,106,1,0,68,93, + 88,0,125,2,0,116,5,0,131,0,0,143,23,0,1,124, + 2,0,106,6,0,124,0,0,124,1,0,131,2,0,125,3, + 0,87,100,2,0,81,88,124,3,0,100,2,0,107,9,0, + 114,38,0,124,0,0,116,0,0,106,7,0,107,7,0,114, + 109,0,124,3,0,83,116,0,0,106,7,0,124,0,0,25, + 106,8,0,83,113,38,0,113,38,0,87,100,2,0,83,100, + 2,0,83,40,3,0,0,0,117,23,0,0,0,70,105,110, + 100,32,97,32,109,111,100,117,108,101,39,115,32,108,111,97, + 100,101,114,46,117,22,0,0,0,115,121,115,46,109,101,116, + 97,95,112,97,116,104,32,105,115,32,101,109,112,116,121,78, + 40,9,0,0,0,114,7,0,0,0,244,9,0,0,0,109, + 101,116,97,95,112,97,116,104,114,170,0,0,0,114,171,0, + 0,0,114,172,0,0,0,114,48,1,0,0,114,197,0,0, + 0,114,152,0,0,0,114,149,0,0,0,40,4,0,0,0, + 114,66,0,0,0,114,35,0,0,0,114,25,1,0,0,114, + 173,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,244,12,0,0,0,95,102,105,110,100,95,109,111, + 100,117,108,101,210,5,0,0,115,20,0,0,0,0,2,9, + 1,19,1,16,1,10,1,24,1,12,2,15,1,4,2,21, + 2,114,56,1,0,0,99,3,0,0,0,0,0,0,0,4, + 0,0,0,4,0,0,0,67,0,0,0,115,194,0,0,0, + 116,0,0,124,0,0,116,1,0,131,2,0,115,45,0,116, + 2,0,100,1,0,106,3,0,116,4,0,124,0,0,131,1, + 0,131,1,0,131,1,0,130,1,0,110,0,0,124,2,0, + 100,2,0,107,0,0,114,72,0,116,5,0,100,3,0,131, + 1,0,130,1,0,110,0,0,124,1,0,114,156,0,116,0, + 0,124,1,0,116,1,0,131,2,0,115,108,0,116,2,0, + 100,4,0,131,1,0,130,1,0,113,156,0,124,1,0,116, + 6,0,106,7,0,107,7,0,114,156,0,100,5,0,125,3, + 0,116,8,0,124,3,0,106,3,0,124,1,0,131,1,0, + 131,1,0,130,1,0,113,156,0,110,0,0,124,0,0,12, + 114,190,0,124,2,0,100,2,0,107,2,0,114,190,0,116, + 5,0,100,6,0,131,1,0,130,1,0,110,0,0,100,7, + 0,83,40,8,0,0,0,117,28,0,0,0,86,101,114,105, + 102,121,32,97,114,103,117,109,101,110,116,115,32,97,114,101, + 32,34,115,97,110,101,34,46,117,31,0,0,0,109,111,100, + 117,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101, + 32,115,116,114,44,32,110,111,116,32,123,125,114,71,0,0, + 0,117,18,0,0,0,108,101,118,101,108,32,109,117,115,116, + 32,98,101,32,62,61,32,48,117,31,0,0,0,95,95,112, + 97,99,107,97,103,101,95,95,32,110,111,116,32,115,101,116, + 32,116,111,32,97,32,115,116,114,105,110,103,117,61,0,0, + 0,80,97,114,101,110,116,32,109,111,100,117,108,101,32,123, + 33,114,125,32,110,111,116,32,108,111,97,100,101,100,44,32, + 99,97,110,110,111,116,32,112,101,114,102,111,114,109,32,114, + 101,108,97,116,105,118,101,32,105,109,112,111,114,116,117,17, + 0,0,0,69,109,112,116,121,32,109,111,100,117,108,101,32, + 110,97,109,101,78,40,9,0,0,0,114,187,0,0,0,114, + 29,1,0,0,244,9,0,0,0,84,121,112,101,69,114,114, + 111,114,114,46,0,0,0,114,65,0,0,0,114,121,0,0, + 0,114,7,0,0,0,114,152,0,0,0,244,11,0,0,0, + 83,121,115,116,101,109,69,114,114,111,114,40,4,0,0,0, + 114,66,0,0,0,114,52,1,0,0,114,53,1,0,0,114, + 175,0,0,0,114,4,0,0,0,114,4,0,0,0,114,5, + 0,0,0,244,13,0,0,0,95,115,97,110,105,116,121,95, + 99,104,101,99,107,227,5,0,0,115,24,0,0,0,0,2, + 15,1,30,1,12,1,15,1,6,1,15,1,15,1,15,1, + 6,2,27,1,19,1,114,59,1,0,0,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,9,0,0, + 0,27,0,0,0,67,0,0,0,115,21,2,0,0,100,0, + 0,125,2,0,124,0,0,106,0,0,100,1,0,131,1,0, + 100,2,0,25,125,3,0,124,3,0,114,178,0,124,3,0, + 116,1,0,106,2,0,107,7,0,114,62,0,116,3,0,124, + 1,0,124,3,0,131,2,0,1,110,0,0,124,0,0,116, + 1,0,106,2,0,107,6,0,114,88,0,116,1,0,106,2, + 0,124,0,0,25,83,116,1,0,106,2,0,124,3,0,25, + 125,4,0,121,13,0,124,4,0,106,4,0,125,2,0,87, + 113,178,0,4,116,5,0,107,10,0,114,174,0,1,1,1, + 116,6,0,100,3,0,23,106,7,0,124,0,0,124,3,0, + 131,2,0,125,5,0,116,8,0,124,5,0,100,4,0,124, + 0,0,131,1,1,130,1,0,89,113,178,0,88,110,0,0, + 116,9,0,124,0,0,124,2,0,131,2,0,125,6,0,124, + 6,0,100,0,0,107,8,0,114,250,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,125,7,0,100,5,0,124,7,0,95,10,0,124, + 7,0,130,1,0,110,47,0,124,0,0,116,1,0,106,2, + 0,107,7,0,114,41,1,124,6,0,106,11,0,124,0,0, + 131,1,0,1,116,12,0,100,6,0,124,0,0,124,6,0, + 131,3,0,1,110,0,0,116,1,0,106,2,0,124,0,0, + 25,125,8,0,124,3,0,114,105,1,116,1,0,106,2,0, + 124,3,0,25,125,4,0,116,13,0,124,4,0,124,0,0, + 106,0,0,100,1,0,131,1,0,100,7,0,25,124,8,0, + 131,3,0,1,110,0,0,116,14,0,124,8,0,100,8,0, + 100,0,0,131,3,0,100,0,0,107,8,0,114,212,1,121, + 59,0,124,8,0,106,15,0,124,8,0,95,16,0,116,17, + 0,124,8,0,100,9,0,131,2,0,115,187,1,124,8,0, + 106,16,0,106,0,0,100,1,0,131,1,0,100,2,0,25, + 124,8,0,95,16,0,110,0,0,87,113,212,1,4,116,5, + 0,107,10,0,114,208,1,1,1,1,89,113,212,1,88,110, + 0,0,116,14,0,124,8,0,100,10,0,100,0,0,131,3, + 0,100,0,0,107,8,0,114,17,2,121,13,0,124,6,0, + 124,8,0,95,18,0,87,113,17,2,4,116,5,0,107,10, + 0,114,13,2,1,1,1,89,113,17,2,88,110,0,0,124, + 8,0,83,40,11,0,0,0,78,114,104,0,0,0,114,71, + 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,114,66,0, + 0,0,84,117,18,0,0,0,105,109,112,111,114,116,32,123, + 33,114,125,32,35,32,123,33,114,125,114,103,0,0,0,114, + 142,0,0,0,114,143,0,0,0,114,149,0,0,0,40,19, + 0,0,0,114,32,0,0,0,114,7,0,0,0,114,152,0, + 0,0,114,102,0,0,0,114,143,0,0,0,114,155,0,0, + 0,244,8,0,0,0,95,69,82,82,95,77,83,71,114,46, + 0,0,0,114,154,0,0,0,114,56,1,0,0,244,10,0, + 0,0,95,110,111,116,95,102,111,117,110,100,114,198,0,0, + 0,114,141,0,0,0,114,60,0,0,0,114,61,0,0,0, + 114,56,0,0,0,114,142,0,0,0,114,59,0,0,0,114, + 149,0,0,0,40,9,0,0,0,114,66,0,0,0,244,7, + 0,0,0,105,109,112,111,114,116,95,114,35,0,0,0,114, + 253,0,0,0,116,13,0,0,0,112,97,114,101,110,116,95, + 109,111,100,117,108,101,114,175,0,0,0,114,173,0,0,0, + 114,236,0,0,0,114,145,0,0,0,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,244,23,0,0,0,95,102, + 105,110,100,95,97,110,100,95,108,111,97,100,95,117,110,108, + 111,99,107,101,100,246,5,0,0,115,76,0,0,0,0,1, + 6,1,19,1,6,1,15,1,16,2,15,1,11,2,13,1, + 3,1,13,1,13,1,22,1,26,1,15,1,12,1,27,3, + 9,1,9,1,15,2,13,1,19,2,13,1,6,2,13,1, + 32,2,24,1,3,1,12,1,15,1,32,1,13,1,8,2, + 24,1,3,1,13,1,13,1,8,1,114,63,1,0,0,99, + 2,0,0,0,0,0,0,0,3,0,0,0,18,0,0,0, + 67,0,0,0,115,75,0,0,0,122,16,0,116,0,0,124, + 0,0,131,1,0,125,2,0,87,100,1,0,116,1,0,106, + 2,0,131,0,0,1,88,124,2,0,106,3,0,131,0,0, + 1,122,17,0,116,4,0,124,0,0,124,1,0,131,2,0, + 83,87,100,1,0,124,2,0,106,5,0,131,0,0,1,88, + 100,1,0,83,40,2,0,0,0,117,54,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,44,32,97,110,100,32,114,101,108,101, + 97,115,101,32,116,104,101,32,105,109,112,111,114,116,32,108, + 111,99,107,46,78,40,6,0,0,0,114,96,0,0,0,114, + 97,0,0,0,114,98,0,0,0,114,86,0,0,0,114,63, + 1,0,0,114,87,0,0,0,40,3,0,0,0,114,66,0, + 0,0,114,62,1,0,0,114,73,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,244,14,0,0,0, + 95,102,105,110,100,95,97,110,100,95,108,111,97,100,40,6, + 0,0,115,14,0,0,0,0,2,3,1,16,2,11,1,10, + 1,3,1,17,2,114,64,1,0,0,99,3,0,0,0,0, + 0,0,0,5,0,0,0,4,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,106,3,0,131,0,0,1,124, + 0,0,116,4,0,106,5,0,107,7,0,114,87,0,116,6, + 0,124,0,0,116,7,0,131,2,0,83,116,4,0,106,5, + 0,124,0,0,25,125,3,0,124,3,0,100,2,0,107,8, + 0,114,158,0,116,2,0,106,8,0,131,0,0,1,100,3, + 0,106,9,0,124,0,0,131,1,0,125,4,0,116,10,0, + 124,4,0,100,4,0,124,0,0,131,1,1,130,1,0,110, + 0,0,116,11,0,124,0,0,131,1,0,1,124,3,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,114,71,0,0, + 0,78,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,114, + 66,0,0,0,40,12,0,0,0,114,59,1,0,0,114,54, + 1,0,0,114,97,0,0,0,114,49,1,0,0,114,7,0, + 0,0,114,152,0,0,0,114,64,1,0,0,244,11,0,0, + 0,95,103,99,100,95,105,109,112,111,114,116,114,98,0,0, + 0,114,46,0,0,0,114,154,0,0,0,114,99,0,0,0, + 40,5,0,0,0,114,66,0,0,0,114,52,1,0,0,114, + 53,1,0,0,114,145,0,0,0,114,140,0,0,0,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,114,65,1, + 0,0,53,6,0,0,115,26,0,0,0,0,9,16,1,12, + 1,21,1,10,1,15,1,13,1,13,1,12,1,10,2,15, + 1,21,1,10,1,114,65,1,0,0,99,3,0,0,0,0, + 0,0,0,6,0,0,0,17,0,0,0,67,0,0,0,115, + 254,0,0,0,116,0,0,124,0,0,100,1,0,131,2,0, + 114,250,0,100,2,0,124,1,0,107,6,0,114,89,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,116,0,0,124,0,0,100,3, + 0,131,2,0,114,89,0,124,1,0,106,3,0,124,0,0, + 106,4,0,131,1,0,1,113,89,0,110,0,0,120,158,0, + 124,1,0,68,93,147,0,125,3,0,116,0,0,124,0,0, + 124,3,0,131,2,0,115,96,0,100,4,0,106,5,0,124, + 0,0,106,6,0,124,3,0,131,2,0,125,4,0,121,17, + 0,116,7,0,124,2,0,124,4,0,131,2,0,1,87,113, + 243,0,4,116,8,0,107,10,0,114,239,0,1,125,5,0, + 1,122,50,0,116,9,0,124,5,0,100,5,0,100,6,0, + 131,3,0,114,218,0,124,5,0,106,10,0,124,4,0,107, + 2,0,114,218,0,119,96,0,113,218,0,110,0,0,130,0, + 0,87,89,100,7,0,100,7,0,125,5,0,126,5,0,88, + 113,243,0,88,113,96,0,113,96,0,87,110,0,0,124,0, + 0,83,40,8,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,114,143,0,0,0,245, + 1,0,0,0,42,244,7,0,0,0,95,95,97,108,108,95, + 95,117,5,0,0,0,123,125,46,123,125,114,61,1,0,0, + 70,78,40,11,0,0,0,114,59,0,0,0,244,4,0,0, + 0,108,105,115,116,244,6,0,0,0,114,101,109,111,118,101, + 114,192,0,0,0,114,67,1,0,0,114,46,0,0,0,114, + 56,0,0,0,114,102,0,0,0,114,154,0,0,0,114,61, + 0,0,0,114,66,0,0,0,40,6,0,0,0,114,145,0, + 0,0,244,8,0,0,0,102,114,111,109,108,105,115,116,114, + 62,1,0,0,114,16,0,0,0,116,9,0,0,0,102,114, + 111,109,95,110,97,109,101,114,236,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,244,16,0,0,0, + 95,104,97,110,100,108,101,95,102,114,111,109,108,105,115,116, + 77,6,0,0,115,34,0,0,0,0,10,15,1,12,1,12, + 1,13,1,15,1,22,1,13,1,15,1,21,1,3,1,17, + 1,18,6,18,1,15,1,9,1,32,1,114,71,1,0,0, + 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,2,0,107, + 8,0,114,74,0,124,0,0,100,3,0,25,125,1,0,100, + 4,0,124,0,0,107,7,0,114,74,0,124,1,0,106,1, + 0,100,5,0,131,1,0,100,6,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,114,142,0,0,0,78,114, + 56,0,0,0,114,143,0,0,0,114,104,0,0,0,114,71, + 0,0,0,40,2,0,0,0,114,82,0,0,0,114,32,0, + 0,0,40,2,0,0,0,244,7,0,0,0,103,108,111,98, + 97,108,115,114,52,1,0,0,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,244,17,0,0,0,95,99,97,108, + 99,95,95,95,112,97,99,107,97,103,101,95,95,111,6,0, + 0,115,12,0,0,0,0,7,15,1,12,1,10,1,12,1, + 25,1,114,73,1,0,0,99,0,0,0,0,0,0,0,0, + 3,0,0,0,3,0,0,0,67,0,0,0,115,55,0,0, + 0,116,0,0,116,1,0,106,2,0,131,0,0,102,2,0, + 125,0,0,116,3,0,116,4,0,102,2,0,125,1,0,116, + 5,0,116,6,0,102,2,0,125,2,0,124,0,0,124,1, + 0,124,2,0,103,3,0,83,40,1,0,0,0,117,111,0, + 0,0,82,101,116,117,114,110,115,32,97,32,108,105,115,116, + 32,111,102,32,102,105,108,101,45,98,97,115,101,100,32,109, + 111,100,117,108,101,32,108,111,97,100,101,114,115,46,10,10, + 32,32,32,32,69,97,99,104,32,105,116,101,109,32,105,115, + 32,97,32,116,117,112,108,101,32,40,108,111,97,100,101,114, + 44,32,115,117,102,102,105,120,101,115,44,32,97,108,108,111, + 119,95,112,97,99,107,97,103,101,115,41,46,10,32,32,32, + 32,40,7,0,0,0,114,255,0,0,0,114,97,0,0,0, + 244,18,0,0,0,101,120,116,101,110,115,105,111,110,95,115, + 117,102,102,105,120,101,115,114,248,0,0,0,114,122,0,0, + 0,114,254,0,0,0,244,17,0,0,0,66,89,84,69,67, + 79,68,69,95,83,85,70,70,73,88,69,83,40,3,0,0, + 0,116,10,0,0,0,101,120,116,101,110,115,105,111,110,115, + 116,6,0,0,0,115,111,117,114,99,101,116,8,0,0,0, + 98,121,116,101,99,111,100,101,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,114,215,0,0,0,126,6,0,0, + 115,8,0,0,0,0,5,18,1,12,1,12,1,114,215,0, + 0,0,99,5,0,0,0,0,0,0,0,9,0,0,0,5, + 0,0,0,67,0,0,0,115,227,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,54,0,124,1,0,100,2,0,107,9,0, + 114,45,0,124,1,0,110,3,0,105,0,0,125,6,0,116, + 1,0,124,6,0,131,1,0,125,7,0,116,0,0,124,0, + 0,124,7,0,124,4,0,131,3,0,125,5,0,124,3,0, + 115,207,0,124,4,0,100,1,0,107,2,0,114,122,0,116, + 0,0,124,0,0,106,2,0,100,3,0,131,1,0,100,1, + 0,25,131,1,0,83,124,0,0,115,132,0,124,5,0,83, + 116,3,0,124,0,0,131,1,0,116,3,0,124,0,0,106, + 2,0,100,3,0,131,1,0,100,1,0,25,131,1,0,24, + 125,8,0,116,4,0,106,5,0,124,5,0,106,6,0,100, + 2,0,116,3,0,124,5,0,106,6,0,131,1,0,124,8, + 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,2,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,114, + 71,0,0,0,78,114,104,0,0,0,40,8,0,0,0,114, + 65,1,0,0,114,73,1,0,0,114,109,0,0,0,114,31, + 0,0,0,114,7,0,0,0,114,152,0,0,0,114,56,0, + 0,0,114,71,1,0,0,40,9,0,0,0,114,66,0,0, + 0,114,72,1,0,0,244,6,0,0,0,108,111,99,97,108, + 115,114,70,1,0,0,114,53,1,0,0,114,145,0,0,0, + 116,8,0,0,0,103,108,111,98,97,108,115,95,114,52,1, + 0,0,116,7,0,0,0,99,117,116,95,111,102,102,114,4, + 0,0,0,114,4,0,0,0,114,5,0,0,0,244,10,0, + 0,0,95,95,105,109,112,111,114,116,95,95,137,6,0,0, + 115,26,0,0,0,0,11,12,1,15,2,24,1,12,1,18, + 1,6,3,12,1,23,1,6,1,4,4,35,3,40,2,114, + 77,1,0,0,99,2,0,0,0,0,0,0,0,16,0,0, + 0,13,0,0,0,67,0,0,0,115,237,2,0,0,124,1, + 0,97,0,0,124,0,0,97,1,0,116,1,0,106,2,0, + 106,3,0,114,33,0,116,4,0,97,5,0,110,6,0,116, + 6,0,97,5,0,116,7,0,116,1,0,131,1,0,125,2, + 0,120,128,0,116,1,0,106,8,0,106,9,0,131,0,0, + 68,93,111,0,92,2,0,125,3,0,125,4,0,116,10,0, + 124,4,0,124,2,0,131,2,0,114,67,0,116,11,0,124, + 4,0,100,1,0,100,2,0,131,3,0,100,2,0,107,8, + 0,114,178,0,124,3,0,116,1,0,106,12,0,107,6,0, + 114,145,0,116,13,0,124,4,0,95,14,0,113,175,0,116, + 0,0,106,15,0,124,3,0,131,1,0,114,175,0,116,16, + 0,124,4,0,95,14,0,113,175,0,113,178,0,113,67,0, 113,67,0,87,116,1,0,106,8,0,116,17,0,25,125,5, - 0,120,76,0,100,28,0,68,93,68,0,125,6,0,124,6, - 0,116,1,0,106,8,0,107,7,0,114,232,0,116,13,0, + 0,120,76,0,100,27,0,68,93,68,0,125,6,0,124,6, + 0,116,1,0,106,8,0,107,7,0,114,241,0,116,13,0, 106,18,0,124,6,0,131,1,0,125,7,0,110,13,0,116, 1,0,106,8,0,124,6,0,25,125,7,0,116,19,0,124, - 5,0,124,6,0,124,7,0,131,3,0,1,113,193,0,87, - 100,6,0,100,7,0,103,1,0,102,2,0,100,8,0,100, - 9,0,100,7,0,103,2,0,102,2,0,100,10,0,100,9, - 0,100,7,0,103,2,0,102,2,0,102,3,0,125,8,0, - 120,189,0,124,8,0,68,93,169,0,92,2,0,125,9,0, - 125,10,0,116,20,0,100,11,0,100,12,0,132,0,0,124, - 10,0,68,131,1,0,131,1,0,115,107,1,116,21,0,130, - 1,0,124,10,0,100,13,0,25,125,11,0,124,9,0,116, - 1,0,106,8,0,107,6,0,114,149,1,116,1,0,106,8, - 0,124,9,0,25,125,12,0,80,113,64,1,121,60,0,116, - 13,0,106,18,0,124,9,0,131,1,0,125,12,0,124,9, - 0,100,10,0,107,2,0,114,207,1,100,14,0,116,1,0, - 106,22,0,107,6,0,114,207,1,124,10,0,100,15,0,25, - 125,11,0,110,0,0,80,87,113,64,1,4,116,23,0,107, - 10,0,114,232,1,1,1,1,119,64,1,89,113,64,1,88, - 113,64,1,87,116,23,0,100,16,0,131,1,0,130,1,0, - 121,19,0,116,13,0,106,18,0,100,17,0,131,1,0,125, - 13,0,87,110,24,0,4,116,23,0,107,10,0,114,38,2, - 1,1,1,100,27,0,125,13,0,89,110,1,0,88,116,13, - 0,106,18,0,100,18,0,131,1,0,125,14,0,124,9,0, - 100,8,0,107,2,0,114,100,2,116,13,0,106,18,0,100, - 19,0,131,1,0,125,15,0,116,19,0,124,5,0,100,20, - 0,124,15,0,131,3,0,1,110,0,0,116,19,0,124,5, - 0,100,21,0,124,12,0,131,3,0,1,116,19,0,124,5, - 0,100,17,0,124,13,0,131,3,0,1,116,19,0,124,5, - 0,100,18,0,124,14,0,131,3,0,1,116,19,0,124,5, - 0,100,22,0,124,11,0,131,3,0,1,116,19,0,124,5, - 0,100,23,0,116,25,0,124,10,0,131,1,0,131,3,0, - 1,116,19,0,124,5,0,100,24,0,116,26,0,131,0,0, - 131,3,0,1,116,27,0,106,28,0,116,0,0,106,29,0, - 131,0,0,131,1,0,1,124,9,0,100,8,0,107,2,0, - 114,20,3,116,30,0,106,31,0,100,25,0,131,1,0,1, - 100,26,0,116,27,0,107,6,0,114,20,3,100,29,0,116, - 33,0,95,34,0,113,20,3,110,0,0,100,27,0,83,40, - 30,0,0,0,117,250,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,95,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,99,1,0,0,0,0,0,0,0,2, - 0,0,0,3,0,0,0,115,0,0,0,115,33,0,0,0, - 124,0,0,93,23,0,125,1,0,116,0,0,124,1,0,131, - 1,0,100,0,0,107,2,0,86,1,113,3,0,100,1,0, - 83,40,2,0,0,0,105,1,0,0,0,78,40,1,0,0, - 0,117,3,0,0,0,108,101,110,40,2,0,0,0,117,2, - 0,0,0,46,48,117,3,0,0,0,115,101,112,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,193,6,0,0,115,2,0,0,0, - 6,0,117,25,0,0,0,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, - 105,0,0,0,0,117,7,0,0,0,69,77,88,32,71,67, - 67,105,1,0,0,0,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,7,0,0,0,95,116, - 104,114,101,97,100,117,8,0,0,0,95,119,101,97,107,114, - 101,102,117,6,0,0,0,119,105,110,114,101,103,117,7,0, - 0,0,95,119,105,110,114,101,103,117,3,0,0,0,95,111, - 115,117,8,0,0,0,112,97,116,104,95,115,101,112,117,15, - 0,0,0,112,97,116,104,95,115,101,112,97,114,97,116,111, - 114,115,117,11,0,0,0,95,114,101,108,97,120,95,99,97, - 115,101,117,4,0,0,0,46,112,121,119,117,6,0,0,0, - 95,100,46,112,121,100,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,84,40,35,0,0, - 0,117,4,0,0,0,95,105,109,112,117,3,0,0,0,115, - 121,115,117,5,0,0,0,102,108,97,103,115,117,8,0,0, - 0,111,112,116,105,109,105,122,101,117,27,0,0,0,79,80, - 84,73,77,73,90,69,68,95,66,89,84,69,67,79,68,69, - 95,83,85,70,70,73,88,69,83,117,17,0,0,0,66,89, - 84,69,67,79,68,69,95,83,85,70,70,73,88,69,83,117, - 23,0,0,0,68,69,66,85,71,95,66,89,84,69,67,79, - 68,69,95,83,85,70,70,73,88,69,83,117,4,0,0,0, - 116,121,112,101,117,7,0,0,0,109,111,100,117,108,101,115, - 117,5,0,0,0,105,116,101,109,115,117,10,0,0,0,105, - 115,105,110,115,116,97,110,99,101,117,7,0,0,0,104,97, - 115,97,116,116,114,117,20,0,0,0,98,117,105,108,116,105, - 110,95,109,111,100,117,108,101,95,110,97,109,101,115,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,9,0,0,0,105,115,95,102,114,111,122,101,110,117, - 14,0,0,0,70,114,111,122,101,110,73,109,112,111,114,116, - 101,114,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,3,0,0,0, - 97,108,108,117,14,0,0,0,65,115,115,101,114,116,105,111, - 110,69,114,114,111,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,4,0,0,0,78,111,110,101,117,3,0,0,0, - 115,101,116,117,16,0,0,0,95,109,97,107,101,95,114,101, - 108,97,120,95,99,97,115,101,117,18,0,0,0,69,88,84, - 69,78,83,73,79,78,95,83,85,70,70,73,88,69,83,117, - 6,0,0,0,101,120,116,101,110,100,117,18,0,0,0,101, - 120,116,101,110,115,105,111,110,95,115,117,102,102,105,120,101, - 115,117,15,0,0,0,83,79,85,82,67,69,95,83,85,70, - 70,73,88,69,83,117,6,0,0,0,97,112,112,101,110,100, - 117,4,0,0,0,84,114,117,101,117,21,0,0,0,87,105, - 110,100,111,119,115,82,101,103,105,115,116,114,121,70,105,110, - 100,101,114,117,11,0,0,0,68,69,66,85,71,95,66,85, - 73,76,68,40,16,0,0,0,117,10,0,0,0,115,121,115, - 95,109,111,100,117,108,101,117,11,0,0,0,95,105,109,112, - 95,109,111,100,117,108,101,117,11,0,0,0,109,111,100,117, - 108,101,95,116,121,112,101,117,4,0,0,0,110,97,109,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,111,115,95,100,101,116,97,105,108,115,117,10, - 0,0,0,98,117,105,108,116,105,110,95,111,115,117,15,0, - 0,0,112,97,116,104,95,115,101,112,97,114,97,116,111,114, - 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,117,13,0,0, - 0,116,104,114,101,97,100,95,109,111,100,117,108,101,117,14, - 0,0,0,119,101,97,107,114,101,102,95,109,111,100,117,108, - 101,117,13,0,0,0,119,105,110,114,101,103,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,156,6,0,0,115,106, - 0,0,0,0,9,6,1,6,2,12,1,9,2,6,2,12, - 1,28,1,15,1,15,1,15,1,12,1,15,1,22,2,13, - 1,13,1,15,1,18,2,13,1,20,2,48,1,19,2,31, - 1,10,1,15,1,13,1,4,2,3,1,15,2,27,1,13, - 1,5,1,13,1,12,2,12,2,3,1,19,1,13,2,11, - 1,15,2,12,1,15,1,19,2,16,1,16,1,16,1,16, - 1,22,2,19,1,19,1,12,1,13,1,12,1,117,6,0, - 0,0,95,115,101,116,117,112,99,2,0,0,0,0,0,0, + 5,0,124,6,0,124,7,0,131,3,0,1,113,202,0,87, + 100,7,0,100,8,0,103,1,0,102,2,0,100,9,0,100, + 10,0,100,8,0,103,2,0,102,2,0,102,2,0,125,8, + 0,120,149,0,124,8,0,68,93,129,0,92,2,0,125,9, + 0,125,10,0,116,20,0,100,11,0,100,12,0,132,0,0, + 124,10,0,68,131,1,0,131,1,0,115,101,1,116,21,0, + 130,1,0,124,10,0,100,13,0,25,125,11,0,124,9,0, + 116,1,0,106,8,0,107,6,0,114,143,1,116,1,0,106, + 8,0,124,9,0,25,125,12,0,80,113,58,1,121,20,0, + 116,13,0,106,18,0,124,9,0,131,1,0,125,12,0,80, + 87,113,58,1,4,116,22,0,107,10,0,114,186,1,1,1, + 1,119,58,1,89,113,58,1,88,113,58,1,87,116,22,0, + 100,14,0,131,1,0,130,1,0,121,19,0,116,13,0,106, + 18,0,100,15,0,131,1,0,125,13,0,87,110,24,0,4, + 116,22,0,107,10,0,114,248,1,1,1,1,100,2,0,125, + 13,0,89,110,1,0,88,116,13,0,106,18,0,100,16,0, + 131,1,0,125,14,0,124,9,0,100,9,0,107,2,0,114, + 54,2,116,13,0,106,18,0,100,17,0,131,1,0,125,15, + 0,116,19,0,124,5,0,100,18,0,124,15,0,131,3,0, + 1,110,0,0,116,19,0,124,5,0,100,19,0,124,12,0, + 131,3,0,1,116,19,0,124,5,0,100,15,0,124,13,0, + 131,3,0,1,116,19,0,124,5,0,100,16,0,124,14,0, + 131,3,0,1,116,19,0,124,5,0,100,20,0,124,11,0, + 131,3,0,1,116,19,0,124,5,0,100,21,0,100,22,0, + 106,23,0,124,10,0,131,1,0,131,3,0,1,116,19,0, + 124,5,0,100,23,0,116,24,0,131,0,0,131,3,0,1, + 116,25,0,106,26,0,116,0,0,106,27,0,131,0,0,131, + 1,0,1,124,9,0,100,9,0,107,2,0,114,233,2,116, + 28,0,106,29,0,100,24,0,131,1,0,1,100,25,0,116, + 25,0,107,6,0,114,233,2,100,26,0,116,30,0,95,31, + 0,113,233,2,110,0,0,100,2,0,83,40,28,0,0,0, + 117,250,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,95,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,114, + 149,0,0,0,78,114,48,0,0,0,114,170,0,0,0,244, + 8,0,0,0,98,117,105,108,116,105,110,115,114,186,0,0, + 0,116,5,0,0,0,112,111,115,105,120,245,1,0,0,0, + 47,244,2,0,0,0,110,116,245,1,0,0,0,92,99,1, + 0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,115, + 0,0,0,115,33,0,0,0,124,0,0,93,23,0,125,1, + 0,116,0,0,124,1,0,131,1,0,100,0,0,107,2,0, + 86,1,113,3,0,100,1,0,83,40,2,0,0,0,114,29, + 0,0,0,78,40,1,0,0,0,114,31,0,0,0,40,2, + 0,0,0,114,22,0,0,0,114,118,0,0,0,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,114,2,1,0, + 0,210,6,0,0,115,2,0,0,0,6,0,117,25,0,0, + 0,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,71,0,0,0,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,114,72,0,0,0,114,95,0,0,0,116,6,0,0, + 0,119,105,110,114,101,103,114,206,0,0,0,114,3,0,0, + 0,114,25,0,0,0,114,21,0,0,0,114,30,0,0,0, + 114,6,0,0,0,117,4,0,0,0,46,112,121,119,117,6, + 0,0,0,95,100,46,112,121,100,84,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,32, + 0,0,0,114,97,0,0,0,114,7,0,0,0,114,105,0, + 0,0,114,106,0,0,0,114,108,0,0,0,114,75,1,0, + 0,114,107,0,0,0,114,65,0,0,0,114,152,0,0,0, + 244,5,0,0,0,105,116,101,109,115,114,187,0,0,0,114, + 61,0,0,0,114,163,0,0,0,114,194,0,0,0,114,149, + 0,0,0,114,166,0,0,0,114,202,0,0,0,114,56,0, + 0,0,114,198,0,0,0,114,60,0,0,0,244,3,0,0, + 0,97,108,108,114,89,0,0,0,114,154,0,0,0,114,26, + 0,0,0,114,11,0,0,0,114,4,1,0,0,114,192,0, + 0,0,114,74,1,0,0,114,122,0,0,0,114,251,0,0, + 0,114,205,0,0,0,114,209,0,0,0,40,16,0,0,0, + 244,10,0,0,0,115,121,115,95,109,111,100,117,108,101,244, + 11,0,0,0,95,105,109,112,95,109,111,100,117,108,101,116, + 11,0,0,0,109,111,100,117,108,101,95,116,121,112,101,114, + 66,0,0,0,114,145,0,0,0,116,11,0,0,0,115,101, + 108,102,95,109,111,100,117,108,101,116,12,0,0,0,98,117, + 105,108,116,105,110,95,110,97,109,101,116,14,0,0,0,98, + 117,105,108,116,105,110,95,109,111,100,117,108,101,116,10,0, + 0,0,111,115,95,100,101,116,97,105,108,115,116,10,0,0, + 0,98,117,105,108,116,105,110,95,111,115,114,21,0,0,0, + 114,25,0,0,0,116,9,0,0,0,111,115,95,109,111,100, + 117,108,101,116,13,0,0,0,116,104,114,101,97,100,95,109, + 111,100,117,108,101,116,14,0,0,0,119,101,97,107,114,101, + 102,95,109,111,100,117,108,101,116,13,0,0,0,119,105,110, + 114,101,103,95,109,111,100,117,108,101,114,4,0,0,0,114, + 4,0,0,0,114,5,0,0,0,244,6,0,0,0,95,115, + 101,116,117,112,173,6,0,0,115,102,0,0,0,0,9,6, + 1,6,2,12,1,9,2,6,2,12,1,28,1,15,1,24, + 1,15,1,12,1,15,1,22,2,13,1,13,1,15,1,18, + 2,13,1,20,2,33,1,19,2,31,1,10,1,15,1,13, + 1,4,2,3,1,15,1,5,1,13,1,12,2,12,2,3, + 1,19,1,13,2,11,1,15,2,12,1,15,1,19,2,16, + 1,16,1,16,1,16,1,25,2,19,1,19,1,12,1,13, + 1,12,1,114,86,1,0,0,99,2,0,0,0,0,0,0, 0,3,0,0,0,3,0,0,0,67,0,0,0,115,136,0, 0,0,116,0,0,124,0,0,124,1,0,131,2,0,1,116, 1,0,131,0,0,125,2,0,116,2,0,106,3,0,106,4, @@ -4304,131 +3489,55 @@ unsigned char _Py_M__importlib[] = { 50,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,117,2,0,0,0,110,116,78,40,15, - 0,0,0,117,6,0,0,0,95,115,101,116,117,112,117,27, - 0,0,0,95,103,101,116,95,115,117,112,112,111,114,116,101, - 100,95,102,105,108,101,95,108,111,97,100,101,114,115,117,3, - 0,0,0,115,121,115,117,10,0,0,0,112,97,116,104,95, - 104,111,111,107,115,117,6,0,0,0,101,120,116,101,110,100, - 117,10,0,0,0,70,105,108,101,70,105,110,100,101,114,117, - 9,0,0,0,112,97,116,104,95,104,111,111,107,117,9,0, - 0,0,109,101,116,97,95,112,97,116,104,117,6,0,0,0, - 97,112,112,101,110,100,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,3,0, - 0,0,95,111,115,117,8,0,0,0,95,95,110,97,109,101, - 95,95,117,21,0,0,0,87,105,110,100,111,119,115,82,101, - 103,105,115,116,114,121,70,105,110,100,101,114,117,10,0,0, - 0,80,97,116,104,70,105,110,100,101,114,40,3,0,0,0, - 117,10,0,0,0,115,121,115,95,109,111,100,117,108,101,117, - 11,0,0,0,95,105,109,112,95,109,111,100,117,108,101,117, - 17,0,0,0,115,117,112,112,111,114,116,101,100,95,108,111, - 97,100,101,114,115,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,235,6, - 0,0,115,16,0,0,0,0,2,13,1,9,1,28,1,16, - 1,16,1,15,1,19,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,74,0,0,0,117,7,0, - 0,0,95,95,100,111,99,95,95,117,27,0,0,0,95,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,11,0,0,0,95,112,97,116,104,95, - 115,112,108,105,116,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,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, - 10,0,0,0,95,99,111,100,101,95,116,121,112,101,117,10, - 0,0,0,110,101,119,95,109,111,100,117,108,101,117,13,0, - 0,0,95,109,111,100,117,108,101,95,108,111,99,107,115,117, - 12,0,0,0,95,98,108,111,99,107,105,110,103,95,111,110, - 117,12,0,0,0,82,117,110,116,105,109,101,69,114,114,111, - 114,117,14,0,0,0,95,68,101,97,100,108,111,99,107,69, - 114,114,111,114,117,11,0,0,0,95,77,111,100,117,108,101, - 76,111,99,107,117,16,0,0,0,95,68,117,109,109,121,77, - 111,100,117,108,101,76,111,99,107,117,16,0,0,0,95,103, - 101,116,95,109,111,100,117,108,101,95,108,111,99,107,117,19, - 0,0,0,95,108,111,99,107,95,117,110,108,111,99,107,95, - 109,111,100,117,108,101,117,25,0,0,0,95,99,97,108,108, - 95,119,105,116,104,95,102,114,97,109,101,115,95,114,101,109, - 111,118,101,100,117,3,0,0,0,111,114,100,117,17,0,0, - 0,95,82,65,87,95,77,65,71,73,67,95,78,85,77,66, - 69,82,117,5,0,0,0,98,121,116,101,115,117,5,0,0, - 0,114,97,110,103,101,117,12,0,0,0,95,77,65,71,73, - 67,95,66,89,84,69,83,117,8,0,0,0,95,80,89,67, - 65,67,72,69,117,15,0,0,0,83,79,85,82,67,69,95, - 83,85,70,70,73,88,69,83,117,23,0,0,0,68,69,66, - 85,71,95,66,89,84,69,67,79,68,69,95,83,85,70,70, - 73,88,69,83,117,27,0,0,0,79,80,84,73,77,73,90, - 69,68,95,66,89,84,69,67,79,68,69,95,83,85,70,70, - 73,88,69,83,117,4,0,0,0,78,111,110,101,117,17,0, - 0,0,99,97,99,104,101,95,102,114,111,109,95,115,111,117, - 114,99,101,117,17,0,0,0,115,111,117,114,99,101,95,102, - 114,111,109,95,99,97,99,104,101,117,15,0,0,0,95,103, - 101,116,95,115,111,117,114,99,101,102,105,108,101,117,16,0, - 0,0,95,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,17,0,0,0,95,102,105,110,100,95,109,111,100, - 117,108,101,95,115,104,105,109,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, - 21,0,0,0,87,105,110,100,111,119,115,82,101,103,105,115, - 116,114,121,70,105,110,100,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,10,0,0, - 0,70,105,108,101,76,111,97,100,101,114,117,16,0,0,0, - 83,111,117,114,99,101,70,105,108,101,76,111,97,100,101,114, - 117,20,0,0,0,83,111,117,114,99,101,108,101,115,115,70, - 105,108,101,76,111,97,100,101,114,117,18,0,0,0,69,88, - 84,69,78,83,73,79,78,95,83,85,70,70,73,88,69,83, - 117,19,0,0,0,69,120,116,101,110,115,105,111,110,70,105, - 108,101,76,111,97,100,101,114,117,14,0,0,0,95,78,97, - 109,101,115,112,97,99,101,80,97,116,104,117,15,0,0,0, - 78,97,109,101,115,112,97,99,101,76,111,97,100,101,114,117, - 10,0,0,0,80,97,116,104,70,105,110,100,101,114,117,10, - 0,0,0,70,105,108,101,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,8,0,0,0,95,69, - 82,82,95,77,83,71,117,23,0,0,0,95,102,105,110,100, - 95,97,110,100,95,108,111,97,100,95,117,110,108,111,99,107, - 101,100,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,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,27,0,0,0,95,103,101,116,95,115,117,112,112,111,114, - 116,101,100,95,102,105,108,101,95,108,111,97,100,101,114,115, - 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,132,0,0,0,6,21, - 6,3,12,13,12,16,12,13,12,12,12,12,12,10,12,6, - 12,7,15,22,12,8,15,3,12,12,6,2,6,3,22,4, - 19,68,19,23,12,19,12,20,12,100,34,1,37,2,6,2, - 9,2,9,1,9,2,15,27,12,23,12,21,18,8,12,13, - 12,11,12,55,12,18,12,11,12,11,12,17,19,57,19,54, - 19,50,19,83,22,134,19,29,25,49,25,25,6,3,19,45, - 19,55,19,18,19,91,19,128,19,13,12,9,12,17,12,17, - 6,2,12,50,12,13,18,24,12,34,12,15,12,11,24,36, - 12,79, + 109,112,111,114,116,46,114,80,1,0,0,78,40,15,0,0, + 0,114,86,1,0,0,114,215,0,0,0,114,7,0,0,0, + 114,26,1,0,0,114,192,0,0,0,114,33,1,0,0,114, + 47,1,0,0,114,55,1,0,0,114,251,0,0,0,114,194, + 0,0,0,114,202,0,0,0,114,3,0,0,0,114,56,0, + 0,0,114,205,0,0,0,114,21,1,0,0,40,3,0,0, + 0,114,84,1,0,0,114,85,1,0,0,116,17,0,0,0, + 115,117,112,112,111,114,116,101,100,95,108,111,97,100,101,114, + 115,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, + 244,8,0,0,0,95,105,110,115,116,97,108,108,249,6,0, + 0,115,16,0,0,0,0,2,13,1,9,1,28,1,16,1, + 16,1,15,1,19,1,114,87,1,0,0,40,3,0,0,0, + 117,3,0,0,0,119,105,110,114,1,0,0,0,114,2,0, + 0,0,40,77,0,0,0,114,58,0,0,0,114,10,0,0, + 0,114,11,0,0,0,114,17,0,0,0,114,19,0,0,0, + 114,28,0,0,0,114,38,0,0,0,114,43,0,0,0,114, + 44,0,0,0,114,45,0,0,0,114,54,0,0,0,114,64, + 0,0,0,114,65,0,0,0,244,8,0,0,0,95,95,99, + 111,100,101,95,95,114,188,0,0,0,114,67,0,0,0,114, + 92,0,0,0,114,81,0,0,0,114,88,0,0,0,114,68, + 0,0,0,114,70,0,0,0,114,91,0,0,0,114,96,0, + 0,0,114,99,0,0,0,114,102,0,0,0,114,15,0,0, + 0,114,181,0,0,0,114,14,0,0,0,114,18,0,0,0, + 116,17,0,0,0,95,82,65,87,95,77,65,71,73,67,95, + 78,85,77,66,69,82,114,113,0,0,0,114,122,0,0,0, + 114,107,0,0,0,114,108,0,0,0,114,120,0,0,0,114, + 123,0,0,0,114,131,0,0,0,114,133,0,0,0,114,141, + 0,0,0,114,148,0,0,0,114,151,0,0,0,114,159,0, + 0,0,114,162,0,0,0,114,165,0,0,0,114,168,0,0, + 0,114,176,0,0,0,114,185,0,0,0,114,190,0,0,0, + 114,193,0,0,0,114,194,0,0,0,114,202,0,0,0,114, + 205,0,0,0,114,218,0,0,0,114,224,0,0,0,114,244, + 0,0,0,114,248,0,0,0,114,254,0,0,0,114,4,1, + 0,0,114,255,0,0,0,114,5,1,0,0,114,20,1,0, + 0,114,21,1,0,0,114,33,1,0,0,114,48,1,0,0, + 114,54,1,0,0,114,56,1,0,0,114,59,1,0,0,114, + 60,1,0,0,114,63,1,0,0,114,64,1,0,0,114,65, + 1,0,0,114,71,1,0,0,114,73,1,0,0,114,215,0, + 0,0,114,77,1,0,0,114,86,1,0,0,114,87,1,0, + 0,114,4,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,244,8,0,0,0,60,109,111,100,117,108, + 101,62,8,0,0,0,115,140,0,0,0,6,21,6,3,12, + 13,12,10,12,9,12,6,12,12,12,10,12,6,12,7,15, + 22,12,8,15,3,12,12,6,2,6,3,22,4,19,68,19, + 23,12,19,12,20,12,109,22,1,18,2,6,2,9,2,9, + 1,9,2,15,27,12,23,12,21,12,12,18,8,12,13,12, + 11,12,55,12,18,12,11,12,11,12,13,21,55,21,12,18, + 12,19,57,19,54,19,50,19,34,22,132,19,29,25,43,25, + 19,6,3,19,45,19,55,19,18,19,91,19,128,19,13,12, + 9,12,17,12,17,6,2,12,50,12,13,18,24,12,34,12, + 15,12,11,24,36,12,76, }; diff --git a/Python/marshal.c b/Python/marshal.c index 959f3f7f2c..3e13851704 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -1,8 +1,10 @@ /* Write Python objects to files and read them back. - This is intended for writing and reading compiled Python code only; - a true persistent storage facility would be much harder, since - it would have to take circular links and sharing into account. */ + This is primarily intended for writing and reading compiled Python code, + even though dicts, lists, sets and frozensets, not commonly seen in + code objects, are supported. + Version 3 of this protocol properly supports circular links + and sharing. */ #define PY_SSIZE_T_CLEAN @@ -31,16 +33,14 @@ #define TYPE_STOPITER 'S' #define TYPE_ELLIPSIS '.' #define TYPE_INT 'i' -/* TYPE_INT64 is deprecated. It is not - generated anymore, and support for reading it - will be removed in Python 3.4. */ -#define TYPE_INT64 'I' #define TYPE_FLOAT 'f' #define TYPE_BINARY_FLOAT 'g' #define TYPE_COMPLEX 'x' #define TYPE_BINARY_COMPLEX 'y' #define TYPE_LONG 'l' #define TYPE_STRING 's' +#define TYPE_INTERNED 't' +#define TYPE_REF 'r' #define TYPE_TUPLE '(' #define TYPE_LIST '[' #define TYPE_DICT '{' @@ -49,6 +49,7 @@ #define TYPE_UNKNOWN '?' #define TYPE_SET '<' #define TYPE_FROZENSET '>' +#define FLAG_REF '\x80' /* with a type, add obj to index */ #define WFERR_OK 0 #define WFERR_UNMARSHALLABLE 1 @@ -65,6 +66,7 @@ typedef struct { PyObject *current_filename; char *ptr; char *end; + PyObject *refs; /* dict on marshal, list on unmarshal */ int version; } WFILE; @@ -151,13 +153,17 @@ w_long(long x, WFILE *p) #endif #define PyLong_MARSHAL_RATIO (PyLong_SHIFT / PyLong_MARSHAL_SHIFT) +#define W_TYPE(t, p) do { \ + w_byte((t) | flag, (p)); \ +} while(0) + static void -w_PyLong(const PyLongObject *ob, WFILE *p) +w_PyLong(const PyLongObject *ob, char flag, WFILE *p) { Py_ssize_t i, j, n, l; digit d; - w_byte(TYPE_LONG, p); + W_TYPE(TYPE_LONG, p); if (Py_SIZE(ob) == 0) { w_long((long)0, p); return; @@ -194,10 +200,64 @@ w_PyLong(const PyLongObject *ob, WFILE *p) } while (d != 0); } +static int +w_ref(PyObject *v, char *flag, WFILE *p) +{ + PyObject *id; + PyObject *idx; + + if (p->version < 3 || p->refs == NULL) + return 0; /* not writing object references */ + + /* if it has only one reference, it definitely isn't shared */ + if (Py_REFCNT(v) == 1) + return 0; + + id = PyLong_FromVoidPtr((void*)v); + if (id == NULL) + goto err; + idx = PyDict_GetItem(p->refs, id); + if (idx != NULL) { + /* write the reference index to the stream */ + long w = PyLong_AsLong(idx); + Py_DECREF(id); + if (w == -1 && PyErr_Occurred()) { + goto err; + } + /* we don't store "long" indices in the dict */ + assert(0 <= w && w <= 0x7fffffff); + w_byte(TYPE_REF, p); + w_long(w, p); + return 1; + } else { + int ok; + Py_ssize_t s = PyDict_Size(p->refs); + /* we don't support long indices */ + if (s >= 0x7fffffff) { + PyErr_SetString(PyExc_ValueError, "too many objects"); + goto err; + } + idx = PyLong_FromSsize_t(s); + ok = idx && PyDict_SetItem(p->refs, id, idx) == 0; + Py_DECREF(id); + Py_XDECREF(idx); + if (!ok) + goto err; + *flag |= FLAG_REF; + return 0; + } +err: + p->error = WFERR_UNMARSHALLABLE; + return 1; +} + +static void +w_complex_object(PyObject *v, char flag, WFILE *p); + static void w_object(PyObject *v, WFILE *p) { - Py_ssize_t i, n; + char flag = '\0'; p->depth++; @@ -222,24 +282,35 @@ w_object(PyObject *v, WFILE *p) else if (v == Py_True) { w_byte(TYPE_TRUE, p); } - else if (PyLong_CheckExact(v)) { + else if (!w_ref(v, &flag, p)) + w_complex_object(v, flag, p); + + p->depth--; +} + +static void +w_complex_object(PyObject *v, char flag, WFILE *p) +{ + Py_ssize_t i, n; + + if (PyLong_CheckExact(v)) { long x = PyLong_AsLong(v); if ((x == -1) && PyErr_Occurred()) { PyLongObject *ob = (PyLongObject *)v; PyErr_Clear(); - w_PyLong(ob, p); + w_PyLong(ob, flag, p); } else { #if SIZEOF_LONG > 4 long y = Py_ARITHMETIC_RIGHT_SHIFT(long, x, 31); if (y && y != -1) { /* Too large for TYPE_INT */ - w_PyLong((PyLongObject*)v, p); + w_PyLong((PyLongObject*)v, flag, p); } else #endif { - w_byte(TYPE_INT, p); + W_TYPE(TYPE_INT, p); w_long(x, p); } } @@ -252,7 +323,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_BINARY_FLOAT, p); + W_TYPE(TYPE_BINARY_FLOAT, p); w_string((char*)buf, 8, p); } else { @@ -263,7 +334,7 @@ w_object(PyObject *v, WFILE *p) return; } n = strlen(buf); - w_byte(TYPE_FLOAT, p); + W_TYPE(TYPE_FLOAT, p); w_byte((int)n, p); w_string(buf, n, p); PyMem_Free(buf); @@ -277,7 +348,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_BINARY_COMPLEX, p); + W_TYPE(TYPE_BINARY_COMPLEX, p); w_string((char*)buf, 8, p); if (_PyFloat_Pack8(PyComplex_ImagAsDouble(v), buf, 1) < 0) { @@ -288,7 +359,7 @@ w_object(PyObject *v, WFILE *p) } else { char *buf; - w_byte(TYPE_COMPLEX, p); + W_TYPE(TYPE_COMPLEX, p); buf = PyOS_double_to_string(PyComplex_RealAsDouble(v), 'g', 17, 0, NULL); if (!buf) { @@ -312,7 +383,7 @@ w_object(PyObject *v, WFILE *p) } } else if (PyBytes_CheckExact(v)) { - w_byte(TYPE_STRING, p); + W_TYPE(TYPE_STRING, p); n = PyBytes_GET_SIZE(v); W_SIZE(n, p); w_string(PyBytes_AS_STRING(v), n, p); @@ -325,14 +396,17 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_UNICODE, p); + if (p->version >= 3 && PyUnicode_CHECK_INTERNED(v)) + W_TYPE(TYPE_INTERNED, p); + else + W_TYPE(TYPE_UNICODE, p); n = PyBytes_GET_SIZE(utf8); W_SIZE(n, p); w_string(PyBytes_AS_STRING(utf8), n, p); Py_DECREF(utf8); } else if (PyTuple_CheckExact(v)) { - w_byte(TYPE_TUPLE, p); + W_TYPE(TYPE_TUPLE, p); n = PyTuple_Size(v); W_SIZE(n, p); for (i = 0; i < n; i++) { @@ -340,7 +414,7 @@ w_object(PyObject *v, WFILE *p) } } else if (PyList_CheckExact(v)) { - w_byte(TYPE_LIST, p); + W_TYPE(TYPE_LIST, p); n = PyList_GET_SIZE(v); W_SIZE(n, p); for (i = 0; i < n; i++) { @@ -350,7 +424,7 @@ w_object(PyObject *v, WFILE *p) else if (PyDict_CheckExact(v)) { Py_ssize_t pos; PyObject *key, *value; - w_byte(TYPE_DICT, p); + W_TYPE(TYPE_DICT, p); /* This one is NULL object terminated! */ pos = 0; while (PyDict_Next(v, &pos, &key, &value)) { @@ -363,9 +437,9 @@ w_object(PyObject *v, WFILE *p) PyObject *value, *it; if (PyObject_TypeCheck(v, &PySet_Type)) - w_byte(TYPE_SET, p); + W_TYPE(TYPE_SET, p); else - w_byte(TYPE_FROZENSET, p); + W_TYPE(TYPE_FROZENSET, p); n = PyObject_Size(v); if (n == -1) { p->depth--; @@ -392,7 +466,7 @@ w_object(PyObject *v, WFILE *p) } else if (PyCode_Check(v)) { PyCodeObject *co = (PyCodeObject *)v; - w_byte(TYPE_CODE, p); + W_TYPE(TYPE_CODE, p); w_long(co->co_argcount, p); w_long(co->co_kwonlyargcount, p); w_long(co->co_nlocals, p); @@ -419,7 +493,7 @@ w_object(PyObject *v, WFILE *p) p->error = WFERR_UNMARSHALLABLE; return; } - w_byte(TYPE_STRING, p); + W_TYPE(TYPE_STRING, p); n = view.len; s = view.buf; W_SIZE(n, p); @@ -427,10 +501,9 @@ w_object(PyObject *v, WFILE *p) PyBuffer_Release(&view); } else { - w_byte(TYPE_UNKNOWN, p); + W_TYPE(TYPE_UNKNOWN, p); p->error = WFERR_UNMARSHALLABLE; } - p->depth--; } /* version currently has no effect for writing longs. */ @@ -441,6 +514,7 @@ PyMarshal_WriteLongToFile(long x, FILE *fp, int version) wf.fp = fp; wf.error = WFERR_OK; wf.depth = 0; + wf.refs = NULL; wf.version = version; w_long(x, &wf); } @@ -452,8 +526,14 @@ PyMarshal_WriteObjectToFile(PyObject *x, FILE *fp, int version) wf.fp = fp; wf.error = WFERR_OK; wf.depth = 0; + if (version >= 3) { + if ((wf.refs = PyDict_New()) == NULL) + return; /* caller mush check PyErr_Occurred() */ + } else + wf.refs = NULL; wf.version = version; w_object(x, &wf); + Py_XDECREF(wf.refs); } typedef WFILE RFILE; /* Same struct with different invariants */ @@ -489,7 +569,7 @@ r_string(char *s, Py_ssize_t n, RFILE *p) data->ob_type->tp_name); } else { - read = PyBytes_GET_SIZE(data); + read = (int)PyBytes_GET_SIZE(data); if (read > 0) { ptr = PyBytes_AS_STRING(data); memcpy(s, ptr, read); @@ -554,42 +634,6 @@ r_long(RFILE *p) return x; } -/* r_long64 deals with the TYPE_INT64 code. On a machine with - sizeof(long) > 4, it returns a Python int object, else a Python long - object. Note that w_long64 writes out TYPE_INT if 32 bits is enough, - so there's no inefficiency here in returning a PyLong on 32-bit boxes - for everything written via TYPE_INT64 (i.e., if an int is written via - TYPE_INT64, it *needs* more than 32 bits). -*/ -static PyObject * -r_long64(RFILE *p) -{ - PyObject *result = NULL; - long lo4 = r_long(p); - long hi4 = r_long(p); - - if (!PyErr_Occurred()) { -#if SIZEOF_LONG > 4 - long x = (hi4 << 32) | (lo4 & 0xFFFFFFFFL); - result = PyLong_FromLong(x); -#else - unsigned char buf[8]; - int one = 1; - int is_little_endian = (int)*(char*)&one; - if (is_little_endian) { - memcpy(buf, &lo4, 4); - memcpy(buf+4, &hi4, 4); - } - else { - memcpy(buf, &hi4, 4); - memcpy(buf+4, &lo4, 4); - } - result = _PyLong_FromByteArray(buf, 8, is_little_endian, 1); -#endif - } - return result; -} - static PyObject * r_PyLong(RFILE *p) { @@ -659,6 +703,62 @@ r_PyLong(RFILE *p) return NULL; } +/* allocate the reflist index for a new object. Return -1 on failure */ +static Py_ssize_t +r_ref_reserve(int flag, RFILE *p) +{ + if (flag) { /* currently only FLAG_REF is defined */ + Py_ssize_t idx = PyList_Size(p->refs); + if (idx < 0) + return -1; + if (idx >= 0x7ffffffe) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (index list too large)"); + return -1; + } + if (PyList_Append(p->refs, Py_None) < 0) + return -1; + return idx; + } else + return 0; +} + +/* insert the new object 'o' to the reflist at previously + * allocated index 'idx'. + * 'o' can be NULL, in which case nothing is done. + * if 'o' was non-NULL, and the function succeeds, 'o' is returned. + * if 'o' was non-NULL, and the function fails, 'o' is released and + * NULL returned. This simplifies error checking at the call site since + * a single test for NULL for the function result is enough. + */ +static PyObject * +r_ref_insert(PyObject *o, Py_ssize_t idx, int flag, RFILE *p) +{ + if (o != NULL && flag) { /* currently only FLAG_REF is defined */ + if (PyList_SetItem(p->refs, idx, o) < 0) { + Py_DECREF(o); /* release the new object */ + return NULL; + } else { + Py_INCREF(o); /* a reference for the list */ + } + } + return o; +} + +/* combination of both above, used when an object can be + * created whenever it is seen in the file, as opposed to + * after having loaded its sub-objects. + */ +static PyObject * +r_ref(PyObject *o, int flag, RFILE *p) +{ + if (o != NULL && flag) { /* currently only FLAG_REF is defined */ + if (PyList_Append(p->refs, o) < 0) { + Py_DECREF(o); /* release the new object */ + return NULL; + } + } + return o; +} static PyObject * r_object(RFILE *p) @@ -666,10 +766,18 @@ r_object(RFILE *p) /* NULL is a valid return value, it does not necessarily means that an exception is set. */ PyObject *v, *v2; + Py_ssize_t idx = 0; long i, n; - int type = r_byte(p); + int type, code = r_byte(p); + int flag; PyObject *retval; + if (code == EOF) { + PyErr_SetString(PyExc_EOFError, + "EOF read where object expected"); + return NULL; + } + p->depth++; if (p->depth > MAX_MARSHAL_STACK_DEPTH) { @@ -678,13 +786,15 @@ r_object(RFILE *p) return NULL; } - switch (type) { + flag = code & FLAG_REF; + type = code & ~FLAG_REF; - case EOF: - PyErr_SetString(PyExc_EOFError, - "EOF read where object expected"); - retval = NULL; - break; +#define R_REF(O) do{\ + if (flag) \ + O = r_ref(O, flag, p);\ +} while (0) + + switch (type) { case TYPE_NULL: retval = NULL; @@ -718,14 +828,12 @@ r_object(RFILE *p) case TYPE_INT: n = r_long(p); retval = PyErr_Occurred() ? NULL : PyLong_FromLong(n); - break; - - case TYPE_INT64: - retval = r_long64(p); + R_REF(retval); break; case TYPE_LONG: retval = r_PyLong(p); + R_REF(retval); break; case TYPE_FLOAT: @@ -744,6 +852,7 @@ r_object(RFILE *p) if (dx == -1.0 && PyErr_Occurred()) break; retval = PyFloat_FromDouble(dx); + R_REF(retval); break; } @@ -763,6 +872,7 @@ r_object(RFILE *p) break; } retval = PyFloat_FromDouble(x); + R_REF(retval); break; } @@ -792,6 +902,7 @@ r_object(RFILE *p) if (c.imag == -1.0 && PyErr_Occurred()) break; retval = PyComplex_FromCComplex(c); + R_REF(retval); break; } @@ -822,6 +933,7 @@ r_object(RFILE *p) break; } retval = PyComplex_FromCComplex(c); + R_REF(retval); break; } @@ -849,9 +961,11 @@ r_object(RFILE *p) break; } retval = v; + R_REF(retval); break; case TYPE_UNICODE: + case TYPE_INTERNED: { char *buffer; @@ -879,7 +993,10 @@ r_object(RFILE *p) } v = PyUnicode_DecodeUTF8(buffer, n, "surrogatepass"); PyMem_DEL(buffer); + if (type == TYPE_INTERNED) + PyUnicode_InternInPlace(&v); retval = v; + R_REF(retval); break; } @@ -895,6 +1012,7 @@ r_object(RFILE *p) break; } v = PyTuple_New(n); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -926,6 +1044,7 @@ r_object(RFILE *p) break; } v = PyList_New(n); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -947,6 +1066,7 @@ r_object(RFILE *p) case TYPE_DICT: v = PyDict_New(); + R_REF(v); if (v == NULL) { retval = NULL; break; @@ -982,6 +1102,16 @@ r_object(RFILE *p) break; } v = (type == TYPE_SET) ? PySet_New(NULL) : PyFrozenSet_New(NULL); + if (type == TYPE_SET) { + R_REF(v); + } else { + /* must use delayed registration of frozensets because they must + * be init with a refcount of 1 + */ + idx = r_ref_reserve(flag, p); + if (idx < 0) + Py_CLEAR(v); /* signal error */ + } if (v == NULL) { retval = NULL; break; @@ -1004,6 +1134,8 @@ r_object(RFILE *p) } Py_DECREF(v2); } + if (type != TYPE_SET) + v = r_ref_insert(v, idx, flag, p); retval = v; break; @@ -1025,6 +1157,12 @@ r_object(RFILE *p) int firstlineno; PyObject *lnotab = NULL; + idx = r_ref_reserve(flag, p); + if (idx < 0) { + retval = NULL; + break; + } + v = NULL; /* XXX ignore long->int overflows for now */ @@ -1090,6 +1228,7 @@ r_object(RFILE *p) code, consts, names, varnames, freevars, cellvars, filename, name, firstlineno, lnotab); + v = r_ref_insert(v, idx, flag, p); code_error: Py_XDECREF(code); @@ -1105,6 +1244,23 @@ r_object(RFILE *p) retval = v; break; + case TYPE_REF: + n = r_long(p); + if (n < 0 || n >= PyList_GET_SIZE(p->refs)) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (invalid reference)"); + retval = NULL; + break; + } + v = PyList_GET_ITEM(p->refs, n); + if (v == Py_None) { + PyErr_SetString(PyExc_ValueError, "bad marshal data (invalid reference)"); + retval = NULL; + break; + } + Py_INCREF(v); + retval = v; + break; + default: /* Bogus data got written, which isn't ideal. This will let you keep working and recover. */ @@ -1210,7 +1366,11 @@ PyMarshal_ReadObjectFromFile(FILE *fp) rf.current_filename = NULL; rf.depth = 0; rf.ptr = rf.end = NULL; + rf.refs = PyList_New(0); + if (rf.refs == NULL) + return NULL; result = r_object(&rf); + Py_DECREF(rf.refs); return result; } @@ -1225,7 +1385,11 @@ PyMarshal_ReadObjectFromString(char *str, Py_ssize_t len) rf.ptr = str; rf.end = str + len; rf.depth = 0; + rf.refs = PyList_New(0); + if (rf.refs == NULL) + return NULL; result = r_object(&rf); + Py_DECREF(rf.refs); return result; } @@ -1244,7 +1408,13 @@ PyMarshal_WriteObjectToString(PyObject *x, int version) wf.error = WFERR_OK; wf.depth = 0; wf.version = version; + if (version >= 3) { + if ((wf.refs = PyDict_New()) == NULL) + return NULL; + } else + wf.refs = NULL; w_object(x, &wf); + Py_XDECREF(wf.refs); if (wf.str != NULL) { char *base = PyBytes_AS_STRING((PyBytesObject *)wf.str); if (wf.ptr - base > PY_SSIZE_T_MAX) { @@ -1316,6 +1486,8 @@ marshal_load(PyObject *self, PyObject *f) * Make a call to the read method, but read zero bytes. * This is to ensure that the object passed in at least * has a read method which returns bytes. + * This can be removed if we guarantee good error handling + * for r_string() */ data = _PyObject_CallMethodId(f, &PyId_read, "i", 0); if (data == NULL) @@ -1331,7 +1503,11 @@ marshal_load(PyObject *self, PyObject *f) rf.fp = NULL; rf.readable = f; rf.current_filename = NULL; - result = read_object(&rf); + if ((rf.refs = PyList_New(0)) != NULL) { + result = read_object(&rf); + Py_DECREF(rf.refs); + } else + result = NULL; } Py_DECREF(data); return result; @@ -1388,8 +1564,11 @@ marshal_loads(PyObject *self, PyObject *args) rf.ptr = s; rf.end = s + n; rf.depth = 0; + if ((rf.refs = PyList_New(0)) == NULL) + return NULL; result = read_object(&rf); PyBuffer_Release(&p); + Py_DECREF(rf.refs); return result; } @@ -1429,6 +1608,7 @@ Variables:\n\ version -- indicates the format that the module uses. Version 0 is the\n\ historical format, version 1 shares interned strings and version 2\n\ uses a binary format for floating point numbers.\n\ + Version 3 shares common object references (New in version 3.4).\n\ \n\ Functions:\n\ \n\ diff --git a/Python/opcode_targets.h b/Python/opcode_targets.h index 2d6bcda513..645127e84f 100644 --- a/Python/opcode_targets.h +++ b/Python/opcode_targets.h @@ -147,7 +147,7 @@ static void *opcode_targets[256] = { &&TARGET_LIST_APPEND, &&TARGET_SET_ADD, &&TARGET_MAP_ADD, - &&_unknown_opcode, + &&TARGET_LOAD_CLASSDEREF, &&_unknown_opcode, &&_unknown_opcode, &&_unknown_opcode, diff --git a/Python/peephole.c b/Python/peephole.c index 5d536779ac..e6877bb3e6 100644 --- a/Python/peephole.c +++ b/Python/peephole.c @@ -327,37 +327,6 @@ markblocks(unsigned char *code, Py_ssize_t len) return blocks; } -/* Helper to replace LOAD_NAME None/True/False with LOAD_CONST - Returns: 0 if no change, 1 if change, -1 if error */ -static int -load_global(unsigned char *codestr, Py_ssize_t i, char *name, PyObject *consts) -{ - Py_ssize_t j; - PyObject *obj; - if (name == NULL) - return 0; - if (strcmp(name, "None") == 0) - obj = Py_None; - else if (strcmp(name, "True") == 0) - obj = Py_True; - else if (strcmp(name, "False") == 0) - obj = Py_False; - else - return 0; - for (j = 0; j < PyList_GET_SIZE(consts); j++) { - if (PyList_GET_ITEM(consts, j) == obj) - break; - } - if (j == PyList_GET_SIZE(consts)) { - if (PyList_Append(consts, obj) < 0) - return -1; - } - assert(PyList_GET_ITEM(consts, j) == obj); - codestr[i] = LOAD_CONST; - SETARG(codestr, i, j); - return 1; -} - /* Perform basic peephole optimizations to components of a code object. The consts object should still be in list form to allow new constants to be appended. @@ -392,7 +361,6 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, Py_ssize_t const_stack_size = 0; int in_consts = 0; /* whether we are in a LOAD_CONST sequence */ unsigned int *blocks = NULL; - char *name; /* Bail out if an exception is set */ if (PyErr_Occurred()) @@ -475,20 +443,6 @@ PyCode_Optimize(PyObject *code, PyObject* consts, PyObject *names, codestr[i+3] = NOP; break; - /* Replace LOAD_GLOBAL/LOAD_NAME None/True/False - with LOAD_CONST None/True/False */ - case LOAD_NAME: - case LOAD_GLOBAL: - j = GETARG(codestr, i); - name = _PyUnicode_AsString(PyTuple_GET_ITEM(names, j)); - h = load_global(codestr, i, name, consts); - if (h < 0) - goto exitError; - else if (h == 0) - continue; - CONST_STACK_PUSH_OP(i); - break; - /* Skip over LOAD_CONST trueconst POP_JUMP_IF_FALSE xx. This improves "while 1" performance. */ diff --git a/Python/pystate.c b/Python/pystate.c index cfd61d0098..70038936d6 100644 --- a/Python/pystate.c +++ b/Python/pystate.c @@ -697,6 +697,15 @@ PyGILState_GetThisThreadState(void) return (PyThreadState *)PyThread_get_key_value(autoTLSkey); } +int +PyGILState_Check(void) +{ + /* can't use PyThreadState_Get() since it will assert that it has the GIL */ + PyThreadState *tstate = (PyThreadState*)_Py_atomic_load_relaxed( + &_PyThreadState_Current); + return tstate && (tstate == PyGILState_GetThisThreadState()); +} + PyGILState_STATE PyGILState_Ensure(void) { diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 9ef653b57a..96b0988ec7 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -35,12 +35,30 @@ #define PATH_MAX MAXPATHLEN #endif +#ifdef Py_REF_DEBUG +static +void _print_total_refs(void) { + PyObject *xoptions, *key, *value; + xoptions = PySys_GetXOptions(); + if (xoptions == NULL) + return; + key = PyUnicode_FromString("showrefcount"); + if (key == NULL) + return; + value = PyDict_GetItem(xoptions, key); + Py_DECREF(key); + if (value == Py_True) + fprintf(stderr, + "[%" PY_FORMAT_SIZE_T "d refs, " + "%" PY_FORMAT_SIZE_T "d blocks]\n", + _Py_GetRefTotal(), _Py_GetAllocatedBlocks()); +} +#endif + #ifndef Py_REF_DEBUG #define PRINT_TOTAL_REFS() #else /* Py_REF_DEBUG */ -#define PRINT_TOTAL_REFS() fprintf(stderr, \ - "[%" PY_FORMAT_SIZE_T "d refs]\n", \ - _Py_GetRefTotal()) +#define PRINT_TOTAL_REFS() _print_total_refs() #endif #ifdef __cplusplus @@ -827,7 +845,7 @@ Py_GetPythonHome(void) static void initmain(PyInterpreterState *interp) { - PyObject *m, *d; + PyObject *m, *d, *loader; m = PyImport_AddModule("__main__"); if (m == NULL) Py_FatalError("can't create __main__ module"); @@ -848,7 +866,8 @@ initmain(PyInterpreterState *interp) * be set if __main__ gets further initialized later in the startup * process. */ - if (PyDict_GetItemString(d, "__loader__") == NULL) { + loader = PyDict_GetItemString(d, "__loader__"); + if (loader == NULL || loader == Py_None) { PyObject *loader = PyObject_GetAttrString(interp->importlib, "BuiltinImporter"); if (loader == NULL) { diff --git a/Python/random.c b/Python/random.c index 53518c2ebe..1ad4c3df7f 100644 --- a/Python/random.c +++ b/Python/random.c @@ -12,13 +12,6 @@ static int _Py_HashSecret_Initialized = 0; #endif #ifdef MS_WINDOWS -typedef BOOL (WINAPI *CRYPTACQUIRECONTEXTA)(HCRYPTPROV *phProv,\ - LPCSTR pszContainer, LPCSTR pszProvider, DWORD dwProvType,\ - DWORD dwFlags ); -typedef BOOL (WINAPI *CRYPTGENRANDOM)(HCRYPTPROV hProv, DWORD dwLen,\ - BYTE *pbBuffer ); - -static CRYPTGENRANDOM pCryptGenRandom = NULL; /* This handle is never explicitly released. Instead, the operating system will release it when the process terminates. */ static HCRYPTPROV hCryptProv = 0; @@ -26,29 +19,9 @@ static HCRYPTPROV hCryptProv = 0; static int win32_urandom_init(int raise) { - HINSTANCE hAdvAPI32 = NULL; - CRYPTACQUIRECONTEXTA pCryptAcquireContext = NULL; - - /* Obtain handle to the DLL containing CryptoAPI. This should not fail. */ - hAdvAPI32 = GetModuleHandle("advapi32.dll"); - if(hAdvAPI32 == NULL) - goto error; - - /* Obtain pointers to the CryptoAPI functions. This will fail on some early - versions of Win95. */ - pCryptAcquireContext = (CRYPTACQUIRECONTEXTA)GetProcAddress( - hAdvAPI32, "CryptAcquireContextA"); - if (pCryptAcquireContext == NULL) - goto error; - - pCryptGenRandom = (CRYPTGENRANDOM)GetProcAddress(hAdvAPI32, - "CryptGenRandom"); - if (pCryptGenRandom == NULL) - goto error; - /* Acquire context */ - if (! pCryptAcquireContext(&hCryptProv, NULL, NULL, - PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) + if (!CryptAcquireContext(&hCryptProv, NULL, NULL, + PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) goto error; return 0; @@ -77,7 +50,7 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise) while (size > 0) { chunk = size > INT_MAX ? INT_MAX : size; - if (!pCryptGenRandom(hCryptProv, chunk, buffer)) + if (!CryptGenRandom(hCryptProv, chunk, buffer)) { /* CryptGenRandom() failed */ if (raise) diff --git a/Python/symtable.c b/Python/symtable.c index 55898f99bf..b9ca615721 100644 --- a/Python/symtable.c +++ b/Python/symtable.c @@ -56,6 +56,8 @@ ste_new(struct symtable *st, identifier name, _Py_block_ty block, if (ste->ste_children == NULL) goto fail; + ste->ste_directives = NULL; + ste->ste_type = block; ste->ste_unoptimized = 0; ste->ste_nested = 0; @@ -102,6 +104,7 @@ ste_dealloc(PySTEntryObject *ste) Py_XDECREF(ste->ste_symbols); Py_XDECREF(ste->ste_varnames); Py_XDECREF(ste->ste_children); + Py_XDECREF(ste->ste_directives); PyObject_Del(ste); } @@ -342,6 +345,24 @@ PyST_GetScope(PySTEntryObject *ste, PyObject *name) return (PyLong_AS_LONG(v) >> SCOPE_OFFSET) & SCOPE_MASK; } +static int +error_at_directive(PySTEntryObject *ste, PyObject *name) +{ + Py_ssize_t i; + PyObject *data; + assert(ste->ste_directives); + for (i = 0; ; i++) { + data = PyList_GET_ITEM(ste->ste_directives, i); + assert(PyTuple_CheckExact(data)); + if (PyTuple_GET_ITEM(data, 0) == name) + break; + } + PyErr_SyntaxLocationEx(ste->ste_table->st_filename, + PyLong_AsLong(PyTuple_GET_ITEM(data, 1)), + PyLong_AsLong(PyTuple_GET_ITEM(data, 2))); + return 0; +} + /* Analyze raw symbol information to determine scope of each name. @@ -416,16 +437,13 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, PyErr_Format(PyExc_SyntaxError, "name '%U' is parameter and global", name); - PyErr_SyntaxLocationEx(ste->ste_table->st_filename, - ste->ste_lineno, ste->ste_col_offset); - - return 0; + return error_at_directive(ste, name); } if (flags & DEF_NONLOCAL) { PyErr_Format(PyExc_SyntaxError, "name '%U' is nonlocal and global", name); - return 0; + return error_at_directive(ste, name); } SET_SCOPE(scopes, name, GLOBAL_EXPLICIT); if (PySet_Add(global, name) < 0) @@ -439,19 +457,19 @@ analyze_name(PySTEntryObject *ste, PyObject *scopes, PyObject *name, long flags, PyErr_Format(PyExc_SyntaxError, "name '%U' is parameter and nonlocal", name); - return 0; + return error_at_directive(ste, name); } if (!bound) { PyErr_Format(PyExc_SyntaxError, "nonlocal declaration not allowed at module level"); - return 0; + return error_at_directive(ste, name); } if (!PySet_Contains(bound, name)) { PyErr_Format(PyExc_SyntaxError, "no binding for nonlocal '%U' found", name); - return 0; + return error_at_directive(ste, name); } SET_SCOPE(scopes, name, FREE); ste->ste_free = 1; @@ -1098,6 +1116,25 @@ symtable_new_tmpname(struct symtable *st) static int +symtable_record_directive(struct symtable *st, identifier name, stmt_ty s) +{ + PyObject *data; + int res; + if (!st->st_cur->ste_directives) { + st->st_cur->ste_directives = PyList_New(0); + if (!st->st_cur->ste_directives) + return 0; + } + data = Py_BuildValue("(Oii)", name, s->lineno, s->col_offset); + if (!data) + return 0; + res = PyList_Append(st->st_cur->ste_directives, data); + Py_DECREF(data); + return res == 0; +} + + +static int symtable_visit_stmt(struct symtable *st, stmt_ty s) { if (++st->recursion_depth > st->recursion_limit) { @@ -1257,6 +1294,8 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) } if (!symtable_add_def(st, name, DEF_GLOBAL)) VISIT_QUIT(st, 0); + if (!symtable_record_directive(st, name, s)) + VISIT_QUIT(st, 0); } break; } @@ -1286,6 +1325,8 @@ symtable_visit_stmt(struct symtable *st, stmt_ty s) } if (!symtable_add_def(st, name, DEF_NONLOCAL)) VISIT_QUIT(st, 0); + if (!symtable_record_directive(st, name, s)) + VISIT_QUIT(st, 0); } break; } @@ -1396,6 +1437,7 @@ symtable_visit_expr(struct symtable *st, expr_ty e) case Str_kind: case Bytes_kind: case Ellipsis_kind: + case NameConstant_kind: /* Nothing to do here. */ break; /* The following exprs can be assignment targets. */ @@ -1488,10 +1530,10 @@ symtable_visit_annotations(struct symtable *st, stmt_ty s) if (a->args && !symtable_visit_argannotations(st, a->args)) return 0; - if (a->varargannotation) - VISIT(st, expr, a->varargannotation); - if (a->kwargannotation) - VISIT(st, expr, a->kwargannotation); + if (a->vararg && a->vararg->annotation) + VISIT(st, expr, a->vararg->annotation); + if (a->kwarg && a->kwarg->annotation) + VISIT(st, expr, a->kwarg->annotation); if (a->kwonlyargs && !symtable_visit_argannotations(st, a->kwonlyargs)) return 0; if (s->v.FunctionDef.returns) @@ -1510,12 +1552,12 @@ symtable_visit_arguments(struct symtable *st, arguments_ty a) if (a->kwonlyargs && !symtable_visit_params(st, a->kwonlyargs)) return 0; if (a->vararg) { - if (!symtable_add_def(st, a->vararg, DEF_PARAM)) + if (!symtable_add_def(st, a->vararg->arg, DEF_PARAM)) return 0; st->st_cur->ste_varargs = 1; } if (a->kwarg) { - if (!symtable_add_def(st, a->kwarg, DEF_PARAM)) + if (!symtable_add_def(st, a->kwarg->arg, DEF_PARAM)) return 0; st->st_cur->ste_varkeywords = 1; } diff --git a/Python/sysmodule.c b/Python/sysmodule.c index 20bfa555b3..20792c243c 100644 --- a/Python/sysmodule.c +++ b/Python/sysmodule.c @@ -894,6 +894,19 @@ one higher than you might expect, because it includes the (temporary)\n\ reference as an argument to getrefcount()." ); +static PyObject * +sys_getallocatedblocks(PyObject *self) +{ + return PyLong_FromSsize_t(_Py_GetAllocatedBlocks()); +} + +PyDoc_STRVAR(getallocatedblocks_doc, +"getallocatedblocks() -> integer\n\ +\n\ +Return the number of memory blocks currently allocated, regardless of their\n\ +size." +); + #ifdef COUNT_ALLOCS static PyObject * sys_getcounts(PyObject *self) @@ -1062,6 +1075,8 @@ static PyMethodDef sys_methods[] = { {"getdlopenflags", (PyCFunction)sys_getdlopenflags, METH_NOARGS, getdlopenflags_doc}, #endif + {"getallocatedblocks", (PyCFunction)sys_getallocatedblocks, METH_NOARGS, + getallocatedblocks_doc}, #ifdef COUNT_ALLOCS {"getcounts", (PyCFunction)sys_getcounts, METH_NOARGS}, #endif @@ -1349,9 +1364,6 @@ static PyStructSequence_Field flags_fields[] = { {"no_site", "-S"}, {"ignore_environment", "-E"}, {"verbose", "-v"}, -#ifdef RISCOS - {"riscos_wimp", "???"}, -#endif /* {"unbuffered", "-u"}, */ /* {"skip_first", "-x"}, */ {"bytes_warning", "-b"}, @@ -1364,11 +1376,7 @@ static PyStructSequence_Desc flags_desc = { "sys.flags", /* name */ flags__doc__, /* doc */ flags_fields, /* fields */ -#ifdef RISCOS - 13 -#else 12 -#endif }; static PyObject* @@ -1393,9 +1401,6 @@ make_flags(void) SetFlag(Py_NoSiteFlag); SetFlag(Py_IgnoreEnvironmentFlag); SetFlag(Py_VerboseFlag); -#ifdef RISCOS - SetFlag(Py_RISCOSWimpFlag); -#endif /* SetFlag(saw_unbuffered_flag); */ /* SetFlag(skipfirstline); */ SetFlag(Py_BytesWarningFlag); @@ -1561,7 +1566,6 @@ PyObject * _PySys_Init(void) { PyObject *m, *v, *sysdict, *version_info; - char *s; m = PyModule_Create(&sysmodule); if (m == NULL) @@ -1638,20 +1642,14 @@ _PySys_Init(void) PyLong_FromLong(0x10FFFF)); SET_SYS_FROM_STRING("builtin_module_names", list_builtin_module_names()); - { - /* Assumes that longs are at least 2 bytes long. - Should be safe! */ - unsigned long number = 1; - char *value; - - s = (char *) &number; - if (s[0] == 0) - value = "big"; - else - value = "little"; - SET_SYS_FROM_STRING("byteorder", - PyUnicode_FromString(value)); - } +#if PY_BIG_ENDIAN + SET_SYS_FROM_STRING("byteorder", + PyUnicode_FromString("big")); +#else + SET_SYS_FROM_STRING("byteorder", + PyUnicode_FromString("little")); +#endif + #ifdef MS_COREDLL SET_SYS_FROM_STRING("dllhandle", PyLong_FromVoidPtr(PyWin_DLLhModule)); diff --git a/Python/thread.c b/Python/thread.c index e55d34244e..25ab16e647 100644 --- a/Python/thread.c +++ b/Python/thread.c @@ -91,10 +91,6 @@ static size_t _pythread_stacksize = 0; #include "thread_nt.h" #endif -#ifdef OS2_THREADS -#define PYTHREAD_NAME "os2" -#include "thread_os2.h" -#endif /* #ifdef FOOBAR_THREADS diff --git a/Python/thread_nt.h b/Python/thread_nt.h index 938bf1e3fe..bd604fbdd3 100644 --- a/Python/thread_nt.h +++ b/Python/thread_nt.h @@ -130,7 +130,7 @@ FreeNonRecursiveMutex(PNRMUTEX mutex) DWORD EnterNonRecursiveMutex(PNRMUTEX mutex, DWORD milliseconds) { - return WaitForSingleObject(mutex, milliseconds); + return WaitForSingleObjectEx(mutex, milliseconds, FALSE); } BOOL diff --git a/Python/thread_os2.h b/Python/thread_os2.h deleted file mode 100644 index 1b264b5ad5..0000000000 --- a/Python/thread_os2.h +++ /dev/null @@ -1,267 +0,0 @@ -/* This code implemented by cvale@netcom.com */ - -#define INCL_DOSPROCESS -#define INCL_DOSSEMAPHORES -#include "os2.h" -#include "limits.h" - -#include "process.h" - -#if defined(PYCC_GCC) -#include <sys/builtin.h> -#include <sys/fmutex.h> -#else -long PyThread_get_thread_ident(void); -#endif - -/* default thread stack size of 64kB */ -#if !defined(THREAD_STACK_SIZE) -#define THREAD_STACK_SIZE 0x10000 -#endif - -#define OS2_STACKSIZE(x) (x ? x : THREAD_STACK_SIZE) - -/* - * Initialization of the C package, should not be needed. - */ -static void -PyThread__init_thread(void) -{ -} - -/* - * Thread support. - */ -long -PyThread_start_new_thread(void (*func)(void *), void *arg) -{ - int thread_id; - - thread_id = _beginthread(func, - NULL, - OS2_STACKSIZE(_pythread_stacksize), - arg); - - if (thread_id == -1) { - dprintf(("_beginthread failed. return %ld\n", errno)); - } - - return thread_id; -} - -long -PyThread_get_thread_ident(void) -{ -#if !defined(PYCC_GCC) - PPIB pib; - PTIB tib; -#endif - - if (!initialized) - PyThread_init_thread(); - -#if defined(PYCC_GCC) - return _gettid(); -#else - DosGetInfoBlocks(&tib, &pib); - return tib->tib_ptib2->tib2_ultid; -#endif -} - -void -PyThread_exit_thread(void) -{ - dprintf(("%ld: PyThread_exit_thread called\n", - PyThread_get_thread_ident())); - if (!initialized) - exit(0); - _endthread(); -} - -/* - * Lock support. This is implemented with an event semaphore and critical - * sections to make it behave more like a posix mutex than its OS/2 - * counterparts. - */ - -typedef struct os2_lock_t { - int is_set; - HEV changed; -} *type_os2_lock; - -PyThread_type_lock -PyThread_allocate_lock(void) -{ -#if defined(PYCC_GCC) - _fmutex *sem = malloc(sizeof(_fmutex)); - if (!initialized) - PyThread_init_thread(); - dprintf(("%ld: PyThread_allocate_lock() -> %lx\n", - PyThread_get_thread_ident(), - (long)sem)); - if (_fmutex_create(sem, 0)) { - free(sem); - sem = NULL; - } - return (PyThread_type_lock)sem; -#else - APIRET rc; - type_os2_lock lock = (type_os2_lock)malloc(sizeof(struct os2_lock_t)); - - dprintf(("PyThread_allocate_lock called\n")); - if (!initialized) - PyThread_init_thread(); - - lock->is_set = 0; - - DosCreateEventSem(NULL, &lock->changed, 0, 0); - - dprintf(("%ld: PyThread_allocate_lock() -> %p\n", - PyThread_get_thread_ident(), - lock->changed)); - - return (PyThread_type_lock)lock; -#endif -} - -void -PyThread_free_lock(PyThread_type_lock aLock) -{ -#if !defined(PYCC_GCC) - type_os2_lock lock = (type_os2_lock)aLock; -#endif - - dprintf(("%ld: PyThread_free_lock(%p) called\n", - PyThread_get_thread_ident(),aLock)); - -#if defined(PYCC_GCC) - if (aLock) { - _fmutex_close((_fmutex *)aLock); - free((_fmutex *)aLock); - } -#else - DosCloseEventSem(lock->changed); - free(aLock); -#endif -} - -/* - * Return 1 on success if the lock was acquired - * - * and 0 if the lock was not acquired. - */ -int -PyThread_acquire_lock(PyThread_type_lock aLock, int waitflag) -{ -#if !defined(PYCC_GCC) - int done = 0; - ULONG count; - PID pid = 0; - TID tid = 0; - type_os2_lock lock = (type_os2_lock)aLock; -#endif - - dprintf(("%ld: PyThread_acquire_lock(%p, %d) called\n", - PyThread_get_thread_ident(), - aLock, - waitflag)); - -#if defined(PYCC_GCC) - /* always successful if the lock doesn't exist */ - if (aLock && - _fmutex_request((_fmutex *)aLock, waitflag ? 0 : _FMR_NOWAIT)) - return 0; -#else - while (!done) { - /* if the lock is currently set, we have to wait for - * the state to change - */ - if (lock->is_set) { - if (!waitflag) - return 0; - DosWaitEventSem(lock->changed, SEM_INDEFINITE_WAIT); - } - - /* enter a critical section and try to get the semaphore. If - * it is still locked, we will try again. - */ - if (DosEnterCritSec()) - return 0; - - if (!lock->is_set) { - lock->is_set = 1; - DosResetEventSem(lock->changed, &count); - done = 1; - } - - DosExitCritSec(); - } -#endif - - return 1; -} - -void -PyThread_release_lock(PyThread_type_lock aLock) -{ -#if !defined(PYCC_GCC) - type_os2_lock lock = (type_os2_lock)aLock; -#endif - - dprintf(("%ld: PyThread_release_lock(%p) called\n", - PyThread_get_thread_ident(), - aLock)); - -#if defined(PYCC_GCC) - if (aLock) - _fmutex_release((_fmutex *)aLock); -#else - if (!lock->is_set) { - dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n", - PyThread_get_thread_ident(), - aLock, - GetLastError())); - return; - } - - if (DosEnterCritSec()) { - dprintf(("%ld: Could not PyThread_release_lock(%p) error: %l\n", - PyThread_get_thread_ident(), - aLock, - GetLastError())); - return; - } - - lock->is_set = 0; - DosPostEventSem(lock->changed); - - DosExitCritSec(); -#endif -} - -/* minimum/maximum thread stack sizes supported */ -#define THREAD_MIN_STACKSIZE 0x8000 /* 32kB */ -#define THREAD_MAX_STACKSIZE 0x2000000 /* 32MB */ - -/* set the thread stack size. - * Return 0 if size is valid, -1 otherwise. - */ -static int -_pythread_os2_set_stacksize(size_t size) -{ - /* set to default */ - if (size == 0) { - _pythread_stacksize = 0; - return 0; - } - - /* valid range? */ - if (size >= THREAD_MIN_STACKSIZE && size < THREAD_MAX_STACKSIZE) { - _pythread_stacksize = size; - return 0; - } - - return -1; -} - -#define THREAD_SET_STACKSIZE(x) _pythread_os2_set_stacksize(x) |