]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Disable support for access statement
authorGuido van Rossum <guido@python.org>
Mon, 12 Aug 1996 22:00:53 +0000 (22:00 +0000)
committerGuido van Rossum <guido@python.org>
Mon, 12 Aug 1996 22:00:53 +0000 (22:00 +0000)
Grammar/Grammar
Include/accessobject.h
Include/graminit.h
Objects/accessobject.c
Objects/classobject.c
Objects/moduleobject.c
Python/ceval.c
Python/compile.c
Python/graminit.c

index faca8581a99e9c9672d0a835cc74e8cc5679b0ad..78ffd6f875f5e31c46f44f9426a2fcc5af3fbd22 100644 (file)
@@ -29,7 +29,8 @@ fplist: fpdef (',' fpdef)* [',']
 
 stmt: simple_stmt | compound_stmt
 simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE
-small_stmt: expr_stmt | print_stmt  | del_stmt | pass_stmt | flow_stmt | import_stmt | global_stmt | access_stmt | exec_stmt
+#small_stmt: expr_stmt | print_stmt  | del_stmt | pass_stmt | flow_stmt | import_stmt | global_stmt | access_stmt | exec_stmt
+small_stmt: expr_stmt | print_stmt  | del_stmt | pass_stmt | flow_stmt | import_stmt | global_stmt | exec_stmt
 expr_stmt: testlist ('=' testlist)*
 # For assignments, additional restrictions enforced by the interpreter
 print_stmt: 'print' (test ',')* [test]
@@ -43,10 +44,10 @@ raise_stmt: 'raise' test [',' test [',' test]]
 import_stmt: 'import' dotted_name (',' dotted_name)* | 'from' dotted_name 'import' ('*' | NAME (',' NAME)*)
 dotted_name: NAME ('.' NAME)*
 global_stmt: 'global' NAME (',' NAME)*
-access_stmt: 'access' ('*' | NAME (',' NAME)*) ':' accesstype  (',' accesstype)*
-accesstype: NAME+
-# accesstype should be ('public' | 'protected' | 'private') ['read'] ['write']
-# but can't be because that would create undesirable reserved words!
+#access_stmt: 'access' ('*' | NAME (',' NAME)*) ':' accesstype  (',' accesstype)*
+#accesstype: NAME+
+## accesstype should be ('public' | 'protected' | 'private') ['read'] ['write']
+## but can't be because that would create undesirable reserved words!
 exec_stmt: 'exec' expr ['in' test [',' test]]
 
 compound_stmt: if_stmt | while_stmt | for_stmt | try_stmt | funcdef | classdef
index 0ea60fc03a060b872990389bf1e9bb0dc16fbe7c..db57457b4404557beb555fb3cf96494bc5b0ce2c 100644 (file)
@@ -28,6 +28,10 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 ******************************************************************/
 
+/* This object type is no longer supported */
+
+#ifdef SUPPORT_OBSOLETE_ACCESS
+
 /* Access object interface */
 
 /* Access mode bits (note similarity with UNIX permissions) */
@@ -60,6 +64,8 @@ int PyAccess_HasValue Py_PROTO((PyObject *));
 
 extern DL_IMPORT(PyTypeObject) PyAnyNumber_Type, PyAnySequence_Type, PyAnyMapping_Type;
 
+#endif /* !SUPPORT_OBSOLETE_ACCESS */
+
 #ifdef __cplusplus
 }
 #endif
index 2b80776f7ad7320420cb30e60fc98ba9c41c479a..66eacbbfed8939d98670f0ea01607b221342b03f 100644 (file)
 #define import_stmt 276
 #define dotted_name 277
 #define global_stmt 278
-#define access_stmt 279
-#define accesstype 280
-#define exec_stmt 281
-#define compound_stmt 282
-#define if_stmt 283
-#define while_stmt 284
-#define for_stmt 285
-#define try_stmt 286
-#define except_clause 287
-#define suite 288
-#define test 289
-#define and_test 290
-#define not_test 291
-#define comparison 292
-#define comp_op 293
-#define expr 294
-#define xor_expr 295
-#define and_expr 296
-#define shift_expr 297
-#define arith_expr 298
-#define term 299
-#define factor 300
-#define power 301
-#define atom 302
-#define lambdef 303
-#define trailer 304
-#define subscriptlist 305
-#define subscript 306
-#define sliceop 307
-#define exprlist 308
-#define testlist 309
-#define dictmaker 310
-#define classdef 311
-#define arglist 312
-#define argument 313
+#define exec_stmt 279
+#define compound_stmt 280
+#define if_stmt 281
+#define while_stmt 282
+#define for_stmt 283
+#define try_stmt 284
+#define except_clause 285
+#define suite 286
+#define test 287
+#define and_test 288
+#define not_test 289
+#define comparison 290
+#define comp_op 291
+#define expr 292
+#define xor_expr 293
+#define and_expr 294
+#define shift_expr 295
+#define arith_expr 296
+#define term 297
+#define factor 298
+#define power 299
+#define atom 300
+#define lambdef 301
+#define trailer 302
+#define subscriptlist 303
+#define subscript 304
+#define sliceop 305
+#define exprlist 306
+#define testlist 307
+#define dictmaker 308
+#define classdef 309
+#define arglist 310
+#define argument 311
index f3c7dfc9b9ef39f081b8b9f7890b110f5364df38..19d54dc14102141a28bd5c7939e8acbe5926ca6e 100644 (file)
@@ -22,6 +22,8 @@ OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 
 ******************************************************************/
 
+#ifdef SUPPORT_OBSOLETE_ACCESS /* This object type is no longer supported */
+
 /* Access object implementation */
 
 /* XXX TO DO LIST
@@ -358,3 +360,5 @@ typeobject Anymappingtype = {
        0,                      /*ob_size*/
        "*mapping*",            /*tp_name*/
 };
