summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dist/B-Deparse/Deparse.pm1
-rw-r--r--op.c11
-rw-r--r--opcode.h5
-rw-r--r--opnames.h495
-rw-r--r--perly.act206
-rw-r--r--perly.h2
-rw-r--r--perly.tab1427
-rw-r--r--perly.y9
-rw-r--r--pp.c44
-rw-r--r--pp_proto.h1
-rw-r--r--regen/opcodes1
-rw-r--r--toke.c3
12 files changed, 1151 insertions, 1054 deletions
diff --git a/dist/B-Deparse/Deparse.pm b/dist/B-Deparse/Deparse.pm
index 6aa8847426..7816b9d82d 100644
--- a/dist/B-Deparse/Deparse.pm
+++ b/dist/B-Deparse/Deparse.pm
@@ -3573,6 +3573,7 @@ sub slice {
}
sub pp_aslice { maybe_local(@_, slice(@_, "[", "]", "rv2av", "padav")) }
+sub pp_kvaslice { slice(@_, "[", "]", "rv2av", "padav") }
sub pp_hslice { maybe_local(@_, slice(@_, "{", "}", "rv2hv", "padhv")) }
sub pp_kvhslice { slice(@_, "{", "}", "rv2hv", "padhv") }
diff --git a/op.c b/op.c
index d457d434db..aa6c50d1e9 100644
--- a/op.c
+++ b/op.c
@@ -1276,6 +1276,7 @@ Perl_scalarvoid(pTHX_ OP *o)
case OP_AELEMFAST:
case OP_AELEMFAST_LEX:
case OP_ASLICE:
+ case OP_KVASLICE:
case OP_HELEM:
case OP_HSLICE:
case OP_KVHSLICE:
@@ -2063,6 +2064,7 @@ Perl_op_lvalue_flags(pTHX_ OP *o, I32 type, U32 flags)
PL_modcount = RETURN_UNLIMITED_NUMBER;
break;
case OP_KVHSLICE:
+ case OP_KVASLICE:
if (type == OP_LEAVESUBLV)
o->op_private |= OPpMAYBE_LVSUB;
goto nomod;
@@ -5354,7 +5356,8 @@ S_is_list_assignment(pTHX_ const OP *o)
if (type == OP_LIST || flags & OPf_PARENS ||
type == OP_RV2AV || type == OP_RV2HV ||
- type == OP_ASLICE || type == OP_HSLICE || type == OP_KVHSLICE)
+ type == OP_ASLICE || type == OP_HSLICE ||
+ type == OP_KVASLICE || type == OP_KVHSLICE)
return TRUE;
if (type == OP_PADAV || type == OP_PADHV)
@@ -6562,6 +6565,7 @@ S_ref_array_or_hash(pTHX_ OP *cond)
else if(cond
&& (cond->op_type == OP_ASLICE
+ || cond->op_type == OP_KVASLICE
|| cond->op_type == OP_HSLICE
|| cond->op_type == OP_KVHSLICE)) {
@@ -8044,11 +8048,13 @@ Perl_oopsAV(pTHX_ OP *o)
switch (o->op_type) {
case OP_PADSV:
+ case OP_PADHV:
o->op_type = OP_PADAV;
o->op_ppaddr = PL_ppaddr[OP_PADAV];
return ref(o, OP_RV2AV);
case OP_RV2SV:
+ case OP_RV2HV:
o->op_type = OP_RV2AV;
o->op_ppaddr = PL_ppaddr[OP_RV2AV];
ref(o, OP_RV2AV);
@@ -8302,6 +8308,9 @@ Perl_ck_delete(pTHX_ OP *o)
/* FALL THROUGH */
case OP_HELEM:
break;
+ case OP_KVASLICE:
+ Perl_croak(aTHX_ "%s argument is index/value array slice, use array slice",
+ OP_DESC(o));
case OP_KVHSLICE:
Perl_croak(aTHX_ "%s argument is key/value hash slice, use hash slice",
OP_DESC(o));
diff --git a/opcode.h b/opcode.h
index b91e7ad9f4..0770646121 100644
--- a/opcode.h
+++ b/opcode.h
@@ -280,6 +280,7 @@ EXTCONST char* const PL_op_name[] = {
"aelemfast_lex",
"aelem",
"aslice",
+ "kvaslice",
"aeach",
"akeys",
"avalues",
@@ -666,6 +667,7 @@ EXTCONST char* const PL_op_desc[] = {
"constant lexical array element",
"array element",
"array slice",
+ "index/value array slice",
"each on array",
"keys on array",
"values on array",
@@ -1066,6 +1068,7 @@ EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
Perl_pp_aelemfast_lex, /* implemented by Perl_pp_aelemfast */
Perl_pp_aelem,
Perl_pp_aslice,
+ Perl_pp_kvaslice,
Perl_pp_aeach,
Perl_pp_akeys,
Perl_pp_avalues, /* implemented by Perl_pp_akeys */
@@ -1462,6 +1465,7 @@ EXT Perl_check_t PL_check[] /* or perlvars.h */
Perl_ck_null, /* aelemfast_lex */
Perl_ck_null, /* aelem */
Perl_ck_null, /* aslice */
+ Perl_ck_null, /* kvaslice */
Perl_ck_each, /* aeach */
Perl_ck_each, /* akeys */
Perl_ck_each, /* avalues */
@@ -1852,6 +1856,7 @@ EXTCONST U32 PL_opargs[] = {
0x00013040, /* aelemfast_lex */
0x00013204, /* aelem */
0x00023401, /* aslice */
+ 0x00023401, /* kvaslice */
0x00003b00, /* aeach */
0x00003b08, /* akeys */
0x00003b08, /* avalues */
diff --git a/opnames.h b/opnames.h
index d64a333fc6..68ce927cd9 100644
--- a/opnames.h
+++ b/opnames.h
@@ -146,256 +146,257 @@ typedef enum opcode {
OP_AELEMFAST_LEX = 129,
OP_AELEM = 130,
OP_ASLICE = 131,
- OP_AEACH = 132,
- OP_AKEYS = 133,
- OP_AVALUES = 134,
- OP_EACH = 135,
- OP_VALUES = 136,
- OP_KEYS = 137,
- OP_DELETE = 138,
- OP_EXISTS = 139,
- OP_RV2HV = 140,
- OP_HELEM = 141,
- OP_HSLICE = 142,
- OP_KVHSLICE = 143,
- OP_UNPACK = 144,
- OP_PACK = 145,
- OP_SPLIT = 146,
- OP_JOIN = 147,
- OP_LIST = 148,
- OP_LSLICE = 149,
- OP_ANONLIST = 150,
- OP_ANONHASH = 151,
- OP_SPLICE = 152,
- OP_PUSH = 153,
- OP_POP = 154,
- OP_SHIFT = 155,
- OP_UNSHIFT = 156,
- OP_SORT = 157,
- OP_REVERSE = 158,
- OP_GREPSTART = 159,
- OP_GREPWHILE = 160,
- OP_MAPSTART = 161,
- OP_MAPWHILE = 162,
- OP_RANGE = 163,
- OP_FLIP = 164,
- OP_FLOP = 165,
- OP_AND = 166,
- OP_OR = 167,
- OP_XOR = 168,
- OP_DOR = 169,
- OP_COND_EXPR = 170,
- OP_ANDASSIGN = 171,
- OP_ORASSIGN = 172,
- OP_DORASSIGN = 173,
- OP_METHOD = 174,
- OP_ENTERSUB = 175,
- OP_LEAVESUB = 176,
- OP_LEAVESUBLV = 177,
- OP_CALLER = 178,
- OP_WARN = 179,
- OP_DIE = 180,
- OP_RESET = 181,
- OP_LINESEQ = 182,
- OP_NEXTSTATE = 183,
- OP_DBSTATE = 184,
- OP_UNSTACK = 185,
- OP_ENTER = 186,
- OP_LEAVE = 187,
- OP_SCOPE = 188,
- OP_ENTERITER = 189,
- OP_ITER = 190,
- OP_ENTERLOOP = 191,
- OP_LEAVELOOP = 192,
- OP_RETURN = 193,
- OP_LAST = 194,
- OP_NEXT = 195,
- OP_REDO = 196,
- OP_DUMP = 197,
- OP_GOTO = 198,
- OP_EXIT = 199,
- OP_METHOD_NAMED = 200,
- OP_ENTERGIVEN = 201,
- OP_LEAVEGIVEN = 202,
- OP_ENTERWHEN = 203,
- OP_LEAVEWHEN = 204,
- OP_BREAK = 205,
- OP_CONTINUE = 206,
- OP_OPEN = 207,
- OP_CLOSE = 208,
- OP_PIPE_OP = 209,
- OP_FILENO = 210,
- OP_UMASK = 211,
- OP_BINMODE = 212,
- OP_TIE = 213,
- OP_UNTIE = 214,
- OP_TIED = 215,
- OP_DBMOPEN = 216,
- OP_DBMCLOSE = 217,
- OP_SSELECT = 218,
- OP_SELECT = 219,
- OP_GETC = 220,
- OP_READ = 221,
- OP_ENTERWRITE = 222,
- OP_LEAVEWRITE = 223,
- OP_PRTF = 224,
- OP_PRINT = 225,
- OP_SAY = 226,
- OP_SYSOPEN = 227,
- OP_SYSSEEK = 228,
- OP_SYSREAD = 229,
- OP_SYSWRITE = 230,
- OP_EOF = 231,
- OP_TELL = 232,
- OP_SEEK = 233,
- OP_TRUNCATE = 234,
- OP_FCNTL = 235,
- OP_IOCTL = 236,
- OP_FLOCK = 237,
- OP_SEND = 238,
- OP_RECV = 239,
- OP_SOCKET = 240,
- OP_SOCKPAIR = 241,
- OP_BIND = 242,
- OP_CONNECT = 243,
- OP_LISTEN = 244,
- OP_ACCEPT = 245,
- OP_SHUTDOWN = 246,
- OP_GSOCKOPT = 247,
- OP_SSOCKOPT = 248,
- OP_GETSOCKNAME = 249,
- OP_GETPEERNAME = 250,
- OP_LSTAT = 251,
- OP_STAT = 252,
- OP_FTRREAD = 253,
- OP_FTRWRITE = 254,
- OP_FTREXEC = 255,
- OP_FTEREAD = 256,
- OP_FTEWRITE = 257,
- OP_FTEEXEC = 258,
- OP_FTIS = 259,
- OP_FTSIZE = 260,
- OP_FTMTIME = 261,
- OP_FTATIME = 262,
- OP_FTCTIME = 263,
- OP_FTROWNED = 264,
- OP_FTEOWNED = 265,
- OP_FTZERO = 266,
- OP_FTSOCK = 267,
- OP_FTCHR = 268,
- OP_FTBLK = 269,
- OP_FTFILE = 270,
- OP_FTDIR = 271,
- OP_FTPIPE = 272,
- OP_FTSUID = 273,
- OP_FTSGID = 274,
- OP_FTSVTX = 275,
- OP_FTLINK = 276,
- OP_FTTTY = 277,
- OP_FTTEXT = 278,
- OP_FTBINARY = 279,
- OP_CHDIR = 280,
- OP_CHOWN = 281,
- OP_CHROOT = 282,
- OP_UNLINK = 283,
- OP_CHMOD = 284,
- OP_UTIME = 285,
- OP_RENAME = 286,
- OP_LINK = 287,
- OP_SYMLINK = 288,
- OP_READLINK = 289,
- OP_MKDIR = 290,
- OP_RMDIR = 291,
- OP_OPEN_DIR = 292,
- OP_READDIR = 293,
- OP_TELLDIR = 294,
- OP_SEEKDIR = 295,
- OP_REWINDDIR = 296,
- OP_CLOSEDIR = 297,
- OP_FORK = 298,
- OP_WAIT = 299,
- OP_WAITPID = 300,
- OP_SYSTEM = 301,
- OP_EXEC = 302,
- OP_KILL = 303,
- OP_GETPPID = 304,
- OP_GETPGRP = 305,
- OP_SETPGRP = 306,
- OP_GETPRIORITY = 307,
- OP_SETPRIORITY = 308,
- OP_TIME = 309,
- OP_TMS = 310,
- OP_LOCALTIME = 311,
- OP_GMTIME = 312,
- OP_ALARM = 313,
- OP_SLEEP = 314,
- OP_SHMGET = 315,
- OP_SHMCTL = 316,
- OP_SHMREAD = 317,
- OP_SHMWRITE = 318,
- OP_MSGGET = 319,
- OP_MSGCTL = 320,
- OP_MSGSND = 321,
- OP_MSGRCV = 322,
- OP_SEMOP = 323,
- OP_SEMGET = 324,
- OP_SEMCTL = 325,
- OP_REQUIRE = 326,
- OP_DOFILE = 327,
- OP_HINTSEVAL = 328,
- OP_ENTEREVAL = 329,
- OP_LEAVEEVAL = 330,
- OP_ENTERTRY = 331,
- OP_LEAVETRY = 332,
- OP_GHBYNAME = 333,
- OP_GHBYADDR = 334,
- OP_GHOSTENT = 335,
- OP_GNBYNAME = 336,
- OP_GNBYADDR = 337,
- OP_GNETENT = 338,
- OP_GPBYNAME = 339,
- OP_GPBYNUMBER = 340,
- OP_GPROTOENT = 341,
- OP_GSBYNAME = 342,
- OP_GSBYPORT = 343,
- OP_GSERVENT = 344,
- OP_SHOSTENT = 345,
- OP_SNETENT = 346,
- OP_SPROTOENT = 347,
- OP_SSERVENT = 348,
- OP_EHOSTENT = 349,
- OP_ENETENT = 350,
- OP_EPROTOENT = 351,
- OP_ESERVENT = 352,
- OP_GPWNAM = 353,
- OP_GPWUID = 354,
- OP_GPWENT = 355,
- OP_SPWENT = 356,
- OP_EPWENT = 357,
- OP_GGRNAM = 358,
- OP_GGRGID = 359,
- OP_GGRENT = 360,
- OP_SGRENT = 361,
- OP_EGRENT = 362,
- OP_GETLOGIN = 363,
- OP_SYSCALL = 364,
- OP_LOCK = 365,
- OP_ONCE = 366,
- OP_CUSTOM = 367,
- OP_REACH = 368,
- OP_RKEYS = 369,
- OP_RVALUES = 370,
- OP_COREARGS = 371,
- OP_RUNCV = 372,
- OP_FC = 373,
- OP_PADCV = 374,
- OP_INTROCV = 375,
- OP_CLONECV = 376,
- OP_PADRANGE = 377,
+ OP_KVASLICE = 132,
+ OP_AEACH = 133,
+ OP_AKEYS = 134,
+ OP_AVALUES = 135,
+ OP_EACH = 136,
+ OP_VALUES = 137,
+ OP_KEYS = 138,
+ OP_DELETE = 139,
+ OP_EXISTS = 140,
+ OP_RV2HV = 141,
+ OP_HELEM = 142,
+ OP_HSLICE = 143,
+ OP_KVHSLICE = 144,
+ OP_UNPACK = 145,
+ OP_PACK = 146,
+ OP_SPLIT = 147,
+ OP_JOIN = 148,
+ OP_LIST = 149,
+ OP_LSLICE = 150,
+ OP_ANONLIST = 151,
+ OP_ANONHASH = 152,
+ OP_SPLICE = 153,
+ OP_PUSH = 154,
+ OP_POP = 155,
+ OP_SHIFT = 156,
+ OP_UNSHIFT = 157,
+ OP_SORT = 158,
+ OP_REVERSE = 159,
+ OP_GREPSTART = 160,
+ OP_GREPWHILE = 161,
+ OP_MAPSTART = 162,
+ OP_MAPWHILE = 163,
+ OP_RANGE = 164,
+ OP_FLIP = 165,
+ OP_FLOP = 166,
+ OP_AND = 167,
+ OP_OR = 168,
+ OP_XOR = 169,
+ OP_DOR = 170,
+ OP_COND_EXPR = 171,
+ OP_ANDASSIGN = 172,
+ OP_ORASSIGN = 173,
+ OP_DORASSIGN = 174,
+ OP_METHOD = 175,
+ OP_ENTERSUB = 176,
+ OP_LEAVESUB = 177,
+ OP_LEAVESUBLV = 178,
+ OP_CALLER = 179,
+ OP_WARN = 180,
+ OP_DIE = 181,
+ OP_RESET = 182,
+ OP_LINESEQ = 183,
+ OP_NEXTSTATE = 184,
+ OP_DBSTATE = 185,
+ OP_UNSTACK = 186,
+ OP_ENTER = 187,
+ OP_LEAVE = 188,
+ OP_SCOPE = 189,
+ OP_ENTERITER = 190,
+ OP_ITER = 191,
+ OP_ENTERLOOP = 192,
+ OP_LEAVELOOP = 193,
+ OP_RETURN = 194,
+ OP_LAST = 195,
+ OP_NEXT = 196,
+ OP_REDO = 197,
+ OP_DUMP = 198,
+ OP_GOTO = 199,
+ OP_EXIT = 200,
+ OP_METHOD_NAMED = 201,
+ OP_ENTERGIVEN = 202,
+ OP_LEAVEGIVEN = 203,
+ OP_ENTERWHEN = 204,
+ OP_LEAVEWHEN = 205,
+ OP_BREAK = 206,
+ OP_CONTINUE = 207,
+ OP_OPEN = 208,
+ OP_CLOSE = 209,
+ OP_PIPE_OP = 210,
+ OP_FILENO = 211,
+ OP_UMASK = 212,
+ OP_BINMODE = 213,
+ OP_TIE = 214,
+ OP_UNTIE = 215,
+ OP_TIED = 216,
+ OP_DBMOPEN = 217,
+ OP_DBMCLOSE = 218,
+ OP_SSELECT = 219,
+ OP_SELECT = 220,
+ OP_GETC = 221,
+ OP_READ = 222,
+ OP_ENTERWRITE = 223,
+ OP_LEAVEWRITE = 224,
+ OP_PRTF = 225,
+ OP_PRINT = 226,
+ OP_SAY = 227,
+ OP_SYSOPEN = 228,
+ OP_SYSSEEK = 229,
+ OP_SYSREAD = 230,
+ OP_SYSWRITE = 231,
+ OP_EOF = 232,
+ OP_TELL = 233,
+ OP_SEEK = 234,
+ OP_TRUNCATE = 235,
+ OP_FCNTL = 236,
+ OP_IOCTL = 237,
+ OP_FLOCK = 238,
+ OP_SEND = 239,
+ OP_RECV = 240,
+ OP_SOCKET = 241,
+ OP_SOCKPAIR = 242,
+ OP_BIND = 243,
+ OP_CONNECT = 244,
+ OP_LISTEN = 245,
+ OP_ACCEPT = 246,
+ OP_SHUTDOWN = 247,
+ OP_GSOCKOPT = 248,
+ OP_SSOCKOPT = 249,
+ OP_GETSOCKNAME = 250,
+ OP_GETPEERNAME = 251,
+ OP_LSTAT = 252,
+ OP_STAT = 253,
+ OP_FTRREAD = 254,
+ OP_FTRWRITE = 255,
+ OP_FTREXEC = 256,
+ OP_FTEREAD = 257,
+ OP_FTEWRITE = 258,
+ OP_FTEEXEC = 259,
+ OP_FTIS = 260,
+ OP_FTSIZE = 261,
+ OP_FTMTIME = 262,
+ OP_FTATIME = 263,
+ OP_FTCTIME = 264,
+ OP_FTROWNED = 265,
+ OP_FTEOWNED = 266,
+ OP_FTZERO = 267,
+ OP_FTSOCK = 268,
+ OP_FTCHR = 269,
+ OP_FTBLK = 270,
+ OP_FTFILE = 271,
+ OP_FTDIR = 272,
+ OP_FTPIPE = 273,
+ OP_FTSUID = 274,
+ OP_FTSGID = 275,
+ OP_FTSVTX = 276,
+ OP_FTLINK = 277,
+ OP_FTTTY = 278,
+ OP_FTTEXT = 279,
+ OP_FTBINARY = 280,
+ OP_CHDIR = 281,
+ OP_CHOWN = 282,
+ OP_CHROOT = 283,
+ OP_UNLINK = 284,
+ OP_CHMOD = 285,
+ OP_UTIME = 286,
+ OP_RENAME = 287,
+ OP_LINK = 288,
+ OP_SYMLINK = 289,
+ OP_READLINK = 290,
+ OP_MKDIR = 291,
+ OP_RMDIR = 292,
+ OP_OPEN_DIR = 293,
+ OP_READDIR = 294,
+ OP_TELLDIR = 295,
+ OP_SEEKDIR = 296,
+ OP_REWINDDIR = 297,
+ OP_CLOSEDIR = 298,
+ OP_FORK = 299,
+ OP_WAIT = 300,
+ OP_WAITPID = 301,
+ OP_SYSTEM = 302,
+ OP_EXEC = 303,
+ OP_KILL = 304,
+ OP_GETPPID = 305,
+ OP_GETPGRP = 306,
+ OP_SETPGRP = 307,
+ OP_GETPRIORITY = 308,
+ OP_SETPRIORITY = 309,
+ OP_TIME = 310,
+ OP_TMS = 311,
+ OP_LOCALTIME = 312,
+ OP_GMTIME = 313,
+ OP_ALARM = 314,
+ OP_SLEEP = 315,
+ OP_SHMGET = 316,
+ OP_SHMCTL = 317,
+ OP_SHMREAD = 318,
+ OP_SHMWRITE = 319,
+ OP_MSGGET = 320,
+ OP_MSGCTL = 321,
+ OP_MSGSND = 322,
+ OP_MSGRCV = 323,
+ OP_SEMOP = 324,
+ OP_SEMGET = 325,
+ OP_SEMCTL = 326,
+ OP_REQUIRE = 327,
+ OP_DOFILE = 328,
+ OP_HINTSEVAL = 329,
+ OP_ENTEREVAL = 330,
+ OP_LEAVEEVAL = 331,
+ OP_ENTERTRY = 332,
+ OP_LEAVETRY = 333,
+ OP_GHBYNAME = 334,
+ OP_GHBYADDR = 335,
+ OP_GHOSTENT = 336,
+ OP_GNBYNAME = 337,
+ OP_GNBYADDR = 338,
+ OP_GNETENT = 339,
+ OP_GPBYNAME = 340,
+ OP_GPBYNUMBER = 341,
+ OP_GPROTOENT = 342,
+ OP_GSBYNAME = 343,
+ OP_GSBYPORT = 344,
+ OP_GSERVENT = 345,
+ OP_SHOSTENT = 346,
+ OP_SNETENT = 347,
+ OP_SPROTOENT = 348,
+ OP_SSERVENT = 349,
+ OP_EHOSTENT = 350,
+ OP_ENETENT = 351,
+ OP_EPROTOENT = 352,
+ OP_ESERVENT = 353,
+ OP_GPWNAM = 354,
+ OP_GPWUID = 355,
+ OP_GPWENT = 356,
+ OP_SPWENT = 357,
+ OP_EPWENT = 358,
+ OP_GGRNAM = 359,
+ OP_GGRGID = 360,
+ OP_GGRENT = 361,
+ OP_SGRENT = 362,
+ OP_EGRENT = 363,
+ OP_GETLOGIN = 364,
+ OP_SYSCALL = 365,
+ OP_LOCK = 366,
+ OP_ONCE = 367,
+ OP_CUSTOM = 368,
+ OP_REACH = 369,
+ OP_RKEYS = 370,
+ OP_RVALUES = 371,
+ OP_COREARGS = 372,
+ OP_RUNCV = 373,
+ OP_FC = 374,
+ OP_PADCV = 375,
+ OP_INTROCV = 376,
+ OP_CLONECV = 377,
+ OP_PADRANGE = 378,
OP_max
} opcode;
-#define MAXO 378
+#define MAXO 379
#define OP_FREED MAXO
/* the OP_IS_* macros are optimized to a simple range check because
diff --git a/perly.act b/perly.act
index ef82bc9545..5033bfc97a 100644
--- a/perly.act
+++ b/perly.act
@@ -1429,6 +1429,18 @@ case 2:
case 176:
#line 1208 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
+ newOP(OP_PUSHMARK, 0),
+ newLISTOP(OP_KVASLICE, 0,
+ list((ps[(3) - (4)].val.opval)),
+ ref(oopsAV((ps[(1) - (4)].val.opval)), OP_KVASLICE)));
+ TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
+ TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
+ }
+ break;
+
+ case 177:
+#line 1217 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
@@ -1441,8 +1453,8 @@ case 2:
}
break;
- case 177:
-#line 1219 "perly.y"
+ case 178:
+#line 1228 "perly.y"
{ (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
@@ -1455,26 +1467,26 @@ case 2:
}
break;
- case 178:
-#line 1230 "perly.y"
+ case 179:
+#line 1239 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
- case 179:
-#line 1232 "perly.y"
+ case 180:
+#line 1241 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
break;
- case 180:
-#line 1234 "perly.y"
+ case 181:
+#line 1243 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
}
break;
- case 181:
-#line 1239 "perly.y"
+ case 182:
+#line 1248 "perly.y"
{
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1489,91 +1501,91 @@ case 2:
}
break;
- case 182:
-#line 1252 "perly.y"
+ case 183:
+#line 1261 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 183:
-#line 1257 "perly.y"
+ case 184:
+#line 1266 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE;
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 184:
-#line 1262 "perly.y"
+ case 185:
+#line 1271 "perly.y"
{ (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 185:
-#line 1266 "perly.y"
+ case 186:
+#line 1275 "perly.y"
{ (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 186:
-#line 1270 "perly.y"
+ case 187:
+#line 1279 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 187:
-#line 1274 "perly.y"
+ case 188:
+#line 1283 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 188:
-#line 1278 "perly.y"
+ case 189:
+#line 1287 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 189:
-#line 1282 "perly.y"
+ case 190:
+#line 1291 "perly.y"
{ (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 190:
-#line 1286 "perly.y"
+ case 191:
+#line 1295 "perly.y"
{ (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 191:
-#line 1290 "perly.y"
+ case 192:
+#line 1299 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
break;
- case 192:
-#line 1292 "perly.y"
+ case 193:
+#line 1301 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
break;
- case 193:
-#line 1295 "perly.y"
+ case 194:
+#line 1304 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
}
break;
- case 194:
-#line 1299 "perly.y"
+ case 195:
+#line 1308 "perly.y"
{ (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
@@ -1581,27 +1593,27 @@ case 2:
}
break;
- case 195:
-#line 1305 "perly.y"
+ case 196:
+#line 1314 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
- case 196:
-#line 1307 "perly.y"
+ case 197:
+#line 1316 "perly.y"
{ (yyval.opval) = (ps[(1) - (3)].val.opval);
TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
}
break;
- case 197:
-#line 1312 "perly.y"
+ case 198:
+#line 1321 "perly.y"
{ (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
scalar((ps[(1) - (1)].val.opval))); }
break;
- case 198:
-#line 1315 "perly.y"
+ case 199:
+#line 1324 "perly.y"
{ (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1612,8 +1624,8 @@ case 2:
}
break;
- case 199:
-#line 1324 "perly.y"
+ case 200:
+#line 1333 "perly.y"
{ (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
@@ -1621,8 +1633,8 @@ case 2:
}
break;
- case 200:
-#line 1330 "perly.y"
+ case 201:
+#line 1339 "perly.y"
{
if ( (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
&& (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
@@ -1635,16 +1647,16 @@ case 2:
}
break;
- case 201:
-#line 1341 "perly.y"
+ case 202:
+#line 1350 "perly.y"
{ (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
}
break;
- case 204:
-#line 1348 "perly.y"
+ case 205:
+#line 1357 "perly.y"
{
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
@@ -1652,8 +1664,8 @@ case 2:
}
break;
- case 206:
-#line 1358 "perly.y"
+ case 207:
+#line 1367 "perly.y"
{ (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
DO_MAD(
token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
@@ -1663,128 +1675,128 @@ case 2:
}
break;
- case 207:
-#line 1366 "perly.y"
+ case 208:
+#line 1375 "perly.y"
{ (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
}
break;
- case 208:
-#line 1373 "perly.y"
+ case 209:
+#line 1382 "perly.y"
{ (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
}
break;
- case 209:
-#line 1378 "perly.y"
+ case 210:
+#line 1387 "perly.y"
{ (yyval.opval) = sawparens(newNULLLIST());
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
}
break;
- case 210:
-#line 1383 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
- break;
-
case 211:
-#line 1385 "perly.y"
+#line 1392 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 212:
-#line 1387 "perly.y"
+#line 1394 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 213:
-#line 1392 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1396 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 214:
-#line 1394 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1401 "perly.y"
+ { (yyval.opval) = (OP*)NULL; }
break;
case 215:
-#line 1398 "perly.y"
- { (yyval.opval) = (OP*)NULL; }
+#line 1403 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 216:
-#line 1400 "perly.y"
- { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+#line 1407 "perly.y"
+ { (yyval.opval) = (OP*)NULL; }
break;
case 217:
-#line 1406 "perly.y"
- { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+#line 1409 "perly.y"
+ { (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
case 218:
-#line 1410 "perly.y"
+#line 1415 "perly.y"
+ { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
+ break;
+
+ case 219:
+#line 1419 "perly.y"
{ (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
}
break;
- case 219:
-#line 1416 "perly.y"
+ case 220:
+#line 1425 "perly.y"
{ (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
}
break;
- case 220:
-#line 1422 "perly.y"
+ case 221:
+#line 1431 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
}
break;
- case 221:
-#line 1428 "perly.y"
+ case 222:
+#line 1437 "perly.y"
{ (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
}
break;
- case 222:
-#line 1434 "perly.y"
+ case 223:
+#line 1443 "perly.y"
{ (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
}
break;
- case 223:
-#line 1440 "perly.y"
+ case 224:
+#line 1449 "perly.y"
{ (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
}
break;
- case 224:
-#line 1447 "perly.y"
+ case 225:
+#line 1456 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
break;
- case 225:
-#line 1449 "perly.y"
+ case 226:
+#line 1458 "perly.y"
{ (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
break;
- case 226:
-#line 1451 "perly.y"
+ case 227:
+#line 1460 "perly.y"
{ (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
break;
- case 227:
-#line 1454 "perly.y"
+ case 228:
+#line 1463 "perly.y"
{ (yyval.opval) = (ps[(1) - (1)].val.opval); }
break;
@@ -1792,6 +1804,6 @@ case 2:
/* Generated from:
- * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
+ * 1c6010b3d1651d4fc7cbfc329723c507767b4230ac920ae0ffde8f344f4a0ab4 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.h b/perly.h
index c570d60380..dcf67d97c5 100644
--- a/perly.h
+++ b/perly.h
@@ -286,6 +286,6 @@ int yyparse ();
/* Generated from:
- * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
+ * 1c6010b3d1651d4fc7cbfc329723c507767b4230ac920ae0ffde8f344f4a0ab4 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.tab b/perly.tab
index 52cf54d4f0..3a1d6206a3 100644
--- a/perly.tab
+++ b/perly.tab
@@ -6,16 +6,16 @@
#define YYFINAL 14
/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST 2833
+#define YYLAST 2872
/* YYNTOKENS -- Number of terminals. */
#define YYNTOKENS 104
/* YYNNTS -- Number of nonterminals. */
#define YYNNTS 66
/* YYNRULES -- Number of rules. */
-#define YYNRULES 227
+#define YYNRULES 228
/* YYNRULES -- Number of states. */
-#define YYNSTATES 459
+#define YYNSTATES 462
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
#define YYUNDEFTOK 2
@@ -85,12 +85,12 @@ static const yytype_uint16 yyprhs[] =
517, 520, 523, 526, 529, 532, 535, 538, 542, 545,
550, 554, 560, 563, 566, 571, 577, 582, 588, 590,
592, 594, 596, 602, 605, 607, 610, 614, 616, 619,
- 621, 623, 625, 627, 629, 631, 636, 642, 648, 650,
- 652, 656, 661, 665, 667, 670, 673, 675, 678, 681,
- 683, 686, 688, 691, 693, 697, 699, 703, 705, 709,
- 714, 715, 721, 723, 725, 727, 729, 733, 736, 740,
- 743, 745, 747, 749, 750, 752, 753, 755, 757, 760,
- 763, 766, 769, 772, 775, 777, 779, 781
+ 621, 623, 625, 627, 629, 631, 636, 641, 647, 653,
+ 655, 657, 661, 666, 670, 672, 675, 678, 680, 683,
+ 686, 688, 691, 693, 696, 698, 702, 704, 708, 710,
+ 714, 719, 720, 726, 728, 730, 732, 734, 738, 741,
+ 745, 748, 750, 752, 754, 755, 757, 758, 760, 762,
+ 765, 768, 771, 774, 777, 780, 782, 784, 786
};
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
@@ -159,22 +159,22 @@ static const yytype_int16 yyrhs[] =
156, -1, 93, 156, -1, 158, -1, 69, 156, -1,
102, 146, 101, -1, 29, -1, 102, 101, -1, 164,
-1, 168, -1, 166, -1, 165, -1, 167, -1, 151,
- -1, 165, 11, 146, 12, -1, 165, 9, 146, 20,
- 10, -1, 166, 9, 146, 20, 10, -1, 26, -1,
- 163, -1, 163, 102, 101, -1, 163, 102, 146, 101,
- -1, 68, 141, 160, -1, 53, -1, 53, 156, -1,
- 79, 147, -1, 59, -1, 59, 112, -1, 59, 156,
- -1, 71, -1, 71, 156, -1, 32, -1, 32, 156,
- -1, 56, -1, 56, 102, 101, -1, 30, -1, 30,
- 102, 101, -1, 31, -1, 57, 102, 101, -1, 57,
- 102, 146, 101, -1, -1, 27, 157, 102, 147, 101,
- -1, 23, -1, 148, -1, 55, -1, 34, -1, 70,
- 159, 144, -1, 70, 159, -1, 102, 146, 101, -1,
- 102, 101, -1, 164, -1, 166, -1, 165, -1, -1,
- 147, -1, -1, 146, -1, 164, -1, 19, 169, -1,
- 15, 169, -1, 16, 169, -1, 17, 169, -1, 65,
- 169, -1, 18, 169, -1, 23, -1, 164, -1, 112,
- -1, 28, -1
+ -1, 165, 11, 146, 12, -1, 166, 11, 146, 12,
+ -1, 165, 9, 146, 20, 10, -1, 166, 9, 146,
+ 20, 10, -1, 26, -1, 163, -1, 163, 102, 101,
+ -1, 163, 102, 146, 101, -1, 68, 141, 160, -1,
+ 53, -1, 53, 156, -1, 79, 147, -1, 59, -1,
+ 59, 112, -1, 59, 156, -1, 71, -1, 71, 156,
+ -1, 32, -1, 32, 156, -1, 56, -1, 56, 102,
+ 101, -1, 30, -1, 30, 102, 101, -1, 31, -1,
+ 57, 102, 101, -1, 57, 102, 146, 101, -1, -1,
+ 27, 157, 102, 147, 101, -1, 23, -1, 148, -1,
+ 55, -1, 34, -1, 70, 159, 144, -1, 70, 159,
+ -1, 102, 146, 101, -1, 102, 101, -1, 164, -1,
+ 166, -1, 165, -1, -1, 147, -1, -1, 146, -1,
+ 164, -1, 19, 169, -1, 15, 169, -1, 16, 169,
+ -1, 17, 169, -1, 65, 169, -1, 18, 169, -1,
+ 23, -1, 164, -1, 112, -1, 28, -1
};
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
@@ -197,12 +197,12 @@ static const yytype_uint16 yyrline[] =
1030, 1037, 1041, 1045, 1050, 1055, 1060, 1069, 1074, 1079,
1085, 1091, 1102, 1106, 1110, 1122, 1135, 1143, 1155, 1156,
1157, 1158, 1159, 1164, 1168, 1170, 1174, 1179, 1181, 1186,
- 1188, 1190, 1192, 1194, 1196, 1198, 1207, 1218, 1229, 1231,
- 1233, 1238, 1251, 1256, 1261, 1265, 1269, 1273, 1277, 1281,
- 1285, 1289, 1291, 1294, 1298, 1304, 1306, 1311, 1314, 1323,
- 1330, 1329, 1345, 1346, 1347, 1353, 1357, 1365, 1372, 1377,
- 1382, 1384, 1386, 1391, 1393, 1398, 1399, 1405, 1409, 1415,
- 1421, 1427, 1433, 1439, 1446, 1448, 1450, 1453
+ 1188, 1190, 1192, 1194, 1196, 1198, 1207, 1216, 1227, 1238,
+ 1240, 1242, 1247, 1260, 1265, 1270, 1274, 1278, 1282, 1286,
+ 1290, 1294, 1298, 1300, 1303, 1307, 1313, 1315, 1320, 1323,
+ 1332, 1339, 1338, 1354, 1355, 1356, 1362, 1366, 1374, 1381,
+ 1386, 1391, 1393, 1395, 1400, 1402, 1407, 1408, 1414, 1418,
+ 1424, 1430, 1436, 1442, 1448, 1455, 1457, 1459, 1462
};
#endif
@@ -281,9 +281,9 @@ static const yytype_uint8 yyr1[] =
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
156, 156, 156, 156, 156, 156, 156, 156, 156, 156,
- 157, 156, 156, 156, 156, 156, 158, 158, 159, 159,
- 159, 159, 159, 160, 160, 161, 161, 162, 163, 164,
- 165, 166, 167, 168, 169, 169, 169, 169
+ 156, 157, 156, 156, 156, 156, 156, 158, 158, 159,
+ 159, 159, 159, 159, 160, 160, 161, 161, 162, 163,
+ 164, 165, 166, 167, 168, 169, 169, 169, 169
};
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
@@ -306,12 +306,12 @@ static const yytype_uint8 yyr2[] =
2, 2, 2, 2, 2, 2, 2, 3, 2, 4,
3, 5, 2, 2, 4, 5, 4, 5, 1, 1,
1, 1, 5, 2, 1, 2, 3, 1, 2, 1,
- 1, 1, 1, 1, 1, 4, 5, 5, 1, 1,
- 3, 4, 3, 1, 2, 2, 1, 2, 2, 1,
- 2, 1, 2, 1, 3, 1, 3, 1, 3, 4,
- 0, 5, 1, 1, 1, 1, 3, 2, 3, 2,
- 1, 1, 1, 0, 1, 0, 1, 1, 2, 2,
- 2, 2, 2, 2, 1, 1, 1, 1
+ 1, 1, 1, 1, 1, 4, 4, 5, 5, 1,
+ 1, 3, 4, 3, 1, 2, 2, 1, 2, 2,
+ 1, 2, 1, 2, 1, 3, 1, 3, 1, 3,
+ 4, 0, 5, 1, 1, 1, 1, 3, 2, 3,
+ 2, 1, 1, 1, 0, 1, 0, 1, 1, 2,
+ 2, 2, 2, 2, 2, 1, 1, 1, 1
};
/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
@@ -319,715 +319,725 @@ static const yytype_uint8 yyr2[] =
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
- 0, 2, 4, 6, 8, 10, 12, 0, 16, 215,
+ 0, 2, 4, 6, 8, 10, 12, 0, 16, 216,
0, 0, 0, 19, 1, 19, 0, 0, 0, 0,
- 0, 0, 0, 0, 202, 0, 0, 178, 200, 167,
- 195, 197, 191, 79, 205, 79, 183, 204, 193, 0,
- 0, 186, 213, 0, 0, 0, 0, 0, 0, 189,
- 0, 0, 0, 0, 0, 0, 0, 216, 95, 203,
- 174, 158, 159, 160, 161, 98, 164, 5, 179, 169,
+ 0, 0, 0, 0, 203, 0, 0, 179, 201, 167,
+ 196, 198, 192, 79, 206, 79, 184, 205, 194, 0,
+ 0, 187, 214, 0, 0, 0, 0, 0, 0, 190,
+ 0, 0, 0, 0, 0, 0, 0, 217, 95, 204,
+ 174, 158, 159, 160, 161, 98, 164, 5, 180, 169,
172, 171, 173, 170, 16, 7, 54, 50, 27, 80,
0, 0, 78, 0, 0, 0, 0, 0, 0, 0,
0, 28, 65, 9, 0, 55, 0, 11, 24, 23,
- 0, 0, 148, 0, 139, 140, 224, 227, 226, 225,
- 219, 220, 221, 223, 218, 213, 0, 0, 0, 0,
- 192, 0, 83, 184, 0, 0, 215, 187, 188, 224,
- 214, 105, 225, 0, 222, 202, 82, 153, 0, 152,
- 169, 0, 0, 81, 213, 165, 0, 207, 210, 212,
- 211, 190, 185, 141, 142, 163, 146, 145, 168, 0,
+ 0, 0, 148, 0, 139, 140, 225, 228, 227, 226,
+ 220, 221, 222, 224, 219, 214, 0, 0, 0, 0,
+ 193, 0, 83, 185, 0, 0, 216, 188, 189, 225,
+ 215, 105, 226, 0, 223, 203, 82, 153, 0, 152,
+ 169, 0, 0, 81, 214, 165, 0, 208, 211, 213,
+ 212, 191, 186, 141, 142, 163, 146, 145, 168, 0,
0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 144, 143, 0, 0, 0, 0, 0, 0,
- 0, 0, 19, 77, 78, 0, 33, 16, 16, 16,
- 16, 16, 16, 0, 16, 16, 39, 0, 46, 49,
- 0, 0, 0, 0, 0, 0, 26, 25, 20, 147,
- 103, 215, 0, 0, 196, 107, 84, 85, 194, 198,
- 0, 0, 0, 99, 0, 0, 150, 0, 182, 209,
- 0, 89, 206, 0, 166, 94, 93, 92, 97, 0,
- 0, 121, 0, 134, 130, 131, 127, 128, 125, 0,
- 137, 136, 135, 133, 132, 129, 138, 126, 0, 0,
- 109, 0, 102, 110, 180, 0, 0, 0, 0, 0,
- 0, 0, 0, 76, 0, 30, 0, 0, 70, 0,
- 0, 0, 0, 0, 16, 0, 0, 66, 58, 59,
- 72, 56, 57, 60, 61, 0, 0, 123, 213, 87,
- 0, 199, 106, 0, 154, 0, 156, 0, 149, 208,
- 88, 0, 0, 0, 114, 120, 0, 0, 0, 118,
- 0, 215, 181, 0, 112, 0, 175, 0, 0, 14,
- 16, 29, 83, 16, 32, 0, 0, 71, 0, 0,
- 73, 75, 0, 0, 217, 69, 74, 0, 0, 55,
- 0, 0, 0, 104, 201, 108, 86, 151, 100, 155,
- 157, 124, 0, 117, 162, 0, 113, 119, 0, 115,
- 176, 177, 111, 0, 85, 47, 213, 67, 67, 0,
- 0, 0, 0, 70, 0, 0, 0, 122, 116, 101,
- 0, 0, 19, 0, 0, 0, 18, 62, 62, 0,
- 65, 0, 0, 37, 38, 21, 91, 90, 31, 0,
- 34, 65, 65, 19, 0, 0, 35, 36, 0, 45,
- 67, 65, 0, 48, 40, 41, 0, 63, 0, 65,
- 0, 44, 0, 52, 22, 17, 0, 43, 0, 15,
- 19, 51, 0, 0, 0, 62, 42, 53, 64
+ 0, 0, 0, 19, 77, 78, 0, 33, 16, 16,
+ 16, 16, 16, 16, 0, 16, 16, 39, 0, 46,
+ 49, 0, 0, 0, 0, 0, 0, 26, 25, 20,
+ 147, 103, 216, 0, 0, 197, 107, 84, 85, 195,
+ 199, 0, 0, 0, 99, 0, 0, 150, 0, 183,
+ 210, 0, 89, 207, 0, 166, 94, 93, 92, 97,
+ 0, 0, 121, 0, 134, 130, 131, 127, 128, 125,
+ 0, 137, 136, 135, 133, 132, 129, 138, 126, 0,
+ 0, 109, 0, 102, 110, 181, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 76, 0, 30, 0, 0,
+ 70, 0, 0, 0, 0, 0, 16, 0, 0, 66,
+ 58, 59, 72, 56, 57, 60, 61, 0, 0, 123,
+ 214, 87, 0, 200, 106, 0, 154, 0, 156, 0,
+ 149, 209, 88, 0, 0, 0, 114, 120, 0, 0,
+ 0, 118, 0, 216, 182, 0, 112, 0, 175, 0,
+ 176, 0, 14, 16, 29, 83, 16, 32, 0, 0,
+ 71, 0, 0, 73, 75, 0, 0, 218, 69, 74,
+ 0, 0, 55, 0, 0, 0, 104, 202, 108, 86,
+ 151, 100, 155, 157, 124, 0, 117, 162, 0, 113,
+ 119, 0, 115, 177, 178, 111, 0, 85, 47, 214,
+ 67, 67, 0, 0, 0, 0, 70, 0, 0, 0,
+ 122, 116, 101, 0, 0, 19, 0, 0, 0, 18,
+ 62, 62, 0, 65, 0, 0, 37, 38, 21, 91,
+ 90, 31, 0, 34, 65, 65, 19, 0, 0, 35,
+ 36, 0, 45, 67, 65, 0, 48, 40, 41, 0,
+ 63, 0, 65, 0, 44, 0, 52, 22, 17, 0,
+ 43, 0, 15, 19, 51, 0, 0, 0, 62, 42,
+ 53, 64
};
/* YYDEFGOTO[NTERM-NUM]. */
static const yytype_int16 yydefgoto[] =
{
- -1, 7, 8, 9, 10, 11, 12, 13, 108, 341,
- 15, 407, 423, 100, 432, 218, 98, 99, 342, 287,
- 402, 444, 451, 94, 426, 208, 404, 356, 346, 299,
- 349, 358, 352, 284, 196, 121, 193, 138, 227, 310,
- 242, 418, 95, 58, 59, 308, 272, 60, 61, 62,
- 63, 64, 65, 117, 66, 147, 131, 67, 353, 68,
+ -1, 7, 8, 9, 10, 11, 12, 13, 108, 344,
+ 15, 410, 426, 100, 435, 219, 98, 99, 345, 289,
+ 405, 447, 454, 94, 429, 209, 407, 359, 349, 301,
+ 352, 361, 355, 286, 197, 121, 194, 138, 228, 312,
+ 243, 421, 95, 58, 59, 310, 273, 60, 61, 62,
+ 63, 64, 65, 117, 66, 147, 131, 67, 356, 68,
69, 70, 71, 72, 73, 110
};
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
-#define YYPACT_NINF -399
+#define YYPACT_NINF -387
static const yytype_int16 yypact[] =
{
- 695, -399, -399, -399, -399, -399, -399, 76, -399, 2714,
- 84, 1101, 1006, -399, -399, -399, 1798, 2714, 2714, 204,
- 204, 204, 204, 204, -399, 204, 204, -399, -399, 101,
- 6, -399, 2714, -399, -399, -399, 2714, -399, 43, 52,
- 53, 1706, 1522, 204, 1614, 1888, 56, 2714, 48, 2714,
- 2714, 2714, 2714, 2714, 2714, 2714, 1978, 20, 79, -399,
- 2, -399, -399, -399, -399, 332, -399, -399, 64, 96,
- 114, 156, -399, 170, -399, -399, -399, -399, -399, -399,
- 56, 166, -399, 88, 90, 102, 103, -1, 119, 141,
- 84, -399, 148, -399, 178, 1976, 1006, -399, -399, -399,
- 436, 531, -399, -3, 306, 306, -399, -399, -399, -399,
- -399, -399, -399, -399, -399, 2714, 143, 145, 2714, 115,
- 1873, 84, 229, 332, 155, 2070, 1522, -399, 1873, 1429,
- 79, -399, 1350, 2714, -399, 160, -399, -399, 161, 1873,
- 13, 247, 63, -399, 2714, 1873, 2162, 194, -399, -399,
- -399, 1873, 79, 306, 306, 306, 140, 140, 257, -31,
- 2714, 2714, 2714, 2714, 2714, 2714, 2254, 2714, 2714, 2714,
- 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714, 2714,
- 2714, 2714, -399, -399, 47, 2346, 2714, 2714, 2714, 2714,
- 2714, 2714, -399, 246, -399, 253, -399, -399, -399, -399,
- -399, -399, -399, 169, -399, -399, -399, 84, -399, -399,
- 2714, 2714, 2714, 2714, 2714, 2714, -399, -399, -399, -399,
- -399, 2714, 2714, 11, -399, -399, -399, 206, -399, -399,
- 117, 174, 2714, 79, 2438, 2530, -399, 278, -399, -399,
- 230, 264, -399, 2714, 282, 220, 220, -399, 332, 75,
- 41, -399, 243, 1182, 1783, 1599, 519, 421, 332, 251,
- 1320, 1320, 1399, 1507, 1691, 1358, 306, 306, 2714, 2714,
- -399, 2622, 200, -399, -399, 248, 100, 60, 124, 70,
- 183, 203, 626, -399, 283, -399, 16, 293, 2714, 2714,
- 2714, 2714, 302, 1194, -399, 2714, 2714, -399, 20, -399,
- 20, 20, 20, 20, 20, 221, 12, -399, 2714, 297,
- 84, -399, -399, 281, -399, 303, -399, 307, -399, -399,
- -399, 91, 2714, 333, -399, -399, 2714, 233, 94, -399,
- 322, 2714, -399, 335, -399, 340, -399, 344, 345, -399,
- -399, -399, 229, -399, -399, 319, 260, 20, 261, 262,
- 20, -399, 287, 290, -399, -399, -399, 296, 385, 252,
- 2714, 309, 311, -399, -399, -399, -399, -399, -399, -399,
- -399, -399, 97, -399, 2733, 397, -399, -399, 314, -399,
- -399, -399, -399, 404, 206, -399, 2714, -399, -399, 416,
- 416, 2714, 416, 2714, 329, 416, 416, -399, -399, -399,
- 357, 57, -399, 413, 416, 416, -399, 21, 21, 334,
- 148, 419, 416, -399, -399, -399, -399, -399, -399, 721,
- -399, 148, 148, -399, 416, 338, -399, -399, 416, -399,
- -399, 148, 28, -399, -399, -399, 816, -399, 2714, 148,
- 1287, -399, 420, 368, -399, -399, 342, -399, 347, -399,
- -399, -399, 416, 416, 911, 21, -399, -399, -399
+ 235, -387, -387, -387, -387, -387, -387, 15, -387, 2713,
+ 34, 1100, 1005, -387, -387, -387, 1797, 2713, 2713, 93,
+ 93, 93, 93, 93, -387, 93, 93, -387, -387, 58,
+ -27, -387, 2713, -387, -387, -387, 2713, -387, -21, -9,
+ -6, 1705, 1521, 93, 1613, 1887, 24, 2713, 46, 2713,
+ 2713, 2713, 2713, 2713, 2713, 2713, 1977, 79, 17, -387,
+ 10, -387, -387, -387, -387, 2732, -387, -387, -1, 19,
+ 56, 190, -387, 95, -387, -387, -387, -387, -387, -387,
+ 24, 97, -387, 21, 22, 27, 38, 8, 39, 72,
+ 34, -387, 129, -387, 174, 1885, 1005, -387, -387, -387,
+ 435, 530, -387, 6, 222, 222, -387, -387, -387, -387,
+ -387, -387, -387, -387, -387, 2713, 103, 116, 2713, 120,
+ 1782, 34, 201, 2732, 131, 2069, 1521, -387, 1782, 1428,
+ 17, -387, 1349, 2713, -387, 133, -387, -387, 144, 1782,
+ 13, 237, 126, -387, 2713, 1782, 2161, 212, -387, -387,
+ -387, 1782, 17, 222, 222, 222, 278, 278, 275, 132,
+ 2713, 2713, 2713, 2713, 2713, 2713, 2253, 2713, 2713, 2713,
+ 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713, 2713,
+ 2713, 2713, -387, -387, 5, 2345, 2713, 2713, 2713, 2713,
+ 2713, 2713, 2713, -387, 267, -387, 272, -387, -387, -387,
+ -387, -387, -387, -387, 195, -387, -387, -387, 34, -387,
+ -387, 2713, 2713, 2713, 2713, 2713, 2713, -387, -387, -387,
+ -387, -387, 2713, 2713, 61, -387, -387, -387, 228, -387,
+ -387, 295, 200, 2713, 17, 2437, 2529, -387, 297, -387,
+ -387, 312, 283, -387, 2713, 315, 245, 245, -387, 2732,
+ 187, 67, -387, 329, 1181, 266, 1598, 423, 287, 2732,
+ 337, 1319, 1319, 1398, 1506, 1690, 241, 222, 222, 2713,
+ 2713, -387, 2621, 231, -387, -387, 339, 191, 73, 199,
+ 82, 202, 102, 205, 625, -387, 314, -387, 36, 316,
+ 2713, 2713, 2713, 2713, 327, 1193, -387, 2713, 2713, -387,
+ 79, -387, 79, 79, 79, 79, 79, 242, -25, -387,
+ 2713, 323, 34, -387, -387, 420, -387, 431, -387, 434,
+ -387, -387, -387, 106, 2713, 343, -387, -387, 2713, 211,
+ 119, -387, 439, 2713, -387, 347, -387, 348, -387, 349,
+ -387, 350, -387, -387, -387, 201, -387, -387, 342, 269,
+ 79, 284, 285, 79, -387, 291, 265, -387, -387, -387,
+ 301, 356, 303, 2713, 302, 307, -387, -387, -387, -387,
+ -387, -387, -387, -387, -387, 152, -387, 2772, 400, -387,
+ -387, 310, -387, -387, -387, -387, 408, 228, -387, 2713,
+ -387, -387, 422, 422, 2713, 422, 2713, 338, 422, 422,
+ -387, -387, -387, 364, 80, -387, 425, 422, 422, -387,
+ 41, 41, 355, 129, 437, 422, -387, -387, -387, -387,
+ -387, -387, 720, -387, 129, 129, -387, 422, 341, -387,
+ -387, 422, -387, -387, 129, 7, -387, -387, -387, 815,
+ -387, 2713, 129, 1286, -387, 441, 409, -387, -387, 380,
+ -387, 382, -387, -387, -387, 422, 422, 910, 41, -387,
+ -387, -387
};
/* YYPGOTO[NTERM-NUM]. */
static const yytype_int16 yypgoto[] =
{
- -399, -399, -399, -399, -399, -399, -399, -399, -10, -399,
- -70, -170, -399, -12, -399, 434, 361, 4, -399, -399,
- -399, -399, -399, -276, -398, 182, -369, -399, 65, -165,
- -275, 24, -399, -399, 288, 448, -399, -2, 157, 106,
- -399, -399, -4, -34, -399, -399, -399, -399, -399, -399,
- -399, -399, 197, -399, -399, -399, -109, -119, -399, -399,
- 7, 449, 450, -399, -399, 17
+ -387, -387, -387, -387, -387, -387, -387, -387, -10, -387,
+ -30, -87, -387, -12, -387, 477, 403, -4, -387, -387,
+ -387, -387, -387, -290, -386, -110, -365, -387, 128, -67,
+ -289, 86, -387, -387, 330, 487, -387, -14, 197, 149,
+ -387, -387, 1, -38, -387, -387, -387, -387, -387, -387,
+ -387, -387, 81, -387, -387, -387, -104, -113, -387, -387,
+ 16, 503, 504, -387, -387, 28
};
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
number is the opposite. If YYTABLE_NINF, syntax error. */
-#define YYTABLE_NINF -203
+#define YYTABLE_NINF -204
static const yytype_int16 yytable[] =
{
- 75, 92, 92, 101, 192, 57, 220, 231, 130, 219,
- 427, 164, 103, 165, 19, 93, 152, 355, 357, 405,
- 361, 362, 186, 307, 187, 343, 109, 109, 109, 109,
- 109, 127, 109, 109, 137, 238, 344, 111, 112, 113,
- 114, 142, 115, 116, 144, 160, 161, 162, 442, 132,
- 109, 140, 159, 324, 443, 148, 268, 458, 269, 133,
- 134, 440, 19, 19, 20, 21, 74, 424, 425, 201,
- 244, 270, 334, 160, 161, 162, 14, 416, 194, 143,
- 206, 130, 336, 237, 136, 394, 92, 160, 161, 162,
- 92, 92, 163, 74, 203, 323, 160, 161, 162, 233,
- 217, 202, 305, 371, 166, 186, 376, 187, 119, 397,
- 130, 225, 118, 364, 223, 235, 409, 160, 161, 162,
- 333, 230, 57, 188, 348, 189, 351, 288, 289, 290,
- 291, 292, 293, 132, 295, 296, 160, 161, 162, 160,
- 161, 162, 240, 232, 335, 124, 160, 161, 162, 271,
- 146, 160, 161, 162, 125, 126, 245, 246, 247, 163,
- 249, 250, 252, 446, 355, 190, 185, 160, 161, 162,
- 160, 161, 162, 160, 161, 162, 160, 161, 162, 191,
- 282, 275, 276, 277, 278, 279, 280, 281, 306, 195,
- 197, 273, 198, 160, 161, 162, 207, 297, 209, 365,
- 160, 161, 162, 337, 199, 200, 298, 300, 301, 302,
- 303, 304, 378, 74, 104, 105, 224, 57, 311, 19,
- 408, 204, 410, 338, 360, 413, 414, 106, 313, 120,
- 315, 317, 107, 123, 421, 422, -203, -203, 128, 321,
- 184, 139, 431, 205, 145, 221, 151, 222, 153, 154,
- 155, 156, 157, 375, 437, 226, 228, 236, 439, 160,
- 161, 162, -81, 234, 327, 328, 241, 330, 243, 283,
- 383, 294, 92, 385, 130, 312, 286, 403, 309, 160,
- 161, 162, 455, 456, 347, 300, 350, 300, 318, 359,
- 320, 350, 350, 322, 210, 211, 212, 213, 162, 354,
- 367, 214, 331, 215, 340, 167, 160, 161, 162, 160,
- 161, 162, 168, 169, 170, 171, 345, 19, 372, 160,
- 161, 162, 363, 366, 160, 161, 162, 57, 160, 161,
- 162, 319, 172, 173, 326, 174, 175, 176, 177, 178,
- 179, 180, 386, 373, 325, 379, 181, 182, 183, 332,
- 380, 184, 130, -73, 381, 382, 350, 160, 161, 162,
- 248, 387, 388, 389, 253, 254, 255, 256, 257, 258,
- 259, 260, 261, 262, 263, 264, 265, 266, 267, 160,
- 161, 162, 368, 160, 161, 162, 167, 350, 390, 347,
- 419, 417, 391, 168, 169, 170, 171, 392, 160, 161,
- 162, 181, 182, 183, 369, 393, 184, 398, 370, 92,
- 395, 436, 396, 172, 173, 399, 174, 175, 176, 177,
- 178, 179, 180, 377, 400, 406, 92, 181, 182, 183,
- 412, 415, 184, 420, 350, 428, -13, 76, 454, 430,
- 438, 450, 449, 452, 92, 74, 97, 16, 453, 17,
- 18, 19, 20, 21, 22, 23, 77, 216, 411, 24,
- 25, 26, 27, 28, 448, 29, 30, 31, 32, 33,
- 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
- 85, 86, 285, 122, 170, 87, 88, 89, 90, 36,
- 401, 37, 38, 39, 40, 41, 42, 149, 150, 384,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 0, 180, 0, 0, 0, 50, 181, 182, 183, 0,
- 0, 184, 0, 374, 0, 0, 0, 51, 52, 53,
- 0, -3, 76, 0, 54, 55, 0, 0, 56, 91,
- 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
- 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
- 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
- 41, 42, 429, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 49, 434, 435, 0, 0, 0, 0, 180,
- 50, 0, 0, 441, 181, 182, 183, 0, 0, 184,
- 0, 447, 51, 52, 53, 0, 0, 76, 0, 54,
- 55, 0, 0, 56, 91, 74, 339, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
- 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 1, 2,
- 3, 4, 5, 6, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
- 74, 433, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
- 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
- 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
- 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 0, 0, 76, 0, 54,
- 55, 0, 0, 56, 91, 74, 445, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
+ 75, 92, 92, 101, 130, 358, 360, 93, 364, 365,
+ 57, 221, 152, 232, 269, 14, 270, 103, 220, 164,
+ 19, 165, 186, 19, 187, 430, 408, 445, 186, 271,
+ 187, 127, 144, 446, 137, 109, 109, 109, 109, 109,
+ 239, 109, 109, 74, 193, 346, 142, 143, 111, 112,
+ 113, 114, 136, 115, 116, 163, 347, 159, 132, 109,
+ 140, 19, 20, 21, 148, 188, 195, 189, 443, 118,
+ 133, 134, 461, 309, 397, 119, 367, 130, 202, 326,
+ 207, 124, 160, 161, 162, 336, 92, 427, 428, 74,
+ 92, 92, 218, 125, 338, 234, 126, 163, 104, 105,
+ 419, 185, 74, 204, 192, 412, 130, 272, 19, 307,
+ 203, 226, 166, 120, 340, 236, 106, 123, 374, 224,
+ 196, 107, 128, 198, 199, 139, 231, 57, 145, 200,
+ 151, 379, 153, 154, 155, 156, 157, 160, 161, 162,
+ 201, 205, 132, 160, 161, 162, 238, 241, 146, 160,
+ 161, 162, 449, 358, 233, 160, 161, 162, 160, 161,
+ 162, 246, 247, 248, 400, 250, 251, 253, 290, 291,
+ 292, 293, 294, 295, 206, 297, 298, 208, 160, 161,
+ 162, 284, 160, 161, 162, 308, 276, 277, 278, 279,
+ 280, 281, 282, 283, 210, 160, 161, 162, 299, 190,
+ 274, 191, 160, 161, 162, 222, 368, 325, 160, 161,
+ 162, 335, 300, 302, 303, 304, 305, 306, 223, 337,
+ 381, 225, 339, 57, 351, 341, 354, 227, 160, 161,
+ 162, 378, 229, 245, 315, -81, 317, 319, 1, 2,
+ 3, 4, 5, 6, 249, 323, 235, 237, 254, 255,
+ 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
+ 266, 267, 268, 160, 161, 162, 363, 160, 161, 162,
+ 329, 330, 130, 332, 92, 160, 161, 162, 160, 161,
+ 162, 160, 161, 162, 242, 406, 244, 160, 161, 162,
+ 285, 350, 302, 353, 302, 288, 362, 296, 353, 353,
+ 311, 314, 370, 432, 170, 171, 411, 320, 413, 322,
+ 357, 416, 417, 386, 437, 438, 388, 181, 182, 183,
+ 424, 425, 184, 162, 444, 375, 324, -204, 434, 170,
+ 171, 180, 450, 333, 57, 343, 181, 182, 183, 348,
+ 440, 184, 19, 366, 442, 211, 212, 213, 214, 369,
+ 170, 130, 215, 376, 216, 179, 180, 382, 383, 384,
+ 385, 181, 182, 183, 353, 389, 184, 394, 458, 459,
+ 390, 160, 161, 162, -204, -204, 396, 180, 184, 160,
+ 161, 162, 181, 182, 183, 391, 392, 184, 160, 161,
+ 162, 167, 393, 422, 420, 353, 313, 350, 168, 169,
+ 170, 171, 395, 398, -73, 160, 161, 162, 399, 377,
+ 401, 402, 92, 321, 439, 160, 161, 162, 172, 173,
+ 328, 174, 175, 176, 177, 178, 179, 180, 403, 92,
+ 327, 409, 181, 182, 183, -13, 76, 184, 418, 415,
+ 334, 457, 353, 441, 74, 423, 16, 92, 17, 18,
+ 19, 20, 21, 22, 23, 77, 431, 433, 24, 25,
+ 26, 27, 28, 452, 29, 30, 31, 32, 33, 34,
+ 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
+ 86, 455, 453, 456, 87, 88, 89, 90, 36, 97,
+ 37, 38, 39, 40, 41, 42, 160, 161, 162, 217,
+ 43, 44, 45, 46, 47, 48, 49, 160, 161, 162,
+ 160, 161, 162, 180, 50, 160, 161, 162, 181, 182,
+ 183, 371, 122, 184, 414, 287, 51, 52, 53, 451,
+ -3, 76, 372, 54, 55, 373, 404, 56, 91, 74,
+ 380, 16, 387, 17, 18, 19, 20, 21, 22, 23,
+ 77, 149, 150, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
+ 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
+ 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
+ 0, 0, 56, 91, 74, 342, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
+ 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
+ 436, 16, 0, 17, 18, 19, 20, 21, 22, 23,
+ 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
+ 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
+ 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
+ 0, 0, 56, 91, 74, 448, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
+ 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
+ 0, 16, 0, 17, 18, 19, 20, 21, 22, 23,
+ 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 78, 96, 79, 80, 35,
+ 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
+ 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 49, 0, 0, 460, 0, 0, 0, 0, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 51, 52, 53, 0, 0, 76, 0, 54, 55,
+ 0, 0, 56, 91, 74, 0, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 77, 0, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 78, 96, 79, 80, 35, 81, 82, 83, 84, 85,
+ 86, 0, 0, 0, 87, 88, 89, 90, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 76, 0, 54, 55, 0, 0, 56, 91, 74,
+ 0, 16, 0, 17, 18, 19, 20, 21, 22, 23,
+ 77, 0, 0, 24, 25, 26, 27, 28, 0, 29,
+ 30, 31, 32, 33, 34, 78, 0, 79, 80, 35,
+ 81, 82, 83, 84, 85, 86, 0, 0, 0, 87,
+ 88, 89, 90, 36, 0, 37, 38, 39, 40, 41,
+ 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
+ 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 51, 52, 53, 76, 0, 0, 0, 54, 55,
+ 0, 0, 56, 91, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, -68, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 35, 0, 0, -204, 0, 0, 0, 0,
+ 0, 0, 168, 169, 170, 171, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 174, 175, 176, 177, 178,
+ 179, 180, 50, 0, 0, 0, 181, 182, 183, 0,
+ 0, 184, 0, 0, 51, 52, 53, 76, 0, 0,
+ 0, 54, 55, 0, 0, 56, 0, 16, 0, 17,
+ 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
- 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
+ 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
+ 0, 37, 38, 39, 40, 41, 42, 0, 0, -169,
+ 0, 43, 44, 45, 46, 47, 48, 49, 186, 0,
+ 187, -169, 0, 0, 0, 50, 0, 0, 0, -169,
0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
+ 168, 169, 170, 171, 54, 55, 0, -68, 56, 0,
+ 0, -169, -169, -169, -169, 0, 0, 0, -169, 0,
+ -169, 0, 0, -169, 0, 176, 177, 178, 179, 180,
+ -169, -169, -169, -169, 181, 182, 183, 0, 0, 184,
+ 0, 0, 0, 0, 0, -169, -169, -169, -203, -169,
+ -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
+ -203, 0, 0, 0, -169, -169, -169, 0, -203, -169,
+ -169, 0, 0, 0, 0, 0, 0, 0, 0, 168,
+ 169, 170, 171, 0, 0, 0, 0, 0, 0, 0,
+ -203, -203, -203, -203, 0, 0, 0, -203, 0, -203,
+ 0, 0, -203, 0, 0, 177, 178, 179, 180, -203,
+ -203, -203, -203, 181, 182, 183, 0, 0, 184, 0,
+ 0, 0, 0, 0, -203, -203, -203, 0, -203, -203,
+ -203, -203, -203, -203, -203, -203, -203, -203, -203, 0,
+ 0, 0, 0, -203, -203, -203, 0, 0, -203, -203,
74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 78, 96, 79, 80,
- 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
- 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 23, 0, 0, 0, 129, 25, 26, 27, 28, 107,
+ 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 168, 169, 170,
+ 171, 0, 0, 0, 36, 0, 37, 38, 39, 40,
41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
- 47, 48, 49, 0, 0, 457, 0, 0, 0, 0,
- 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 0, 0, 76, 0, 54,
- 55, 0, 0, 56, 91, 74, 0, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 77, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 78, 96, 79, 80, 35, 81, 82, 83, 84,
- 85, 86, 0, 0, 0, 87, 88, 89, 90, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 76, 0, 54, 55, 0, 0, 56, 91,
- 74, 0, 16, 0, 17, 18, 19, 20, 21, 22,
- 23, 77, 0, 0, 24, 25, 26, 27, 28, 0,
- 29, 30, 31, 32, 33, 34, 78, 0, 79, 80,
- 35, 81, 82, 83, 84, 85, 86, 0, 0, 0,
- 87, 88, 89, 90, 36, 0, 37, 38, 39, 40,
+ 47, 48, 49, 0, 178, 179, 180, 0, 0, 0,
+ 50, 181, 182, 183, 0, 0, 184, 0, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 0, 0, 54,
+ 55, 0, 74, 56, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 0, 0, 0, 135, 25, 26, 27,
+ 28, 136, 29, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 0, 168,
+ -204, 170, 171, 0, 0, 0, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 0, 0, 179, 180, 0,
+ 0, 0, 50, 181, 182, 183, 0, 0, 184, 0,
+ 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
+ 0, 54, 55, 0, 74, 56, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 0, 0, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 168, 169, 170, 171, 0, 0, 0, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 49, 0, 0, 179,
+ 180, 0, 0, 0, 50, 181, 182, 183, 0, 0,
+ 184, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 0, 0, 54, 55, 0, 0, 56, 16, 102,
+ 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 170, 171, 0, 0, 0,
+ 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
+ 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
+ 0, 179, 180, 0, 0, 0, 50, 181, 182, 183,
+ 0, 0, 184, 0, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 54, 55, 0, 16, 56,
+ 17, 18, 19, 20, 21, 22, 23, 141, 0, 0,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 0, 0, 0, 0, 35, 211, 212, 213,
+ 214, 0, 0, 0, 215, 0, 216, 0, 0, 0,
+ 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
+ 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
+ 0, 160, 161, 162, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 54, 55, 0, 16, 56,
+ 17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
+ 24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
+ 33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
+ 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 54, 55, 0, 158, 56,
+ 16, 0, 17, 18, 19, 20, 21, 22, 23, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 32, 33, 34, 0, 0, 0, 0, 35, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 36, 0, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 50, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 51, 52, 53, 0, 0, 0, 0, 54, 55, 0,
+ 230, 56, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 0, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 51, 52, 53, 76, 0, 0, 0, 54,
- 55, 0, 0, 56, 91, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, -68, 0, 0, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
- 0, 0, 0, 35, 0, 0, -203, 0, 0, 0,
- 0, 0, 0, 168, 169, 170, 171, 36, 0, 37,
- 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 174, 175, 176, 177,
- 178, 179, 180, 50, 0, 0, 0, 181, 182, 183,
- 0, 0, 184, 0, 0, 51, 52, 53, 76, 0,
- 0, 0, 54, 55, 0, 0, 56, 0, 16, 0,
+ 0, 0, 51, 52, 53, 0, 0, 0, 0, 54,
+ 55, 0, 240, 56, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 0, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 0, 0, 0, 0, 0,
+ 0, 0, 50, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
+ 0, 54, 55, 0, 252, 56, 16, 0, 17, 18,
+ 19, 20, 21, 22, 23, 0, 0, 0, 24, 25,
+ 26, 27, 28, 0, 29, 30, 31, 32, 33, 34,
+ 0, 0, 0, 0, 35, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 36, 0,
+ 37, 38, 39, 40, 41, 42, 0, 0, 0, 0,
+ 43, 44, 45, 46, 47, 48, 49, 0, 0, 0,
+ 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 51, 52, 53, 0,
+ 0, 0, 0, 54, 55, 0, 275, 56, 16, 0,
17, 18, 19, 20, 21, 22, 23, 0, 0, 0,
24, 25, 26, 27, 28, 0, 29, 30, 31, 32,
33, 34, 0, 0, 0, 0, 35, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
36, 0, 37, 38, 39, 40, 41, 42, 0, 0,
- -169, 0, 43, 44, 45, 46, 47, 48, 49, 186,
- 0, 187, -169, 0, 0, 0, 50, 0, 0, 0,
- -169, 0, 0, 0, 0, 0, 0, 0, 51, 52,
- 53, 168, 169, 170, 171, 54, 55, 0, -68, 56,
- 0, 0, -169, -169, -169, -169, 0, 0, 0, -169,
- 0, -169, 0, 0, -169, 0, 176, 177, 178, 179,
- 180, -169, -169, -169, -169, 181, 182, 183, 0, 0,
- 184, 170, 171, 0, 0, 0, -169, -169, -169, -202,
- -169, -169, -169, -169, -169, -169, -169, -169, -169, -169,
- -169, -202, 0, 0, 0, -169, -169, -169, 180, -202,
- -169, -169, 0, 181, 182, 183, 0, 0, 184, 0,
- 168, 169, 170, 171, 0, 0, 0, 0, 0, 0,
- 0, -202, -202, -202, -202, 0, 0, 0, -202, 0,
- -202, 0, 0, -202, 0, 0, 177, 178, 179, 180,
- -202, -202, -202, -202, 181, 182, 183, 0, 0, 184,
- 0, 0, 0, 0, 0, -202, -202, -202, 0, -202,
- -202, -202, -202, -202, -202, -202, -202, -202, -202, -202,
- 0, 0, 0, 0, -202, -202, -202, 0, 0, -202,
- -202, 74, 0, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 0, 0, 0, 129, 25, 26, 27, 28,
- 107, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 168, 169,
- 170, 171, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 178, 179, 180, 0, 0,
- 0, 50, 181, 182, 183, 0, 0, 184, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 74, 56, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, 0, 0, 0, 135, 25, 26,
- 27, 28, 136, 29, 30, 31, 32, 33, 34, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 168, -203, 170, 171, 0, 0, 0, 36, 0, 37,
- 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 0, 0, 179, 180,
- 0, 0, 0, 50, 181, 182, 183, 0, 0, 184,
- 0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 74, 56, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
- 0, 0, 168, 169, 170, 171, 0, 0, 0, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 179, 180, 0, 0, 0, 50, 181, 182, 183, 0,
- 0, 184, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 0, 56, 16,
- 102, 17, 18, 19, 20, 21, 22, 23, 0, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, -203, 0, 170, 171, 0, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 179, 180, 0, 0, 0, 50, 181, 182,
- 183, 0, 0, 184, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 16,
- 56, 17, 18, 19, 20, 21, 22, 23, 141, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 170, 171, 0, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 179, 180, 0, 0, 0, 50, 181, 182,
- 183, 0, 0, 184, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 16,
- 56, 17, 18, 19, 20, 21, 22, 23, 0, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 210, 211,
- 212, 213, 0, 0, 0, 214, 0, 215, 0, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 160, 161, 162, 0, 0, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 158,
- 56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
- 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 0, 0, 43, 44, 45, 46, 47, 48, 49, 0,
+ 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 51, 52,
+ 53, 0, 0, 0, 0, 54, 55, 0, 316, 56,
+ 16, 0, 17, 18, 19, 20, 21, 22, 23, 0,
+ 0, 0, 24, 25, 26, 27, 28, 0, 29, 30,
+ 31, 32, 33, 34, 0, 0, 0, 0, 35, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 229, 56, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 239, 56, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, 0, 0, 0, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 36, 0, 37,
- 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 0, 0, 0, 0,
- 0, 0, 0, 50, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 251, 56, 16, 0, 17,
- 18, 19, 20, 21, 22, 23, 0, 0, 0, 24,
- 25, 26, 27, 28, 0, 29, 30, 31, 32, 33,
- 34, 0, 0, 0, 0, 35, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 36,
- 0, 37, 38, 39, 40, 41, 42, 0, 0, 0,
- 0, 43, 44, 45, 46, 47, 48, 49, 0, 0,
- 0, 0, 0, 0, 0, 50, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 51, 52, 53,
- 0, 0, 0, 0, 54, 55, 0, 274, 56, 16,
- 0, 17, 18, 19, 20, 21, 22, 23, 0, 0,
- 0, 24, 25, 26, 27, 28, 0, 29, 30, 31,
- 32, 33, 34, 0, 0, 0, 0, 35, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 36, 0, 37, 38, 39, 40, 41, 42, 0,
- 0, 0, 0, 43, 44, 45, 46, 47, 48, 49,
- 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
- 52, 53, 0, 0, 0, 0, 54, 55, 0, 314,
- 56, 16, 0, 17, 18, 19, 20, 21, 22, 23,
- 0, 0, 0, 24, 25, 26, 27, 28, 0, 29,
- 30, 31, 32, 33, 34, 0, 0, 0, 0, 35,
+ 0, 0, 36, 0, 37, 38, 39, 40, 41, 42,
+ 0, 0, 0, 0, 43, 44, 45, 46, 47, 48,
+ 49, 0, 0, 0, 0, 0, 0, 0, 50, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 36, 0, 37, 38, 39, 40, 41,
- 42, 0, 0, 0, 0, 43, 44, 45, 46, 47,
- 48, 49, 0, 0, 0, 0, 0, 0, 0, 50,
+ 51, 52, 53, 0, 0, 0, 0, 54, 55, 0,
+ 318, 56, 16, 0, 17, 18, 19, 20, 21, 22,
+ 23, 0, 0, 0, 24, 25, 26, 27, 28, 0,
+ 29, 30, 31, 32, 33, 34, 0, 0, 0, 0,
+ 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 36, 0, 37, 38, 39, 40,
+ 41, 42, 0, 0, 0, 0, 43, 44, 45, 46,
+ 47, 48, 49, 0, 0, 0, 0, 0, 0, 0,
+ 50, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 51, 52, 53, 0, 0, 0, 0, 54,
+ 55, 0, 331, 56, 16, 0, 17, 18, 19, 20,
+ 21, 22, 23, 0, 0, 0, 24, 25, 26, 27,
+ 28, 0, 29, 30, 31, 32, 33, 34, 0, 0,
+ 0, 0, 35, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 36, 0, 37, 38,
+ 39, 40, 41, 42, 0, 0, 0, 0, 43, 44,
+ 45, 46, 47, 48, 49, 0, 167, 0, 0, 0,
+ 0, 0, 50, 168, 169, 170, 171, 0, 0, 0,
+ 0, 0, 0, 0, 51, 52, 53, 0, 0, 0,
+ 0, 54, 55, 172, 173, 56, 174, 175, 176, 177,
+ 178, 179, 180, 0, 0, 0, 167, 181, 182, 183,
+ 0, 0, 184, 168, 169, 170, 171, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 51, 52, 53, 0, 0, 0, 0, 54, 55,
- 0, 316, 56, 16, 0, 17, 18, 19, 20, 21,
- 22, 23, 0, 0, 0, 24, 25, 26, 27, 28,
- 0, 29, 30, 31, 32, 33, 34, 0, 0, 0,
- 0, 35, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 36, 0, 37, 38, 39,
- 40, 41, 42, 0, 0, 0, 0, 43, 44, 45,
- 46, 47, 48, 49, 0, 0, 0, 0, 0, 0,
- 0, 50, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 51, 52, 53, 0, 0, 0, 0,
- 54, 55, 0, 329, 56, 16, 0, 17, 18, 19,
- 20, 21, 22, 23, 0, 0, 0, 24, 25, 26,
- 27, 28, 0, 29, 30, 31, 32, 33, 34, 0,
- 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 36, 0, 37,
- 38, 39, 40, 41, 42, 0, 0, 0, 0, 43,
- 44, 45, 46, 47, 48, 49, 0, 167, 0, 0,
- 0, 0, 0, 50, 168, 169, 170, 171, 0, 0,
- 0, 0, 0, 0, 0, 51, 52, 53, 0, 0,
- 0, 0, 54, 55, 0, 173, 56, 174, 175, 176,
- 177, 178, 179, 180, 0, 0, 0, 0, 181, 182,
- 183, 0, 0, 184
+ 0, 0, 0, 0, 173, 0, 174, 175, 176, 177,
+ 178, 179, 180, 0, 0, 0, 0, 181, 182, 183,
+ 0, 0, 184
};
#define yypact_value_is_default(Yystate) \
- (!!((Yystate) == (-399)))
+ (!!((Yystate) == (-387)))
#define yytable_value_is_error(Yytable_value) \
- (!!((Yytable_value) == (-203)))
+ (!!((Yytable_value) == (-204)))
static const yytype_int16 yycheck[] =
{
- 10, 11, 12, 15, 74, 9, 115, 126, 42, 12,
- 408, 9, 16, 11, 15, 11, 50, 293, 293, 388,
- 295, 296, 9, 12, 11, 9, 19, 20, 21, 22,
- 23, 41, 25, 26, 44, 144, 20, 20, 21, 22,
- 23, 45, 25, 26, 46, 76, 77, 78, 20, 42,
- 43, 44, 56, 12, 26, 48, 9, 455, 11, 42,
- 43, 430, 15, 15, 16, 17, 9, 46, 47, 70,
- 101, 24, 12, 76, 77, 78, 0, 20, 80, 23,
- 90, 115, 12, 20, 28, 360, 96, 76, 77, 78,
- 100, 101, 80, 9, 87, 20, 76, 77, 78, 133,
- 96, 102, 221, 12, 102, 9, 12, 11, 102, 12,
- 144, 121, 11, 101, 118, 102, 391, 76, 77, 78,
- 20, 125, 126, 9, 289, 11, 291, 197, 198, 199,
- 200, 201, 202, 126, 204, 205, 76, 77, 78, 76,
- 77, 78, 146, 126, 20, 102, 76, 77, 78, 102,
- 102, 76, 77, 78, 102, 102, 160, 161, 162, 80,
- 164, 165, 166, 438, 440, 9, 102, 76, 77, 78,
- 76, 77, 78, 76, 77, 78, 76, 77, 78, 9,
- 192, 185, 186, 187, 188, 189, 190, 191, 222, 23,
- 102, 184, 102, 76, 77, 78, 48, 207, 20, 308,
- 76, 77, 78, 20, 102, 102, 210, 211, 212, 213,
- 214, 215, 331, 9, 17, 18, 101, 221, 101, 15,
- 390, 102, 392, 20, 294, 395, 396, 23, 232, 32,
- 234, 235, 28, 36, 404, 405, 96, 97, 41, 243,
- 100, 44, 412, 102, 47, 102, 49, 102, 51, 52,
- 53, 54, 55, 20, 424, 26, 101, 10, 428, 76,
- 77, 78, 102, 102, 268, 269, 72, 271, 11, 23,
- 340, 102, 282, 343, 308, 101, 23, 386, 72, 76,
- 77, 78, 452, 453, 288, 289, 290, 291, 10, 293,
- 26, 295, 296, 11, 42, 43, 44, 45, 78, 292,
- 310, 49, 102, 51, 21, 54, 76, 77, 78, 76,
- 77, 78, 61, 62, 63, 64, 23, 15, 322, 76,
- 77, 78, 101, 26, 76, 77, 78, 331, 76, 77,
- 78, 101, 81, 82, 83, 84, 85, 86, 87, 88,
- 89, 90, 23, 10, 101, 10, 95, 96, 97, 101,
- 10, 100, 386, 101, 10, 10, 360, 76, 77, 78,
- 163, 101, 101, 101, 167, 168, 169, 170, 171, 172,
- 173, 174, 175, 176, 177, 178, 179, 180, 181, 76,
- 77, 78, 101, 76, 77, 78, 54, 391, 101, 393,
- 402, 401, 102, 61, 62, 63, 64, 101, 76, 77,
- 78, 95, 96, 97, 101, 20, 100, 10, 101, 419,
- 101, 423, 101, 81, 82, 101, 84, 85, 86, 87,
- 88, 89, 90, 101, 20, 9, 436, 95, 96, 97,
- 101, 74, 100, 20, 438, 101, 0, 1, 450, 20,
- 102, 73, 22, 101, 454, 9, 12, 11, 101, 13,
- 14, 15, 16, 17, 18, 19, 20, 96, 393, 23,
- 24, 25, 26, 27, 440, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, 194, 35, 63, 49, 50, 51, 52, 53,
- 384, 55, 56, 57, 58, 59, 60, 48, 48, 342,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, 90, -1, -1, -1, 79, 95, 96, 97, -1,
- -1, 100, -1, 326, -1, -1, -1, 91, 92, 93,
- -1, 0, 1, -1, 98, 99, -1, -1, 102, 103,
- 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
- 59, 60, 410, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, 71, 421, 422, -1, -1, -1, -1, 90,
- 79, -1, -1, 431, 95, 96, 97, -1, -1, 100,
- -1, 439, 91, 92, 93, -1, -1, 1, -1, 98,
- 99, -1, -1, 102, 103, 9, 10, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, 3, 4,
- 5, 6, 7, 8, -1, 79, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
- 9, 10, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
- 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, -1, -1, 1, -1, 98,
- 99, -1, -1, 102, 103, 9, 10, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
+ 10, 11, 12, 15, 42, 295, 295, 11, 297, 298,
+ 9, 115, 50, 126, 9, 0, 11, 16, 12, 9,
+ 15, 11, 9, 15, 11, 411, 391, 20, 9, 24,
+ 11, 41, 46, 26, 44, 19, 20, 21, 22, 23,
+ 144, 25, 26, 9, 74, 9, 45, 23, 20, 21,
+ 22, 23, 28, 25, 26, 80, 20, 56, 42, 43,
+ 44, 15, 16, 17, 48, 9, 80, 11, 433, 11,
+ 42, 43, 458, 12, 363, 102, 101, 115, 70, 12,
+ 90, 102, 76, 77, 78, 12, 96, 46, 47, 9,
+ 100, 101, 96, 102, 12, 133, 102, 80, 17, 18,
+ 20, 102, 9, 87, 9, 394, 144, 102, 15, 222,
+ 102, 121, 102, 32, 12, 102, 23, 36, 12, 118,
+ 23, 28, 41, 102, 102, 44, 125, 126, 47, 102,
+ 49, 12, 51, 52, 53, 54, 55, 76, 77, 78,
+ 102, 102, 126, 76, 77, 78, 20, 146, 102, 76,
+ 77, 78, 441, 443, 126, 76, 77, 78, 76, 77,
+ 78, 160, 161, 162, 12, 164, 165, 166, 198, 199,
+ 200, 201, 202, 203, 102, 205, 206, 48, 76, 77,
+ 78, 193, 76, 77, 78, 223, 185, 186, 187, 188,
+ 189, 190, 191, 192, 20, 76, 77, 78, 208, 9,
+ 184, 11, 76, 77, 78, 102, 310, 20, 76, 77,
+ 78, 20, 211, 212, 213, 214, 215, 216, 102, 20,
+ 333, 101, 20, 222, 291, 20, 293, 26, 76, 77,
+ 78, 20, 101, 101, 233, 102, 235, 236, 3, 4,
+ 5, 6, 7, 8, 163, 244, 102, 10, 167, 168,
+ 169, 170, 171, 172, 173, 174, 175, 176, 177, 178,
+ 179, 180, 181, 76, 77, 78, 296, 76, 77, 78,
+ 269, 270, 310, 272, 284, 76, 77, 78, 76, 77,
+ 78, 76, 77, 78, 72, 389, 11, 76, 77, 78,
+ 23, 290, 291, 292, 293, 23, 295, 102, 297, 298,
+ 72, 101, 312, 413, 63, 64, 393, 10, 395, 26,
+ 294, 398, 399, 343, 424, 425, 346, 95, 96, 97,
+ 407, 408, 100, 78, 434, 324, 11, 61, 415, 63,
+ 64, 90, 442, 102, 333, 21, 95, 96, 97, 23,
+ 427, 100, 15, 101, 431, 42, 43, 44, 45, 26,
+ 63, 389, 49, 10, 51, 89, 90, 10, 10, 10,
+ 10, 95, 96, 97, 363, 23, 100, 102, 455, 456,
+ 101, 76, 77, 78, 96, 97, 20, 90, 100, 76,
+ 77, 78, 95, 96, 97, 101, 101, 100, 76, 77,
+ 78, 54, 101, 405, 404, 394, 101, 396, 61, 62,
+ 63, 64, 101, 101, 101, 76, 77, 78, 101, 328,
+ 10, 101, 422, 101, 426, 76, 77, 78, 81, 82,
+ 83, 84, 85, 86, 87, 88, 89, 90, 20, 439,
+ 101, 9, 95, 96, 97, 0, 1, 100, 74, 101,
+ 101, 453, 441, 102, 9, 20, 11, 457, 13, 14,
+ 15, 16, 17, 18, 19, 20, 101, 20, 23, 24,
+ 25, 26, 27, 22, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, 101, 73, 101, 49, 50, 51, 52, 53, 12,
+ 55, 56, 57, 58, 59, 60, 76, 77, 78, 96,
+ 65, 66, 67, 68, 69, 70, 71, 76, 77, 78,
+ 76, 77, 78, 90, 79, 76, 77, 78, 95, 96,
+ 97, 101, 35, 100, 396, 195, 91, 92, 93, 443,
+ 0, 1, 101, 98, 99, 101, 387, 102, 103, 9,
+ 101, 11, 345, 13, 14, 15, 16, 17, 18, 19,
+ 20, 48, 48, 23, 24, 25, 26, 27, -1, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
+ -1, -1, 102, 103, 9, 10, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
+ 10, 11, -1, 13, 14, 15, 16, 17, 18, 19,
+ 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
+ -1, -1, 102, 103, 9, 10, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
+ -1, 11, -1, 13, 14, 15, 16, 17, 18, 19,
+ 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
+ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, 71, -1, -1, 74, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, 93, -1, -1, 1, -1, 98, 99,
+ -1, -1, 102, 103, 9, -1, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, 20, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
+ 45, -1, -1, -1, 49, 50, 51, 52, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, 1, -1, 98, 99, -1, -1, 102, 103, 9,
+ -1, 11, -1, 13, 14, 15, 16, 17, 18, 19,
+ 20, -1, -1, 23, 24, 25, 26, 27, -1, 29,
+ 30, 31, 32, 33, 34, 35, -1, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, -1, -1, -1, 49,
+ 50, 51, 52, 53, -1, 55, 56, 57, 58, 59,
+ 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
+ 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, 91, 92, 93, 1, -1, -1, -1, 98, 99,
+ -1, -1, 102, 103, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, 20, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, 39, -1, -1, 54, -1, -1, -1, -1,
+ -1, -1, 61, 62, 63, 64, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, 84, 85, 86, 87, 88,
+ 89, 90, 79, -1, -1, -1, 95, 96, 97, -1,
+ -1, 100, -1, -1, 91, 92, 93, 1, -1, -1,
+ -1, 98, 99, -1, -1, 102, -1, 11, -1, 13,
+ 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
+ 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
+ -1, 55, 56, 57, 58, 59, 60, -1, -1, 0,
+ -1, 65, 66, 67, 68, 69, 70, 71, 9, -1,
+ 11, 12, -1, -1, -1, 79, -1, -1, -1, 20,
-1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
+ 61, 62, 63, 64, 98, 99, -1, 101, 102, -1,
+ -1, 42, 43, 44, 45, -1, -1, -1, 49, -1,
+ 51, -1, -1, 54, -1, 86, 87, 88, 89, 90,
+ 61, 62, 63, 64, 95, 96, 97, -1, -1, 100,
+ -1, -1, -1, -1, -1, 76, 77, 78, 0, 80,
+ 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
+ 12, -1, -1, -1, 95, 96, 97, -1, 20, 100,
+ 101, -1, -1, -1, -1, -1, -1, -1, -1, 61,
+ 62, 63, 64, -1, -1, -1, -1, -1, -1, -1,
+ 42, 43, 44, 45, -1, -1, -1, 49, -1, 51,
+ -1, -1, 54, -1, -1, 87, 88, 89, 90, 61,
+ 62, 63, 64, 95, 96, 97, -1, -1, 100, -1,
+ -1, -1, -1, -1, 76, 77, 78, -1, 80, 81,
+ 82, 83, 84, 85, 86, 87, 88, 89, 90, -1,
+ -1, -1, -1, 95, 96, 97, -1, -1, 100, 101,
9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 19, -1, -1, -1, 23, 24, 25, 26, 27, 28,
+ 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
+ 39, -1, -1, -1, -1, -1, -1, 61, 62, 63,
+ 64, -1, -1, -1, 53, -1, 55, 56, 57, 58,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
- 69, 70, 71, -1, -1, 74, -1, -1, -1, -1,
- 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, -1, -1, 1, -1, 98,
- 99, -1, -1, 102, 103, 9, -1, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, 20, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43,
- 44, 45, -1, -1, -1, 49, 50, 51, 52, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, 1, -1, 98, 99, -1, -1, 102, 103,
- 9, -1, 11, -1, 13, 14, 15, 16, 17, 18,
- 19, 20, -1, -1, 23, 24, 25, 26, 27, -1,
- 29, 30, 31, 32, 33, 34, 35, -1, 37, 38,
- 39, 40, 41, 42, 43, 44, 45, -1, -1, -1,
- 49, 50, 51, 52, 53, -1, 55, 56, 57, 58,
+ 69, 70, 71, -1, 88, 89, 90, -1, -1, -1,
+ 79, 95, 96, 97, -1, -1, 100, -1, -1, -1,
+ -1, -1, 91, 92, 93, -1, -1, -1, -1, 98,
+ 99, -1, 9, 102, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, -1, -1, -1, 23, 24, 25, 26,
+ 27, 28, 29, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, 39, -1, -1, -1, -1, -1, -1, 61,
+ 62, 63, 64, -1, -1, -1, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, -1, -1, 89, 90, -1,
+ -1, -1, 79, 95, 96, 97, -1, -1, 100, -1,
+ -1, -1, -1, -1, 91, 92, 93, -1, -1, -1,
+ -1, 98, 99, -1, 9, 102, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, -1, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ -1, -1, -1, -1, 39, -1, -1, -1, -1, -1,
+ -1, 61, 62, 63, 64, -1, -1, -1, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, 89,
+ 90, -1, -1, -1, 79, 95, 96, 97, -1, -1,
+ 100, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, -1, -1, 98, 99, -1, -1, 102, 11, 12,
+ 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
+ 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
+ 33, 34, -1, -1, -1, -1, 39, -1, -1, -1,
+ -1, -1, -1, -1, -1, 63, 64, -1, -1, -1,
+ 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
+ -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
+ -1, 89, 90, -1, -1, -1, 79, 95, 96, 97,
+ -1, -1, 100, -1, -1, -1, -1, -1, 91, 92,
+ 93, -1, -1, -1, -1, 98, 99, -1, 11, 102,
+ 13, 14, 15, 16, 17, 18, 19, 20, -1, -1,
+ 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
+ 33, 34, -1, -1, -1, -1, 39, 42, 43, 44,
+ 45, -1, -1, -1, 49, -1, 51, -1, -1, -1,
+ 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
+ -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
+ -1, 76, 77, 78, -1, -1, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 93, -1, -1, -1, -1, 98, 99, -1, 11, 102,
+ 13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
+ 23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
+ 33, 34, -1, -1, -1, -1, 39, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
+ -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 93, -1, -1, -1, -1, 98, 99, -1, 101, 102,
+ 11, -1, 13, 14, 15, 16, 17, 18, 19, -1,
+ -1, -1, 23, 24, 25, 26, 27, -1, 29, 30,
+ 31, 32, 33, 34, -1, -1, -1, -1, 39, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 53, -1, 55, 56, 57, 58, 59, 60,
+ -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
+ 71, -1, -1, -1, -1, -1, -1, -1, 79, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ 91, 92, 93, -1, -1, -1, -1, 98, 99, -1,
+ 101, 102, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, -1, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
+ 39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 53, -1, 55, 56, 57, 58,
59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, 91, 92, 93, 1, -1, -1, -1, 98,
- 99, -1, -1, 102, 103, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, 20, -1, -1, 23, 24, 25,
- 26, 27, -1, 29, 30, 31, 32, 33, 34, -1,
- -1, -1, -1, 39, -1, -1, 54, -1, -1, -1,
- -1, -1, -1, 61, 62, 63, 64, 53, -1, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, 84, 85, 86, 87,
- 88, 89, 90, 79, -1, -1, -1, 95, 96, 97,
- -1, -1, 100, -1, -1, 91, 92, 93, 1, -1,
- -1, -1, 98, 99, -1, -1, 102, -1, 11, -1,
+ -1, -1, 91, 92, 93, -1, -1, -1, -1, 98,
+ 99, -1, 101, 102, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, -1, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, -1, -1, -1, -1, -1,
+ -1, -1, 79, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, -1, -1, -1,
+ -1, 98, 99, -1, 101, 102, 11, -1, 13, 14,
+ 15, 16, 17, 18, 19, -1, -1, -1, 23, 24,
+ 25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
+ -1, -1, -1, -1, 39, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 53, -1,
+ 55, 56, 57, 58, 59, 60, -1, -1, -1, -1,
+ 65, 66, 67, 68, 69, 70, 71, -1, -1, -1,
+ -1, -1, -1, -1, 79, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 91, 92, 93, -1,
+ -1, -1, -1, 98, 99, -1, 101, 102, 11, -1,
13, 14, 15, 16, 17, 18, 19, -1, -1, -1,
23, 24, 25, 26, 27, -1, 29, 30, 31, 32,
33, 34, -1, -1, -1, -1, 39, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
53, -1, 55, 56, 57, 58, 59, 60, -1, -1,
- 0, -1, 65, 66, 67, 68, 69, 70, 71, 9,
- -1, 11, 12, -1, -1, -1, 79, -1, -1, -1,
- 20, -1, -1, -1, -1, -1, -1, -1, 91, 92,
- 93, 61, 62, 63, 64, 98, 99, -1, 101, 102,
- -1, -1, 42, 43, 44, 45, -1, -1, -1, 49,
- -1, 51, -1, -1, 54, -1, 86, 87, 88, 89,
- 90, 61, 62, 63, 64, 95, 96, 97, -1, -1,
- 100, 63, 64, -1, -1, -1, 76, 77, 78, 0,
- 80, 81, 82, 83, 84, 85, 86, 87, 88, 89,
- 90, 12, -1, -1, -1, 95, 96, 97, 90, 20,
- 100, 101, -1, 95, 96, 97, -1, -1, 100, -1,
- 61, 62, 63, 64, -1, -1, -1, -1, -1, -1,
- -1, 42, 43, 44, 45, -1, -1, -1, 49, -1,
- 51, -1, -1, 54, -1, -1, 87, 88, 89, 90,
- 61, 62, 63, 64, 95, 96, 97, -1, -1, 100,
- -1, -1, -1, -1, -1, 76, 77, 78, -1, 80,
- 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,
- -1, -1, -1, -1, 95, 96, 97, -1, -1, 100,
- 101, 9, -1, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
- 28, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, 39, -1, -1, -1, -1, -1, -1, 61, 62,
- 63, 64, -1, -1, -1, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, 88, 89, 90, -1, -1,
- -1, 79, 95, 96, 97, -1, -1, 100, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- 98, 99, -1, 9, 102, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, -1, -1, -1, 23, 24, 25,
- 26, 27, 28, 29, 30, 31, 32, 33, 34, -1,
- -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
- 61, 62, 63, 64, -1, -1, -1, 53, -1, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, -1, -1, 89, 90,
- -1, -1, -1, 79, 95, 96, 97, -1, -1, 100,
- -1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
- -1, -1, 98, 99, -1, 9, 102, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, -1, 61, 62, 63, 64, -1, -1, -1, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- 89, 90, -1, -1, -1, 79, 95, 96, 97, -1,
- -1, 100, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, 98, 99, -1, -1, 102, 11,
- 12, 13, 14, 15, 16, 17, 18, 19, -1, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, 61, -1, 63, 64, -1, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, 89, 90, -1, -1, -1, 79, 95, 96,
- 97, -1, -1, 100, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, 11,
- 102, 13, 14, 15, 16, 17, 18, 19, 20, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, 63, 64, -1, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, 89, 90, -1, -1, -1, 79, 95, 96,
- 97, -1, -1, 100, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, 11,
- 102, 13, 14, 15, 16, 17, 18, 19, -1, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, 42, 43,
- 44, 45, -1, -1, -1, 49, -1, 51, -1, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, 76, 77, 78, -1, -1, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, 101,
- 102, 11, -1, 13, 14, 15, 16, 17, 18, 19,
- -1, -1, -1, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, 32, 33, 34, -1, -1, -1, -1, 39,
+ -1, -1, 65, 66, 67, 68, 69, 70, 71, -1,
+ -1, -1, -1, -1, -1, -1, 79, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, -1, -1, 91, 92,
+ 93, -1, -1, -1, -1, 98, 99, -1, 101, 102,
+ 11, -1, 13, 14, 15, 16, 17, 18, 19, -1,
+ -1, -1, 23, 24, 25, 26, 27, -1, 29, 30,
+ 31, 32, 33, 34, -1, -1, -1, -1, 39, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 53, -1, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, 93, -1, -1, -1, -1, 98, 99,
- -1, 101, 102, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- 98, 99, -1, 101, 102, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, -1, -1, -1, 23, 24, 25,
- 26, 27, -1, 29, 30, 31, 32, 33, 34, -1,
- -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 53, -1, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, -1, -1, -1, -1,
- -1, -1, -1, 79, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
- -1, -1, 98, 99, -1, 101, 102, 11, -1, 13,
- 14, 15, 16, 17, 18, 19, -1, -1, -1, 23,
- 24, 25, 26, 27, -1, 29, 30, 31, 32, 33,
- 34, -1, -1, -1, -1, 39, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 53,
- -1, 55, 56, 57, 58, 59, 60, -1, -1, -1,
- -1, 65, 66, 67, 68, 69, 70, 71, -1, -1,
- -1, -1, -1, -1, -1, 79, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 91, 92, 93,
- -1, -1, -1, -1, 98, 99, -1, 101, 102, 11,
- -1, 13, 14, 15, 16, 17, 18, 19, -1, -1,
- -1, 23, 24, 25, 26, 27, -1, 29, 30, 31,
- 32, 33, 34, -1, -1, -1, -1, 39, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 53, -1, 55, 56, 57, 58, 59, 60, -1,
- -1, -1, -1, 65, 66, 67, 68, 69, 70, 71,
- -1, -1, -1, -1, -1, -1, -1, 79, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, 91,
- 92, 93, -1, -1, -1, -1, 98, 99, -1, 101,
- 102, 11, -1, 13, 14, 15, 16, 17, 18, 19,
- -1, -1, -1, 23, 24, 25, 26, 27, -1, 29,
- 30, 31, 32, 33, 34, -1, -1, -1, -1, 39,
+ -1, -1, 53, -1, 55, 56, 57, 58, 59, 60,
+ -1, -1, -1, -1, 65, 66, 67, 68, 69, 70,
+ 71, -1, -1, -1, -1, -1, -1, -1, 79, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 53, -1, 55, 56, 57, 58, 59,
- 60, -1, -1, -1, -1, 65, 66, 67, 68, 69,
- 70, 71, -1, -1, -1, -1, -1, -1, -1, 79,
+ 91, 92, 93, -1, -1, -1, -1, 98, 99, -1,
+ 101, 102, 11, -1, 13, 14, 15, 16, 17, 18,
+ 19, -1, -1, -1, 23, 24, 25, 26, 27, -1,
+ 29, 30, 31, 32, 33, 34, -1, -1, -1, -1,
+ 39, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, 53, -1, 55, 56, 57, 58,
+ 59, 60, -1, -1, -1, -1, 65, 66, 67, 68,
+ 69, 70, 71, -1, -1, -1, -1, -1, -1, -1,
+ 79, -1, -1, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, 91, 92, 93, -1, -1, -1, -1, 98,
+ 99, -1, 101, 102, 11, -1, 13, 14, 15, 16,
+ 17, 18, 19, -1, -1, -1, 23, 24, 25, 26,
+ 27, -1, 29, 30, 31, 32, 33, 34, -1, -1,
+ -1, -1, 39, -1, -1, -1, -1, -1, -1, -1,
+ -1, -1, -1, -1, -1, -1, 53, -1, 55, 56,
+ 57, 58, 59, 60, -1, -1, -1, -1, 65, 66,
+ 67, 68, 69, 70, 71, -1, 54, -1, -1, -1,
+ -1, -1, 79, 61, 62, 63, 64, -1, -1, -1,
+ -1, -1, -1, -1, 91, 92, 93, -1, -1, -1,
+ -1, 98, 99, 81, 82, 102, 84, 85, 86, 87,
+ 88, 89, 90, -1, -1, -1, 54, 95, 96, 97,
+ -1, -1, 100, 61, 62, 63, 64, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, 91, 92, 93, -1, -1, -1, -1, 98, 99,
- -1, 101, 102, 11, -1, 13, 14, 15, 16, 17,
- 18, 19, -1, -1, -1, 23, 24, 25, 26, 27,
- -1, 29, 30, 31, 32, 33, 34, -1, -1, -1,
- -1, 39, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, 53, -1, 55, 56, 57,
- 58, 59, 60, -1, -1, -1, -1, 65, 66, 67,
- 68, 69, 70, 71, -1, -1, -1, -1, -1, -1,
- -1, 79, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, 91, 92, 93, -1, -1, -1, -1,
- 98, 99, -1, 101, 102, 11, -1, 13, 14, 15,
- 16, 17, 18, 19, -1, -1, -1, 23, 24, 25,
- 26, 27, -1, 29, 30, 31, 32, 33, 34, -1,
- -1, -1, -1, 39, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, 53, -1, 55,
- 56, 57, 58, 59, 60, -1, -1, -1, -1, 65,
- 66, 67, 68, 69, 70, 71, -1, 54, -1, -1,
- -1, -1, -1, 79, 61, 62, 63, 64, -1, -1,
- -1, -1, -1, -1, -1, 91, 92, 93, -1, -1,
- -1, -1, 98, 99, -1, 82, 102, 84, 85, 86,
- 87, 88, 89, 90, -1, -1, -1, -1, 95, 96,
- 97, -1, -1, 100
+ -1, -1, -1, -1, 82, -1, 84, 85, 86, 87,
+ 88, 89, 90, -1, -1, -1, -1, 95, 96, 97,
+ -1, -1, 100
};
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -1053,33 +1063,34 @@ static const yytype_uint8 yystos[] =
76, 77, 78, 80, 9, 11, 102, 54, 61, 62,
63, 64, 81, 82, 84, 85, 86, 87, 88, 89,
90, 95, 96, 97, 100, 102, 9, 11, 9, 11,
- 9, 9, 114, 140, 141, 23, 138, 102, 102, 102,
- 102, 70, 102, 164, 102, 102, 112, 48, 129, 20,
- 42, 43, 44, 45, 49, 51, 120, 121, 119, 12,
- 160, 102, 102, 146, 101, 112, 26, 142, 101, 101,
- 146, 161, 169, 147, 102, 102, 10, 20, 160, 101,
- 146, 72, 144, 11, 101, 146, 146, 146, 156, 146,
- 146, 101, 146, 156, 156, 156, 156, 156, 156, 156,
- 156, 156, 156, 156, 156, 156, 156, 156, 9, 11,
- 24, 102, 150, 164, 101, 146, 146, 146, 146, 146,
- 146, 146, 117, 23, 137, 138, 23, 123, 114, 114,
- 114, 114, 114, 114, 102, 114, 114, 112, 146, 133,
- 146, 146, 146, 146, 146, 161, 147, 12, 149, 72,
- 143, 101, 101, 146, 101, 146, 101, 146, 10, 101,
- 26, 146, 11, 20, 12, 101, 83, 146, 146, 101,
- 146, 102, 101, 20, 12, 20, 12, 20, 20, 10,
- 21, 113, 122, 9, 20, 23, 132, 146, 133, 134,
- 146, 133, 136, 162, 164, 127, 131, 134, 135, 146,
- 114, 134, 134, 101, 101, 160, 26, 112, 101, 101,
- 101, 12, 146, 10, 156, 20, 12, 101, 161, 10,
- 10, 10, 10, 114, 142, 114, 23, 101, 101, 101,
- 101, 102, 101, 20, 134, 101, 101, 12, 10, 101,
- 20, 143, 124, 160, 130, 130, 9, 115, 115, 134,
- 115, 132, 101, 115, 115, 74, 20, 112, 145, 117,
- 20, 115, 115, 116, 46, 47, 128, 128, 101, 129,
- 20, 115, 118, 10, 129, 129, 117, 115, 102, 115,
- 130, 129, 20, 26, 125, 10, 134, 129, 135, 22,
- 73, 126, 101, 101, 117, 115, 115, 74, 128
+ 9, 11, 9, 114, 140, 141, 23, 138, 102, 102,
+ 102, 102, 70, 102, 164, 102, 102, 112, 48, 129,
+ 20, 42, 43, 44, 45, 49, 51, 120, 121, 119,
+ 12, 160, 102, 102, 146, 101, 112, 26, 142, 101,
+ 101, 146, 161, 169, 147, 102, 102, 10, 20, 160,
+ 101, 146, 72, 144, 11, 101, 146, 146, 146, 156,
+ 146, 146, 101, 146, 156, 156, 156, 156, 156, 156,
+ 156, 156, 156, 156, 156, 156, 156, 156, 156, 9,
+ 11, 24, 102, 150, 164, 101, 146, 146, 146, 146,
+ 146, 146, 146, 146, 117, 23, 137, 138, 23, 123,
+ 114, 114, 114, 114, 114, 114, 102, 114, 114, 112,
+ 146, 133, 146, 146, 146, 146, 146, 161, 147, 12,
+ 149, 72, 143, 101, 101, 146, 101, 146, 101, 146,
+ 10, 101, 26, 146, 11, 20, 12, 101, 83, 146,
+ 146, 101, 146, 102, 101, 20, 12, 20, 12, 20,
+ 12, 20, 10, 21, 113, 122, 9, 20, 23, 132,
+ 146, 133, 134, 146, 133, 136, 162, 164, 127, 131,
+ 134, 135, 146, 114, 134, 134, 101, 101, 160, 26,
+ 112, 101, 101, 101, 12, 146, 10, 156, 20, 12,
+ 101, 161, 10, 10, 10, 10, 114, 142, 114, 23,
+ 101, 101, 101, 101, 102, 101, 20, 134, 101, 101,
+ 12, 10, 101, 20, 143, 124, 160, 130, 130, 9,
+ 115, 115, 134, 115, 132, 101, 115, 115, 74, 20,
+ 112, 145, 117, 20, 115, 115, 116, 46, 47, 128,
+ 128, 101, 129, 20, 115, 118, 10, 129, 129, 117,
+ 115, 102, 115, 130, 129, 20, 26, 125, 10, 134,
+ 129, 135, 22, 73, 126, 101, 101, 117, 115, 115,
+ 74, 128
};
typedef enum {
@@ -1117,6 +1128,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 48446ab3e028756e1df8ac7ff4e2967381f754ac8cf39430af8bf83b446076e0 perly.y
+ * 1c6010b3d1651d4fc7cbfc329723c507767b4230ac920ae0ffde8f344f4a0ab4 perly.y
* 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
* ex: set ro: */
diff --git a/perly.y b/perly.y
index cf11a9918d..accc95dc34 100644
--- a/perly.y
+++ b/perly.y
@@ -1204,6 +1204,15 @@ term : termbinop
TOKEN_GETMAD($2,$$,'[');
TOKEN_GETMAD($4,$$,']');
}
+ | hsh '[' expr ']' /* array key/value slice */
+ { $$ = op_prepend_elem(OP_KVASLICE,
+ newOP(OP_PUSHMARK, 0),
+ newLISTOP(OP_KVASLICE, 0,
+ list($3),
+ ref(oopsAV($1), OP_KVASLICE)));
+ TOKEN_GETMAD($2,$$,'[');
+ TOKEN_GETMAD($4,$$,']');
+ }
| ary '{' expr ';' '}' /* @hash{@keys} */
{ $$ = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
diff --git a/pp.c b/pp.c
index 470ebd1681..2dd0fe8d9a 100644
--- a/pp.c
+++ b/pp.c
@@ -4350,6 +4350,50 @@ PP(pp_aslice)
RETURN;
}
+PP(pp_kvaslice)
+{
+ dVAR; dSP; dMARK;
+ AV *const av = MUTABLE_AV(POPs);
+ I32 lval = (PL_op->op_flags & OPf_MOD);
+ I32 items = SP - MARK;
+
+ if (PL_op->op_private & OPpMAYBE_LVSUB) {
+ const I32 flags = is_lvalue_sub();
+ if (flags) {
+ if (!(flags & OPpENTERSUB_INARGS))
+ Perl_croak(aTHX_ "Can't modify index/value array slice in list assignment");
+ lval = flags;
+ }
+ }
+
+ MEXTEND(SP,items);
+ while (items > 1) {
+ *(MARK+items*2-1) = *(MARK+items);
+ items--;
+ }
+ items = SP-MARK;
+ SP += items;
+
+ while (++MARK <= SP) {
+ SV **svp;
+
+ svp = av_fetch(av, SvIV(*MARK), lval);
+ if (lval) {
+ if (!svp || !*svp || *svp == &PL_sv_undef) {
+ DIE(aTHX_ PL_no_aelem, SvIV(*MARK));
+ }
+ *MARK = sv_mortalcopy(*MARK);
+ }
+ *++MARK = svp ? *svp : &PL_sv_undef;
+ }
+ if (GIMME != G_ARRAY) {
+ MARK = SP - items*2;
+ *++MARK = items > 0 ? *SP : &PL_sv_undef;
+ SP = MARK;
+ }
+ RETURN;
+}
+
/* Smart dereferencing for keys, values and each */
PP(pp_rkeys)
{
diff --git a/pp_proto.h b/pp_proto.h
index 1ede6ff121..73ff532b5c 100644
--- a/pp_proto.h
+++ b/pp_proto.h
@@ -123,6 +123,7 @@ PERL_CALLCONV OP *Perl_pp_introcv(pTHX);
PERL_CALLCONV OP *Perl_pp_ioctl(pTHX);
PERL_CALLCONV OP *Perl_pp_iter(pTHX);
PERL_CALLCONV OP *Perl_pp_join(pTHX);
+PERL_CALLCONV OP *Perl_pp_kvaslice(pTHX);
PERL_CALLCONV OP *Perl_pp_kvhslice(pTHX);
PERL_CALLCONV OP *Perl_pp_last(pTHX);
PERL_CALLCONV OP *Perl_pp_lc(pTHX);
diff --git a/regen/opcodes b/regen/opcodes
index 61c0de5b21..84d979271f 100644
--- a/regen/opcodes
+++ b/regen/opcodes
@@ -217,6 +217,7 @@ aelemfast constant array element ck_null s$ A S
aelemfast_lex constant lexical array element ck_null d0 A S
aelem array element ck_null s2 A S
aslice array slice ck_null m@ A L
+kvaslice index/value array slice ck_null m@ A L
aeach each on array ck_each % A
akeys keys on array ck_each t% A
diff --git a/toke.c b/toke.c
index a405e89f47..46907716cc 100644
--- a/toke.c
+++ b/toke.c
@@ -5815,6 +5815,9 @@ Perl_yylex(pTHX)
PREREF('%');
}
if ((PL_expect != XREF || PL_oldoldbufptr == PL_last_lop) && intuit_more(s)) {
+ if (*s == '[')
+ PL_tokenbuf[0] = '@';
+
/* Warn about % where they meant $. */
if (*s == '[' || *s == '{') {
if (ckWARN(WARN_SYNTAX)) {