+
+#endif /* SUPPORT_OBSOLETE_ACCESS */
index d3c46b366c69283443527f4babe777da25601e4a..6eb453fdab49c0aa10d227a2f4627340a9e84451 100644 (file)
@@ -37,8 +37,10 @@ newclassobject(bases, dict, name)
        object *dict;
        object *name; /* String; NULL if unknown */
 {
+#ifdef SUPPORT_OBSOLETE_ACCESS
        int pos;
        object *key, *value;
+#endif
        classobject *op, *dummy;
        static object *getattrstr, *setattrstr, *delattrstr;
        if (dictlookup(dict, "__doc__") == NULL) {
@@ -73,11 +75,13 @@ newclassobject(bases, dict, name)
        XINCREF(op->cl_getattr);
        XINCREF(op->cl_setattr);
        XINCREF(op->cl_delattr);
+#ifdef SUPPORT_OBSOLETE_ACCESS
        pos = 0;
        while (mappinggetnext(dict, &pos, &key, &value)) {
                if (is_accessobject(value))
                        setaccessowner(value, (object *)op);
        }
+#endif
        return (object *) op;
 }
 
@@ -151,12 +155,14 @@ class_getattr(op, name)
                err_setval(AttributeError, name);
                return NULL;
        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
        if (is_accessobject(v)) {
                v = getaccessvalue(v, getowner());
                if (v == NULL)
                        return NULL;
        }
        else
+#endif
                INCREF(v);
        if (is_funcobject(v)) {
                object *w = newinstancemethodobject(v, (object *)NULL,
@@ -173,7 +179,9 @@ class_setattr(op, name, v)
        object *name;
        object *v;
 {
+#ifdef SUPPORT_OBSOLETE_ACCESS
        object *ac;
+#endif
        char *sname = getstringvalue(name);
        if (sname[0] == '_' && sname[1] == '_') {
                int n = getstringsize(name);
@@ -187,9 +195,11 @@ class_setattr(op, name, v)
                           "classes are read-only in restricted mode");
                return -1;
        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
        ac = mappinglookup(op->cl_dict, name);
        if (ac != NULL && is_accessobject(ac))
                return setaccessvalue(ac, getowner(), v);
+#endif
        if (v == NULL) {
                int rv = mappingremove(op->cl_dict, name);
                if (rv < 0)
@@ -260,6 +270,7 @@ issubclass(class, base)
 
 /* Instance objects */
 
+#ifdef SUPPORT_OBSOLETE_ACCESS
 static int
 addaccess(class, inst)
        classobject *class;
@@ -295,6 +306,7 @@ addaccess(class, inst)
        }
        return 0;
 }
+#endif
 
 object *
 newinstanceobject(class, arg, kw)
@@ -315,8 +327,11 @@ newinstanceobject(class, arg, kw)
        INCREF(class);
        inst->in_class = (classobject *)class;
        inst->in_dict = newdictobject();
-       if (inst->in_dict == NULL ||
-           addaccess((classobject *)class, inst) != 0) {
+       if (inst->in_dict == NULL
+#ifdef SUPPORT_OBSOLETE_ACCESS
+           || addaccess((classobject *)class, inst) != 0
+#endif
+               ) {
                DECREF(inst);
                return NULL;
        }
@@ -382,8 +397,12 @@ instance_dealloc(inst)
        if ((del = instance_getattr1(inst, delstr)) != NULL) {
                object *res = call_object(del, (object *)NULL);
                DECREF(del);
-               XDECREF(res);
-               /* XXX If __del__ raised an exception, it is ignored! */
+               if (res == NULL) {
+                       writestring("exception in __del__ method ignored\n",
+                                   sysget("stdout"));
+               }
+               else
+                       DECREF(res);
        }
        /* Restore the saved exception and undo the temporary revival */
        err_restore(error_type, error_value, error_traceback);
@@ -438,12 +457,14 @@ instance_getattr1(inst, name)
                        return NULL;
                }
        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
        if (is_accessobject(v)) {
                v = getaccessvalue(v, getowner());
                if (v == NULL)
                        return NULL;
        }
        else
+#endif
                INCREF(v);
        if (class != NULL) {
                if (is_funcobject(v)) {
@@ -492,10 +513,12 @@ instance_setattr1(inst, name, v)
        object *name;
        object *v;
 {
+#ifdef SUPPORT_OBSOLETE_ACCESS
        object *ac;
        ac = mappinglookup(inst->in_dict, name);
        if (ac != NULL && is_accessobject(ac))
                return setaccessvalue(ac, getowner(), v);
+#endif
        if (v == NULL) {
                int rv = mappingremove(inst->in_dict, name);
                if (rv < 0)
index 7377a98235a7b870314a0627c99c6d342c87b64d..9049d79ca2c72a602a6ec4a73904b113f5b3a437 100644 (file)
@@ -127,9 +127,11 @@ module_getattr(m, name)
        if (res == NULL)
                err_setstr(AttributeError, name);
        else {
+#ifdef SUPPORT_OBSOLETE_ACCESS
                if (is_accessobject(res))
                        res = getaccessvalue(res, getglobals());
                else
+#endif
                        INCREF(res);
        }
        return res;
@@ -141,14 +143,18 @@ module_setattr(m, name, v)
        char *name;
        object *v;
 {
+#ifdef SUPPORT_OBSOLETE_ACCESS
        object *ac;
+#endif
        if (name[0] == '_' && strcmp(name, "__dict__") == 0) {
                err_setstr(TypeError, "read-only special attribute");
                return -1;
        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
        ac = dictlookup(m->md_dict, name);
        if (ac != NULL && is_accessobject(ac))
                return setaccessvalue(ac, getglobals(), v);
+#endif
        if (v == NULL) {
                int rv = dictremove(m->md_dict, name);
                if (rv < 0)
index 36e9b8c8eb65c9a8870b0e12f00f0216f898fe40..2520ea2cc3324f443f7c54506bebc4e08c176213 100644 (file)
@@ -95,7 +95,9 @@ static int cmp_member PROTO((object *, object *));
 static object *cmp_outcome PROTO((int, object *, object *));
 static int import_from PROTO((object *, object *, object *));
 static object *build_class PROTO((object *, object *, object *));
+#ifdef SUPPORT_OBSOLETE_ACCESS
 static int access_statement PROTO((object *, object *, frameobject *));
+#endif
 static int exec_statement PROTO((object *, object *, object *));
 static object *find_from_args PROTO((frameobject *, int));
 
@@ -324,7 +326,9 @@ eval_code2(co, globals, locals,
        register frameobject *f; /* Current frame */
        register object **fastlocals;
        object *retval;         /* Return value */
+#ifdef SUPPORT_OBSOLETE_ACCESS
        int defmode = 0;        /* Default access mode for new variables */
+#endif
 #ifdef LLTRACE
        int lltrace;
 #endif
@@ -1082,6 +1086,7 @@ eval_code2(co, globals, locals,
                                err_setstr(SystemError, "no locals");
                                break;
                        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        u = dict2lookup(x, w);
                        if (u == NULL) {
                                if (defmode != 0) {
@@ -1103,6 +1108,7 @@ eval_code2(co, globals, locals,
                                DECREF(v);
                                break;
                        }
+#endif
                        err = dict2insert(x, w, v);
                        DECREF(v);
                        break;
@@ -1113,12 +1119,14 @@ eval_code2(co, globals, locals,
                                err_setstr(SystemError, "no locals");
                                break;
                        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        u = dict2lookup(x, w);
                        if (u != NULL && is_accessobject(u)) {
                                err = setaccessvalue(u, x,
                                                     (object *)NULL);
                                break;
                        }
+#endif
                        if ((err = dict2remove(x, w)) != 0)
                                err_setval(NameError, w);
                        break;
@@ -1196,6 +1204,7 @@ eval_code2(co, globals, locals,
                case STORE_GLOBAL:
                        w = GETNAMEV(oparg);
                        v = POP();
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (f->f_locals != NULL) {
                                u = dict2lookup(f->f_locals, w);
                                if (u != NULL && is_accessobject(u)) {
@@ -1205,12 +1214,14 @@ eval_code2(co, globals, locals,
                                        break;
                                }
                        }
+#endif
                        err = dict2insert(f->f_globals, w, v);
                        DECREF(v);
                        break;
                
                case DELETE_GLOBAL:
                        w = GETNAMEV(oparg);
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (f->f_locals != NULL) {
                                u = dict2lookup(f->f_locals, w);
                                if (u != NULL && is_accessobject(u)) {
@@ -1219,6 +1230,7 @@ eval_code2(co, globals, locals,
                                        break;
                                }
                        }
+#endif
                        if ((err = dict2remove(f->f_globals, w)) != 0)
                                err_setval(NameError, w);
                        break;
@@ -1248,12 +1260,14 @@ eval_code2(co, globals, locals,
                                        }
                                }
                        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (is_accessobject(x)) {
                                x = getaccessvalue(x, f->f_globals /* XXX */);
                                if (x == NULL)
                                        break;
                        }
                        else
+#endif
                                INCREF(x);
                        PUSH(x);
                        break;
@@ -1269,12 +1283,14 @@ eval_code2(co, globals, locals,
                                        break;
                                }
                        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (is_accessobject(x)) {
                                x = getaccessvalue(x, f->f_globals);
                                if (x == NULL)
                                        break;
                        }
                        else
+#endif
                                INCREF(x);
                        PUSH(x);
                        break;
@@ -1310,28 +1326,33 @@ eval_code2(co, globals, locals,
                                                        oparg));
                                break;
                        }
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (is_accessobject(x)) {
                                x = getaccessvalue(x, f->f_locals);
                                if (x == NULL)
                                        break;
                        }
                        else
+#endif
                                INCREF(x);
                        PUSH(x);
                        break;
 
                case STORE_FAST:
                        v = POP();
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        w = GETLOCAL(oparg);
                        if (w != NULL && is_accessobject(w)) {
                                err = setaccessvalue(w, f->f_locals, v);
                                DECREF(v);
                                break;
                        }
+#endif
                        SETLOCAL(oparg, v);
                        break;
 
                case DELETE_FAST:
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        x = GETLOCAL(oparg);
                        if (x == NULL) {
                                err_setval(NameError,
@@ -1344,6 +1365,7 @@ eval_code2(co, globals, locals,
                                                     (object *)NULL);
                                break;
                        }
+#endif
                        SETLOCAL(oparg, NULL);
                        break;
                
@@ -1439,6 +1461,7 @@ eval_code2(co, globals, locals,
                        locals_2_fast(f, 0);
                        break;
 
+#ifdef SUPPORT_OBSOLETE_ACCESS
                case ACCESS_MODE:
                        v = POP();
                        w = GETNAMEV(oparg);
@@ -1448,6 +1471,7 @@ eval_code2(co, globals, locals,
                                err = access_statement(w, v, f);
                        DECREF(v);
                        break;
+#endif
                
                case JUMP_FORWARD:
                        JUMPBY(oparg);
@@ -2826,6 +2850,7 @@ import_from(locals, v, name)
                        if (!is_stringobject(name) ||
                            getstringvalue(name)[0] == '_')
                                continue;
+#ifdef SUPPORT_OBSOLETE_ACCESS
                        if (is_accessobject(value)) {
                                value = getaccessvalue(value, (object *)NULL);
                                if (value == NULL) {
@@ -2834,6 +2859,7 @@ import_from(locals, v, name)
                                }
                        }
                        else
+#endif
                                INCREF(value);
                        err = dict2insert(locals, name, value);
                        DECREF(value);
@@ -2902,6 +2928,7 @@ build_class(methods, bases, name)
        return newclassobject(bases, methods, name);
 }
 
+#ifdef SUPPORT_OBSOLETE_ACCESS
 static int
 access_statement(name, vmode, f)
        object *name;
@@ -2931,6 +2958,7 @@ access_statement(name, vmode, f)
        locals_2_fast(f, 0);
        return ret;
 }
+#endif
 
 static int
 exec_statement(prog, globals, locals)
index cf2d0bba57685d7adbfb57285eb51247da4d2d73..b6e2dd8bf2ba5f4614eb42d679dcdd7661753fcd 100644 (file)
@@ -1792,12 +1792,12 @@ com_newlocal(c, name)
 
 #define strequ(a, b) (strcmp((a), (b)) == 0)
 
+#ifdef SUPPORT_OBSOLETE_ACCESS
 static void
 com_access_stmt(c, n)
        struct compiling *c;
        node *n;
 {
-#if 0
        int i, j, k, mode, imode;
        object *vmode;
        REQ(n, access_stmt);
@@ -1848,8 +1848,8 @@ com_access_stmt(c, n)
                com_addoparg(c, LOAD_CONST, imode);
                com_addopname(c, ACCESS_MODE, CHILD(n, i));
        }
-#endif
 }
+#endif
 
 static void
 com_exec_stmt(c, n)
@@ -2421,9 +2421,11 @@ com_node(c, n)
        case global_stmt:
                com_global_stmt(c, n);
                break;
+#ifdef SUPPORT_OBSOLETE_ACCESS
        case access_stmt:
                com_access_stmt(c, n);
                break;
+#endif
        case exec_stmt:
                com_exec_stmt(c, n);
                break;
index ce8061be54312b8403624e5ae018c3b197471fb7..f2442ce89aa187a76690279f248b5b9658ca1f9f 100644 (file)
@@ -211,7 +211,7 @@ static state states_9[4] = {
        {2, arcs_9_2},
        {1, arcs_9_3},
 };
-static arc arcs_10_0[9] = {
+static arc arcs_10_0[8] = {
        {28, 1},
        {29, 1},
        {30, 1},
@@ -220,13 +220,12 @@ static arc arcs_10_0[9] = {
        {33, 1},
        {34, 1},
        {35, 1},
-       {36, 1},
 };
 static arc arcs_10_1[1] = {
        {0, 1},
 };
 static state states_10[2] = {
-       {9, arcs_10_0},
+       {8, arcs_10_0},
        {1, arcs_10_1},
 };
 static arc arcs_11_0[1] = {
@@ -241,7 +240,7 @@ static state states_11[2] = {
        {2, arcs_11_1},
 };
 static arc arcs_12_0[1] = {
-       {37, 1},
+       {36, 1},
 };
 static arc arcs_12_1[2] = {
        {21, 2},
@@ -257,10 +256,10 @@ static state states_12[3] = {
        {2, arcs_12_2},
 };
 static arc arcs_13_0[1] = {
-       {38, 1},
+       {37, 1},
 };
 static arc arcs_13_1[1] = {
-       {39, 2},
+       {38, 2},
 };
 static arc arcs_13_2[1] = {
        {0, 2},
@@ -271,7 +270,7 @@ static state states_13[3] = {
        {1, arcs_13_2},
 };
 static arc arcs_14_0[1] = {
-       {40, 1},
+       {39, 1},
 };
 static arc arcs_14_1[1] = {
        {0, 1},
@@ -281,10 +280,10 @@ static state states_14[2] = {
        {1, arcs_14_1},
 };
 static arc arcs_15_0[4] = {
+       {40, 1},
        {41, 1},
        {42, 1},
        {43, 1},
-       {44, 1},
 };
 static arc arcs_15_1[1] = {
        {0, 1},
@@ -294,7 +293,7 @@ static state states_15[2] = {
        {1, arcs_15_1},
 };
 static arc arcs_16_0[1] = {
-       {45, 1},
+       {44, 1},
 };
 static arc arcs_16_1[1] = {
        {0, 1},
@@ -304,7 +303,7 @@ static state states_16[2] = {
        {1, arcs_16_1},
 };
 static arc arcs_17_0[1] = {
-       {46, 1},
+       {45, 1},
 };
 static arc arcs_17_1[1] = {
        {0, 1},
@@ -314,7 +313,7 @@ static state states_17[2] = {
        {1, arcs_17_1},
 };
 static arc arcs_18_0[1] = {
-       {47, 1},
+       {46, 1},
 };
 static arc arcs_18_1[2] = {
        {9, 2},
@@ -329,7 +328,7 @@ static state states_18[3] = {
        {1, arcs_18_2},
 };
 static arc arcs_19_0[1] = {
-       {48, 1},
+       {47, 1},
 };
 static arc arcs_19_1[1] = {
        {21, 2},
@@ -361,21 +360,21 @@ static state states_19[7] = {
        {1, arcs_19_6},
 };
 static arc arcs_20_0[2] = {
-       {49, 1},
-       {51, 2},
+       {48, 1},
+       {50, 2},
 };
 static arc arcs_20_1[1] = {
-       {50, 3},
+       {49, 3},
 };
 static arc arcs_20_2[1] = {
-       {50, 4},
+       {49, 4},
 };
 static arc arcs_20_3[2] = {
        {22, 1},
        {0, 3},
 };
 static arc arcs_20_4[1] = {
-       {49, 5},
+       {48, 5},
 };
 static arc arcs_20_5[2] = {
        {23, 6},
@@ -406,7 +405,7 @@ static arc arcs_21_0[1] = {
        {12, 1},
 };
 static arc arcs_21_1[2] = {
-       {52, 0},
+       {51, 0},
        {0, 1},
 };
 static state states_21[2] = {
@@ -414,7 +413,7 @@ static state states_21[2] = {
        {2, arcs_21_1},
 };
 static arc arcs_22_0[1] = {
-       {53, 1},
+       {52, 1},
 };
 static arc arcs_22_1[1] = {
        {12, 2},
@@ -429,325 +428,307 @@ static state states_22[3] = {
        {2, arcs_22_2},
 };
 static arc arcs_23_0[1] = {
-       {54, 1},
+       {53, 1},
 };
-static arc arcs_23_1[2] = {
-       {23, 2},
-       {12, 3},
+static arc arcs_23_1[1] = {
+       {54, 2},
 };
-static arc arcs_23_2[1] = {
-       {14, 4},
+static arc arcs_23_2[2] = {
+       {55, 3},
+       {0, 2},
 };
-static arc arcs_23_3[2] = {
-       {22, 5},
-       {14, 4},
+static arc arcs_23_3[1] = {
+       {21, 4},
 };
-static arc arcs_23_4[1] = {
-       {55, 6},
+static arc arcs_23_4[2] = {
+       {22, 5},
+       {0, 4},
 };
 static arc arcs_23_5[1] = {
-       {12, 3},
+       {21, 6},
 };
-static arc arcs_23_6[2] = {
-       {22, 4},
+static arc arcs_23_6[1] = {
        {0, 6},
 };
 static state states_23[7] = {
        {1, arcs_23_0},
-       {2, arcs_23_1},
-       {1, arcs_23_2},
-       {2, arcs_23_3},
-       {1, arcs_23_4},
+       {1, arcs_23_1},
+       {2, arcs_23_2},
+       {1, arcs_23_3},
+       {2, arcs_23_4},
        {1, arcs_23_5},
-       {2, arcs_23_6},
+       {1, arcs_23_6},
 };
-static arc arcs_24_0[1] = {
-       {12, 1},
+static arc arcs_24_0[6] = {
+       {56, 1},
+       {57, 1},
+       {58, 1},
+       {59, 1},
+       {10, 1},
+       {60, 1},
 };
-static arc arcs_24_1[2] = {
-       {12, 1},
+static arc arcs_24_1[1] = {
        {0, 1},
 };
 static state states_24[2] = {
-       {1, arcs_24_0},
-       {2, arcs_24_1},
+       {6, arcs_24_0},
+       {1, arcs_24_1},
 };
 static arc arcs_25_0[1] = {
-       {56, 1},
+       {61, 1},
 };
 static arc arcs_25_1[1] = {
-       {57, 2},
+       {21, 2},
 };
-static arc arcs_25_2[2] = {
-       {58, 3},
-       {0, 2},
+static arc arcs_25_2[1] = {
+       {14, 3},
 };
 static arc arcs_25_3[1] = {
-       {21, 4},
+       {15, 4},
 };
-static arc arcs_25_4[2] = {
-       {22, 5},
+static arc arcs_25_4[3] = {
+       {62, 1},
+       {63, 5},
        {0, 4},
 };
 static arc arcs_25_5[1] = {
-       {21, 6},
+       {14, 6},
 };
 static arc arcs_25_6[1] = {
-       {0, 6},
+       {15, 7},
 };
-static state states_25[7] = {
+static arc arcs_25_7[1] = {
+       {0, 7},
+};
+static state states_25[8] = {
        {1, arcs_25_0},
        {1, arcs_25_1},
-       {2, arcs_25_2},
+       {1, arcs_25_2},
        {1, arcs_25_3},
-       {2, arcs_25_4},
+       {3, arcs_25_4},
        {1, arcs_25_5},
        {1, arcs_25_6},
+       {1, arcs_25_7},
 };
-static arc arcs_26_0[6] = {
-       {59, 1},
-       {60, 1},
-       {61, 1},
-       {62, 1},
-       {10, 1},
-       {63, 1},
+static arc arcs_26_0[1] = {
+       {64, 1},
 };
 static arc arcs_26_1[1] = {
-       {0, 1},
+       {21, 2},
 };
-static state states_26[2] = {
-       {6, arcs_26_0},
+static arc arcs_26_2[1] = {
+       {14, 3},
+};
+static arc arcs_26_3[1] = {
+       {15, 4},
+};
+static arc arcs_26_4[2] = {
+       {63, 5},
+       {0, 4},
+};
+static arc arcs_26_5[1] = {
+       {14, 6},
+};
+static arc arcs_26_6[1] = {
+       {15, 7},
+};
+static arc arcs_26_7[1] = {
+       {0, 7},
+};
+static state states_26[8] = {
+       {1, arcs_26_0},
        {1, arcs_26_1},
+       {1, arcs_26_2},
+       {1, arcs_26_3},
+       {2, arcs_26_4},
+       {1, arcs_26_5},
+       {1, arcs_26_6},
+       {1, arcs_26_7},
 };
 static arc arcs_27_0[1] = {
-       {64, 1},
+       {65, 1},
 };
 static arc arcs_27_1[1] = {
-       {21, 2},
+       {38, 2},
 };
 static arc arcs_27_2[1] = {
-       {14, 3},
+       {55, 3},
 };
 static arc arcs_27_3[1] = {
-       {15, 4},
+       {9, 4},
 };
-static arc arcs_27_4[3] = {
-       {65, 1},
-       {66, 5},
-       {0, 4},
+static arc arcs_27_4[1] = {
+       {14, 5},
 };
 static arc arcs_27_5[1] = {
-       {14, 6},
+       {15, 6},
 };
-static arc arcs_27_6[1] = {
-       {15, 7},
+static arc arcs_27_6[2] = {
+       {63, 7},
+       {0, 6},
 };
 static arc arcs_27_7[1] = {
-       {0, 7},
+       {14, 8},
 };
-static state states_27[8] = {
+static arc arcs_27_8[1] = {
+       {15, 9},
+};
+static arc arcs_27_9[1] = {
+       {0, 9},
+};
+static state states_27[10] = {
        {1, arcs_27_0},
        {1, arcs_27_1},
        {1, arcs_27_2},
        {1, arcs_27_3},
-       {3, arcs_27_4},
+       {1, arcs_27_4},
        {1, arcs_27_5},
-       {1, arcs_27_6},
+       {2, arcs_27_6},
        {1, arcs_27_7},
+       {1, arcs_27_8},
+       {1, arcs_27_9},
 };
 static arc arcs_28_0[1] = {
-       {67, 1},
+       {66, 1},
 };
 static arc arcs_28_1[1] = {
-       {21, 2},
+       {14, 2},
 };
 static arc arcs_28_2[1] = {
-       {14, 3},
+       {15, 3},
 };
-static arc arcs_28_3[1] = {
-       {15, 4},
+static arc arcs_28_3[2] = {
+       {67, 4},
+       {68, 5},
 };
-static arc arcs_28_4[2] = {
-       {66, 5},
-       {0, 4},
+static arc arcs_28_4[1] = {
+       {14, 6},
 };
 static arc arcs_28_5[1] = {
-       {14, 6},
+       {14, 7},
 };
 static arc arcs_28_6[1] = {
-       {15, 7},
+       {15, 8},
 };
 static arc arcs_28_7[1] = {
-       {0, 7},
+       {15, 9},
 };
-static state states_28[8] = {
+static arc arcs_28_8[3] = {
+       {67, 4},
+       {63, 5},
+       {0, 8},
+};
+static arc arcs_28_9[1] = {
+       {0, 9},
+};
+static state states_28[10] = {
        {1, arcs_28_0},
        {1, arcs_28_1},
        {1, arcs_28_2},
-       {1, arcs_28_3},
-       {2, arcs_28_4},
+       {2, arcs_28_3},
+       {1, arcs_28_4},
        {1, arcs_28_5},
        {1, arcs_28_6},
        {1, arcs_28_7},
+       {3, arcs_28_8},
+       {1, arcs_28_9},
 };
 static arc arcs_29_0[1] = {
-       {68, 1},
+       {69, 1},
 };
-static arc arcs_29_1[1] = {
-       {39, 2},
+static arc arcs_29_1[2] = {
+       {21, 2},
+       {0, 1},
 };
-static arc arcs_29_2[1] = {
-       {58, 3},
+static arc arcs_29_2[2] = {
+       {22, 3},
+       {0, 2},
 };
 static arc arcs_29_3[1] = {
-       {9, 4},
+       {21, 4},
 };
 static arc arcs_29_4[1] = {
-       {14, 5},
-};
-static arc arcs_29_5[1] = {
-       {15, 6},
-};
-static arc arcs_29_6[2] = {
-       {66, 7},
-       {0, 6},
-};
-static arc arcs_29_7[1] = {
-       {14, 8},
-};
-static arc arcs_29_8[1] = {
-       {15, 9},
-};
-static arc arcs_29_9[1] = {
-       {0, 9},
+       {0, 4},
 };
-static state states_29[10] = {
+static state states_29[5] = {
        {1, arcs_29_0},
-       {1, arcs_29_1},
-       {1, arcs_29_2},
+       {2, arcs_29_1},
+       {2, arcs_29_2},
        {1, arcs_29_3},
        {1, arcs_29_4},
-       {1, arcs_29_5},
-       {2, arcs_29_6},
-       {1, arcs_29_7},
-       {1, arcs_29_8},
-       {1, arcs_29_9},
 };
-static arc arcs_30_0[1] = {
-       {69, 1},
+static arc arcs_30_0[2] = {
+       {3, 1},
+       {2, 2},
 };
 static arc arcs_30_1[1] = {
-       {14, 2},
+       {0, 1},
 };
 static arc arcs_30_2[1] = {
-       {15, 3},
-};
-static arc arcs_30_3[2] = {
-       {70, 4},
-       {71, 5},
-};
-static arc arcs_30_4[1] = {
-       {14, 6},
-};
-static arc arcs_30_5[1] = {
-       {14, 7},
+       {70, 3},
 };
-static arc arcs_30_6[1] = {
-       {15, 8},
-};
-static arc arcs_30_7[1] = {
-       {15, 9},
-};
-static arc arcs_30_8[3] = {
-       {70, 4},
-       {66, 5},
-       {0, 8},
+static arc arcs_30_3[1] = {
+       {6, 4},
 };
-static arc arcs_30_9[1] = {
-       {0, 9},
+static arc arcs_30_4[2] = {
+       {6, 4},
+       {71, 1},
 };
-static state states_30[10] = {
-       {1, arcs_30_0},
+static state states_30[5] = {
+       {2, arcs_30_0},
        {1, arcs_30_1},
        {1, arcs_30_2},
-       {2, arcs_30_3},
-       {1, arcs_30_4},
-       {1, arcs_30_5},
-       {1, arcs_30_6},
-       {1, arcs_30_7},
-       {3, arcs_30_8},
-       {1, arcs_30_9},
-};
-static arc arcs_31_0[1] = {
+       {1, arcs_30_3},
+       {2, arcs_30_4},
+};
+static arc arcs_31_0[2] = {
        {72, 1},
+       {74, 2},
 };
 static arc arcs_31_1[2] = {
-       {21, 2},
+       {73, 3},
        {0, 1},
 };
-static arc arcs_31_2[2] = {
-       {22, 3},
+static arc arcs_31_2[1] = {
        {0, 2},
 };
 static arc arcs_31_3[1] = {
-       {21, 4},
-};
-static arc arcs_31_4[1] = {
-       {0, 4},
+       {72, 1},
 };
-static state states_31[5] = {
-       {1, arcs_31_0},
+static state states_31[4] = {
+       {2, arcs_31_0},
        {2, arcs_31_1},
-       {2, arcs_31_2},
+       {1, arcs_31_2},
        {1, arcs_31_3},
-       {1, arcs_31_4},
 };
-static arc arcs_32_0[2] = {
-       {3, 1},
-       {2, 2},
+static arc arcs_32_0[1] = {
+       {75, 1},
 };
-static arc arcs_32_1[1] = {
+static arc arcs_32_1[2] = {
+       {76, 0},
        {0, 1},
 };
-static arc arcs_32_2[1] = {
-       {73, 3},
-};
-static arc arcs_32_3[1] = {
-       {6, 4},
-};
-static arc arcs_32_4[2] = {
-       {6, 4},
-       {74, 1},
-};
-static state states_32[5] = {
-       {2, arcs_32_0},
-       {1, arcs_32_1},
-       {1, arcs_32_2},
-       {1, arcs_32_3},
-       {2, arcs_32_4},
+static state states_32[2] = {
+       {1, arcs_32_0},
+       {2, arcs_32_1},
 };
 static arc arcs_33_0[2] = {
-       {75, 1},
-       {77, 2},
+       {77, 1},
+       {78, 2},
 };
-static arc arcs_33_1[2] = {
-       {76, 3},
-       {0, 1},
+static arc arcs_33_1[1] = {
+       {75, 2},
 };
 static arc arcs_33_2[1] = {
        {0, 2},
 };
-static arc arcs_33_3[1] = {
-       {75, 1},
-};
-static state states_33[4] = {
+static state states_33[3] = {
        {2, arcs_33_0},
-       {2, arcs_33_1},
+       {1, arcs_33_1},
        {1, arcs_33_2},
-       {1, arcs_33_3},
 };
 static arc arcs_34_0[1] = {
-       {78, 1},
+       {54, 1},
 };
 static arc arcs_34_1[2] = {
        {79, 0},
@@ -757,65 +738,61 @@ static state states_34[2] = {
        {1, arcs_34_0},
        {2, arcs_34_1},
 };
-static arc arcs_35_0[2] = {
+static arc arcs_35_0[10] = {
        {80, 1},
-       {81, 2},
+       {81, 1},
+       {82, 1},
+       {83, 1},
+       {84, 1},
+       {85, 1},
+       {86, 1},
+       {55, 1},
+       {77, 2},
+       {87, 3},
 };
 static arc arcs_35_1[1] = {
-       {78, 2},
+       {0, 1},
 };
 static arc arcs_35_2[1] = {
-       {0, 2},
+       {55, 1},
 };
-static state states_35[3] = {
-       {2, arcs_35_0},
+static arc arcs_35_3[2] = {
+       {77, 1},
+       {0, 3},
+};
+static state states_35[4] = {
+       {10, arcs_35_0},
        {1, arcs_35_1},
        {1, arcs_35_2},
+       {2, arcs_35_3},
 };
 static arc arcs_36_0[1] = {
-       {57, 1},
+       {88, 1},
 };
 static arc arcs_36_1[2] = {
-       {82, 0},
+       {89, 0},
        {0, 1},
 };
 static state states_36[2] = {
        {1, arcs_36_0},
        {2, arcs_36_1},
 };
-static arc arcs_37_0[10] = {
-       {83, 1},
-       {84, 1},
-       {85, 1},
-       {86, 1},
-       {87, 1},
-       {88, 1},
-       {89, 1},
-       {58, 1},
-       {80, 2},
-       {90, 3},
+static arc arcs_37_0[1] = {
+       {90, 1},
 };
-static arc arcs_37_1[1] = {
+static arc arcs_37_1[2] = {
+       {91, 0},
        {0, 1},
 };
-static arc arcs_37_2[1] = {
-       {58, 1},
-};
-static arc arcs_37_3[2] = {
-       {80, 1},
-       {0, 3},
-};
-static state states_37[4] = {
-       {10, arcs_37_0},
-       {1, arcs_37_1},
-       {1, arcs_37_2},
-       {2, arcs_37_3},
+static state states_37[2] = {
+       {1, arcs_37_0},
+       {2, arcs_37_1},
 };
 static arc arcs_38_0[1] = {
-       {91, 1},
+       {92, 1},
 };
 static arc arcs_38_1[2] = {
-       {92, 0},
+       {93, 0},
        {0, 1},
 };
 static state states_38[2] = {
@@ -823,414 +800,392 @@ static state states_38[2] = {
        {2, arcs_38_1},
 };
 static arc arcs_39_0[1] = {
-       {93, 1},
+       {94, 1},
 };
-static arc arcs_39_1[2] = {
-       {94, 0},
+static arc arcs_39_1[3] = {
+       {95, 0},
+       {96, 0},
        {0, 1},
 };
 static state states_39[2] = {
        {1, arcs_39_0},
-       {2, arcs_39_1},
+       {3, arcs_39_1},
 };
 static arc arcs_40_0[1] = {
-       {95, 1},
-};
-static arc arcs_40_1[2] = {
-       {96, 0},
-       {0, 1},
-};
-static state states_40[2] = {
-       {1, arcs_40_0},
-       {2, arcs_40_1},
-};
-static arc arcs_41_0[1] = {
        {97, 1},
 };
-static arc arcs_41_1[3] = {
+static arc arcs_40_1[3] = {
        {98, 0},
        {99, 0},
        {0, 1},
 };
-static state states_41[2] = {
-       {1, arcs_41_0},
-       {3, arcs_41_1},
+static state states_40[2] = {
+       {1, arcs_40_0},
+       {3, arcs_40_1},
 };
-static arc arcs_42_0[1] = {
+static arc arcs_41_0[1] = {
        {100, 1},
 };
-static arc arcs_42_1[3] = {
+static arc arcs_41_1[4] = {
+       {23, 0},
        {101, 0},
        {102, 0},
        {0, 1},
 };
-static state states_42[2] = {
-       {1, arcs_42_0},
-       {3, arcs_42_1},
+static state states_41[2] = {
+       {1, arcs_41_0},
+       {4, arcs_41_1},
 };
-static arc arcs_43_0[1] = {
+static arc arcs_42_0[4] = {
+       {98, 1},
+       {99, 1},
        {103, 1},
+       {104, 2},
 };
-static arc arcs_43_1[4] = {
-       {23, 0},
-       {104, 0},
-       {105, 0},
-       {0, 1},
+static arc arcs_42_1[1] = {
+       {100, 2},
 };
-static state states_43[2] = {
-       {1, arcs_43_0},
-       {4, arcs_43_1},
-};
-static arc arcs_44_0[4] = {
-       {101, 1},
-       {102, 1},
-       {106, 1},
-       {107, 2},
-};
-static arc arcs_44_1[1] = {
-       {103, 2},
-};
-static arc arcs_44_2[1] = {
+static arc arcs_42_2[1] = {
        {0, 2},
 };
-static state states_44[3] = {
-       {4, arcs_44_0},
-       {1, arcs_44_1},
-       {1, arcs_44_2},
+static state states_42[3] = {
+       {4, arcs_42_0},
+       {1, arcs_42_1},
+       {1, arcs_42_2},
 };
-static arc arcs_45_0[1] = {
-       {108, 1},
+static arc arcs_43_0[1] = {
+       {105, 1},
 };
-static arc arcs_45_1[3] = {
-       {109, 1},
+static arc arcs_43_1[3] = {
+       {106, 1},
        {24, 2},
        {0, 1},
 };
-static arc arcs_45_2[1] = {
-       {103, 3},
+static arc arcs_43_2[1] = {
+       {100, 3},
 };
-static arc arcs_45_3[2] = {
+static arc arcs_43_3[2] = {
        {24, 2},
        {0, 3},
 };
-static state states_45[4] = {
-       {1, arcs_45_0},
-       {3, arcs_45_1},
-       {1, arcs_45_2},
-       {2, arcs_45_3},
+static state states_43[4] = {
+       {1, arcs_43_0},
+       {3, arcs_43_1},
+       {1, arcs_43_2},
+       {2, arcs_43_3},
 };
-static arc arcs_46_0[7] = {
+static arc arcs_44_0[7] = {
        {16, 1},
-       {110, 2},
-       {112, 3},
-       {115, 4},
+       {107, 2},
+       {109, 3},
+       {112, 4},
        {12, 5},
-       {116, 5},
-       {117, 6},
+       {113, 5},
+       {114, 6},
 };
-static arc arcs_46_1[2] = {
+static arc arcs_44_1[2] = {
        {9, 7},
        {18, 5},
 };
-static arc arcs_46_2[2] = {
+static arc arcs_44_2[2] = {
        {9, 8},
-       {111, 5},
+       {108, 5},
 };
-static arc arcs_46_3[2] = {
-       {113, 9},
-       {114, 5},
+static arc arcs_44_3[2] = {
+       {110, 9},
+       {111, 5},
 };
-static arc arcs_46_4[1] = {
+static arc arcs_44_4[1] = {
        {9, 10},
 };
-static arc arcs_46_5[1] = {
+static arc arcs_44_5[1] = {
        {0, 5},
 };
-static arc arcs_46_6[2] = {
-       {117, 6},
+static arc arcs_44_6[2] = {
+       {114, 6},
        {0, 6},
 };
-static arc arcs_46_7[1] = {
+static arc arcs_44_7[1] = {
        {18, 5},
 };
-static arc arcs_46_8[1] = {
-       {111, 5},
+static arc arcs_44_8[1] = {
+       {108, 5},
 };
-static arc arcs_46_9[1] = {
-       {114, 5},
+static arc arcs_44_9[1] = {
+       {111, 5},
 };
-static arc arcs_46_10[1] = {
-       {115, 5},
+static arc arcs_44_10[1] = {
+       {112, 5},
+};
+static state states_44[11] = {
+       {7, arcs_44_0},
+       {2, arcs_44_1},
+       {2, arcs_44_2},
+       {2, arcs_44_3},
+       {1, arcs_44_4},
+       {1, arcs_44_5},
+       {2, arcs_44_6},
+       {1, arcs_44_7},
+       {1, arcs_44_8},
+       {1, arcs_44_9},
+       {1, arcs_44_10},
 };
-static state states_46[11] = {
-       {7, arcs_46_0},
-       {2, arcs_46_1},
-       {2, arcs_46_2},
-       {2, arcs_46_3},
-       {1, arcs_46_4},
-       {1, arcs_46_5},
-       {2, arcs_46_6},
-       {1, arcs_46_7},
-       {1, arcs_46_8},
-       {1, arcs_46_9},
-       {1, arcs_46_10},
-};
-static arc arcs_47_0[1] = {
-       {118, 1},
+static arc arcs_45_0[1] = {
+       {115, 1},
 };
-static arc arcs_47_1[2] = {
+static arc arcs_45_1[2] = {
        {17, 2},
        {14, 3},
 };
-static arc arcs_47_2[1] = {
+static arc arcs_45_2[1] = {
        {14, 3},
 };
-static arc arcs_47_3[1] = {
+static arc arcs_45_3[1] = {
        {21, 4},
 };
-static arc arcs_47_4[1] = {
+static arc arcs_45_4[1] = {
        {0, 4},
 };
-static state states_47[5] = {
-       {1, arcs_47_0},
-       {2, arcs_47_1},
-       {1, arcs_47_2},
-       {1, arcs_47_3},
-       {1, arcs_47_4},
+static state states_45[5] = {
+       {1, arcs_45_0},
+       {2, arcs_45_1},
+       {1, arcs_45_2},
+       {1, arcs_45_3},
+       {1, arcs_45_4},
 };
-static arc arcs_48_0[3] = {
+static arc arcs_46_0[3] = {
        {16, 1},
-       {110, 2},
-       {52, 3},
+       {107, 2},
+       {51, 3},
 };
-static arc arcs_48_1[2] = {
-       {119, 4},
+static arc arcs_46_1[2] = {
+       {116, 4},
        {18, 5},
 };
-static arc arcs_48_2[1] = {
-       {120, 6},
+static arc arcs_46_2[1] = {
+       {117, 6},
 };
-static arc arcs_48_3[1] = {
+static arc arcs_46_3[1] = {
        {12, 5},
 };
-static arc arcs_48_4[1] = {
+static arc arcs_46_4[1] = {
        {18, 5},
 };
-static arc arcs_48_5[1] = {
+static arc arcs_46_5[1] = {
        {0, 5},
 };
-static arc arcs_48_6[1] = {
-       {111, 5},
+static arc arcs_46_6[1] = {
+       {108, 5},
 };
-static state states_48[7] = {
-       {3, arcs_48_0},
-       {2, arcs_48_1},
-       {1, arcs_48_2},
-       {1, arcs_48_3},
-       {1, arcs_48_4},
-       {1, arcs_48_5},
-       {1, arcs_48_6},
+static state states_46[7] = {
+       {3, arcs_46_0},
+       {2, arcs_46_1},
+       {1, arcs_46_2},
+       {1, arcs_46_3},
+       {1, arcs_46_4},
+       {1, arcs_46_5},
+       {1, arcs_46_6},
 };
-static arc arcs_49_0[1] = {
-       {121, 1},
+static arc arcs_47_0[1] = {
+       {118, 1},
 };
-static arc arcs_49_1[2] = {
+static arc arcs_47_1[2] = {
        {22, 2},
        {0, 1},
 };
-static arc arcs_49_2[2] = {
-       {121, 1},
+static arc arcs_47_2[2] = {
+       {118, 1},
        {0, 2},
 };
-static state states_49[3] = {
-       {1, arcs_49_0},
-       {2, arcs_49_1},
-       {2, arcs_49_2},
+static state states_47[3] = {
+       {1, arcs_47_0},
+       {2, arcs_47_1},
+       {2, arcs_47_2},
 };
-static arc arcs_50_0[3] = {
-       {52, 1},
+static arc arcs_48_0[3] = {
+       {51, 1},
        {21, 2},
        {14, 3},
 };
-static arc arcs_50_1[1] = {
-       {52, 4},
+static arc arcs_48_1[1] = {
+       {51, 4},
 };
-static arc arcs_50_2[2] = {
+static arc arcs_48_2[2] = {
        {14, 3},
        {0, 2},
 };
-static arc arcs_50_3[3] = {
+static arc arcs_48_3[3] = {
        {21, 5},
-       {122, 6},
+       {119, 6},
        {0, 3},
 };
-static arc arcs_50_4[1] = {
-       {52, 6},
+static arc arcs_48_4[1] = {
+       {51, 6},
 };
-static arc arcs_50_5[2] = {
-       {122, 6},
+static arc arcs_48_5[2] = {
+       {119, 6},
        {0, 5},
 };
-static arc arcs_50_6[1] = {
+static arc arcs_48_6[1] = {
        {0, 6},
 };
-static state states_50[7] = {
-       {3, arcs_50_0},
-       {1, arcs_50_1},
-       {2, arcs_50_2},
-       {3, arcs_50_3},
-       {1, arcs_50_4},
-       {2, arcs_50_5},
-       {1, arcs_50_6},
+static state states_48[7] = {
+       {3, arcs_48_0},
+       {1, arcs_48_1},
+       {2, arcs_48_2},
+       {3, arcs_48_3},
+       {1, arcs_48_4},
+       {2, arcs_48_5},
+       {1, arcs_48_6},
 };
-static arc arcs_51_0[1] = {
+static arc arcs_49_0[1] = {
        {14, 1},
 };
-static arc arcs_51_1[2] = {
+static arc arcs_49_1[2] = {
        {21, 2},
        {0, 1},
 };
-static arc arcs_51_2[1] = {
+static arc arcs_49_2[1] = {
        {0, 2},
 };
-static state states_51[3] = {
-       {1, arcs_51_0},
-       {2, arcs_51_1},
-       {1, arcs_51_2},
+static state states_49[3] = {
+       {1, arcs_49_0},
+       {2, arcs_49_1},
+       {1, arcs_49_2},
 };
-static arc arcs_52_0[1] = {
-       {57, 1},
+static arc arcs_50_0[1] = {
+       {54, 1},
 };
-static arc arcs_52_1[2] = {
+static arc arcs_50_1[2] = {
        {22, 2},
        {0, 1},
 };
-static arc arcs_52_2[2] = {
-       {57, 1},
+static arc arcs_50_2[2] = {
+       {54, 1},
        {0, 2},
 };
-static state states_52[3] = {
-       {1, arcs_52_0},
-       {2, arcs_52_1},
-       {2, arcs_52_2},
+static state states_50[3] = {
+       {1, arcs_50_0},
+       {2, arcs_50_1},
+       {2, arcs_50_2},
 };
-static arc arcs_53_0[1] = {
+static arc arcs_51_0[1] = {
        {21, 1},
 };
-static arc arcs_53_1[2] = {
+static arc arcs_51_1[2] = {
        {22, 2},
        {0, 1},
 };
-static arc arcs_53_2[2] = {
+static arc arcs_51_2[2] = {
        {21, 1},
        {0, 2},
 };
-static state states_53[3] = {
-       {1, arcs_53_0},
-       {2, arcs_53_1},
-       {2, arcs_53_2},
+static state states_51[3] = {
+       {1, arcs_51_0},
+       {2, arcs_51_1},
+       {2, arcs_51_2},
 };
-static arc arcs_54_0[1] = {
+static arc arcs_52_0[1] = {
        {21, 1},
 };
-static arc arcs_54_1[1] = {
+static arc arcs_52_1[1] = {
        {14, 2},
 };
-static arc arcs_54_2[1] = {
+static arc arcs_52_2[1] = {
        {21, 3},
 };
-static arc arcs_54_3[2] = {
+static arc arcs_52_3[2] = {
        {22, 4},
        {0, 3},
 };
-static arc arcs_54_4[2] = {
+static arc arcs_52_4[2] = {
        {21, 1},
        {0, 4},
 };
-static state states_54[5] = {
-       {1, arcs_54_0},
-       {1, arcs_54_1},
-       {1, arcs_54_2},
-       {2, arcs_54_3},
-       {2, arcs_54_4},
+static state states_52[5] = {
+       {1, arcs_52_0},
+       {1, arcs_52_1},
+       {1, arcs_52_2},
+       {2, arcs_52_3},
+       {2, arcs_52_4},
 };
-static arc arcs_55_0[1] = {
-       {123, 1},
+static arc arcs_53_0[1] = {
+       {120, 1},
 };
-static arc arcs_55_1[1] = {
+static arc arcs_53_1[1] = {
        {12, 2},
 };
-static arc arcs_55_2[2] = {
+static arc arcs_53_2[2] = {
        {16, 3},
        {14, 4},
 };
-static arc arcs_55_3[1] = {
+static arc arcs_53_3[1] = {
        {9, 5},
 };
-static arc arcs_55_4[1] = {
+static arc arcs_53_4[1] = {
        {15, 6},
 };
-static arc arcs_55_5[1] = {
+static arc arcs_53_5[1] = {
        {18, 7},
 };
-static arc arcs_55_6[1] = {
+static arc arcs_53_6[1] = {
        {0, 6},
 };
-static arc arcs_55_7[1] = {
+static arc arcs_53_7[1] = {
        {14, 4},
 };
-static state states_55[8] = {
-       {1, arcs_55_0},
-       {1, arcs_55_1},
-       {2, arcs_55_2},
-       {1, arcs_55_3},
-       {1, arcs_55_4},
-       {1, arcs_55_5},
-       {1, arcs_55_6},
-       {1, arcs_55_7},
+static state states_53[8] = {
+       {1, arcs_53_0},
+       {1, arcs_53_1},
+       {2, arcs_53_2},
+       {1, arcs_53_3},
+       {1, arcs_53_4},
+       {1, arcs_53_5},
+       {1, arcs_53_6},
+       {1, arcs_53_7},
 };
-static arc arcs_56_0[1] = {
-       {124, 1},
+static arc arcs_54_0[1] = {
+       {121, 1},
 };
-static arc arcs_56_1[2] = {
+static arc arcs_54_1[2] = {
        {22, 2},
        {0, 1},
 };
-static arc arcs_56_2[2] = {
-       {124, 1},
+static arc arcs_54_2[2] = {
+       {121, 1},
        {0, 2},
 };
-static state states_56[3] = {
-       {1, arcs_56_0},
-       {2, arcs_56_1},
-       {2, arcs_56_2},
+static state states_54[3] = {
+       {1, arcs_54_0},
+       {2, arcs_54_1},
+       {2, arcs_54_2},
 };
-static arc arcs_57_0[1] = {
+static arc arcs_55_0[1] = {
        {21, 1},
 };
-static arc arcs_57_1[2] = {
+static arc arcs_55_1[2] = {
        {20, 2},
        {0, 1},
 };
-static arc arcs_57_2[1] = {
+static arc arcs_55_2[1] = {
        {21, 3},
 };
-static arc arcs_57_3[1] = {
+static arc arcs_55_3[1] = {
        {0, 3},
 };
-static state states_57[4] = {
-       {1, arcs_57_0},
-       {2, arcs_57_1},
-       {1, arcs_57_2},
-       {1, arcs_57_3},
+static state states_55[4] = {
+       {1, arcs_55_0},
+       {2, arcs_55_1},
+       {1, arcs_55_2},
+       {1, arcs_55_3},
 };
-static dfa dfas[58] = {
+static dfa dfas[56] = {
        {256, "single_input", 0, 3, states_0,
-        "\004\030\001\000\140\341\153\001\071\000\001\000\140\104\171\010"},
+        "\004\030\001\000\260\360\065\040\007\040\000\000\214\050\017\001"},
        {257, "file_input", 0, 2, states_1,
-        "\204\030\001\000\140\341\153\001\071\000\001\000\140\104\171\010"},
+        "\204\030\001\000\260\360\065\040\007\040\000\000\214\050\017\001"},
        {258, "eval_input", 0, 3, states_2,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
        {259, "funcdef", 0, 6, states_3,
         "\000\010\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {260, "parameters", 0, 4, states_4,
@@ -1242,129 +1197,125 @@ static dfa dfas[58] = {
        {263, "fplist", 0, 3, states_7,
         "\000\020\001\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {264, "stmt", 0, 2, states_8,
-        "\000\030\001\000\140\341\153\001\071\000\001\000\140\104\171\010"},
+        "\000\030\001\000\260\360\065\040\007\040\000\000\214\050\017\001"},
        {265, "simple_stmt", 0, 4, states_9,
-        "\000\020\001\000\140\341\153\001\000\000\001\000\140\104\171\000"},
+        "\000\020\001\000\260\360\065\000\000\040\000\000\214\050\017\000"},
        {266, "small_stmt", 0, 2, states_10,
-        "\000\020\001\000\140\341\153\001\000\000\001\000\140\104\171\000"},
+        "\000\020\001\000\260\360\065\000\000\040\000\000\214\050\017\000"},
        {267, "expr_stmt", 0, 2, states_11,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
        {268, "print_stmt", 0, 3, states_12,
-        "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000"},
        {269, "del_stmt", 0, 3, states_13,
-        "\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000\000"},
        {270, "pass_stmt", 0, 2, states_14,
-        "\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000"},
        {271, "flow_stmt", 0, 2, states_15,
-        "\000\000\000\000\000\340\001\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\360\000\000\000\000\000\000\000\000\000\000"},
        {272, "break_stmt", 0, 2, states_16,
-        "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000"},
        {273, "continue_stmt", 0, 2, states_17,
-        "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000\000"},
        {274, "return_stmt", 0, 3, states_18,
-        "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000\000"},
        {275, "raise_stmt", 0, 7, states_19,
-        "\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000"},
        {276, "import_stmt", 0, 9, states_20,
-        "\000\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000"},
+        "\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000"},
        {277, "dotted_name", 0, 2, states_21,
         "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
        {278, "global_stmt", 0, 3, states_22,
+        "\000\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000"},
+       {279, "exec_stmt", 0, 7, states_23,
         "\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000\000"},
-       {279, "access_stmt", 0, 7, states_23,
-        "\000\000\000\000\000\000\100\000\000\000\000\000\000\000\000\000"},
-       {280, "accesstype", 0, 2, states_24,
-        "\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-       {281, "exec_stmt", 0, 7, states_25,
-        "\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000"},
-       {282, "compound_stmt", 0, 2, states_26,
-        "\000\010\000\000\000\000\000\000\071\000\000\000\000\000\000\010"},
-       {283, "if_stmt", 0, 8, states_27,
+       {280, "compound_stmt", 0, 2, states_24,
+        "\000\010\000\000\000\000\000\040\007\000\000\000\000\000\000\001"},
+       {281, "if_stmt", 0, 8, states_25,
+        "\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000\000"},
+       {282, "while_stmt", 0, 8, states_26,
         "\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000"},
-       {284, "while_stmt", 0, 8, states_28,
-        "\000\000\000\000\000\000\000\000\010\000\000\000\000\000\000\000"},
-       {285, "for_stmt", 0, 10, states_29,
-        "\000\000\000\000\000\000\000\000\020\000\000\000\000\000\000\000"},
-       {286, "try_stmt", 0, 10, states_30,
+       {283, "for_stmt", 0, 10, states_27,
+        "\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000"},
+       {284, "try_stmt", 0, 10, states_28,
+        "\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000"},
+       {285, "except_clause", 0, 5, states_29,
         "\000\000\000\000\000\000\000\000\040\000\000\000\000\000\000\000"},
-       {287, "except_clause", 0, 5, states_31,
-        "\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000"},
-       {288, "suite", 0, 5, states_32,
-        "\004\020\001\000\140\341\153\001\000\000\001\000\140\104\171\000"},
-       {289, "test", 0, 4, states_33,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
-       {290, "and_test", 0, 2, states_34,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\071\000"},
-       {291, "not_test", 0, 3, states_35,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\071\000"},
-       {292, "comparison", 0, 2, states_36,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {293, "comp_op", 0, 4, states_37,
-        "\000\000\000\000\000\000\000\004\000\000\371\007\000\000\000\000"},
-       {294, "expr", 0, 2, states_38,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {295, "xor_expr", 0, 2, states_39,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {296, "and_expr", 0, 2, states_40,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {297, "shift_expr", 0, 2, states_41,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {298, "arith_expr", 0, 2, states_42,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {299, "term", 0, 2, states_43,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {300, "factor", 0, 3, states_44,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {301, "power", 0, 4, states_45,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\000\100\071\000"},
-       {302, "atom", 0, 11, states_46,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\000\100\071\000"},
-       {303, "lambdef", 0, 5, states_47,
-        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\100\000"},
-       {304, "trailer", 0, 7, states_48,
-        "\000\000\001\000\000\000\020\000\000\000\000\000\000\100\000\000"},
-       {305, "subscriptlist", 0, 3, states_49,
-        "\000\120\001\000\000\000\020\000\000\000\001\000\140\104\171\000"},
-       {306, "subscript", 0, 7, states_50,
-        "\000\120\001\000\000\000\020\000\000\000\001\000\140\104\171\000"},
-       {307, "sliceop", 0, 3, states_51,
+       {286, "suite", 0, 5, states_30,
+        "\004\020\001\000\260\360\065\000\000\040\000\000\214\050\017\000"},
+       {287, "test", 0, 4, states_31,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
+       {288, "and_test", 0, 2, states_32,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\007\000"},
+       {289, "not_test", 0, 3, states_33,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\007\000"},
+       {290, "comparison", 0, 2, states_34,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {291, "comp_op", 0, 4, states_35,
+        "\000\000\000\000\000\000\200\000\000\040\377\000\000\000\000\000"},
+       {292, "expr", 0, 2, states_36,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {293, "xor_expr", 0, 2, states_37,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {294, "and_expr", 0, 2, states_38,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {295, "shift_expr", 0, 2, states_39,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {296, "arith_expr", 0, 2, states_40,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {297, "term", 0, 2, states_41,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {298, "factor", 0, 3, states_42,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {299, "power", 0, 4, states_43,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\000\050\007\000"},
+       {300, "atom", 0, 11, states_44,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\000\050\007\000"},
+       {301, "lambdef", 0, 5, states_45,
+        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010\000"},
+       {302, "trailer", 0, 7, states_46,
+        "\000\000\001\000\000\000\010\000\000\000\000\000\000\010\000\000"},
+       {303, "subscriptlist", 0, 3, states_47,
+        "\000\120\001\000\000\000\010\000\000\040\000\000\214\050\017\000"},
+       {304, "subscript", 0, 7, states_48,
+        "\000\120\001\000\000\000\010\000\000\040\000\000\214\050\017\000"},
+       {305, "sliceop", 0, 3, states_49,
         "\000\100\000\000\000\000\000\000\000\000\000\000\000\000\000\000"},
-       {308, "exprlist", 0, 3, states_52,
-        "\000\020\001\000\000\000\000\000\000\000\000\000\140\104\071\000"},
-       {309, "testlist", 0, 3, states_53,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
-       {310, "dictmaker", 0, 5, states_54,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
-       {311, "classdef", 0, 8, states_55,
-        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\010"},
-       {312, "arglist", 0, 3, states_56,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
-       {313, "argument", 0, 4, states_57,
-        "\000\020\001\000\000\000\000\000\000\000\001\000\140\104\171\000"},
-};
-static label labels[125] = {
+       {306, "exprlist", 0, 3, states_50,
+        "\000\020\001\000\000\000\000\000\000\000\000\000\214\050\007\000"},
+       {307, "testlist", 0, 3, states_51,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
+       {308, "dictmaker", 0, 5, states_52,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
+       {309, "classdef", 0, 8, states_53,
+        "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001"},
+       {310, "arglist", 0, 3, states_54,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
+       {311, "argument", 0, 4, states_55,
+        "\000\020\001\000\000\000\000\000\000\040\000\000\214\050\017\000"},
+};
+static label labels[122] = {
        {0, "EMPTY"},
        {256, 0},
        {4, 0},
        {265, 0},
-       {282, 0},
+       {280, 0},
        {257, 0},
        {264, 0},
        {0, 0},
        {258, 0},
-       {309, 0},
+       {307, 0},
        {259, 0},
        {1, "def"},
        {1, 0},
        {260, 0},
        {11, 0},
-       {288, 0},
+       {286, 0},
        {7, 0},
        {261, 0},
        {8, 0},
        {262, 0},
        {22, 0},
-       {289, 0},
+       {287, 0},
        {12, 0},
        {16, 0},
        {36, 0},
@@ -1379,10 +1330,9 @@ static label labels[125] = {
        {276, 0},
        {278, 0},
        {279, 0},
-       {281, 0},
        {1, "print"},
        {1, "del"},
-       {308, 0},
+       {306, 0},
        {1, "pass"},
        {272, 0},
        {273, 0},
@@ -1397,35 +1347,33 @@ static label labels[125] = {
        {1, "from"},
        {23, 0},
        {1, "global"},
-       {1, "access"},
-       {280, 0},
        {1, "exec"},
-       {294, 0},
+       {292, 0},
        {1, "in"},
+       {281, 0},
+       {282, 0},
        {283, 0},
        {284, 0},
-       {285, 0},
-       {286, 0},
-       {311, 0},
+       {309, 0},
        {1, "if"},
        {1, "elif"},
        {1, "else"},
        {1, "while"},
        {1, "for"},
        {1, "try"},
-       {287, 0},
+       {285, 0},
        {1, "finally"},
        {1, "except"},
        {5, 0},
        {6, 0},
-       {290, 0},
+       {288, 0},
        {1, "or"},
-       {303, 0},
-       {291, 0},
+       {301, 0},
+       {289, 0},
        {1, "and"},
        {1, "not"},
-       {292, 0},
-       {293, 0},
+       {290, 0},
+       {291, 0},
        {20, 0},
        {21, 0},
        {28, 0},
@@ -1434,44 +1382,44 @@ static label labels[125] = {
        {29, 0},
        {29, 0},
        {1, "is"},
-       {295, 0},
+       {293, 0},
        {18, 0},
-       {296, 0},
+       {294, 0},
        {33, 0},
-       {297, 0},
+       {295, 0},
        {19, 0},
-       {298, 0},
+       {296, 0},
        {34, 0},
        {35, 0},
-       {299, 0},
+       {297, 0},
        {14, 0},
        {15, 0},
-       {300, 0},
+       {298, 0},
        {17, 0},
        {24, 0},
        {32, 0},
-       {301, 0},
+       {299, 0},
+       {300, 0},
        {302, 0},
-       {304, 0},
        {9, 0},
        {10, 0},
        {26, 0},
-       {310, 0},
+       {308, 0},
        {27, 0},
        {25, 0},
        {2, 0},
        {3, 0},
        {1, "lambda"},
-       {312, 0},
+       {310, 0},
+       {303, 0},
+       {304, 0},
        {305, 0},
-       {306, 0},
-       {307, 0},
        {1, "class"},
-       {313, 0},
+       {311, 0},
 };
 grammar gram = {
-       58,
+       56,
        dfas,
-       {125, labels},
+       {122, labels},
        256
 };