X-Git-Url: http://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/002099fc953f8417029d3b840945fde3251712bc..8f657093d128c6436330659d273c2762ac9cbf79:/parsing_cocci/parser_cocci_menhir.ml diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index fbdac5c..9835449 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -2,424 +2,493 @@ exception Error type token = | Tvolatile of ( -# 54 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) # 8 "parser_cocci_menhir.ml" ) | Tvoid of ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 13 "parser_cocci_menhir.ml" ) | Tunsigned of ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 18 "parser_cocci_menhir.ml" ) | Tunion of ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 23 "parser_cocci_menhir.ml" ) | Ttypedef of ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 28 "parser_cocci_menhir.ml" ) | Tstruct of ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) # 33 "parser_cocci_menhir.ml" ) | Tstatic of ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) # 38 "parser_cocci_menhir.ml" ) - | Tsigned of ( -# 51 "parser_cocci_menhir.mly" + | Tssize_t of ( +# 115 "parser_cocci_menhir.mly" (Data.clt) # 43 "parser_cocci_menhir.ml" ) - | Tshort of ( -# 49 "parser_cocci_menhir.mly" + | Tsize_t of ( +# 115 "parser_cocci_menhir.mly" (Data.clt) # 48 "parser_cocci_menhir.ml" ) - | Tregister of ( -# 53 "parser_cocci_menhir.mly" + | Tsigned of ( +# 117 "parser_cocci_menhir.mly" (Data.clt) # 53 "parser_cocci_menhir.ml" ) - | Tlong of ( -# 49 "parser_cocci_menhir.mly" + | Tshort of ( +# 114 "parser_cocci_menhir.mly" (Data.clt) # 58 "parser_cocci_menhir.ml" +) + | Tregister of ( +# 119 "parser_cocci_menhir.mly" + (Data.clt) +# 63 "parser_cocci_menhir.ml" +) + | Tptrdiff_t of ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 68 "parser_cocci_menhir.ml" +) + | Tlong of ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 73 "parser_cocci_menhir.ml" ) | Tlist | Tint of ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 64 "parser_cocci_menhir.ml" +# 79 "parser_cocci_menhir.ml" ) | Tinline of ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 69 "parser_cocci_menhir.ml" +# 84 "parser_cocci_menhir.ml" ) | Tfloat of ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 74 "parser_cocci_menhir.ml" +# 89 "parser_cocci_menhir.ml" ) | Textern of ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 79 "parser_cocci_menhir.ml" +# 94 "parser_cocci_menhir.ml" ) | Tenum of ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 84 "parser_cocci_menhir.ml" +# 99 "parser_cocci_menhir.ml" ) | Tdouble of ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 89 "parser_cocci_menhir.ml" +# 104 "parser_cocci_menhir.ml" ) | Tconst of ( -# 54 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 94 "parser_cocci_menhir.ml" +# 109 "parser_cocci_menhir.ml" ) | Tchar of ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 99 "parser_cocci_menhir.ml" +# 114 "parser_cocci_menhir.ml" ) | Tauto of ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 104 "parser_cocci_menhir.ml" +# 119 "parser_cocci_menhir.ml" ) | Tattr of ( -# 55 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (string * Data.clt) -# 109 "parser_cocci_menhir.ml" +# 124 "parser_cocci_menhir.ml" ) | TXor of ( -# 92 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 114 "parser_cocci_menhir.ml" +# 129 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 121 "parser_cocci_menhir.ml" +# 136 "parser_cocci_menhir.ml" ) | TWhile of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 126 "parser_cocci_menhir.ml" +# 141 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 131 "parser_cocci_menhir.ml" +# 146 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 136 "parser_cocci_menhir.ml" +# 151 "parser_cocci_menhir.ml" ) | TWhen of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 141 "parser_cocci_menhir.ml" +# 156 "parser_cocci_menhir.ml" ) + | TVirtual | TUsing + | TUnderscore + | TUndef of ( +# 149 "parser_cocci_menhir.mly" + (Data.clt * token) +# 164 "parser_cocci_menhir.ml" +) | TTypedef | TTypeId of ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 148 "parser_cocci_menhir.ml" +# 170 "parser_cocci_menhir.ml" ) | TType + | TTildeExclEq of ( +# 162 "parser_cocci_menhir.mly" + (Data.clt) +# 176 "parser_cocci_menhir.ml" +) + | TTildeEq of ( +# 162 "parser_cocci_menhir.mly" + (Data.clt) +# 181 "parser_cocci_menhir.ml" +) | TTilde of ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 154 "parser_cocci_menhir.ml" +# 186 "parser_cocci_menhir.ml" ) | TSwitch of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 159 "parser_cocci_menhir.ml" +# 191 "parser_cocci_menhir.ml" +) + | TSub of ( +# 162 "parser_cocci_menhir.mly" + (Data.clt) +# 196 "parser_cocci_menhir.ml" ) | TString of ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 164 "parser_cocci_menhir.ml" +# 201 "parser_cocci_menhir.ml" ) | TStrict of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 169 "parser_cocci_menhir.ml" +# 206 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 175 "parser_cocci_menhir.ml" +# 212 "parser_cocci_menhir.ml" ) - | TShOp of ( -# 96 "parser_cocci_menhir.mly" + | TShROp of ( +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 180 "parser_cocci_menhir.ml" +# 217 "parser_cocci_menhir.ml" +) + | TShLOp of ( +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 222 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 71 "parser_cocci_menhir.mly" +# 139 "parser_cocci_menhir.mly" (string) -# 185 "parser_cocci_menhir.ml" +# 227 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 191 "parser_cocci_menhir.ml" +# 233 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 197 "parser_cocci_menhir.ml" +# 239 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( -# 104 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) -# 203 "parser_cocci_menhir.ml" +# 245 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 208 "parser_cocci_menhir.ml" +# 250 "parser_cocci_menhir.ml" ) | TPragma of ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 213 "parser_cocci_menhir.ml" +# 126 "parser_cocci_menhir.mly" + (Ast_cocci.added_string * Data.clt) +# 255 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 83 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) -# 220 "parser_cocci_menhir.ml" +# 262 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 226 "parser_cocci_menhir.ml" +# 268 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 79 "parser_cocci_menhir.mly" +# 147 "parser_cocci_menhir.mly" (string) -# 231 "parser_cocci_menhir.ml" +# 273 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 237 "parser_cocci_menhir.ml" +# 279 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 242 "parser_cocci_menhir.ml" +# 284 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 89 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 248 "parser_cocci_menhir.ml" +# 290 "parser_cocci_menhir.ml" ) | TOr of ( -# 91 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 253 "parser_cocci_menhir.ml" +# 295 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 259 "parser_cocci_menhir.ml" +# 301 "parser_cocci_menhir.ml" ) | TOPar of ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 264 "parser_cocci_menhir.ml" +# 306 "parser_cocci_menhir.ml" ) | TOInit of ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 269 "parser_cocci_menhir.ml" +# 311 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 274 "parser_cocci_menhir.ml" +# 316 "parser_cocci_menhir.ml" ) | TOCro of ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 279 "parser_cocci_menhir.ml" +# 321 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 284 "parser_cocci_menhir.ml" +# 326 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 290 "parser_cocci_menhir.ml" +# 332 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 297 "parser_cocci_menhir.ml" +# 339 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 83 "parser_cocci_menhir.mly" +# 151 "parser_cocci_menhir.mly" (string * Data.clt) -# 302 "parser_cocci_menhir.ml" +# 344 "parser_cocci_menhir.ml" ) | TMinus of ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 307 "parser_cocci_menhir.ml" +# 349 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 312 "parser_cocci_menhir.ml" +# 354 "parser_cocci_menhir.ml" ) + | TMetavariable | TMetaType of ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 317 "parser_cocci_menhir.ml" +# 360 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 322 "parser_cocci_menhir.ml" +# 365 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 327 "parser_cocci_menhir.ml" +# 370 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 68 "parser_cocci_menhir.mly" +# 136 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 332 "parser_cocci_menhir.ml" +# 375 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 66 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 337 "parser_cocci_menhir.ml" +# 380 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 342 "parser_cocci_menhir.ml" +# 385 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 347 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 390 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 61 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 352 "parser_cocci_menhir.ml" +# 395 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 62 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 357 "parser_cocci_menhir.ml" +# 400 "parser_cocci_menhir.ml" +) + | TMetaInitList of ( +# 133 "parser_cocci_menhir.mly" + (Parse_aux.list_info) +# 405 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 65 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 362 "parser_cocci_menhir.ml" +# 410 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 367 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 415 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 61 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 372 "parser_cocci_menhir.ml" +# 420 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 61 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 377 "parser_cocci_menhir.ml" +# 425 "parser_cocci_menhir.ml" +) + | TMetaFieldList of ( +# 134 "parser_cocci_menhir.mly" + (Parse_aux.list_info) +# 430 "parser_cocci_menhir.ml" +) + | TMetaField of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 435 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 66 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 382 "parser_cocci_menhir.ml" +# 440 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 387 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 445 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 63 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 392 "parser_cocci_menhir.ml" +# 450 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 62 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 397 "parser_cocci_menhir.ml" +# 455 "parser_cocci_menhir.ml" +) + | TMetaDecl of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 460 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 402 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 465 "parser_cocci_menhir.ml" +) + | TMeta of ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 470 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 95 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 408 "parser_cocci_menhir.ml" +# 476 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 414 "parser_cocci_menhir.ml" +# 482 "parser_cocci_menhir.ml" ) | TIteratorId of ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 419 "parser_cocci_menhir.ml" +# 487 "parser_cocci_menhir.ml" ) | TIterator | TIsoType | TIsoTopLevel + | TIsoToTestExpression | TIsoTestExpression | TIsoStatement | TIsoExpression @@ -428,224 +497,226 @@ type token = | TIso | TInvalid | TInt of ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 434 "parser_cocci_menhir.ml" +# 503 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 80 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) -# 441 "parser_cocci_menhir.ml" +# 510 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 80 "parser_cocci_menhir.mly" +# 148 "parser_cocci_menhir.mly" (string * Data.clt) -# 446 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TInc of ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 451 "parser_cocci_menhir.ml" +# 520 "parser_cocci_menhir.ml" ) | TIf of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 456 "parser_cocci_menhir.ml" +# 525 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 462 "parser_cocci_menhir.ml" +# 531 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 468 "parser_cocci_menhir.ml" +# 537 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 475 "parser_cocci_menhir.ml" +# 544 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 482 "parser_cocci_menhir.ml" +# 551 "parser_cocci_menhir.ml" ) | TFloat of ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 487 "parser_cocci_menhir.ml" +# 556 "parser_cocci_menhir.ml" ) | TFinalize + | TField | TExtends | TExpression | TExists | TEver | TError | TEqEq of ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 498 "parser_cocci_menhir.ml" +# 568 "parser_cocci_menhir.ml" ) | TEq of ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 503 "parser_cocci_menhir.ml" +# 573 "parser_cocci_menhir.ml" ) | TElse of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 508 "parser_cocci_menhir.ml" +# 578 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 513 "parser_cocci_menhir.ml" +# 583 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 518 "parser_cocci_menhir.ml" +# 588 "parser_cocci_menhir.ml" ) | TDot of ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 523 "parser_cocci_menhir.ml" +# 593 "parser_cocci_menhir.ml" ) | TDo of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 528 "parser_cocci_menhir.ml" +# 598 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 97 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 533 "parser_cocci_menhir.ml" +# 603 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 82 "parser_cocci_menhir.mly" +# 150 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 540 "parser_cocci_menhir.ml" +# 610 "parser_cocci_menhir.ml" ) | TDefine of ( -# 81 "parser_cocci_menhir.mly" +# 149 "parser_cocci_menhir.mly" (Data.clt * token) -# 545 "parser_cocci_menhir.ml" +# 615 "parser_cocci_menhir.ml" ) | TDefault of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 550 "parser_cocci_menhir.ml" +# 620 "parser_cocci_menhir.ml" ) | TDeclarerId of ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 555 "parser_cocci_menhir.ml" +# 625 "parser_cocci_menhir.ml" ) | TDeclarer + | TDeclaration | TDec of ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 561 "parser_cocci_menhir.ml" +# 632 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 567 "parser_cocci_menhir.ml" +# 638 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 574 "parser_cocci_menhir.ml" +# 645 "parser_cocci_menhir.ml" ) | TChar of ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 579 "parser_cocci_menhir.ml" +# 650 "parser_cocci_menhir.ml" ) | TCase of ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 584 "parser_cocci_menhir.ml" +# 655 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 589 "parser_cocci_menhir.ml" +# 660 "parser_cocci_menhir.ml" ) | TCPar of ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 594 "parser_cocci_menhir.ml" +# 665 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 599 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.ml" ) | TCCro of ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 604 "parser_cocci_menhir.ml" +# 675 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 609 "parser_cocci_menhir.ml" +# 680 "parser_cocci_menhir.ml" ) | TBreak of ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 614 "parser_cocci_menhir.ml" +# 685 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 620 "parser_cocci_menhir.ml" +# 691 "parser_cocci_menhir.ml" ) | TAssign of ( -# 108 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 625 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 74 "parser_cocci_menhir.mly" +# 142 "parser_cocci_menhir.mly" (Data.clt) -# 632 "parser_cocci_menhir.ml" +# 703 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 90 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 637 "parser_cocci_menhir.ml" +# 708 "parser_cocci_menhir.ml" ) | TAnd of ( -# 93 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 642 "parser_cocci_menhir.ml" +# 713 "parser_cocci_menhir.ml" ) | EOF and _menhir_jeton = token -# 23 "parser_cocci_menhir.mly" +# 25 "parser_cocci_menhir.mly" (* Not clear how to allow function declarations to specify a return type @@ -660,7 +731,70 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 664 "parser_cocci_menhir.ml" +(* ---------------------------------------------------------------------- *) +(* support for TMeta *) + +let print_meta (r,n) = r^"."^n + +let meta_metatable = Hashtbl.create(101) + +let coerce_tmeta newty name builder matcher = + try + let x = Hashtbl.find meta_metatable name in + if not (matcher x) + then + failwith + (Printf.sprintf "Metavariable %s is used as %s" + (print_meta name) newty) + with Not_found -> + (if !Flag_parsing_cocci.show_SP + then + Common.pr2 + (Printf.sprintf + "Metavariable %s is assumed to be %s metavariable" + (print_meta name) newty)); + Hashtbl.add meta_metatable name builder + +let tmeta_to_type (name,pure,clt) = + (coerce_tmeta "a type" name (TMetaType(name,pure,clt)) + (function TMetaType(_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure)) + +let tmeta_to_field (name,pure,clt) = + (coerce_tmeta "a field" name (TMetaField(name,pure,clt)) + (function TMetaField(_,_,_) -> true | _ -> false)); + P.meta_field (name,pure,clt) + +let tmeta_to_exp (name,pure,clt) = + (coerce_tmeta "an expression" name + (TMetaExp(name,Ast0.NoConstraint,pure,None,clt)) + (function TMetaExp(_,_,_,_,_) -> true | _ -> false)); + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure)) + +let tmeta_to_param (name,pure,clt) = + (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt)) + (function TMetaParam(_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure)) + +let tmeta_to_statement (name,pure,clt) = + (coerce_tmeta "a statement" name (TMetaType(name,pure,clt)) + (function TMetaType(_,_,_) -> true | _ -> false)); + P.meta_stm (name,pure,clt) + +let tmeta_to_seed_id (name,pure,clt) = + (coerce_tmeta "an identifier" name + (TMetaId(name,Ast.IdNoConstraint,pure,clt)) + (function TMetaId(_,_,_,_) -> true | _ -> false)); + Ast.SeedId name + +let tmeta_to_ident (name,pure,clt) = + (coerce_tmeta "an identifier" name + (TMetaId(name,Ast.IdNoConstraint,pure,clt)) + (function TMetaId(_,_,_,_) -> true | _ -> false)); + Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure)) + +# 798 "parser_cocci_menhir.ml" let _eRR = Error @@ -674,334 +808,372 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 172 + 191 | TAnd _ -> - 171 + 190 | TAndLog _ -> - 170 + 189 | TAny _ -> - 169 + 188 | TArob -> - 168 + 187 | TArobArob -> - 167 + 186 | TAssign _ -> - 166 + 185 | TBang _ -> - 165 + 184 | TBang0 -> - 164 + 183 | TBreak _ -> - 163 + 182 | TCBrace _ -> - 162 + 181 | TCCro _ -> - 161 + 180 | TCEllipsis _ -> - 160 + 179 | TCPar _ -> - 159 + 178 | TCPar0 _ -> - 158 + 177 | TCase _ -> - 157 + 176 | TChar _ -> - 156 + 175 | TComma _ -> - 155 + 174 | TConstant -> - 154 + 173 | TContext -> - 153 + 172 | TContinue _ -> - 152 + 171 | TCppConcatOp -> - 151 + 170 | TDec _ -> - 150 + 169 + | TDeclaration -> + 168 | TDeclarer -> - 149 + 167 | TDeclarerId _ -> - 148 + 166 | TDefault _ -> - 147 + 165 | TDefine _ -> - 146 + 164 | TDefineParam _ -> - 145 + 163 | TDepends -> - 144 + 162 | TDisable -> - 143 + 161 | TDmOp _ -> - 142 + 160 | TDo _ -> - 141 + 159 | TDot _ -> - 140 + 158 | TDotDot _ -> - 139 + 157 | TEllipsis _ -> - 138 + 156 | TElse _ -> - 137 + 155 | TEq _ -> - 136 + 154 | TEqEq _ -> - 135 + 153 | TError -> - 134 + 152 | TEver -> - 133 + 151 | TExists -> - 132 + 150 | TExpression -> - 131 + 149 | TExtends -> - 130 + 148 + | TField -> + 147 | TFinalize -> - 129 + 146 | TFloat _ -> - 128 + 145 | TFor _ -> - 127 + 144 | TForall -> - 126 + 143 | TFresh -> - 125 + 142 | TFunDecl _ -> - 124 + 141 | TFunction -> - 123 + 140 | TGenerated -> - 122 + 139 | TGoto _ -> - 121 + 138 | TIdExpression -> - 120 + 137 | TIdent _ -> - 119 + 136 | TIdentifier -> - 118 + 135 | TIf _ -> - 117 + 134 | TInc _ -> - 116 + 133 | TIncludeL _ -> - 115 + 132 | TIncludeNL _ -> - 114 + 131 | TInitialiser -> - 113 + 130 | TInitialize -> - 112 + 129 | TInt _ -> - 111 + 128 | TInvalid -> - 110 + 127 | TIso -> - 109 + 126 | TIsoArgExpression -> - 108 + 125 | TIsoDeclaration -> - 107 + 124 | TIsoExpression -> - 106 + 123 | TIsoStatement -> - 105 + 122 | TIsoTestExpression -> - 104 + 121 + | TIsoToTestExpression -> + 120 | TIsoTopLevel -> - 103 + 119 | TIsoType -> - 102 + 118 | TIterator -> - 101 + 117 | TIteratorId _ -> - 100 + 116 | TLineEnd _ -> - 99 + 115 | TLocal -> - 98 + 114 | TLogOp _ -> - 97 + 113 | TMPtVirg -> - 96 + 112 + | TMeta _ -> + 111 | TMetaConst _ -> - 95 + 110 + | TMetaDecl _ -> + 109 | TMetaDeclarer _ -> - 94 + 108 | TMetaErr _ -> - 93 + 107 | TMetaExp _ -> - 92 + 106 | TMetaExpList _ -> - 91 + 105 + | TMetaField _ -> + 104 + | TMetaFieldList _ -> + 103 | TMetaFunc _ -> - 90 + 102 | TMetaId _ -> - 89 + 101 | TMetaIdExp _ -> - 88 + 100 | TMetaInit _ -> - 87 + 99 + | TMetaInitList _ -> + 98 | TMetaIterator _ -> - 86 + 97 | TMetaLocalFunc _ -> - 85 + 96 | TMetaLocalIdExp _ -> - 84 + 95 | TMetaParam _ -> - 83 + 94 | TMetaParamList _ -> - 82 + 93 | TMetaPos _ -> - 81 + 92 | TMetaStm _ -> - 80 + 91 | TMetaStmList _ -> - 79 + 90 | TMetaType _ -> - 78 + 89 + | TMetavariable -> + 88 | TMid0 _ -> - 77 + 87 | TMinus _ -> - 76 + 86 | TMinusFile _ -> - 75 + 85 | TMul _ -> - 74 + 84 | TName -> - 73 + 83 | TNever -> - 72 + 82 | TNotEq _ -> - 71 + 81 | TNothing -> - 70 + 80 | TOBrace _ -> - 69 + 79 | TOCro _ -> - 68 + 78 | TOEllipsis _ -> - 67 + 77 | TOInit _ -> - 66 + 76 | TOPar _ -> - 65 + 75 | TOPar0 _ -> - 64 + 74 | TOn -> - 63 + 73 | TOr _ -> - 62 + 72 | TOrLog _ -> - 61 + 71 | TPArob -> - 60 + 70 | TPCEllipsis _ -> - 59 + 69 | TPOEllipsis _ -> - 58 + 68 | TParameter -> - 57 + 67 | TPathIsoFile _ -> - 56 + 66 | TPlus _ -> - 55 + 65 | TPlus0 -> - 54 + 64 | TPlusFile _ -> - 53 + 63 | TPosAny -> - 52 + 62 | TPosition -> - 51 + 61 | TPragma _ -> - 50 + 60 | TPtVirg _ -> - 49 + 59 | TPtrOp _ -> - 48 + 58 | TPure -> - 47 + 57 | TReturn _ -> - 46 + 56 | TRightIso -> - 45 + 55 | TRuleName _ -> - 44 + 54 | TScript -> - 43 + 53 | TScriptData _ -> + 52 + | TShLOp _ -> + 51 + | TShROp _ -> + 50 + | TSizeof _ -> + 49 + | TStatement -> + 48 + | TStrict _ -> + 47 + | TString _ -> + 46 + | TSub _ -> + 45 + | TSwitch _ -> + 44 + | TTilde _ -> + 43 + | TTildeEq _ -> 42 - | TShOp _ -> + | TTildeExclEq _ -> 41 - | TSizeof _ -> + | TType -> 40 - | TStatement -> + | TTypeId _ -> 39 - | TStrict _ -> + | TTypedef -> 38 - | TString _ -> + | TUndef _ -> 37 - | TSwitch _ -> + | TUnderscore -> 36 - | TTilde _ -> + | TUsing -> 35 - | TType -> + | TVirtual -> 34 - | TTypeId _ -> + | TWhen _ -> 33 - | TTypedef -> + | TWhenFalse _ -> 32 - | TUsing -> + | TWhenTrue _ -> 31 - | TWhen _ -> + | TWhile _ -> 30 - | TWhenFalse _ -> + | TWhy _ -> 29 - | TWhenTrue _ -> + | TWhy0 -> 28 - | TWhile _ -> + | TWords -> 27 - | TWhy _ -> + | TXor _ -> 26 - | TWhy0 -> + | Tattr _ -> 25 - | TWords -> + | Tauto _ -> 24 - | TXor _ -> + | Tchar _ -> 23 - | Tattr _ -> + | Tconst _ -> 22 - | Tauto _ -> + | Tdouble _ -> 21 - | Tchar _ -> + | Tenum _ -> 20 - | Tconst _ -> + | Textern _ -> 19 - | Tdouble _ -> + | Tfloat _ -> 18 - | Tenum _ -> + | Tinline _ -> 17 - | Textern _ -> + | Tint _ -> 16 - | Tfloat _ -> + | Tlist -> 15 - | Tinline _ -> + | Tlong _ -> 14 - | Tint _ -> + | Tptrdiff_t _ -> 13 - | Tlist -> + | Tregister _ -> 12 - | Tlong _ -> + | Tshort _ -> 11 - | Tregister _ -> + | Tsigned _ -> 10 - | Tshort _ -> + | Tsize_t _ -> 9 - | Tsigned _ -> + | Tssize_t _ -> 8 | Tstatic _ -> 7 @@ -1070,6 +1242,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TDec _v -> Obj.repr _v + | TDeclaration -> + Obj.repr () | TDeclarer -> Obj.repr () | TDeclarerId _v -> @@ -1110,6 +1284,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TExtends -> Obj.repr () + | TField -> + Obj.repr () | TFinalize -> Obj.repr () | TFloat _v -> @@ -1162,6 +1338,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TIsoTestExpression -> Obj.repr () + | TIsoToTestExpression -> + Obj.repr () | TIsoTopLevel -> Obj.repr () | TIsoType -> @@ -1178,8 +1356,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMPtVirg -> Obj.repr () + | TMeta _v -> + Obj.repr _v | TMetaConst _v -> Obj.repr _v + | TMetaDecl _v -> + Obj.repr _v | TMetaDeclarer _v -> Obj.repr _v | TMetaErr _v -> @@ -1188,6 +1370,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaExpList _v -> Obj.repr _v + | TMetaField _v -> + Obj.repr _v + | TMetaFieldList _v -> + Obj.repr _v | TMetaFunc _v -> Obj.repr _v | TMetaId _v -> @@ -1196,6 +1382,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaInit _v -> Obj.repr _v + | TMetaInitList _v -> + Obj.repr _v | TMetaIterator _v -> Obj.repr _v | TMetaLocalFunc _v -> @@ -1214,6 +1402,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaType _v -> Obj.repr _v + | TMetavariable -> + Obj.repr () | TMid0 _v -> Obj.repr _v | TMinus _v -> @@ -1286,7 +1476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TScriptData _v -> Obj.repr _v - | TShOp _v -> + | TShLOp _v -> + Obj.repr _v + | TShROp _v -> Obj.repr _v | TSizeof _v -> Obj.repr _v @@ -1296,18 +1488,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TString _v -> Obj.repr _v + | TSub _v -> + Obj.repr _v | TSwitch _v -> Obj.repr _v | TTilde _v -> Obj.repr _v + | TTildeEq _v -> + Obj.repr _v + | TTildeExclEq _v -> + Obj.repr _v | TType -> Obj.repr () | TTypeId _v -> Obj.repr _v | TTypedef -> Obj.repr () + | TUndef _v -> + Obj.repr _v + | TUnderscore -> + Obj.repr () | TUsing -> Obj.repr () + | TVirtual -> + Obj.repr () | TWhen _v -> Obj.repr _v | TWhenFalse _v -> @@ -1348,12 +1552,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | Tlong _v -> Obj.repr _v + | Tptrdiff_t _v -> + Obj.repr _v | Tregister _v -> Obj.repr _v | Tshort _v -> Obj.repr _v | Tsigned _v -> Obj.repr _v + | Tsize_t _v -> + Obj.repr _v + | Tssize_t _v -> + Obj.repr _v | Tstatic _v -> Obj.repr _v | Tstruct _v -> @@ -1370,19 +1580,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\001G\001H\001F\000\000\001J\001I\000\001\000\000\001\131\000\000\000\000\000\137\000\000\000\000\001u\000\162\000\000\000\000\000\149\000\000\000\000\000\154\000\153\000\000\000\150\000\000\000\148\000\000\000\000\000\000\000\152\000\000\000\151\003\008\003\007\000\000\000\000\000\142\000\000\000\000\000\147\000\146\000\000\000\143\000\000\000\141\000\000\000\000\000\000\000\145\000\000\000\144\000\000\000\156\000\000\000\000\000\161\000\160\000\000\000\157\000\000\000\164\000\000\001C\002\149\001B\000\000\000\165\000\000\000\163\000\136\000\000\000\155\000\000\000\170\000\000\000\000\000\000\000\159\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\003\003\000\000\000\000\000\167\000\000\003\005\000\000\000\000\000\000\003\128\002_\000\000\003~\000\000\002y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\003\127\002e\001>\002d\001<\001=\002c\002b\002a\002]\000\000\000\000\002^\001\011\000\000\002`\000\000\003|\000\000\000c\001;\002@\000\000\000\000\002C\000\000\000\015\000\000\000\000\000\000\000\000\001\012\002\\\002h\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\002!\000R\001\021\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\022\000\000\002F\001\023\000\014\000\016\000\000\000\000\000\192\000\000\000\000\000\179\000\000\000\000\000\184\000\183\000\000\000\180\000\000\000\178\000\000\000\000\000\000\000\182\000\000\000\181\000\000\000\000\000\172\000\000\000\000\000\177\000\176\000\000\000\173\000\000\000\171\000\000\000\000\000\000\000\175\000\000\000\174\000\000\000\186\000\000\000\000\000\191\000\190\000\000\000\187\000\000\000\194\000\000\000\000\000\195\000\000\000\193\000\000\000\185\000\000\000\200\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000\000\000\002\008\000\208\000\000\000\000\000n\000o\002\007\001\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\214\000\000\001\235\000\000\000\000\000\000\000\000\000\207\000\205\000\220\000\000\001}\000\000\000\000\003\000\000\000\002\255\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\198\000\196\000\000\000\000\003\002\003\006\000\188\000\000\000\000\001\026\000\000\000\000\002A\002D\000\000\002B\002E\003c\003d\003b\000\000\002f\003a\000\000\002\128\000\000\000\000\002\127\002~\002}\002|\002{\002w\000\000\000\000\002x\000\000\002z\000\000\000\000\000g\002N\000\000\000\000\002Q\000\000\000\000\002T\000\000\000\000\002O\002R\000\000\002P\002S\002\130\002v\003q\003r\003p\003o\000h\000\000\000\000\000W\000\000\000V\001\031\000\000\001\244\000\000\000\000\000\000\000\000\000\000\001\016\001\250\000\000\000\000\001\155\000U\0001\001\t\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002g\000\000\000\203\000\000\000\000\001\229\000\000\001\145\001\210\000\000\000\000\001\228\000\000\001\143\001\209\000\000\000\000\000d\000\000\002\129\000\000\000\000\003t\003s\000\000\001\245\000\000\000\000\003f\003e\000\000\000Q\000\204\000\000\001w\000\000\003\001\000\000\000\000\000\000\000\000\000\168\000\166\000\000\001\020\000\000\000\000\000\169\000\158\000\000\000\000\001`\000\000\001_\000\000\001m\000\000\001\133\000\000\000\000\000\000\0036\000\000\000\000\003)\000\000\000\000\003.\003-\000\000\003*\000\000\003(\000\000\000\000\000\000\003,\000\000\003+\000\000\000\000\003\"\000\000\000\000\003'\003&\000\000\003#\000\000\003!\000\000\000\000\000\000\003%\000\000\003$\000\000\0030\000\000\000\000\0035\0034\000\000\0031\000\000\0038\000\000\000\000\0039\000\000\0037\000\000\003/\000\000\003>\000\000\000\000\000\000\0033\000\000\000\000\003]\000\000\000\000\000\000\000\000\003=\0032\000\000\003_\000\000\000\000\002\225\003^\000\129\000\000\000\248\000\000\000\000\000\000\000\000\003;\000\000\000\000\000\000\000\000\003<\003:\000\000\000\000\003T\000\000\000\000\003G\000\000\000\000\003L\003K\000\000\003H\000\000\003F\000\000\000\000\000\000\003J\000\000\003I\000\000\000\000\003@\000\000\000\000\003E\003D\000\000\003A\000\000\003?\000\000\000\000\000\000\003C\000\000\003B\000\000\003N\000\000\000\000\003S\003R\000\000\003O\000\000\003V\000\000\000\000\003W\000\000\003U\000\000\003M\000\000\003\\\000\000\000\000\000\000\003Q\000\000\000\000\000\000\000\000\003[\003P\000\000\000\000\000\000\000\000\003Y\000\000\000\000\000\000\000\000\003Z\003X\002\250\002\252\002\253\002\251\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\000\000\000\002\141\000\000\000\000\002\140\002\139\002\138\002\137\002\136\001\\\002\132\000\000\000\000\002\133\000\000\002\135\000\000\000\000\000i\002U\000\000\000\000\002X\000\000\000\000\002[\000\000\000\000\002V\002Y\000\000\002W\002Z\002\143\002\131\003x\003y\003w\003v\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\142\000\000\001\211\000X\000?\001\030\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003{\003z\000\000\002\241\000\000\002\240\000\000\000\000\000\000\000\000\003\135\000\000\000\000\000\000\003\136\000\000\000\018\000\000\000\000\000\000\003\131\000\000\001\157\000\000\000\000\000\000\000\221\002\231\001s\000\000\000\210\001r\001L\001K\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\014\000\254\000\000\001\129\000\000\000\000\000\253\000\249\000\000\001\000\000\250\000\255\000\000\002\243\000\000\002\242\002\228\000\000\000\000\000\000\000\000\000\000\002\237\000\000\000\000\000\000\000\000\000\000\002\238\002\230\000\000\002\244\000\000\002\232\000\000\000\225\000\000\002\247\000\209\000\000\001N\000\000\000\000\000w\000\000\000\000\000\000\002l\000\000\000\000\000\000\002t\000\000\000\000\002s\000\000\003m\002r\002q\002p\002o\002n\002j\000\000\000\000\002k\000\000\002m\000\000\000\000\000\000\000\000\000\000\000e\002G\000\000\000\000\002J\000\000\000\000\002M\000\000\000\000\002H\002K\000\000\002I\002L\002u\002i\000f\003j\003k\003i\003h\003l\000\000\000\000\000\000\000\000\001\008\001\007\000\000\000\000\000\000\000\000\001R\000\000\001\018\001O\000\000\001\006\001U\000\000\000\000\001V\000\000\000\000\001W\000\000\001\127\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001X\000\000\001T\000\000\000\000\001Z\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001[\001Q\000\000\001P\000\000\000\241\000\000\002\205\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\238\000\000\000\000\003\012\000\000\003\019\000\227\000\000\000\000\000\000\000\000\000\239\000\000\000\235\000\232\000\000\003\013\000\226\000\000\003\014\000\000\003\021\000\000\000\000\000\000\000\000\000\245\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\246\000\000\000\000\000\000\000\000\001@\000\000\000\000\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\223\000\222\000\000\003\022\003\023\000\000\003\024\000\000\003\025\000\000\001M\002\235\000\000\000\000\001\233\000\000\001\153\001\215\000\000\002\229\000\000\000\000\000\000\002\234\000\000\000\000\000\000\0014\000\000\001.\000\000\001/\000\000\0019\001-\0018\000\000\002\246\001:\000\000\000\228\000\000\000\000\000\000\000\000\0016\0011\001\230\000\000\0012\000\000\0013\000\000\001\147\001\212\000\000\000\000\000\000\001\240\000\000\001\238\000\000\000\000\001\242\001\236\000\000\001\243\001\237\000\000\002\248\001\246\000\000\000\224\000\000\000\000\001\231\000\000\001\149\001\213\000\000\003\132\000\000\003\129\000\000\003\130\000\019\000\020\000\000\000\000\002\184\000\000\002\183\000\000\000\000\002\186\000\000\002\185\000\000\000\000\000\000\002\017\000\000\000\000\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\024\000\000\000\000\002\027\000\000\002\011\000\000\000\000\002\014\000\000\000\000\000\000\002\018\000\000\000\000\002\022\000\000\000\000\001\232\000\000\000\000\002\015\000\000\000\000\002\019\002\181\002\012\000\000\002\182\000\000\000\000\000\000\000\000\002\025\000\000\002\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\000\000\000\002\026\000\000\002\n\000\000\000\000\002\013\000\000\000\000\000\000\002\016\000\000\000\000\002\020\000\000\001\151\001\214\000\000\002\187\000\000\000\000\000\000\003\133\000\017\000u\000\000\003\134\000\000\000\000\002\201\000\000\000\000\002\249\000a\000\000\000\000\000\000\000b\000\000\002\239\000\000\001y\002\236\000\000\000\000\001f\000\000\001e\000\000\001n\000\000\001\139\000\000\000\000\000\000\001d\000\000\001c\000\000\001k\000\000\001\137\000\000\000\000\000\000\001h\000\000\001g\000\000\001l\000\000\001\141\000\000\000\000\000\000\001i\000\000\000\000\000\000\000\000\001b\000\000\001a\000\000\001o\000\000\001\135\000\000\000\000\000\000\001j\000\002\000\000\000N\000O\000\000\000\000\002\161\002\165\002\169\002\157\002\154\000\000\000\000\001\178\002\166\002\173\002\158\002\172\002\156\002\171\002\160\002\152\002\159\002\168\002\155\002\162\002\153\002\164\002\170\002\167\002\163\000\128\000\000\000\000\002\223\000\000\000\000\002\195\000\000\000\000\002\197\002\196\002\179\000\000\000\000\002\227\002\150\002\151\000\000\001\190\000M\001p\000\003\000\000\000\000\002\146\000\000\002\031\000\000\000\127\000\000\000\000\002\221\000\000\000\000\000\000\000y\000\000\000\000\002\209\000\000\002\004\002\003\001\173\002\177\000\000\001\206\000\000\002\147\000\000\000\000\000{\000\000\000\000\002\213\000\000\001\187\000\000\000\000\001\183\000\000\000\000\000\000\001\186\000\000\001\185\000\000\000\000\000\000\000\000\000\000\000\000\001\207\000\000\001\181\000\000\001\180\000\000\000v\000\000\000\000\002\203\000\000\000\000\001\177\000\000\000\000\000}\000\000\000\000\002\217\000\000\000\000\000\000\000z\000\000\000\000\002\211\000\000\002\000\001\255\001\169\002\175\000\000\001\193\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\001\184\000\000\000\000\001\191\000\000\000\000\001\192\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\252\000|\000\000\000\000\002\215\000\000\000\000\000\000\001E\000x\001D\000\000\000\000\002\207\000\000\001\254\001\253\001\167\002\174\000\000\000~\000\000\000\000\002\219\000\000\000\000\000\000\000\000\002\002\002\001\001\171\002\176\000\000\001\200\000\000\001\204\000\000\000\000\001\196\000\000\000\000\000\000\001\188\000\000\001\194\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\203\000\000\001\202\000\000\000\000\000\000\000\000\001\199\000\000\000\000\001\198\000\000\001\197\000\000\000\000\000\000\000\000\001\201\000\000\001\205\000\000\000\000\001q\000\004\000\000\001\179\000\005\000\000\000\000\001\"\000\006\000\000\001\219\001\220\001\218\000\000\001\217\003\t\001\163\000\000\000\007\000\000\001\222\001\223\001\221\000\000\000\000\000\000\000\000\001$\000\000\000\000\000\000\000\000\001)\001+\001*\001%\001'\001&\000\000\000\000\000\000\000\000\000\000\003\015\003\028\000\000\003\016\000\000\003\017\000\000\000\000\003\n\000\000\000\000\000\000\000\000\003\027\000\000\000\000\003\026\001\227\001\226\000\000\000\000\001\165\001\216\001\224\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000l\000m\002\005\000\000\000\000\000\000\000\217\000\000\001{\000\000\000\000\000\216\000\212\000\000\000\000\000\000\000\000\001?\000\000\003\031\000\000\003 \000\000\000\000\001\249\001\247\000\000\001\248\000\008\000\000\000\t\000\000\0020\0021\002/\000\000\002.\000\000\000\n\000\000\0023\0024\0022\000\000\0026\000\000\000\000\000\000\002(\000\000\000\000\002*\000\000\002$\000\000\002&\000\000\002+\000\000\002,\000\000\002%\002#\0027\001\175\002-\000\000\0029\000\000\0028\000\000\002:\000\000\002\180\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002;\000\000\000\000\002>\000\000\002=\000\000\002<\001\001\000\000\000\000\000\000\000\000\001\002\002?\000\000\000\000\002\191\000\000\000\000\000\000\002\192\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\002\199\000k\000\000\000\000\001\n\000\000\001\028\001\027\000\000\001^\000\000\002\190\001\161\001\159\000\000\000\000\000\000\002\193\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\189\000\000\000\000\000\000\000\000\000\000\000\000\002\188\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\194") + (16, "\000\000\000\000\003\016\000\131\000\000\000\000\003`\001\130\000\000\001\128\001\129\001\127\000\000\001\132\001\131\000\001\000\000\001\185\000\000\000\000\000\147\000\000\000\000\001\175\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003\156\003\155\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\019\002\018\002\017\000\000\001-\001,\000\000\000\000\002*\000\000\001\199\002\021\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002V\000\000\000\000\002U\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002Y\001E\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\142\003\149\003\148\003\150\000\000\000\000\000\000\000\000\003\184\000\000\003\143\003\144\000\000\000\000\000\206\000\000\003\146\000\000\000\000\000\000\004+\002\218\000\000\000\000\004)\000\000\002\244\000\000\000\000\000\000\000\000\000\000\000\000\004(\004*\002\224\001w\002\223\001v\002\222\002\221\002\220\002=\002\216\000\000\000\000\002\217\001.\000\000\000\000\000\000\002\219\000\000\004'\000\000\000\000\004\b\002\187\000\000\000\000\002\190\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\215\002\227\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0019\000p\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\188\002\191\000\000\002\189\002\192\004\007\000\000\002\252\000\000\000\247\000\000\000\000\002+\000\000\001\201\002\022\000\000\000\000\002)\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002|\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002j\002{\0021\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\0022\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\177\000\171\000\000\000\000\000\170\002n\002k\000\000\000\000\003\152\000\000\003\151\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\183\000\000\000\000\003\154\003\147\000\227\000\000\001\197\002\020\000\000\000\000\002\251\000\000\000\000\002\250\002\249\002\248\002\247\002\246\002\242\000\000\004\019\002\243\000\000\004\020\002\245\000\000\004\022\000\000\000y\002\201\000\000\000\000\002\204\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\253\002\241\000\014\000\016\000g\0003\001*\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002G\002K\000\000\000\000\000\150\002H\001<\001:\000\000\002\207\000\000\000\000\002\202\002\205\000\000\002\203\002\206\004\021\000z\000\000\002\193\004#\004$\004\"\004!\004\006\000\000\002\225\004\005\001R\000\000\002;\000\000\000\000\000\000\000\000\000\000\0012\002B\000\000\000\000\001\213\000\000\002\226\000\000\000\000\000v\000\000\000\000\004\024\004\023\000\000\002<\000\000\000\000\004&\004%\000\000\000\000\004\n\004\t\000\000\000c\000\248\000\000\003\153\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0018\000\000\000\000\000\208\000\192\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\003\206\000\000\000\000\003\193\000\000\000\000\003\198\003\197\000\000\003\194\000\000\003\192\000\000\000\000\000\000\003\196\000\000\003\195\000\000\003\210\000\000\003\209\000\000\000\000\003\186\000\000\000\000\003\191\003\190\000\000\003\187\000\000\003\185\000\000\000\000\000\000\003\189\000\000\003\188\000\000\003\200\000\000\003\211\000\000\000\000\003\205\003\204\000\000\003\201\000\000\003\208\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\214\003\212\000\000\003\207\000\000\003\199\000\000\003\219\000\000\000\000\000\000\003\203\000\000\001\230\000\000\003\255\000\000\000\000\002.\001\231\000\000\001\207\002\026\000\000\000\000\000\000\000\000\003\218\003\202\004\000\000\000\004\003\004\002\000\000\000\000\003p\004\001\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\216\000\000\000\000\000\000\000\000\003\217\003\215\000\000\000\000\003\241\000\000\000\000\003\228\000\000\000\000\003\233\003\232\000\000\003\229\000\000\003\227\000\000\000\000\000\000\003\231\000\000\003\230\000\000\003\245\000\000\003\244\000\000\000\000\003\221\000\000\000\000\003\226\003\225\000\000\003\222\000\000\003\220\000\000\000\000\000\000\003\224\000\000\003\223\000\000\003\235\000\000\003\246\000\000\000\000\003\240\003\239\000\000\003\236\000\000\003\243\000\000\000\000\000\000\000\000\003\248\000\000\000\000\000\000\000\000\003\249\003\247\000\000\003\242\000\000\003\234\000\000\003\254\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\003\253\003\237\000\000\000\000\000\000\000\000\003\251\000\000\000\000\000\000\000\000\003\252\003\250\003\138\003\140\003\141\003\139\000\000\000\000\000\000\000\000\000\000\001\135\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\231\000\000\000\000\000\000\004\017\004\016\000\000\000\000\002\239\000\000\000\000\002\238\000\000\000\000\002\237\002\236\002\235\002\234\002\233\001\149\002\229\000\000\004\012\002\230\000\000\004\r\002\232\000\000\004\015\000\000\000w\002\194\000\000\000\000\002\197\000\000\000\000\002\200\000\000\000\000\002\195\002\198\000\000\002\196\002\199\002\240\002\228\004\014\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\001\147\001\146\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002]\000\000\000\000\000\000\000\000\001\144\000\000\001\183\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\145\000\000\000\000\002\\\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002`\001@\000\000\001\143\001\148\000\000\001\140\000\000\001\023\000\000\003Z\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001\\\001[\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\003\001\000\000\000\000\000\000\004\031\004\030\000\000\003\129\000\000\003\128\000\000\000\000\000\000\000\000\0042\000\000\000\000\000\000\0043\000\000\000\018\000\000\000\000\000\000\000\000\003\b\000\000\000\000\000\000\003\007\003\006\003\005\003\004\003\003\002\255\000\000\004\026\003\000\000\000\004\027\003\002\000\000\004\029\000\000\000{\002\208\000\000\000\000\002\211\000\000\000\000\002\214\000\000\000\000\002\209\002\212\000\000\002\210\002\213\003\n\002\254\004\028\000\000\000\000\000l\000\000\000k\000\000\003\t\000\000\002\023\000j\000B\001Q\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004.\000\000\001\215\000\000\000\000\000\000\001\002\003w\001\173\000\000\001\172\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\0010\000\000\000\000\002N\000\000\000\000\000\154\002R\002O\001>\001\031\000\000\001!\001 \000\000\003\131\000\000\003\130\003s\000\000\000\000\000\000\000\000\000\000\003}\000\000\003\132\000\000\000\000\000\000\000\000\003~\003u\000\000\003x\000\000\001\006\001\136\000\000\003\135\000\000\001\138\000\000\000\000\003\162\000\000\003\169\001\b\000\000\001\014\000\000\003\163\001\007\000\000\003\164\000\000\003\171\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001y\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\172\003\173\000\000\003\174\000\000\003\175\000\000\001\137\003{\000\000\000\000\0020\000\000\001\211\002\028\000\000\003t\000\000\000\000\000\000\003z\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\134\001t\000\000\001\t\000\000\000\000\000\000\000\000\001p\001k\002,\000\000\001l\000\000\001m\000\000\001\203\002\024\000\000\000\000\000\000\0027\000\000\0025\000\000\000\000\0029\0023\000\000\002:\0024\000\000\003\136\002>\000\000\001\005\000\000\000\000\002-\000\000\001\205\002\025\000\000\004/\000\000\004,\000\000\004-\000\019\000\020\000\000\000\000\003=\000\000\003<\000\000\002~\000\000\003?\000\000\003>\000\000\000\000\000\000\002\134\000\000\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\141\000\000\000\000\002\144\000\000\002\128\000\000\000\000\002\131\000\000\000\000\000\000\002\135\000\000\000\000\002\139\000\000\000\000\002/\000\000\000\000\002\132\000\000\000\000\002\136\003:\002\129\000\000\003;\000\000\000\000\000\000\000\000\002\142\000\000\002}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\143\000\000\002\127\000\000\000\000\002\130\000\000\000\000\000\000\002\133\000\000\000\000\002\137\000\000\001\209\002\027\000\000\003@\000\000\000\000\000\000\0040\000\017\000~\000\000\0041\000\000\000\000\003V\000\000\000\000\003\137\000s\000\000\000\000\000\000\000t\000\000\003\127\000\000\001\179\000\000\001\181\003|\000\000\000\000\001\159\000\000\001\158\000\000\001\168\000\000\001\193\000\000\000\000\000\000\001\157\000\000\001\156\000\000\001\165\000\000\001\191\000\000\000\000\000\000\001\164\000\000\000\000\000\000\001\161\000\000\001\160\000\000\001\166\000\000\001\195\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\169\000\000\001\189\000\000\000\000\000\000\001\163\000\002\000\000\000`\000a\000\000\000\000\003\026\003\030\003\"\003\022\003\019\000\000\000\000\003\031\003&\003\023\003%\003\021\003$\003\025\003\017\003\024\003!\003\020\003\027\003\018\003\029\003#\003 \003\028\001\236\001\235\000\137\000\000\000\000\003l\000\000\000\000\003O\000\000\000\000\003R\003P\003Q\0030\000\000\000\000\003r\003(\003'\003)\000\000\001\253\000_\001\170\000\003\000\000\000\000\003\r\000\000\002\148\000\000\000\138\000\000\000\000\003n\000\000\000\000\000\000\000\130\000\000\000\000\003^\000\000\002x\002w\001\227\0031\000\000\002\012\000\000\003\014\000\000\000\000\000\132\000\000\000\000\003b\000\000\001\250\000\000\000\000\001\242\000\000\000\000\000\000\001\249\000\000\001\245\000\000\000\000\000\000\001\217\001\216\000\000\000\000\000\000\002\r\000\000\001\240\000\000\001\239\000\000\000\127\000\000\000\000\003X\000\000\000\000\001\234\000\000\000\000\001\238\000\000\000\000\000\135\000\000\000\000\003h\000\000\000\000\0038\000\000\0037\000\000\000\000\000\000\002v\002u\0035\002\156\003,\0036\000\000\002\000\000\000\000\000\000\000\001\252\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000\000\001\244\000\000\001\243\000\000\000\000\000\000\003.\000\136\000\000\000\000\003j\000\000\003-\000\000\001\254\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000\000\000\000\002\015\000\000\001\248\000\000\001\247\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\014\000\000\001\241\000\000\001T\000\000\002D\000\133\000\000\000\000\003d\000\000\000\000\000\000\000\000\003\158\003\157\000\000\000\000\001~\000\129\001}\000\000\000\000\003\\\000\000\002p\002o\002r\003*\002\152\002q\001S\000\000\000\134\000\000\000\000\003f\000\000\000\000\000\000\000\000\002t\002s\0034\0032\002\154\003+\0033\000\000\002\007\000\000\002\n\000\000\000\000\002\003\000\000\000\000\000\000\001\251\000\000\002\001\000\000\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\002\t\000\000\002\b\000\000\000\000\000\000\000\000\002\006\000\000\000\000\002\005\000\000\002\004\000\000\000\000\002\011\000\000\000\000\001\171\000\004\000\000\001\237\000\005\000\000\000\000\001Y\000\006\000\000\002 \002!\002\031\000\000\002\030\003\159\001\223\000\000\000\007\000\000\002#\002$\002\"\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\001c\001e\001d\001_\001a\001`\000\000\000\000\000\000\000\000\000\000\003\165\003\178\000\000\003\166\000\000\003\167\000\000\000\000\003\160\000\000\000\000\000\000\000\000\003\177\000\000\000\000\003\176\002(\002'\000\000\000\000\001\225\002\029\002%\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\002c\002y\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002g\002d\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\181\000\000\003\182\000\000\000\000\002A\002?\000\000\002@\000\b\000\000\000\t\000\000\002\171\002\172\002\170\000\000\002\169\000\000\000\n\000\000\002\174\002\175\002\173\000\000\002\177\000\000\000\000\000\000\002\163\000\000\000\000\002\165\000\000\002\159\000\000\002\161\000\000\002\166\000\000\002\167\000\000\002\160\002\158\002\178\001\229\002\168\000\000\002\180\000\000\002\179\000\000\002\181\000\000\0039\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\002\185\000\000\002\184\000\000\002\183\001\"\000\000\000\000\000\000\000\000\001#\002\186\000\000\000\000\000\000\003E\000\000\003D\000\000\000\000\000\000\000\000\003F\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003T\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\151\000\000\003C\001\221\001\219\000\000\000\000\000\000\000\000\003G\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003N\000\000\000\000\003M\000\000\003J\000\000\000\000\000\000\000\000\000\000\003K\000\000\000\000\000\000\003L\000\r\000\000\003H\000\000\003I") let error = - (173, "\000\000\000\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\001\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\240\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 %P\208\020!\170\008\t\012\192\140\006\128\136w\130@\000\142d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\163\128\000\003\016\000\016\001\129\024\004\001\000B\000\000\000\004\200b\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153C\000\000\002 \000 \018\0020\008\002\000\132\000\000\000\t\144\196\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000$P\192\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187G\000\000\006 \000 \003\0020\008\002\000\132\000\000\000\t\144\196\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\001\016\000\016\t\001\024\004\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000$P\192\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\001\016\000\017\t\001\024\004\001\000B\000\000\000\004\200b\245\170\240\000\128\016\000\001\004\004\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\001 \004\000\000A\001\000\000\000\000\000\128\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\016@@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\001\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\004\000\000\136\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\017\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\000\000\016@ \128\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008'\173W\128\005H\128\018\013\002\160\206\208\000\016\144\008\002\000 \128A=j\188\000*D\000\144h\021\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016OZ\175\000\n\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\021\"\000H4\n\131?@\000B@ \008\000\130A\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\004\004\016`\018\192\000\005\000\000\000\000\027 \0014;\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\006\200\000O\014\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000L\128\004\240n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000`\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\019 \001<\027\128\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\200\000O\006\224\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\0012\000\019\193\184\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\004\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\002 \000 \018\0020\008\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\129\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000L\161\128\000\001\016\000\016\t\001\024\004\001\000B\000\000\000\004\200b\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\145C\000\000\002 \000 \018\0020\008\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\"\000\002\001 #\000\128 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\018(`\000\000D\000\004\002@F\001\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\001\016\000\016\t\001\024\004\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\017\000\001\000\144\017\128@\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\004@\000D$\004`\016\004\001\008\000\000\000\019!\139\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000A\001\000\000\000\000\000\128\000\000\000\000\016\001\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000@\001\024\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\214\171\192\002\000@\000\004\000\017\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\004\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\007\173W\128\004\000\128\000\008\000#\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\001\000\004`\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007Z\173\000\008\001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\001\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\002 \000\"\018\0020\008\002\000\132\000\000\000\t\144\197\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\004@\000@$\004`\016\004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\214\171\192\002\164@\t\006\129Pg\232\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\137\002,\146P\000\000\128\008\016\000\003T\004\001\004p\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001R \004\131@\1683\244\000\004$\002\000\128\008$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\002\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\"\000\139\000\148\000\000 \002\000\000\000\145\000\000@\028\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\000\000 \128A\000\000\000\144\000\"\000\139\000\148\000\000 \002\000\000\000\145\000\000@\028\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \012\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\000\008 \016@\000\000$\000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128\000\002\008\004\016\000\000\t\000\002 \008\176\t@\000\002\000 \000\000\t\016\000\004\001\192\000\000\000\005 \000H4\n\003;@\000B@ \000\000\130\001\004\000\000\002@\000\136\002,\002P\000\000\128\008\000\000\002D\000\001\000p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\008\000\015Z\175\000\008\001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\002\164@\t\006\129Pgh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\n\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\002\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\001\016\000\017\t\001\024\004\001\000B\000\000\000\004\200b\245\170\240\000\128\016\000\001\004\004\000\000\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\002 \000 \018\0020\008\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\002E\012\000\000\008\128\000\128H\008\192 \008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000/Z\175\000\008\001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000@\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\001\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000@\008\000\000\130\002\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\004\000\000\000\000\000\000\015Z\175\000\008\001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\024\196\000\000H\000\135h$\000\008\192\000\007\173W\128\004\000\128\000\008 \000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\214\171@\002\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005@\128\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000*\004\000\000\004\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 (BD\016\002\024\128\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\134 \000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000@\004\005\008H\130\000C\016\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0041\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \0061\000\000\018\000!\218\t\000\0020\000\001\235U\224\001\000 \000\002\008\008\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128\161\t\016@\008b\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\128\000\000\002\000\000\000\000\000\000\007\173W\128\004\000\128\000\008 \000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\002\132$A\000!\136\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\012b\000\000$\000C\180\018\000\004`\000\003\214\171\192\002\000@\000\004\016\016\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\001\001B\018 \128\016\196\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\001\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\005\200\160\018\013B\184\238\240\1283\212\024\002G\168\195A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\003\000\1603\180\000\012$\002\000\000\008 \016@\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000T\136\001 \208*\012\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001H\000\016\012\002\128\206\208\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\016\012\002\128\206\208\0000\144\008\000\000 \128A\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000\000\005 \000@0\n\003;@\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\"`\155,\150\000\000(\002\004\000\000\213\001\001A\220\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000T\136\001 \208*\012\253\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\002\"\t\176\137`\000\002\128 \000\000\013\016\000\020\029\192\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\184\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\128\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\128\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\128\001\017\004\216D\176\000\001@\016\000\000\004\136\000\n\006\224\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\184\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000`\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000DA6\017,\000\000P\004\000\000\001\"\000\002\129\184\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000H\000\017\016M\132K\000\000\020\001\000\000\000H\128\000\160n\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\018\000\004D\019a\018\192\000\005\000@\000\000\018 \000(\027\189j\188\000*D\000\144h\021\006v\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\002\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\015.E\000\128c\021\199w\132\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\004\000\000\000\000\000\000\008\"\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\138\001\000\196+\142\239\008\003=A\128\004j\136\020\019\255\175\224\130\228P\t\006\161|wx@\025\234\012\001#TP\160\159\253\127\007\151\"\128@1\138\227\187\194\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\229\200\160\016\012b\248\238\241\1283\212\152\000G\168\227Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar(\004\003\024\174;\188 \012\245\006\000\017\170 PO\254\191\130\011\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\016\\\138\001 \212+\142\239\008\003=A\128$j\1364\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\004L\019e\146\192\000\005\000@\128\000\027\160!(;\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\001\001\200 \016\012B\136\238\208\1283\212\024\000F(\129A\000\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\001\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \016H4\n\003;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\004\018\013\002\128\206\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\128\008$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\028\130\001\000\196(\142\237\008\003=A\128\004b\136\020\016\000\000\000\128\228\016\008\006!Dwh@\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000 `\131$\150\000\000 \000\004\000\000\205\001\t\001\024\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\n\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\128\228\016\008\006!Dwh@\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\138\001 \212+\142\239\008\003=A\128$j\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\151\"\128@1\139\227\187\198\000\207R`\001\030\163\141f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\008\001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000)\000\002A\168P\027\218\000\002\018\001\000@\004\016\008 \000\000\000\001H\000\016\012\194\128\206\208\0000\144\008\n\128 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\003\000\1603\180\000\012$\002\000\000\008 \016@\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\021\"\000H4\n\131;@\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\003\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@0\n\003;@\000\194@ \000\000\130\001\004\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008'\173W\128\005H\128\018\013\002\160\206\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000R\000\004\003\000\1603\180\000\012$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\002\004\0082I@\000\002\000\000@\000\008P\016\128\001\128\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\018\013\002\160\207\208\000\016\144\008\002\000 \144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\000\000\000\000\020\128\001 \208(\012\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\016\012\194\128\206\208\0000\144\008\n\128 \130A\000\000\000\001\n@\000\128f\020\006v\128\001\132\128@T\001\004\018\008\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\020\128\001\000\204(\012\237\000\003\t\000\128\136\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000)\000\002\001\152P\025\218\000\006\018\001\001\016\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\000@\000\192\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\000@\000\192\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000)\000\002\001\128P\025\218\000\006\018\001\000\000\004\016\008 \000\000\016\000\004\000\016`\018\128\000\004\000\000\000\000\016 \001\000\003\000\000\000\000\n@\000\128`\020\006v\128\001\132\128@\000\001\004\002\008\000\000\004\000\001\000\004\024\004\160\000\001\000\000\000\000\004\008\000@\000\192\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000@\001\006\001(\000\000@\000\000\000\001\002\000\016\0000\000\000\000\000\164\000\008\006\001@gh\000\024H\004\000\000\016@ \128\000\000@\000\016\000A\128J\000\000\016\000\000\000\000@\128\004\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006a@gh\000\024H\004\005@\016A \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000)\000\002\001\152P\025\218\000\006\018\001\001P\004\016H \000\000\000\001H\000\016\012\194\128\206\208\0000\144\008\008\128 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000R\000\004\0030\1603\180\000\012$\002\002\160\008 \144@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0020\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\016\002\000\000 \000\140\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131P\1607\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\002@\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\004\000\128\000\008\000#\000\000\000\000\000\000\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\001\000 \000\000\000\008\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar(\004\003\024\174;\188`\012\245\006\000\017\170 P@\000\000\000\000\000\000\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228P\008\0061\\wx\192\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\004L\019e\146\192\004\005\000@\144\000\027\160 (;\128\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000R\000\004\131P\1607\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\001\000\000\000\000\002\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145@$\026\133q\221\227\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228P\008\0061\\wx\192\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\005H\128\018\013\002\160\207\208\000\016\144\008\002\000 \144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\004`\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\002\000\008\192\000\000\000\000\000\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H5\n\003{@\000B@ \008\000\130\001\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\000 \000\002\000\008\192\000\000\000\000\000\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000)\000\002A\168P\027\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000@\008\000\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000)\000\002A\168P\027\218\000\002\018\001\000@\004\016\008 \000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"\128H5\n\227\187\198\000\207P`\t\026\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\008\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\011\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\002\000\000#\000\128\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000 \000\000\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000@\000\000\000\000\000\000\000\000\000 \000?\251\255\008.G\000\152j\023\199w\140\003\158\164\1922=GZ\204\000\000\000@r\008\004\003\016\162;\180 \012\245\006\000\017\138 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\138\001\000\198/\142\239\008\003=A\128\004z\1424\016\000\000\000\000\000\000\001\000\128\000\000\000\000\000\000\000\001\000\000\000\000\031\253\127\004\023\"\128@1\139\227\187\194\000\207P`\001\030\163\141\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240Ar(\004\131P\190;\188 \012\245\006\000\145\2348\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\138\001 \212/\142\239\008\003=A\128$z\1424\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\016\000\031\253\127\004\023\"\128@1\139\227\187\194\000\207P`\001\026\162\133\004\000\000\000\000\000\000\000@ \008\000\000\000\000\000\000\000@\000\004\000\007\255_\193\005\200\160\016\012b\248\238\240\1283\212\024\000F\168\161A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\004\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\023\"\128H5\011\227\187\194\000\207P`\t\026\162\133\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\004\0000\016\000\000\000\000\004\000\000\000 \000\000\128\011\255\175\224\130\228P\008\0061\\wx@\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128` \000\000\000\000\008\000\000\000@\000\001\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008.G\000\152j\021\199w\132\003\158\160\192\0185DJ\013\255\215\240Ar(\004\003\024\174;\188 \012\245\006\000\017\170 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228p\t\134\161\\wx@9\234\012\001#TD\160\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\016\000\031\253\127\004\023\"\128H5\011\227\187\194\000\207P`\t\026\162\133\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\128\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\020\002A\168W\029\2220\006z\131\000H\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015~\191\128\n\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\020\128A \208(\012\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\191_\192\005H\160\016\012\002\160\206\240\0000\144\008\000\000\168\129A\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\002\000@\000\004\000\016\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004`\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000 \004\000\000@\001\024\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131P\1607\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\214\171@\002\000@\000\000\000\016\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144j\020\006\246\128\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\002\000\003\223\175\224\002\164P\008\006\001Pgx\000\024H\004\000\000T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\129\130\012\146X\000\128\128\000\018\000\003\020\004\004\004`\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131P\1607\180\000\004$\002\000\128\008 \016@\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001R \004\131@\1683\244\000\004$\002\000\128\008$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000\128\0020\000\000\000\000\000\000 \000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\016\144\008\002\000 \128A\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\161@oh\000\008H\004\001\000\016@ \128\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\173V\128\004\000\128\000\000\000 \000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \212(\013\237\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\004\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\002\000 #\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\016\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\020\002\001\140W\029\222\016\006z\131\000\008\213\016( \000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\003\255\175\224\130\228P\t\006\161\\wx@\025\234\012\001#\212a\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\011\255\175\224\130\228P\008\0061\\wx@\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\020\002\001\140W\029\222\016\006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129@gh\000\008H\004\000\000\016@ \128\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000\000)\000\002A\160P\025\218\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 9\004\002\001\136Q\029\218\016\006z\131\000\008\197\016( \000\000\000\000\000@\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\128\000\000\008\014A\000\128b\020Gv\132\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000\132\128@\000\001\004\002\008\000\000\000\000\000\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\002\000@\000\004\000\016\000\016\000\000\008\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\023\255_\192\004\000\128\000\008\000 \000 \000\000\016\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240\001\000 \000\002\000\008\000\008\000\000\004\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\016\144\008\000\000 \128A\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\194\007\008H\146\004 \016\000\001 \002\020\160\144\000#\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000@P\132\136 \000 \000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\016\000\000\000@\004\005\008H\130\000\002\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\001\000\000 \000\000\000\000\000\000@\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\002 \000\000\000\000\000\000@\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000p\132\136 B\001\000\000\018\000!H\t\000\0020\000\001\235U\224\003\132 \001\002\016\008\000\000\144\001\n@H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\024@\000@\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\001\000\000\000\004\000@P\132\136 \000 \000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000p\132\128 B\001\000\000\018\000!H\t\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\028!\000\008\016\128@\000\004\128\008R\002@\000\132\000\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\004\000\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\024\000\000\000\016\001\001B\018 \128\000\128\000\001H\000\135h$\000\008\224\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\004`\000\000\000@\004\005\008H\130\000B\000\000\005 \002\029\160\144\000#\128\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\128\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\016\001\235U\224\001\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\004\005\008H\130\000C\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\000\008\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\001@\000\000\164\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@P\132\136 \000 \000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\002\132$A\000\001\128\000\000\144\001\014\208H\000\017\128\000\000\001\000\016\020!\"\008\001(\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128\161\t\016@\000@\000\000$\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\004\000\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\004\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\008\000\000\000 \002\002\132$A\000\001\000\000\000\144\001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\020!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\161\t\016@\001@\000\000\164\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=n\188@p\132\136 B!\000\000\018\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128\161\t\016@\001`\000\000\164\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 (BD\016\000\016\000\000\t\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000z\221x\128\225\t\016@\132b\000\000$\000C\180\018\000\004`\000\000\000@\004\005\008H\130\000\002\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\n\016\145\004\000\004\000\000\002@\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\005\008H\130\000B\000\000\001 \002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\001\001B\018 \128\000\128\000\000H\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\132\014\016\145$\008@ \000\002@\004)A \000F\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 \185\020\002A\232w\029\222\016\006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\130\228P\t\007\161\\wx@\025\234L\001#T@\172\222\253\255\128\016\002\000\000 \000\128\000\000\000\000\002\000\000\000\000\000\000\247\239\252\000\128\016\000\001\000\004\000\000\000\000\000\016\000\000\000\000\000\007\191\127\224\004\000\128\000\008\000 \000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$P\192\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\t\0200\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\\\138\001\000\198+\142\239\008\003=A\128\004j\136\020\019\255\175\224\130\228P\008\0061\\wx@\025\234\012\000#T@\160\128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\020\002\001\140W\029\222\016\006z\131\000\008\213\016+0\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\002\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\130\228P\t\006\161\\wx@\025\234\012\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002\001\152P\025\218\000\006\018\001\001P\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240yr(\004\003\024\174;\188 \012\245\006\000\017\170 PO\254\191\130\011\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\003\255\175\224\130\228P\008\0061\\wx@\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248<\185\020\002\001\140W\029\222\016\006z\131\000\008\213\016('\255_\193\005\200\160\016\012b\184\238\240\1283\212\024\000F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000@\008\000\000\128\002\000\000\000\000\001\008\000\000\000\000\000\000\t\0200\000\000\000\000\002\000\000#\000\000\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000@\008\000\000\128\0020\000\000\000\000\000\000 \000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004@\000\245\170\240\000\128\016\000\001\000\004`\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\000\000 \000\000\000\002 \000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\001\000 \000\002\000\008\192\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 \185\020\002A\168W\029\222\016\006z\131\000H\213\016h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\128\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\\\138\001 \212+\142\239\008\003=A\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\016\000\016\000\001\024\000\000\000B\000\000\000\000\000b\000\000\000\000\000@@\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\t\006\129\192gh\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\130\228P\t\007\161\220wx@\025\234L\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\011\145@$\030\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\130\228P\008\0061\\wx@\025\234L\000#T@\172\192\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\008\000\000\000b\255\239\252 \185\020\002\001\140W\029\222\016\006z\147\000\008\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008.E\000\144j\021\199w\132\001\158\164\192\0185D\n\205\255\223\248Ar(\004\003\024\174;\188 \012\245&\000\017\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000 \000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"\128H5\n\227\187\194\000\207R`\t\026\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\005\200\160\018\013B\184\238\240\1283\212\152\002F\168\129Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248Ar(\004\131P\174;\188 \012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000@\000@\000\004`\000\000\001\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248Ar(\004\131P\174;\188 \012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\000\000\000\000\000 \000\000\001\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\023\"\128H5\n\227\187\194\000\207R`\t\026\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\004\000\004\000\000F\000\000\000\016\128\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\000\000\000\000\000\000\000\016$O\0000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\004\008\000\000\000\000\000\000\000@\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\016\000\000\000\016\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\004\000\128\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\001\000\000\000\004\000\000\000\000\000\000\000\002\024\001\000\001\000\160\000\000\000\000\000@\000\002\004\000\000\000\000\000\000\000 \000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000@\000\000\000\000\000\000\000!\128\016\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\008`\006\000\000\002\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\128\004\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\024\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\008\224\006\000\000\002\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\002\024\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\008`\006\000\000\002\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\024\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (192, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\001\006\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\0162\025@\134\0014\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\012#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000A\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\b\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000 E\146J\000\000\000@\000\004\000\000j\128B0F\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\000\000A \130z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000@\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000 A\146J\000\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\146K\000\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@\"\000A\004\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\nq\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\206?\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\128L5\011q\206?\024\003\158\164\192\029\030Q\214\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\206?\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\182K\000\004\001P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\128L5\011q\206?\024\003\158\164\192\025\030Q\214\179\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\128L5\nq\206?\b\003\158\160\192\t\026Q\018\131\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\128L5\nq\206?\b\003\158\160\192\t\026Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\178K\000\004\001@\000\004\128\000b\128@@F\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000\002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130D\016!\000\192\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130F\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130@\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\001\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\b\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\016@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\228\130D\016\002X\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\014q\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\206?\b\001\158\164\192\t\026Q\002\179{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\b\b\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\014q\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\000\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") let action = - ((16, "\000\224\001Z\000\000\000\000\000\000\001\031\000\000\000\000\000\000\000\224\000\000\001T\023\164\000\000\018B\018F\000\000\000\000+\022\018B\000\000;h\018B\000\000\000\000\018B\000\000\018B\000\000\001\003\000\195\018B\000\000\018B\000\000\000\000\000\000+\224\018B\000\000;\156\018B\000\000\000\000\018B\000\000\018B\000\000\000W\000\017\018B\000\000\018B\000\000\018B\000\000;\160\018B\000\000\000\000\018B\000\000\018B\000\000\000O\000\000\000\000\000\000\018B\000\000\018B\000\000\000\000\018B\000\000\018B\000\000\000\224\001\134\018B\000\000\023\164\018B-P\000\000G<\002T-P\000O-P\000\000\001\174\018B\000\000G\242\000\000\000O\001\234-\254\000\000\000\0008\024\000\000<\172\000\000=\"-\254-\254\019\158\019\158<\172\019\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\228-\254\000\000\000\0008\228\000\0008\228\000\000-\254\000\000\000\000\000\000\022\250\000O\000\000\019\158\000\000.v-\254\027\180-\254\000\000\000\000\000\000\000\000\000\000\000\000\030\246-\254\031d-\254 \\-\254 \202-\254\000\000-\254\000\000-\254!\194-\254\"0-\254#(-\254#\150-\254$\142-\254\001\230-\254\000\000\000\000\000\000\000\000\000\000-\254$\252-\254%\244-\254&b-\254\000\000\000\000-\254\000\000\000\000\002&\000\000\000\000\000\000\000\000\019\236\018B\000\000\003^\018B\000\000=\220\018B\000\000\000\000\018B\000\000\018B\000\000\002d\002\144\018B\000\000\018B\000\000\004\246\018B\000\000=\254\018B\000\000\000\000\018B\000\000\018B\000\000\002\130\002\234\018B\000\000\018B\000\000\018B\000\000>\024\018B\000\000\000\000\018B\000\000\018B\000\000\000O\018B\000\000\018B\000\000\018B\000\000\018B\000\000\003\030\003\136\018B\000\000;h-P\003T\018B\000\000H\252H\028\000\000\000\152\004\022\000O\003\194\004\128+x\000\000\000\000\000\235I\162\000\000\000\000\000\000\000\000\001*\004\142\001\012\004\164+x\000++x\000\000\000\000\003\250\000\000\004N\005l+x\004\224\000\000\000\000\000\000\000\235\000\000\004\246\005\254\000\000\006<\000\000\019\236\001*-P\005\160\018B\000\000;\156-P\005\162\018B\000\000\000\000\000O\006\136\000\000\000\000\000\000\000\015\019\158\000\000-\254\005\178\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\005\184\000\000\000\000\005\188\000\000\005\204<\172\000\000\000\000\000\000\000\000\000\000\000\000?\000-\254\000\000?\000\000\000?\000<\172\000\000\000\000.\212\000O\000\000\019\158\005\210\000\000-\254\005\212\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H6-\254\000\000-\254\000\000\000\000\005\216\000\000\000\1889n\006\140-\254\006V\000\000\000\000<\172\000\188\000\000\000\000\000\000\000\000\000\000I\254<\172J4<\172J\138<\172K4<\172\000\000<\172\000\000<\172K\138<\172K\192<\172L4<\172L\182<\172L\236-\254\006\n<\172\000\000<\172MB<\172M\236<\172NB\005\230\000\000\005\236\000\000\001&-\254\000\000\001&\000\000\000\000\002\174\023\164\000\000\002\174\000\000\000\000\005\240-\254\000\000\005\244\000\000\019\158\005\246\000\000\000\000\006\196\000\000\019\158\006\000\000\000\000\000\006\022\000\000\000\000\001\234\000\000\006\250\000\000;\160-P\006 \018B\000\000\000\000\006\166\000\000\0064\018B\000\000\000\000\001\132\023\164\000\000\023\164\000\000\006\"\000\000\001\132\000\000\016\030\026\006\0182\000\000\005\218\0182\000\000\0186\0182\000\000\000\000\0182\000\000\0182\000\000\006h\006\148\0182\000\000\0182\000\000\006\022\0182\000\000\018F\0182\000\000\000\000\0182\000\000\0182\000\000\006l\006\152\0182\000\000\0182\000\000\0182\000\000/\190\0182\000\000\000\000\0182\000\000\0182\000\000\000O\0182\000\000\0182\000\000\0182\000\000\0182\000\000\006p\006\158\0182\000\000\023\164\006R\000\000\0182-P\006L\0182\000\000\000\000\000[\000\000\002\030\000[\000\000\000\000\000\000\0076\000\000\001\188-P\006^\0182\000\000\018F-P\006b\0182\000\000\000\000\021\002\0182\000\000\006R\0182\000\000/\226\0182\000\000\000\000\0182\000\000\0182\000\000\006\146\006\190\0182\000\000\0182\000\000\0072\0182\000\000/\242\0182\000\000\000\000\0182\000\000\0182\000\000\006\152\006\196\0182\000\000\0182\000\000\0182\000\0000\002\0182\000\000\000\000\0182\000\000\0182\000\000\000O\0182\000\000\0182\000\000\0182\000\000\0182\000\000\006\160\006\204\0182\000\000/\226-P\006x\0182\000\000\000\000\002\160-P\006|\0182\000\000/\242-P\006~\0182\000\000\000\000\000\000\000\000\000\000\000\000\007B-\254\006\142\021f\007P-\254\006\150\007L\000\213\006\202\006\182\000\000@<@\178\019\158\006\166\000\000\006\170@\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000A(-\254\000\000A(\000\000A(@\178\000\000\000\000\026\\\000O\000\000\019\158\006\172\000\000-\254\006\170\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,p-\254\000\000-\254\000\000\006\184\000\000\001&\000\000\000\000\000\000\000\000\000\0000\214@\17812@\1781\206@\1782*@\178\000\000@\178\000\000@\1782\198@\1783\"@\1783\190@\1784\026@\1784\182-\254\006\224@\178\000\000@\1785\018@\1785\174@\1786\n\019\158\006\186\000\000\000\000-\254\000\000\007\156\000\000\001V\007z-\254\007`\000\000\007\172-\254\007v\000\000\000\003\000\000\006\182\006\182\001V\000\000\001V\000\000\016\030\006\182\006\182\000\000\000\000\000\000\025\\\000\000\000\000\000\000\000\000\007\188-\254\007\002\021f\0224\000O\007\228\000\000\007\1986\208\007\2326\208\007\2346\208\007\016\021f\021f\000\248\001N\002\208\000\000\000\000\000\000\001N\000\000\001\170\000\248\000\000\000\000\007\"\000\000\000\000\000\000\008\000\000\000\008\002\000\000\000\000\0086\007\236-\254\0072\008\016\000\000\024R\007\242\019\158\0078\021f\000\000\000\000\007b\000\000\001&\000\000\005^\000\000\001V\000\000\000\000\007\180\000\000-P\000O\000\000\002\004-\254'\242\000\000A\158-\254\007B\000\000\019\158\007B\000\000\007H\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\020-\254\000\000B\020\000\000B\020B\138\019\158\007JB\138\000\000\000\000\029\022\000O\000\000\019\158\007L\000\000-\254\007J\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\254\000\134-\254\007P\000\000\000\000(\166'>\008\012-\254\000\000\007\214\000\000\000\000\000O\000\000\000\000\007\142'\242\000\000\007\138'\242\000\000\000\028\000\000\000\000:DB\138>\144B\138NxB\138N\164B\138\000\000B\138\000\000B\138N\246B\138ONB\138O\170B\138O\186B\138P\018B\138P\"B\138PDB\138P\198\000\000\007`\000\000\007r)Z\000\000*\014\007z*\014-J\007|*\014\000\000\000\000\000\000\000\000\000\000\007p\000\000\008Z\000\000\000O\000\000\002\004\008b\000\000\000N\008:\000O\007\146\008P+x\007\150\001(\000\000-\254\008v\000\000\003\226\005\020\008X+x\007\158\008|\000\000\002\008-\254\008~\000\000\008\128\000\000\019\236\000O\002\172-\254\008\132\000\000\008\140\000\000\012\022\003z\000\000\012\022\000\000\000\000\024R\002\188-\254\008\142\000\000\008\152\000\000\000\000\003z\000\000\000\000\tf\000\000\012\022\000\000\008|\019\158\007\196\008\162\000\000\000%\000\000\008r\000O\007\202\008\142+x\007\212\003\216\000\000-\254\008\178\000\000\008\148+x\007\218\008\184\000\000\003B-\254\008\186\000\000\008\188\000\000\019\236\000O\003r-\254\008\190\000\000\008\194\000\000\000\000\000\000\tf\000\000\000\000\003z\000\000\006\182\000\000\000%\000\000\000\000\003\154\0224\000\000\003\154\000\000\000\000\007\234\000\000\001&\000\003\021f\000\000\004\006\000Z\004\006\000\000\001\240\000\000\006\182\000\000\006\182\000\000\000\000\000\000\007\232\000\000\000\000\007\242\000\000\003\192\005^\000Z\004\006\000\000\000\000\000\000\001\240\000\000\006\182\000\000\003\192\000\000\000\000\007\168\003D\016\030\000\000\003\250\000\000\008\014\016\030\000\000\000\000\008\014\000\000\000\000\007\244\000\000\000\000\007\252\000\000\005\018\006\182\000\000\005\018\000\000\000\000\008v\000\000\003z\000\000\006\182\000\000\000\000\000\000\017j7F\000\000\008\222\000\000\017j\008\226\000\000\008\230\000\000-P\000O\005d\000\000-\254\008\232\000\000\002\254\008\184\000O\008\018\008\212+x\008 \005t\000\000-\254\008\254\000\000\005\242\000\000-\254\t\000\000\000\019\236\000O\006\004\000\000-\254\t\028\000\000\005f\017j\000\000\024R\006\014\000\000-\254\t \000\000\000\000\000\000\005.\000\000\t\016\019\158\008V\t6\000\000\007\020\000\000\t\006\000O\008`\t\030+x\008d\006\028\000\000-\254\tB\000\000\0062\000\000-\254\tD\000\000\019\236\000O\0066\000\000-\254\tH\000\000\005f\000\000\000\000\008v\000\000\005.\008\168\008\238\000\000\000\000\000\000\008\242\000\000\004~\000\003\000\000\016\030\tD\000\000\000\000-\254\008\166\006\182\000\000\008|\000\000\000\213\000\000\000\000\001\146\016\030\000\000\016\030\000\000\008l\000\000\001\146\000\000<\172\003\134<\172\000\000<\172\000\000\008n\000\000\003\134\000\000\021f\003\142\021f\000\000\021f\000\000\008p\000\000\003\142\000\000<\172\003\134\008r\000\000-P\000O\004\214-P\000\000-P\000\000\008t\000\000\004\214\000\000<\172\003\134\008v\000\000\000\000\024R\000\000\000\000\008\2287\242\000\000\000\000\000\000\000\000\000\000\008\186\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\1397\242\000\000\0036\001\144\000\000\008\190\000\143\000\000\000\000\000\000\003~\001\144\000\000\000\000\000\000\t\024\000\000\000\000\000\000\000\000\027\180\029\012\000\000C>\000\0007\242\000\000\00307\242\000\000\004|\000\250\000\250\000\000\000\187\000\250\000\000\008\152\000\000\000\000\000\000\000\000\t\030\000\000\030\004\000\000\030\1507\242\000\000\004\2227\242\000\000\t \000\0007\242\t\"\000\000D\1807\242\t*\000\000\t.\000\000E\148:\0027\242\008\1767\242\t4\000\000\t6\000\000\t8\000\000\023\164\000\000\001R\023\164\000\000\008\184\0182\000\000\005\1767\242\000\000\005\1887\242\000\000\004\136\004l\000\143\000\000\000\207\000\143\000\000\008\188\000\000\000\000\000\000\000\000\tH\000\000E\222:\226\tJ\000\000\tL\000\0007\242\tT\000\0007\242\t\\\000\0007\242\tf\000\000C\1387\2427\242\008\2307\242\tj\000\000\tp\000\000Dj\000\000\000\000\005\2107\242\000\000\005\000\005\174\000\143\000\000\000\000\000\000\004\134\000\143\000\000\008\238\000\000\000\000\000\000\000\0007\242\000\000\005\2407\242\000\000\005\028\006D\000\143\008\240\000\000\000\000\000\000\000\000\tv\000\000\tx\000\0007\242\tz\000\000F\190:\226\t|\000\000\t~\000\000\020\158\t(\tX/\226\000\0007\242\t\136\000\000\t\146\000\000\tf\020\1587\242\t\154\000\0007\242\t\156\000\000\t\158\000\000:\226\t\0307\242\t\162\000\000\t\168\000\000\000\143\t\026\000\000\000\000\024R\000\000\000\000\002X\n\002\000\000\000\000\002v\000\000\000\000\000\000-\254\000\000\000\000\000\000\002\174\000\000\004J\000\000\000\000\000\000\004\006@L@L@L\000\000\000N\000N\000N\000N\000\000\000\000\000\000\000\000\000\000\000\000\001V\016\030\t\248\013n\003z\000\000\000\000\003z\000\000\tf\000\000'\242\t,\000\000\001V\016\030\t2\014\198\000\000\001V\013n\000\000\000\000\000\000@L\000N\000\000\000\000\000\000\t|\001\166\t\244H\252\000\000\005\178J\002\000\000\000\000\000\000\005R\t\228\000O\000\000\005\178\000\000\005\206H\252\000\000\000\000\t>\t\244\006\182\t>\000\000\003z\000\000\tf\000\000\022L\004h\000\000\000\000\t\226\000\000\000\000\002X\000\000\004\128\000\000\000\000\000\000-\254\000\000\002\174\000\000\005\n\000\000\000\000\000\000\005^\000\000\n\190\003\196\n\190\000\000\006\182\n\190\000\000\004\210\000\000\006\182\000\000\006\182\000\000\006\182\000\000\017\004\000\000\000\000\000\000\000\000\000\000\006\182\000\000\004\210\000\000\006\182\000\000D\218\000\000\000\000\000\180\tp\000\143\003v\n\014\002\248\000\000\002\248\n8\000\000\n<\000\000\n@\000\000\000\000\002l\002\248\002\030\002\248\000\000\000\000\000\198\tJ\000\000\t\134\000\143\tP\000\000\000\180\nJ\000\000\003v\004\188\nZ\000I\nZ\000\000\000\000\0005\000\143\000\000\003\212\000\000\000\000\000;\000\000\tV\000\000\000\000\000\000\t\146\000\143\tZ\000\000\000\000\000\180\003v\004\188\0005\003\212\000;\t^\000\000\003v\004\188\0005\003\212\000;\tb\000\000\000\143\000\000\nf\nb\t\190\000\143\n,\000\000"), (16, "\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\000z\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\011\161\000~\011E\000\027\000\031\011\161\011u\011E\011E\001f\016f\011\161\008\186\011\161\011\161\011\161\012\030\004F\011\161\023b\nn\005\237\011\161\011\161\011\161\n:\016j\001\n\n>\001\006\019\222\022\186\024\222\011\161\nB\005\221\011\161\011\161\011E\nF\024\226\021\210\011\161\011\161\011E\011\161\001\206\011\161\011=\012\"\015\166\001\218\011\161\001\n\011\161\011\161\011\161\011\161\011\161\001\n\017\n\014:\011\161\011\161\011\161\021F\011\161\011\161\011\161\011\021\011\161\011\161\011\161\011\161\011\021\011\021\000\198\011\161\011\161\006}\001\n\027r\011\246\015z\006}\006}\011\021\011\161\011\161\011\161\000\202\012*\011\161\011\161\011\161\011\161\027Z\011\161\027J\011\161\004}\004\209\011\161\001\206\0186\011\161\011\161\015\166\001\218\004\017\018:\011\021\026\194\004r\018>\017:\011\161\003e\005q\011\161\004&\006}\000\006\011\161\011\161\011\161\011\161\005\006\011\161\005\245\011\161\004a\006e\014r\011\161\011\161\011\161\001\n\011\161\026\254\011\161\011\161\004\157\011\161\001\006\011\161\011\161\019\178\020\238\011\161\011\161\006m\006m\006m\006m\006m\006m\006m\006m\006m\006m\006m\013J\006m\006m\006m\006m\006m\006m\006m\006m\006m\006m\021\198\001\n\013>\015\150\006m\011\250\012\n\012\026\027\030\004\209\006m\014B\006m\006m\006m\001\n\000\n\006m\027.\001\006\004^\006m\004}\006m\004\198\027\134\0272\004}\004}\001\006\006\198\004\017\006m\000\018\014N\000\014\004\017\004\017\006\002\004}\004}\006m\006m\021V\001\006\007~\006m\006m\004\017\001\n\021Z\006m\020\006\006m\006m\006m\006m\006m\001:\001\n\006e\006m\006m\006m\004}\006m\006m\006m\012\174\006m\006m\006m\006m\004\017\001\n\027\006\006m\006m\0002\007\158\020&\020N\020v\020\134\020\178\006\005\006\005\006m\006m\003\233\015\154\006m\006m\006m\006m\021f\006m\008\222\006m\004f\005\213\006m\001\206\013>\006m\006m\001\214\001\218\004\t\007\134\0035\006=\011\246\011-\0035\011-\020\014\001\006\006m\001\138\001>\012*\006m\006m\006m\006m\011}\006m\012\178\006m\022z\004\209\005\253\006m\006m\006m\001\n\011%\004\t\006m\006m\006\133\006m\006\133\006m\006m\006\133\001\n\006m\006m\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\013\006\133\012\206\001^\006\133\026\254\003\237\006%\006\133\024\130\006\133\001r\006\133\006\133\006\133\005\213\002\182\006\133\006\133\006\133\013J\006\133\006\133\006\133\006\133\011-\006\133\006\133\013n\006\133\015\198\004\t\006\133\011-\005\213\006\133\004\t\004\t\005\213\n\018\004\209\006\133\006\133\006\133\006\133\006\133\006\133\015b\004\t\015b\006\133\006\133\024\130\006\133\006\222\006\133\006\133\006\133\026\214\001\006\008\194\006\133\006\133\006\133\004\t\006\133\006\133\006\133\003\002\006\133\006\133\006\133\006\133\004\t\003\"\027\006\003*\006\133\003:\026\218\003N\003R\018\134\001\006\006\133\003B\026\222\006\133\006\133\001\n\006\133\006\133\006\133\006\133\006\133\003\146\006\133\007\185\006\133\006\133\011-\006\133\001\206\027\014\006\133\006\133\015\166\001\218\004\013\003J\011\246\007\185\015\230\001\n\027\006\006\133\024\147\024\151\006\133\012*\016\026\024\155\006\133\006\133\011-\006\133\003\150\006\133\013>\006\133\020.\015b\012\182\006\133\020V\0065\001\n\011\246\011m\015b\006\133\n\197\006\133\003Z\006\133\006\133\012*\026\230\006\133\006\133\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\007\185\000\242\024\202\000\250\nB\001\002\001\026\001\"\001&\nF\024\206\017\022\003\246\011\246\016\134\nJ\011\133\012E\026\238\005\t\021R\001.\012*\001\142\nZ\nv\016\174\007\185\nz\013J\017\138\013>\0016\0206\011\230\004\237\021\182\020^\005\t\n\197\011\246\007\185\004\013\001\154\003\250\015b\025\002\004\013\004\013\012*\016\206\007\185\012>\n\130\025.\025:\013J\012B\017F\004\013\026\206\004\014\001\194\007\185\001\198\004\173\001J\013F\012J\015b\004*\021r\n\150\001\206\012N\011\133\n\154\012R\001\218\025\243\n\158\n\162\012V\n\166\004\013\012E\012E\025\247\012Z\027f\012E\007\185\006]\013J\004q\027j\006\029\025\250\n\170\n\174\006-\016\138\012^\012b\n\178\012f\005\t\001\n\022\174\012z\027B\006E\004\137\0042\0046\012\134\n\186\003f\021\194\003n\013J\003~\008\153\008\153\022\170\005\t\025N\008\153\003\134\012\166\004b\004q\004j\012\170\012\230\004\173\013R\020\146\n\190\013>\012\234\004\130\007\185\006\173\n\194\004\173\004\173\011\029\011\246\006\157\004\173\012\242\003\142\n\198\007\185\006\141\006\141\012*\001\n\002\n\006\141\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\005\005\000\242\024\202\000\250\nB\001\002\001\026\001\"\001&\nF\024\206\004\138\023Z\019\018\003\158\nJ\004\233\024\187\024\191\005\005\011M\001.\024\195\001\142\nZ\nv\023\166\018\n\nz\020\154\006\173\019\198\0016\006u\011\230\023r\006\157\006\149\006u\006u\018r\006\198\0115\001\154\026\019\026\023\011\246\025\162\018\162\026\027\006u\006\165\012>\n\130\025.\012*\013J\012B\017\142\007\178\004\142\007\186\001\194\007\202\001\198\004\189\001J\013F\012J\018\230\007\210\001\006\n\150\001\206\012N\006u\n\154\012R\001\218\022\014\n\158\n\162\012V\n\166\004\150\008\153\008\153\005\005\012Z\007\246\008\153\007\254\006\021\008\014\007\218\004\174\006\149\023^\n\170\n\174\008\022\001\n\012^\012b\n\178\012f\005\005\001\n\006M\012z\006\165\018\182\004\137\0263\0267\012\134\n\186\004\178\026;\t\022\018\210\t\030\006=\t.\008\030\018\246\013J\018v\007\234\012\166\t6\011]\019N\012\170\012\230\018\166\013R\0035\n\190\023b\012\234\0035\011U\019b\n\194\019~\004\189\001\n\004\186\008q\006U\012\242\022\146\n\198\t>\006\181\006\181\011e\008.\002\n\006\181\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\023\170\000\242\024\202\000\250\nB\001\002\001\026\001\"\001&\nF\024\206\004\206\004\226\025\142\004\246\nJ\tN\005\229\022\158\005\022\005:\001.\005F\001\142\nZ\nv\018\186\025\186\nz\023N\005N\003Y\0016\005\162\011\230\018\214\005\174\005\250\006\n\006\018\018\250\006\146\006\182\001\154\023\154\006\190\011\246\019R\006\246\007\002\001\n\007\014\012&\n\130\007\026\012*\007&\012B\019f\tZ\019\130\tb\001\194\tr\001\198\004\217\001J\012F\012J\0072\tz\007F\n\150\001\206\012N\007V\n\154\012R\001\218\007f\n\158\n\162\012V\n\166\019.\007n\007\147\012M\012Z\007\222\007\226\008\"\008&\008\134\t\130\008\138\008\154\008\170\n\170\n\174\0192\008\214\012^\012b\n\178\012f\008\230\001\n\008\250\012z\tB\tF\004\137\t\134\t\138\012\134\n\186\t\234\t\238\n\002\001\206\n\026\n.\nN\015\166\001\218\013J\nV\t\146\012\166\n^\nf\nj\012\170\012\230\004\217\013R\nr\n\190\n\138\012\234\n\146\n\234\n\246\n\194\004\217\004\217\011>\011\182\011\222\004\217\012\242\011\242\n\198\001\n\008\161\008\161\011\254\016f\002\n\008\161\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\012\006\000\242\016j\000\250\nB\001\002\001\026\001\"\001&\nF\012\014\012\022\012j\012r\006\222\nJ\012\130\012\138\012\146\012\154\012\162\001.\001\206\001\142\nZ\nv\015\166\001\218\nz\012\222\012\238\012\246\0016\007\193\011\230\013\002\013\006\013\014\013\018\013\030\013&\0136\013Z\001\154\013\134\013\146\011\246\007\193\013\154\013\218\013\250\014\006\012&\n\130\014J\012*\001\n\012B\014^\014j\014\130\014\142\001\194\015\022\001\198\015\030\001J\012F\012J\015.\015:\015V\n\150\001\206\012N\015^\n\154\012R\001\218\015r\n\158\n\162\012V\n\166\015~\015\134\015\138\015\146\012Z\015\162\015\178\015\186\015\190\015\206\015\214\0065\015\238\007\193\n\170\n\174\015\246\016\"\012^\012b\n\178\012f\016*\001\n\016R\012z\016Z\016^\016n\016v\019.\012\134\n\186\016z\016\130\016\146\016\154\016\162\016\166\016\182\016\190\016\214\013J\016\222\017.\012\166\0192\017v\017\130\012\170\012\230\017\246\013R\018\002\n\190\018\"\012\234\018N\006\222\018Z\n\194\018b\018~\018\138\007\193\018\146\001\206\012\242\018\150\n\198\015\166\001\218\018\158\018\174\018\194\002\n\007\193\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\018\222\000\242\019\002\000\250\nB\001\002\001\026\001\"\001&\nF\019\026\019\"\001\n\019&\0196\nJ\019>\019B\019J\019Z\019n\001.\019\138\001\142\nZ\nv\019\158\019\174\nz\019\190\019\214\019\230\0016\019\242\011\230\020\027\020C\020k\020\131\020\167\020\191\020\214\020\242\001\154\021^\021\135\011\246\021\222\021\243\022\027\022'\0065\012&\n\130\0227\012*\022?\012B\022R\022[\022c\022k\001\194\022\134\001\198\022\198\001J\012F\012J\022\219\022\235\022\243\n\150\001\206\012N\022\255\n\154\012R\001\218\023\011\n\158\n\162\012V\n\166\023\023\023*\0233\012M\012Z\023;\023~\023\178\023\199\023\207\023\219\023\235\023\243\023\254\n\170\n\174\024\002\024\019\012^\012b\n\178\012f\024\027\001\n\024\"\012z\024/\024;\024C\024N\024W\012\134\n\186\024_\024k\024\134\025\014\0256\025F\025z\025\130\025\166\013J\025\202\025\206\012\166\025\214\025\255\026\198\012\170\012\230\026\210\013R\026\226\n\190\026\234\012\234\026\242\027\027\027\"\n\194\027+\0276\027F\027{\027\138\027\147\012\242\027\183\n\198\027\211\012M\012M\027\226\027\230\002\n\012M\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\027\234\000\242\024\202\000\250\nB\001\002\001\026\001\"\001&\nF\024\206\027\243\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\0016\000\000\011\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012>\n\130\000\000\000\000\000\000\012B\026J\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\013F\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\000\000\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\000\000\000\000\004\137\000\000\000\000\012\134\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\166\000\000\000\000\000\000\012\170\012\230\000\000\013R\000\000\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\000\000\000\000\000\000\000\000\000\000\012\242\000\000\n\198\000\000\008\133\008\133\000\000\000\000\002\n\008\133\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\000\000\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\000\000\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\0016\000\000\011\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012>\n\130\000\000\000\000\000\000\012B\015\254\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\013F\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\012)\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\000\000\000\000\000\000\000\000\000\000\012\134\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\166\000\000\000\000\000\000\012\170\012\230\000\000\013R\000\000\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\000\000\000\000\000\000\000\000\000\000\012\242\000\000\n\198\000\000\012)\012)\000\000\000\000\002\n\012)\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\000\000\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\000\000\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\0016\000\000\011\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012>\n\130\000\000\000\000\000\000\012B\025\018\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\013F\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\000\000\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\000\000\000\000\000\000\000\000\000\000\012\134\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\166\000\000\000\000\000\000\012\170\012\230\000\000\013R\000\000\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\000\000\000\000\000\000\000\000\000\000\012\242\000\000\n\198\000\000\012u\012u\000\000\000\000\002\n\012u\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\000\000\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\000\000\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\0016\000\000\011\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012>\n\130\000\000\000\000\000\000\012B\025\018\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\013F\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\000\000\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\000\000\000\000\000\000\000\000\000\000\012\134\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\166\000\000\000\000\000\000\012\170\012\230\000\000\013R\000\000\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\000\000\000\000\000\000\000\000\000\000\012\242\000\000\n\198\000\000\012q\012q\000\000\000\000\002\n\012q\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\000\000\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\000\000\000\000\000\000\000\000\nJ\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\0016\000\000\011\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012>\n\130\000\000\000\000\000\000\012B\017\194\000\000\000\000\000\000\001\194\000\000\001\198\000\000\001J\013F\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\000\000\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\n:\000\000\000\000\n>\000\000\012\134\n\186\024\222\000\000\nB\000\000\000\000\000\000\000\000\nF\024\226\000\000\000\000\000\000\012\166\000\000\000\000\000\000\012\170\012\230\000\000\013R\000\000\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\000\000\000\000\000\000\000\000\000\000\012\242\016f\n\198\000\000\0006\000:\000J\000\142\002\n\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\016j\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\001\206\001\142\000\000\nv\015\166\001\218\nz\000\000\000\000\000\000\0016\000\000\018B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018R\n\130\000\000\000\000\001\n\000\000\000\000\000\000\000\000\004\157\001\194\000\000\001\198\000\000\001J\000\000\000\000\000\000\000\000\000\000\n\150\001\206\000\000\000\000\n\154\001\214\001\218\000\000\n\158\n\162\012V\n\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\005\205\007\190\005\205\005\205\n\178\005\205\005\205\001\n\005\205\008\002\005\205\000\000\005\205\000\000\005\205\000\000\n\186\005\205\005\205\005\205\005\205\000\000\005\205\000\000\005\205\000\000\000\000\005\205\000\000\005\205\005\205\000\000\005\205\000\000\005\205\005\205\013R\005\205\n\190\005\205\018V\005\205\005\205\005\205\n\194\005\205\000\000\005\205\000\000\005\205\000\000\018^\000\000\n\198\000\000\005\205\005\205\008\162\005\205\002\n\000\000\005\205\000>\005\205\000>\001N\005\205\008\242\005\205\000\000\000>\005\205\000>\005\205\000\000\005\205\005\205\000\000\000\000\000\000\000\000\005\205\000\000\005\205\000\000\005\205\005\205\005\205\005\205\005\205\000\000\005\205\000\000\000\000\000\000\005\205\005\205\005\205\000\000\005\205\000\000\005\205\000\000\005\205\000\000\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\000\000\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\000\000\000\000\000\000\000\000\005\205\000\000\000\000\005\205\000\000\000\000\000\000\000\000\005\205\000\000\005\205\000\000\005\205\005\205\005\205\005\205\000\000\000\000\005\205\000\000\000\000\000\000\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\000\000\005\205\000\000\000\000\005\205\005\205\005\205\005\205\000\000\005\205\000\000\005\205\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\001\142\000\000\001\146\000\000\000\000\001\150\003\022\003\030\000\142\0016\000\146\000\000\003b\003\166\000\000\003\174\000\000\003\190\000\000\003\198\001\154\003\206\003\218\001\158\003\226\000\000\000\000\000\000\000\000\001\182\001\178\000\000\001\186\000\000\000\000\000\000\000\000\003\234\000\000\001\194\000\000\001\198\000\000\001J\000\000\000\000\000\000\000\000\003\242\001\202\001\206\000\000\000\000\001\210\001\214\001\218\002.\001\222\001\226\000\000\001\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\000\001\238\004\002\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\0006\007\166\007\174\000\142\000\000\000\146\000\000\007\242\0086\001\250\008>\020\218\008N\000\000\008V\000\000\008^\008j\001\"\008r\000\000\001\254\000\000\020\222\000\000\000\000\000\000\002\002\000\000\001\n\004]\020\226\008z\020\230\000\000\000\000\002\006\000\000\020\234\000\000\000\000\000\000\002\n\023\250\000\000\000\000\020\250\000\000\000\000\000\000\020\254\t\n\t\018\000\142\000\000\000\146\021\002\tV\t\154\000\000\t\162\000\000\t\178\008\146\t\186\000\000\t\194\t\206\022n\t\214\000\000\000\000\021\006\023>\000\000\000\000\000\000\008\158\000\000\000\000\000\000\000\000\t\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\230\000\000\000\000\000\000\021\n\000\000\000\000\021\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\021\022\001\n\021\026\000\000\021\030\021\"\000\000\021&\000\000\nJ\t\246\000\000\000\000\021*\000\000\000\000\021.\001\142\nZ\nv\000\000\000\000\nz\000\000\000\000\000\000\000\000\000\000\011\230\000\000\000\000\0212\000\000\000\000\000\000\0216\021:\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012v\n\130\000\000\000\000\000\000\012B\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\000\000\n\166\000\000\000\000\000\000\000\000\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\n:\000\000\000\000\n>\000\000\012\134\n\186\024\222\nJ\nB\000\000\000\000\000\000\000\000\nF\024\226\001\142\nZ\nv\012\166\000\000\nz\000\000\012\170\012\230\000\000\000\000\011\230\n\190\000\000\012\234\000\000\000\000\000\000\n\194\000\000\001\154\000\000\000\000\000\000\000\000\012\242\016f\n\198\000\000\n~\n\130\000\000\000\000\002\n\012B\000\000\000\000\000\000\000\000\001\194\000\000\001\198\016j\000\000\000\000\012J\000\000\000\000\000\000\n\150\001\206\012N\000\000\n\154\012R\001\218\000\000\n\158\n\162\000\000\n\166\000\000\001\206\000\000\000\000\012Z\015\166\001\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\012^\012b\n\178\012f\000\000\001\n\000\000\012z\013}\000\000\000\000\013}\000\000\012\134\n\186\000\000\000\000\001\n\000\000\000\000\000\000\000\000\004\157\000\000\000\000\000\000\013}\012\166\000\000\000\000\013}\012\170\012\230\002\"\013}\000\000\n\190\000\000\012\234\000\000\013}\000\000\n\194\013}\013}\000\000\013}\013}\000\000\012\242\002*\n\198\013}\005\014\000\000\000\000\013}\002\n\000\000\013}\000\000\013}\013}\000\000\000\000\007\129\007\129\000\000\000\000\000\000\007\129\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\013}\000\242\013}\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\013}\000\000\000\000\000\000\000\000\000\000\000\000\005\026\000\000\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\013}\013}\000\000\013}\013}\005\030\000\000\013}\000\000\000\000\000\000\000\000\000\000\000\000\001F\005&\000\000\000\000\000\000\000\000\013}\000\000\000\000\013}\013}\013}\013}\000\000\001J\000\000\000\000\013}\013}\013}\000\000\013}\013}\013}\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\233\000\000\020\202\004\233\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\001=\000\000\004\233\000\000\000\000\001=\004\233\000\000\001=\004\233\004\233\000\000\001=\000\000\000\000\020\206\004\233\000\000\001=\004\233\004\233\000\000\004\233\004\233\000\000\001=\004\233\000\000\004\233\004\233\001=\000\000\004\233\000\000\000\000\004\233\000\000\004\233\004\233\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\233\001=\004\233\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\233\000\000\000\000\000\000\001=\000\000\000\000\004\233\000\000\001=\001\n\001=\000\000\000\000\001=\000\000\020\210\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\233\004\233\000\000\004\233\005\005\004\233\000\000\004\233\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\233\000\000\000\000\001=\001=\004\233\004\237\000\000\004\233\004\237\004\233\000\000\000\000\000\000\021\138\000\000\004\233\004\233\004\233\000\000\004\233\004\233\004\233\000\000\004\237\000\000\000\000\000\000\004\237\000\000\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\004\237\004\237\000\000\004\237\004\237\000\000\000\000\004\237\000\000\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\007\166\007\174\000\142\000\000\000\146\000\000\007\242\0086\000\000\008>\004\237\008N\004\237\008V\000\000\008^\008j\001\"\008r\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\008z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\130\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\008\146\004\237\013\209\000\000\000\000\013\209\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\008\158\000\000\000\000\004\237\004\237\004\237\013\209\004\237\004\237\004\237\013\209\000\000\000\000\n\218\013\209\000\000\000\000\000\000\000\000\000\000\013\209\000\000\000\000\013\209\013\209\000\000\013\209\013\209\000\000\000\000\n\226\000\000\013\209\n\238\000\000\000\000\013\209\000\000\000\000\013\209\000\000\013\209\013\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\209\000\000\013\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\209\000\000\000\000\000\000\000\000\000\000\000\000\n\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\209\013\209\000\000\013\209\000\000\n\254\000\000\013\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\209\000\000\013\209\000\000\000\000\000\000\000\000\000\000\013\209\013\209\013\209\000\000\013\209\013\209\013\209\nM\nM\nM\nM\000\000\nM\000\000\nM\nM\000\000\nM\000\000\nM\000\000\nM\000\000\nM\nM\nM\nM\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\nM\nM\nM\000\000\000\000\000\000\000\000\nM\000\000\001\137\000\000\000\000\nM\001\137\000\000\021\154\000\000\001\137\000\000\021\162\000\000\000\000\000\000\001\137\000\000\nM\001\137\001\137\000\000\001\137\001\137\000\000\nM\000\000\000\000\001\137\000\000\nM\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\nM\001\137\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nM\000\000\000\000\000\000\000\000\nM\000\000\nM\000\000\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nM\000\000\000\000\nM\001\137\002>\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nM\000\000\000\000\000\000\021\246\nM\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\230\001\137\001\137\000\000\001\137\001\137\001\137\n=\n=\n=\n=\000\000\n=\000\000\n=\n=\000\000\n=\000\000\n=\000\000\n=\000\000\n=\n=\n=\n=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\153\000\000\000\000\000\000\n=\n=\n=\000\000\000\000\000\000\000\000\n=\000\000\000\000\000\000\000\000\n=\000\000\013\153\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\n=\000\000\000\000\013\153\000\000\000\000\000\000\n=\000\000\013\153\013\153\000\000\n=\013\242\000\000\000\000\013\254\000\000\000\000\013\153\000\000\n=\013\153\000\000\013\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n=\000\000\000\000\n=\013\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n=\000\000\000\000\000\000\000\000\n=\000\000\n=\014\n\000\000\n=\000\000\nA\nA\nA\nA\000\000\nA\n=\nA\nA\n=\nA\000\000\nA\000\000\nA\013\153\nA\nA\nA\nA\014\014\000\000\013\153\000\000\n=\000\000\000\000\000\000\021\158\n=\014\022\nA\nA\nA\000\000\013\153\000\000\000\000\nA\000\000\000\000\000\000\000\000\nA\000\000\000\000\021\250\000\000\000\000\000\000\013\153\013\153\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\0006\007\166\007\174\000\142\nA\000\146\000\000\007\242\0086\000\000\008>\000\000\008N\000\000\008V\000\000\008^\008j\001\"\008r\000\000\000\000\000\000\000\000\nA\000\000\000\000\nA\000\000\000\000\000\000\022\002\008z\022\030\000\000\000\000\000\000\000\000\022*\nA\000\000\000\000\000\000\008\130\nA\000\000\nA\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\000\000\022B\nA\000\000\000\000\nA\000\000\000\000\008\146\000\000\000\000\000\000\000\000\022n\000\000\002^\000\000\000\000\002\174\000\000\nA\000\000\008\158\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000\000\000\000\000\000\002\005\000\000\000\000\000\000\002\005\022\142\000\000\000\000\022\222\000\000\002n\000\000\000\000\002\005\002\005\000\000\002\206\002\214\000\000\000\000\022\246\000\000\002\005\000\000\000\000\023\002\002\142\008m\000\000\002v\023\014\002\134\002\005\000}\000\000\000\000\000}\000\000\023\026\000\000\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\002\150\000\000\002\005\000}\023\222\000\000\000\000\000}\000\000\023\246\000\000\000\000\002\005\002n\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000}\000\000\000\000\002\158\000\000\000\000\002\005\002\005\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000}\002\005\000\000\000\000\002\005\002\005\002\005\002\005\000\000\000\000\000}\000\000\000\000\002\005\002\005\000\000\002\222\002\166\002\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\000\000\000}\000}\000\000\000\000\002~\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000e\000\000\000}\000}\000e\000}\002\166\000}\000e\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002v\000\000\002\134\000e\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000e\000\000\000e\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000e\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002v\000\000\000]\000]\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000]\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000]\000\000\000\000\000e\000e\000\000\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002~\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000a\000\000\000]\000]\000a\000]\000]\000]\000a\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002v\000\000\000a\000a\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000a\000\000\000a\000q\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\000\000a\002n\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002v\000\000\002\134\000q\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000q\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000q\000\000\000\000\000a\000a\000\000\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002~\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\002f\000\000\000q\000q\000i\000q\000q\000q\000i\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002v\000\000\002\134\000i\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\000i\000\000\000i\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000i\002n\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\002v\000\000\002\134\000m\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000m\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000m\000\000\000\000\000i\000i\000\000\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002~\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\002f\000\000\000m\000m\000u\000m\000m\000m\000u\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000u\002^\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\002\150\000\000\000u\000\133\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000u\002n\000\000\000\000\000\133\000\133\000\000\000\133\002\214\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000\133\000\000\000\000\002\158\000\000\000\000\000u\000u\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\133\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\133\000\000\000\000\000u\000u\000\000\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\000\000\000\133\000\133\000\000\000\000\002~\000\000\000\000\000\000\000\000\002^\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\002f\000\000\000\133\000\133\000y\002\222\002\166\000\133\000y\000\000\000\000\000\000\000\000\000\000\002n\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000y\002^\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002f\002\150\000\000\000y\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000y\002n\000\000\000\000\000\129\000\129\000\000\000\129\002\214\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\142\000\000\000\000\002v\000\000\002\134\000\129\000\000\000\000\002\158\000\000\000\000\000y\000y\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\129\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\129\000\000\000\000\000y\000y\000\000\000y\002\166\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\000\000\000\129\000\129\014Z\000\000\002~\000\000\000\000\004A\000\000\004A\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\004A\000\000\000\129\000\129\000\000\000\129\002\166\000\129\000\000\004A\004A\000\000\000\000\004A\004A\000\000\000\000\000\000\000\000\004A\000\000\004A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004A\004A\000\000\000\000\004A\004A\004A\000\000\004A\004A\000\000\004A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004A\004A\000\000\000\000\000\000\000\000\004A\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013v\004A\000\000\013z\000\000\000\000\000\000\000\000\000\000\004A\000\000\004A\000\000\004A\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\013~\013\210\004A\000\000\014:\014R\000\000\000\000\004A\000\000\001\194\004A\001\198\000\000\000\000\000\000\000\000\004A\000\000\000\000\013\158\001\206\000\000\000\000\013\162\012R\001\218\000\000\013\166\013\170\000\000\013\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\013\178\000\000\000\000\000\000\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013v\013\190\000\000\013z\000\000\000\000\000\000\000\000\000\000\005\245\000\000\014V\000\000\014r\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\194\000\000\000\000\000\000\013~\013\210\013\198\000\000\014:\014R\000\000\000\000\015N\000\000\001\194\013\202\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\158\001\206\000\000\000\000\013\162\012R\001\218\000\000\013\166\013\170\000\000\013\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\013\178\000\000\000\000\000\000\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013v\013\190\000\000\013z\000\000\000\000\000\000\000\000\000\000\005\245\000\000\014V\000\000\014r\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\194\000\000\000\000\000\000\013~\013\210\013\198\000\000\014:\014R\000\000\000\000\014z\000\000\001\194\013\202\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\158\001\206\000\000\000\000\013\162\012R\001\218\000\000\013\166\013\170\000\000\013\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\013\178\000\000\000\000\000\000\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\001\142\000\000\013v\013\190\000\000\013z\000\000\000\000\000\000\000\000\000\000\005\245\000\000\014V\000\000\014r\000\000\000\000\000\000\000\000\001\154\000\000\000\000\000\000\000\000\013\194\000\000\000\000\000\000\013~\013\210\013\198\000\000\014:\014R\000\000\000\000\005a\000\000\001\194\013\202\001\198\000\000\000\000\000\000\000\000\002\n\000\000\000\000\013\158\001\206\000\000\000\000\013\162\012R\001\218\000\000\013\166\013\170\000\000\013\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\013\178\000\000\000\000\000\000\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\245\000\000\014V\003%\014r\000N\003%\000V\000\000\000f\003%\000\000\003%\000\000\013\194\000\000\000n\003%\003%\000\000\013\198\000\000\000\000\000\000\000\000\000\000\001\189\000\000\000\000\013\202\000\000\000\000\000\000\000\000\000\000\002\n\000\000\000\000\000\000\000\000\000v\003%\000\000\000\000\000\000\003%\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\003%\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\134\000\000\000\000\000\000\001.\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\003%\000\154\003!\000\162\001F\000\178\003!\000\000\003!\000\000\003%\000\000\000\186\003!\003!\003%\000\000\000\000\001J\000\000\000\000\000\000\004:\004>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\194\003!\000\000\000\000\000\000\003!\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\000\000\003!\003%\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\003!\000\210\000\000\000\000\000\000\000\000\000\000\000\000\003!\004B\000\000\000\000\003!\003!\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003Q\000\000\003!\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\003!\000\000\001\161\000\000\000\000\003!\000\000\000\000\001\161\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\003!\003!\000\000\000\000\003!\000\000\000\000\000\000\000\000\003!\003!\001\161\000\000\001\161\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\0006\000:\000J\000\142\007\162\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\000\000\000\250\nB\001\002\001\026\001\"\001&\nF\000\000\001\161\011*\000\000\001\161\000\000\000\000\000\000\001\161\000\000\001\142\001.\013v\000\000\000\000\013z\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\001\161\000\000\001\161\000\000\000\000\000\000\001\154\000\000\0112\001\161\001\161\000\000\001\161\001\161\001\161\013~\013\210\000\000\001F\014:\014R\000\000\000\000\000\000\001R\001\194\000\000\001\198\000\000\000\000\000\000\000\000\001J\000\000\000\000\013\158\001\206\000\000\000\000\013\162\012R\001\218\000\000\013\166\013\170\000\000\013\174\000\000\012V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\013\178\000\000\000\000\000\000\000\000\013\182\000\000\000\000\001\n\000\000\000\000\001\n\000\000\000\000\001\142\000\000\001\146\013\190\000\000\001\150\000\000\000\000\000\000\000\000\000\000\005\245\000\000\000\000\011\234\014r\001V\000\000\000\000\000\000\001\154\000\000\000\000\001\158\000\000\013\194\013R\000\000\000\000\001\174\001\178\013\198\001\186\000\000\013r\000\000\000\000\001\201\000\000\001\194\013\202\001\198\000\000\000\000\000\000\000\000\002\n\000\000\001\137\001\202\001\206\001\137\014b\001\210\001\214\001\218\000\000\001\222\001\226\000\000\001\230\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\234\000\000\000\000\000\000\001\137\001\238\000\000\000\000\001\n\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\001\246\000\000\013\181\001\137\000\000\013\181\001\137\000\000\001\137\001\137\001\250\008}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\181\000\000\001\254\000\000\013\181\000\000\000\000\005\146\002\002\001\137\000\000\001\137\000\000\008}\013\181\000\000\000\000\002\006\013\181\000\000\013\181\013\181\000\000\002\n\005\154\000\000\000\000\005\166\000\000\000\000\013\181\000\000\000\000\013\181\000\000\013\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\0026\000\000\001\137\001\137\000\000\000\000\001\137\000\000\013\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\013\181\000\000\001\137\001\137\000\000\001\137\000\000\005\178\000\000\000\000\002\242\001\137\001\137\000\000\001\137\001\137\001\137\000\000\000\000\008B\005\205\000\000\000\000\000\000\000\000\000\000\013\181\013\181\000\000\013\181\000\000\005\182\005\205\013\181\000\000\000\000\000\000\t\"\005\205\000\000\005\205\005\190\005\205\000\000\000\000\tf\005\205\005\205\000\000\000\000\005\205\013\181\005\205\t\166\005\205\005\205\000\000\013\181\005\205\005\205\005\205\013\181\013\181\013\181\000\000\005\205\005\205\000\000\005\205\000\000\005\205\000\000\000\000\005\205\005\205\000\000\005\205\005\205\005\205\000\000\000\000\005\205\000>\005\205\000\000\005\205\005\205\000\000\000\000\005\205\000\000\005\205\000\000\005\205\005\205\t\250\000\000\nQ\000\000\005\205\000>\000\000\005\205\n&\005\205\000\000\005\205\005\205\000>\005\205\005\205\000\000\005\205\000\000\000\000\005\205\000>\000\000\000\000\000\000\005\205\005\205\nQ\000\000\005\205\000\000\005\205\005\205\005\205\000\000\005\205\005\205\005\205\005\205\000\000\005\205\000\000\000\000\000\000\005\205\005\205\000\000\005\205\005\205\005\205\005\205\005\205\005\205\005\205\005\205\000\000\005\205\005\205\005\205\005\205\005\205\005\205\005\205\000\000\005\205\005\205\005\205\005\205\000\000\005\205\005\205\000\000\005\205\005\205\000\000\000\000\011^\000\000\005\205\011\174\005\205\005\205\000\000\000\000\005\205\005\205\nQ\000\000\005\205\000\000\000\000\000\000\005\205\005\205\011f\000\000\005\205\000\000\002\021\000\000\005\205\005\205\002\021\000\000\000\000\000\000\000\000\000\000\011n\000\000\000\000\002\021\002\021\000\000\011\190\011\198\000\000\000\000\000\000\000\000\002\021\000\000\001%\000\000\011\142\001%\000\000\011v\000\000\011\134\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011f\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\011\150\000\000\002\021\000\000\011n\000\000\000\000\001%\001%\000\000\001%\001%\002\021\000\000\000\000\000\000\001%\000\000\000\000\000\000\011\142\000\000\000\000\011v\000\000\011\134\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\158\000\000\000\000\002\021\000\000\000\000\000\000\011~\011\150\000\000\001%\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\021\000\000\002\021\000\000\000\000\000\000\000\000\001\013\000\000\002\021\002\021\001\013\011\206\011\166\002\021\001\013\000\000\000\000\000\000\000\000\000\000\011n\000\000\011\158\001\013\001\013\001%\001\013\001\013\000\000\011~\000\000\000\000\001\013\000\000\001\005\000\000\001\013\001\005\000\000\011v\000\000\011\134\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\001\005\000\000\001%\001%\001\005\001%\011\166\001%\001\005\000\000\001\013\000\000\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\013\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\011v\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\011~\001\005\000\000\001\005\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\t\000\000\001\013\001\013\001\t\001\013\001\013\001\013\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\001\t\001\t\001\005\001\t\001\t\000\000\011~\000\000\000\000\001\t\000\000\001\025\000\000\001\t\001\025\000\000\011v\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\011f\000\000\001\005\001\005\001\025\001\005\001\005\001\005\001\025\000\000\001\t\000\000\001\t\000\000\011n\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\t\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\011v\000\000\011\134\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\011~\011\150\000\000\001\025\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\011f\000\000\001\t\001\t\001\017\001\t\001\t\001\t\001\017\000\000\000\000\000\000\000\000\000\000\011n\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\011~\000\000\000\000\001\017\000\000\001\021\000\000\001\017\001\021\000\000\011v\000\000\011\134\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\011f\000\000\001\025\001\025\001\021\001\025\001\025\001\025\001\021\000\000\001\017\000\000\001\017\000\000\011n\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\017\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\011v\000\000\011\134\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\011~\011\150\000\000\001\021\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\011f\000\000\001\017\001\017\001\029\001\017\001\017\001\017\001\029\000\000\000\000\000\000\000\000\000\000\011n\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\011~\000\000\000\000\001\029\000\000\011^\000\000\011\142\001-\000\000\011v\000\000\011\134\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\011f\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\011\150\000\000\001\029\000\000\011n\000\000\000\000\001-\001-\000\000\001-\011\198\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\011\142\000\000\000\000\011v\000\000\011\134\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\158\000\000\000\000\001\029\000\000\000\000\000\000\011~\011\150\000\000\001-\000\000\011^\000\000\000\000\001!\000\000\000\000\000\000\000\000\001-\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\011f\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\011n\000\000\011\158\001!\001!\001-\001!\001!\000\000\011~\000\000\000\000\001!\000\000\011^\000\000\011\142\001)\000\000\011v\000\000\011\134\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\011f\000\000\001-\001-\001)\011\206\011\166\001-\001)\000\000\011\150\000\000\001!\000\000\011n\000\000\000\000\001)\001)\000\000\001)\011\198\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\011\142\000\000\000\000\011v\000\000\011\134\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\158\000\000\000\000\001!\000\000\000\000\000\000\011~\011\150\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\011\166\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\142\011\158\001\146\000\000\001)\001\150\000\000\000\000\011~\000\000\000\000\000\000\000\000\000\000\008}\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\001\158\001)\000\000\001)\000\000\000\000\001\174\001\178\000\000\001\186\001)\001)\000\000\001)\011\166\001)\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\001\142\001\230\001\146\000\000\000\000\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018F\000\000\000\000\001\234\000\000\000\000\001\154\000\000\001\238\001\158\000\000\001\n\000\000\000\000\000\000\001\174\001\178\000\000\001\186\000\000\001\246\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\001\250\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\001\254\001\222\001\226\000\000\001\230\000\000\002\002\020\218\000\000\008}\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\020\222\001\234\002\n\000\000\000\000\000\000\001\238\000\000\020\226\001\n\020\230\000\000\000\000\000\000\000\000\020\234\000\000\000\000\001\246\000\000\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\001\250\000\000\001\142\000\000\001\146\021\002\000\000\001\150\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\000\023\"\000\000\002\002\n\129\000\000\021\006\001\154\000\000\000\000\001\158\000\000\002\006\000\000\000\000\000\000\001\174\007\030\002\n\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\n\129\000\000\021\n\000\000\000\000\021\014\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\021\018\001\230\000\000\000\000\000\000\021\022\001\n\021\026\000\000\021\030\021\"\000\000\021&\000\000\000\000\000\000\000\000\001\234\021*\000\000\000\000\021.\001\238\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\246\000\000\0212\000\000\000\000\000\000\0216\021:\n\129\001\142\001\250\001\146\000\000\000\000\001\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\000\000\000\000\000\000\002\002\001\154\000\000\000\000\001\158\000\000\000\000\000\000\000\000\002\006\001\174\001\242\000\000\001\186\000\000\002\n\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\202\001\206\000\000\000\000\001\210\001\214\001\218\000\000\001\222\001\226\000\000\001\230\000\000\000\000\000\000\006\006\000\000\000\000\000\000\000\000\0049\000\000\0049\000\000\000\000\0049\000\000\001\234\000\000\000\000\000\000\000\000\001\238\000\000\000\000\001\n\000\000\000\000\000\000\000\000\0049\000\000\000\000\0049\001\246\000\000\000\000\000\000\000\000\0049\0049\000\000\0049\000\000\001\250\000\000\000\000\000\000\000\000\0049\000\000\0049\000\000\000\000\000\000\000\000\001\254\000\000\000\000\0049\0049\020\218\002\002\0049\0049\0049\000\000\0049\0049\000\000\0049\002\006\000\000\020\222\000\000\000\000\000\000\002\n\000\000\000\000\000\000\020\226\000\000\020\230\000\000\000\000\0049\000\000\020\234\000\000\000\000\0049\000\000\020\238\0049\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\0049\000\000\014\166\021\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022J\000\000\000\000\000\000\000\000\021\006\014\174\000\000\0049\000\000\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\000\000\000\000\014\182\000\000\000\000\0049\000\000\000\000\014\246\014\254\n\129\0049\021\n\000\000\000\000\021\014\000\000\000\000\014\214\000\000\000\000\014\190\000\000\014\206\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\021\022\001\n\021\026\000\000\021\030\021\"\020\218\021&\000\000\000\000\000\000\000\000\014\222\021*\000\000\000\000\021.\000\000\020\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\226\000\000\020\230\000\000\000\000\0212\000\000\020\234\000\000\0216\021:\n\129\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\000\000\000\000\014\230\021\002\000\000\000\000\000\000\000\000\000\000\014\198\000\000\000\000\000\000\000\000\024J\000\000\000\000\n\173\000\000\021\006\005\205\000\000\005I\005\205\000Z\000\000\000\000\005\205\000\000\005\205\000\000\000\000\000\000\000\000\005\205\005\205\000\000\015\006\014\238\000\000\000\000\000\000\n\173\000\000\021\n\000\000\005\205\021\014\005\205\005\205\000\166\005\205\000\230\005\205\000\000\005\205\000\000\005\205\005\205\021\018\005\205\005\205\005\205\005\205\021\022\001\n\021\026\000\000\021\030\021\"\000\000\021&\000\000\000\000\000\000\000\000\000\000\021*\005\205\000\000\021.\000\000\004\006\000\000\005\205\000\000\005\205\000>\005\205\000\000\005\205\000\000\000\000\000\000\000\000\0212\000\000\000\000\005\205\0216\021:\n\173\005\205\005\205\005\205\000\000\005\205\000\000\004\218\000\000\007N\000\000\005\205\000>\000\000\000>\005\205\000\000\005\205\000\000\000\000\000\000\005\205\000\000\005\205\000\000\005\205\000\000\005\205\005\205\005\205\005\205\005\205\000\000\000\000\000\000\000\000\005\205\005\205\000\000\005\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\205\000\000\005\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\205\000\000\005\205\000\000\000\000\005\205\000\000\005\205\000\000\000\000\005\205\000\000\000\000\005\205\005\205\000\000\000\000\005\205\000\000\000\000\000\000\000\000\005\205\005\205\000\000\000\000\000\000\005\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\205\000\000\005\205\005\205\005\205\005\205\005\205\005\205\000\000\005\205\000\000\000\000\005\205\005\205\005\205\005\205\001\142\005\205\001\162\005\205\000\000\001\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\154\000\000\000\000\001\158\000\000\000\000\000\000\000\000\000\000\001\170\001\190\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005R\001\206\000\000\000\000\005V\001\214\001\218\000\000\005Z\005^\001\142\005b\001\162\000\000\000\000\001\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005f\000\000\000\000\001\154\000\000\005j\001\158\000\000\001\n\000\000\000\000\000\000\001\170\007\006\000\000\001\186\000\000\005r\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005R\001\206\000\000\000\000\005V\001\214\001\218\005v\005Z\005^\000\000\005b\000\000\005z\000\000\000\000\005\205\000\000\000\000\005\205\003.\000\000\005~\005\205\000\000\005\205\000\000\005f\002\n\000\000\005\205\005\205\005j\005\205\000\000\001\n\005\205\003r\000\000\000\000\005\205\000\000\005\205\000\000\005r\000\000\005\205\005\205\005\205\005\205\003\178\000\000\000\000\005\205\005\205\005\205\000\000\000\000\005\205\000\000\005\205\005\205\000\000\000\000\000\000\000\000\005v\000\000\000\000\000\000\000\000\005\205\005z\000\000\005\205\005\205\000\000\000\000\000\000\000\000\000\000\005~\000\000\000>\005\205\000\000\005\205\002\n\005\205\000\000\000\000\005\205\000\000\000\000\005\205\000\000\000\000\000\000\005\205\005\205\000>\000\000\000\000\005\205\005\205\000\000\000\000\000\000\005\205\000\000\000\000\005\205\000\000\000>\000\000\005\205\005\205\000\000\005\205\000\000\000\000\000\000\000\181\000\000\005\205\005\205\000\000\000\000\005\205\005\205\000\000\000\000\000\000\005\205\000\000\005\205\000\000\000\000\005\205\000\000\014\174\000\000\000\000\000\000\000\000\005\205\000\000\000\000\005\205\000\000\005\205\000\000\000\000\000\000\014\182\000\000\000\000\000\000\005\205\000\000\000\181\000\181\000\000\005\205\005\205\000\000\000\000\005\205\005\205\000\000\014\214\005\205\000\000\014\190\000\000\014\206\005\205\005\205\000\000\000\000\000\000\005\205\000\000\000\000\005\205\005\205\000\000\000\000\005\205\000\000\001\142\000\000\001\162\005\205\005\205\001\166\014\222\005\205\005\205\000\000\000\000\005\205\000\000\000\000\000\000\000\000\005\205\005\205\000\000\000\000\001\154\005\205\000\000\001\158\000\000\000\000\000\000\000\000\000\000\001\170\005n\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\014\230\000\000\000\000\000\000\000\000\005R\001\206\014\198\000\000\005V\001\214\001\218\000\000\005Z\005^\000\000\005b\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005f\000\000\000\000\000\181\014\238\005j\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005v\000\000\000\000\000\000\000\000\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\0006\000:\000J\000\142\002\n\000\146\n:\000\150\000\218\n>\000\226\000\000\000\242\024\202\000\250\nB\001\002\001\026\001\"\001&\nF\024\206\000\000\000\000\000\000\000\000\001\142\000\000\nv\000\000\000\000\nz\001.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\001\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n~\011\214\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\150\001\206\001J\000\000\n\154\001\214\001\218\000\000\n\158\n\162\001\142\n\166\nv\000\000\000\000\nz\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\170\n\174\000\000\000\000\001\154\000\000\n\178\000\000\000\000\001\n\000\000\000\000\000\000\n~\n\130\000\000\000\000\001\n\n\186\000\000\000\000\000\000\004\137\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\150\001\206\000\000\000\000\n\154\001\214\001\218\n\190\n\158\n\162\001\142\n\166\nv\n\194\000\000\nz\000\000\000\000\000\000\000\000\000\000\000\000\n\198\000\000\000\000\000\000\n\170\n\174\002\n\000\000\001\154\000\000\n\178\000\000\000\000\001\n\000\000\000\000\000\000\n~\n\182\000\000\000\000\000\000\n\186\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\150\001\206\000\000\000\000\n\154\001\214\001\218\n\190\n\158\n\162\001\142\n\166\013v\n\194\000\000\013z\000\000\000\000\000\000\000\000\000\000\000\000\n\198\000\000\000\000\000\000\n\170\n\174\002\n\000\000\001\154\000\000\n\178\000\000\000\000\001\n\000\000\000\000\000\000\013~\013\138\000\000\000\000\000\000\n\186\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\158\001\206\000\000\000\000\013\162\001\214\001\218\n\190\013\166\013\170\001\142\013\174\013v\n\194\000\000\013z\000\000\000\000\000\000\000\000\000\000\000\000\n\198\000\000\000\000\000\000\n\170\013\178\002\n\000\000\001\154\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\013~\013\186\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\158\001\206\000\000\000\000\013\162\001\214\001\218\013\194\013\166\013\170\001\142\013\174\013v\013\198\000\000\013z\000\000\000\000\000\000\000\000\000\000\000\000\013\202\000\000\000\000\000\000\n\170\013\178\002\n\000\000\001\154\000\000\013\182\000\000\000\000\001\n\000\000\000\000\000\000\013~\013\210\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\001\194\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\158\001\206\000\000\000\000\013\162\001\214\001\218\013\194\013\166\013\170\000\000\013\174\000\000\013\198\000\000\000\000\000\000\000\000\008u\000\000\000\000\000\000\013\202\000\000\000\000\000\000\n\170\013\178\002\n\000\000\008u\000\000\013\182\000\000\000\000\001\n\000\000\000\000\008u\000\000\008u\000\000\000\000\000\000\013\190\008u\000\000\000\000\000\000\000\000\008u\000\000\000\000\008u\000\000\000\000\023\030\008u\021\166\000\000\000\000\000\000\000\000\008u\000\000\000\000\013\194\000\000\020\222\000\000\000\000\000\000\013\198\000\000\000\000\000\000\020\226\000\000\020\230\008u\000\000\013\202\000\000\020\234\000\000\000\000\000\000\002\n\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\008u\000\000\000\000\008u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\006\023>\008u\000\000\000\000\000\000\000\000\008u\008u\008u\000\000\008u\008u\000\000\008u\000\000\000\000\000\000\000\000\000\000\008u\000\000\000\000\008u\000\000\021\n\000\000\000\000\021\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008u\000\000\021\018\000\000\008u\008u\000\000\021\022\001\n\021\026\000\000\021\030\021\"\007\233\021&\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\007\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\233\000\000\007\233\000\000\000\000\0212\000\000\007\233\000\000\0216\021:\000\000\007\233\000\000\000\000\007\233\000\000\022.\000\000\007\233\000\000\000\000\000\000\000\000\000\000\007\233\000\000\000\000\000\000\020\222\000\000\n:\000\000\000\000\n>\000\000\000\000\020\226\024\222\020\230\nB\007\233\023>\000\000\020\234\nF\024\226\000\000\000\000\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\007\233\000\000\000\000\007\233\000\000\000\000\000\000\016f\000\000\000\000\000\000\000\000\021\006\000\000\000\000\007\233\000\000\000\000\000\000\000\000\007\233\007\233\007\233\016j\007\233\007\233\000\000\007\233\000\000\000\000\000\000\000\000\000\000\007\233\000\000\000\000\007\233\021\n\000\000\000\000\021\014\000\000\000\000\001\206\000\000\000\000\000\000\015\166\001\218\000\000\000\000\007\233\021\018\000\000\000\000\007\233\007\233\021\022\001\n\021\026\000\000\021\030\021\"\022F\021&\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\020\222\000\000\001\n\000\000\000\000\000\000\000\000\004\157\020\226\000\000\020\230\000\000\000\000\0212\000\000\020\234\000\000\0216\021:\000\000\020\238\000\000\000\000\020\250\000\000\020\218\000\000\020\254\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\020\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\226\000\000\020\230\000\000\021\006\008\209\008\209\020\234\000\000\000\000\008\209\000\000\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\021\n\000\000\000\000\021\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\226\000\000\000\000\021\018\000\000\000\000\000\000\000\000\021\022\001\n\021\026\000\000\021\030\021\"\000\000\021&\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\021.\021\n\000\000\000\000\021\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\021\018\000\000\000\000\0216\021:\021\022\001\n\021\026\000\000\021\030\021\"\020\218\021&\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\020\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\226\000\000\020\230\000\000\000\000\0212\000\000\020\234\000\000\0216\021:\000\000\020\238\000\000\000\000\020\250\000\000\000\000\000\000\020\254\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\000\000\000\000\000\000\000\000\000\004I\004I\004I\004I\000\000\004I\000\000\004I\004I\023\226\004I\000\000\004I\000\000\004I\000\000\004I\004I\004I\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Z\000\000\000\000\004I\000\000\021\n\000\000\000\000\021\014\000\000\000\000\000\000\000\000\000\000\004I\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\021\022\001\n\021\026\000\000\021\030\021\"\000\000\021&\000\000\004I\000\000\000\000\000\000\021*\000\000\004I\021.\000\000\000\000\000\000\000\000\000\000\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\000\000\000\000\0216\021:\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\0006\000:\000J\000\142\000\000\000\146\004I\000\150\000\218\000\000\000\226\001.\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\0016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\001F\0016\000\000\000\000\000\000\000\000\001R\004I\000\000\000\000\000\000\001\153\000\000\000\000\001J\001\153\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\153\000\000\001R\000\000\001\153\000\000\001\153\001\153\000\000\000\000\001J\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\0006\000:\000J\000\142\001V\000\146\001\n\000\150\000\218\001\153\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\001V\000\000\000\000\012\013\000\000\000\000\000\000\001.\000\000\000\000\001\153\005\226\000\000\001\153\000\000\000\000\000\000\001\153\0016\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001F\000\000\000\000\005\234\000\000\000\000\001R\001\153\001\153\001\153\000\000\000\000\000\000\000\000\001J\000\000\000\000\000\000\025\134\004>\0006\000:\000J\000\142\000\000\000\146\000\000\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\000\000\001\002\001\026\001\"\001&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0016\000\000\000\000\000\000\000\000\0006\000:\000J\000\142\000\000\000\146\025\138\000\150\000\218\000\000\000\226\000\000\000\242\000\000\000\250\001F\001\002\001\026\001\"\001&\006:\000\000\000\000\006\138\000\000\000\000\000\000\003I\000\000\001J\002%\000\000\001.\004:\004>\000\000\000\000\000\000\006B\000\000\000\000\000\000\002\013\0016\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\006J\000\000\000\000\000\000\002\013\000\000\006\154\006\162\000\000\000\000\000\000\001F\000\000\006B\000\000\000\000\006j\000\237\000\000\006R\000\000\006b\000\000\000\000\000\000\001J\000\000\006J\000\000\025\134\004>\000\237\000\000\000\237\000\237\000\000\000\000\004J\000\213\000\000\000\000\000\213\006r\006j\000\000\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\002\013\000\000\000\213\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006z\000\237\000\000\002\013\000\000\025\146\000\213\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\013\000\000\006z\000\000\000\000\000\237\000\000\000\213\000\000\006Z\006\170\006\130\002\013\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\237\006\130\000\237\000\205\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\205\000\000\006Z\000\000\000\205\000\000\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\000\000\006R\000\213\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\213\000\213\000\213\000\209\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\205\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\000\000\000\000\205\000\000\006B\000\000\000\000\000\209\000\225\000\000\006R\000\000\000\209\000\000\000\000\000\000\000\000\000\000\006J\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\209\000\225\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\217\000\209\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\000\000\000\000\000\006r\000\000\006B\000\205\000\205\000\205\000\217\000\000\000\000\000\000\000\000\000\209\000\225\000\000\000\209\000\000\006J\000\000\006Z\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\006R\000\209\006b\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006Z\000\209\000\209\000\209\000\221\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\000\006B\000\000\000\000\000\217\000\221\000\000\000\225\000\225\000\225\000\229\000\000\000\000\000\229\000\000\006J\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\217\000\221\000\229\000\217\006R\000\000\006b\006Z\000\000\000\000\000\000\000\000\006J\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\006:\000\000\000\217\000\245\006r\006j\000\000\000\000\006R\000\000\006b\000\000\000\217\000\217\000\217\000\000\000\221\000\000\006B\000\000\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\245\000\000\000\245\006\162\000\000\000\000\000\221\000\229\000\000\000\221\000\000\000\000\006j\006Z\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\006z\000\000\000\000\000\229\000\000\006r\000\000\006Z\000\221\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006:\000\245\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006B\000\229\000\229\000\229\000\233\000\000\000\000\000\000\000\000\006z\000\000\000\000\000\245\000\000\006J\000\000\006Z\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\006:\000\000\000\000\000\241\000\000\006j\000\000\000\000\006R\000\245\006b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006B\006\170\006\130\000\245\000\241\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\006r\006J\000\000\000\000\000\000\000\241\000\000\000\241\006\162\000\000\000\000\000\000\000\233\000\000\000\157\000\000\000\000\006j\000\149\000\000\006R\000\000\006b\000\000\000\000\000\000\000\000\000\000\014\182\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\149\000\000\006z\000\000\000\000\000\233\000\000\006r\000\157\006Z\000\000\014\190\000\000\014\206\000\149\000\000\000\000\000\000\000\000\000\241\000\149\000\149\000\000\000\153\000\000\000\000\000\000\000\233\000\000\000\000\000\149\000\000\000\000\014\190\000\157\000\149\000\000\000\233\006\130\000\233\000\000\000\153\000\000\000\000\000\000\006z\000\000\000\000\000\241\000\000\000\000\000\000\006Z\000\000\000\000\000\153\000\149\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\241\000\153\000\157\000\000\014\190\000\000\000\153\000\000\000\000\014\198\000\241\006\130\000\241\000\000\000\000\014\174\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\149\000\000\000\000\000\153\000\000\014\182\000\000\014\198\000\000\000\000\000\000\000\169\000\169\000\157\000\157\000\000\000\000\000\000\000\000\000\161\000\149\000\169\000\000\000\000\014\190\000\000\014\206\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\149\014\174\000\000\000\000\000\000\000\153\000\000\000\000\000\000\014\174\000\000\014\222\014\198\000\000\000\000\014\182\000\000\000\000\000\000\000\000\000\000\000\161\000\161\014\182\000\000\000\153\000\000\000\000\000\000\000\165\000\165\000\161\000\000\000\000\014\190\000\173\014\206\000\000\000\000\000\165\000\153\000\153\014\190\014\166\014\206\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\014\174\000\000\000\000\014\198\000\161\000\000\000\000\014\166\014\174\000\000\000\000\000\000\014\222\000\000\014\182\000\000\000\169\000\000\000\000\000\000\000\173\000\173\014\182\000\000\000\000\014\174\000\000\000\000\000\189\014\254\014\214\000\169\000\169\014\190\000\000\014\206\000\000\000\000\014\214\014\182\000\000\014\190\000\161\014\206\000\000\000\177\000\177\000\000\000\000\014\198\000\165\000\000\000\000\000\000\000\000\014\214\014\222\014\198\014\190\000\000\014\206\000\000\000\161\000\000\014\222\000\000\000\000\000\000\000\000\000\000\000\165\000\000\014\166\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\014\222\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\014\174\000\000\000\000\000\000\014\230\000\000\000\000\000\000\000\000\000\000\000\000\014\198\014\230\000\000\014\182\000\000\000\000\000\000\000\000\014\198\000\185\014\254\000\000\000\000\000\173\000\000\000\000\000\000\000\000\014\230\014\214\000\000\000\189\014\190\000\000\014\206\014\198\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\015\006\014\238\000\177\000\000\000\000\000\000\000\000\000\000\000\000\014\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\014\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\230\000\000\000\000\000\000\000\000\000\000\000\000\014\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\014\238")) + ((16, "\000F\000\245\000\000\000\000\023v\000\245\000\000\000\000\000t\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000F\000\000\000}+\210\000\000\021\202\021\202\000\000\000\000D\196\021\202\000\000E\226\021\202\000\000\000\000\021\202\000\000\021\202\000\000\001\011\000\179\021\202\000\000\021\202\000\000\000\000\000\000\021\202\000\000\021\202\000\000EN\021\202\000\000FH\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\155\000\166\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000Vh\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\017\0010\0010\000\000\000\000\000\000\000\178\000\000\000\000\000m\0010\000\000\000m\000\000\000\000\0010\000\005\001\132\0010\001R\000\000\001\132\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000[\0010\000\000\000Q\003F\0010\000\000\000I\002\224\000\000\000\000\000\000\001(\021\202\000\000E\226\0010\001f\021\202\000\000\000\000\021\202\000\000\000\000\021\202\000\000\021\202\000\000\001\174\002R\021\202\000\000+\210FH/\238\000\000\000\000\000\000\000\000.\182\002\216/\238\004\168\000\000/\238\000\000\000\000\002V\021\202\000\000/\238\000\000\0010\001pG\176\000\000\000\000V\224Wx\000\000]\150\000\000W\252G\176\028\182\028\182]\150G\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000X\148G\176\000\000\000\000X\148X\148X\148\000\000X\148\000\000G\176X\148\000\000\000\000\"d\0010\000\000\023H\028\182G\176\000\000#\176G\176*,G\176*DG\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\228G\176\000\000:lG\176-\246G\176/\000G\176\000\000G\176\000\000G\1760\nG\1761\020G\1762\030G\1763(G\17642G\1765\154G\176?\"G\176\000\000G\176@,G\176@\180G\176A\190G\176\000\000G\176BFG\176CPG\176\000\000\000\000G\176\000\000\002\250\000\000\000\000\0010\000\000\000\000\000\000\003\n\000\000\003\162\000\000\000\236G\176\000\000\000\236\000\000\000\000\001T+\210\000\000\021\006\021\202\000\000\000\136\021\202\000\000Yf\021\202\000\000\000\000\021\202\000\000\021\202\000\000\003\224\0048\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000\001\192\021\202\000\000Yv\021\202\000\000\000\000\021\202\000\000\021\202\000\000\0048\004z\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000Y\146\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\174\0010\004v\021\202\000\000H\202\0010\004\208\021\202\000\000\000\000\021\202\000\000\021\202\000\000\021\202\000\000\005(\005\184\021\202\000\000Vh/\238\005|\021\202\000\0004\2421\212\000\000\002\224\006\146\0010\006x\007L+\210+\210\000\000\000\000\000\000\000sb\\+\210\000\1526*\000\000\000\000\000\000\005\200\007>\0010\007T+\210\000\000\000\000\006\140\000\000\006\144\007b+\210\006\156\000\000\0009\000\000\001p\000\000\000\000\001\230DN\000\000\000\000\000\000\006\158\007\154\000\000\007\160\000\000\023x\007f/\238\006\174\021\202\000\000Y\178/\238\006\176\021\202\000\000\000\000\000\000\0010\007\168\000\000\000\000\000\000\001T\000\000\000\000\028\182\006\200\000\000\006\202]\150\000\000\000\000\000\000\000\000\000\000\000\000X\148\000\000\000\000X\148\000\000\000\000X\148\000\000]\150\000\000\000\0002\196\0010\000\000\023H\023H\000\000\002\186\027\158\023H\030\154G\176\000\000G\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\146G\176fnG\176\006\254G\176\000\000G\176f\228G\176gNG\176g\196G\176h.G\176h\164G\176i\014G\176\000\000G\176i\132G\176i\238G\176jdG\176\000\000G\176j\206G\176kD\003Z\024\186\000\000\000\000\003\254\026,\000\000\000\000\000\000\000\000\006\214\000\000G\176\006\222\000\000\000\000\0010\000\000\000\000\000\000\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\006\244\000\000\000\000\000\000\006\250\000\000\000KZ\182\007\192G\176\007~\000\000\000\000]\150\000K\000\000\007\004\000\000\007\004G\176\000\000\028\182\007\006\000\000\000\000\007\226\000\000\028\182\007\n\000\000\000\000\028\182\007\030\000\000\000\000\007\030\000\000\000\000\b\020\000\000[\002/\238\007\"\021\202\000\000\000\000\007\170\000\000\007(\021\202\000\000\000\000\000t+\210\000\000+\210\000\000\007\028\000\000\000t\000\000\019d&\184\021\164\000\000\005\194\021\164\000\000\021\164\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007d\007\148\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000\b\130\021\164\000\000\021\180\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007l\007\154\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000E\244\021\164\000\000\000\000\021\164\000\000\021\164\000\000\003>\0010\007D\021\164\000\000\021\196\0010\007J\021\164\000\000\000\000\021\164\000\000\021\164\000\000\021\164\000\000\007z\007\168\021\164\000\000f`\000\000\007\\\000\000\001tf`\000\000\000\000\001t\000\000\000\000\021\202/\238\007X\021\164\000\000\000\000\000\000\0001\000\000\000\000\001R\0001\000\000\000\000\000\000\bN\000\000\b\216/\238\007^\021\164\000\000E\244/\238\007b\021\164\000\000\000\000\024\234\021\164\000\000\n\000\021\164\000\000Hl\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007\146\007\192\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000\n\180\021\164\000\000H\128\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007\152\007\204\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000H\170\021\164\000\000\000\000\021\164\000\000\021\164\000\000\004.\0010\007t\021\164\000\000H\164\0010\007|\021\164\000\000\000\000\021\164\000\000\021\164\000\000\021\164\000\000\007\176\b\000\021\164\000\000H\170/\238\007\190\021\164\000\000\000\000\b\228/\238\007\192\021\164\000\000I\004/\238\007\198\021\164\000\000\000\000\000\000\000\000\000\000\000\000\b\168G\176\007\226 \018\bf\000\000\b\192G\176\007\244\b\190DN\000\000\000\000\000\000+\210\0010\000\000\001dG\176+n\000\000[\218\028\182\007\252\000\000\000\000G\176\b\002\000\000\028\182\b\002\000\000\b\004b\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000X\148\000\000\000\000X\148\000\000\000\000X\148\000\000b\144\000\000\000\000e\178\0010\000\000\023H\b\006\000\000G\176\b\006\000\000\000\000\0010\000\000\000\000\000\000\000\000\000\000\000\000G\176\001VG\176\b\b\000\000\000\000+n+n\000\000\000\000'\164\001n\b\208G\176\000\000\b\152\000\000\000\000\0010\000\000$\204\000\000\bF+n\bV+n\000\000\001l\000\000\000\000\025>G\176\026\178G\176\029\n\014+\210\tB\005f\000\000G\176\n2\000\000\n\020+\210\tJ\n:\000\000\003\172G\176\n>\000\000\nB\000\000\023x\0010\005RG\176\nF\000\000\nJ\000\000\000\000\000\000\011\238\000\000\000\000\002\190\000\000\b\242\000\000\002\184\000\000\000\000\001\252 \242\000\000\001\252\000\000\000\000\t`\000\000\000\236\001| \018\000\000\005\246\000M\005\246\000\000\000\184\000\000\b\242\000\000\b\242\000\000\000\000\000\000\td\000\000\000\000\tt\000\000\002j\007t\000M\005\246\000\000\000\000\000\000\002\190\000\000\b\242\000\000\002j\000\000\000\000\r<\000\184\019d\000\000\000\184\000\000\np\019d\000\000\000\000\np\000\000\000\000\tr\000\000\000\000\t\130\000\000\003\196\b\242\000\000\003\196\000\000\000\000\n\000\000\000\002\190\000\000\b\242\000\000\000\000\000\000\020\214T\128\000\000\nr\000\000\020\214\000\000\nt\000\000\nv\000\000+\210\0010\005\190\000\000G\176\nz\000\000\004\214\nL\0010\t\146\nf+\210\t\154\005\244\000\000G\176\n\138\000\000\005\246\000\000G\176\n\146\000\000\023x\0010\005\252\000\000G\176\n\150\000\000\005\136\020\214\000\000$\204\006\004\000\000G\176\n\154\000\000\000\000\000\000\001\148\000\000\n|\023H\t\176\n\160\000\000\003\030\000\000\nr\0010\t\186\n\146+\210\t\198\006<\000\000G\176\n\182\000\000\006x\000\000G\176\n\192\000\000\023x\0010\006\164\000\000G\176\n\200\000\000\005\136\000\000\000\000\t\222\000\000\001\148\014\186\n\\\000\000\000\000\000\000\nj\000\000\002\208\002R\000\000\019d\n\200\000\000\000\000G\176\n\026\b\242\000\000\t\236\000\000\000\012\000\000DN\000\000\000\000\003.\019d\000\000\019d\000\000\t\220\000\000\003.\000\000G\176\003\230G\176\000\000G\176\000\000\t\224\000\000\003\230\000\000G\176\003\230\t\226\000\000 \018\004\172 \018\000\000 \018\000\000\t\228\000\000\004\172\000\000G\176\003\230\t\230\000\000DN\005;\254\n\202\000\000\n\204\000\000\n\208\000\000+\210\000\000\005\026+\210\000\000\nP\021\164\000\000;\254\n\222\000\000\006V;\254\000\000\005j;\254\000\000\000\031\011d\000\000\011h\000\000;\254;\254\n^\000\000\000\000\000\000\000\000\000\000\000\000\n\234\000\000BFUH\n\236\000\000\n\240\000\000d>^\158;\254\nj;\254\n\244\000\000\n\248\000\000\n\250\000\000;\254\n\162\000\245\000\000\000\000\005\128;\254\000\000\000\031\000\000\011\004\000\000;\254\011\b\000\000d\150_X;\254\n\130;\254\0110\000\000\011B\000\000\011F\000\000\\\248\021\164\000\000\021\164\000\000U\202;\254\n\192;\254\011L\000\000\011N\000\000\021\164\000\000c\220\000\000\000\000\005\184;\254\000\000\006V\007J\004l\n\198\000\000\000\000\001\172\001\172\000\000\000\000\000\000\006d\001\172\000\000\n\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\254\000\000\005\192;\254\000\000\000\003\003\180\000\245\n\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011V\000\000\011Z\000\000;\254\011^\000\000d\248UH\011`\000\000\011b\000\000;\254\011h\000\000\031\136\011\016e\178E\244=\144\n\236\000\000;\254\011v\000\000\011x\000\000\011J\031\136;\254\011\128\000\000;\254\011\132\000\000\011\134\000\000;\254\011\136\000\000\000\245\n\244\000\000\000\000\030(\000\000\000\000\004\030\011\238\000\000\000\000\000\130\000\000\000\000\000\000G\176\000\000\000\000\000\000\004x\000\000\0040\000\000\000\000\000\000\005\246DNDNDN\000\000\002N\002N\002N\002N\000\000\000\000\000\000\000\000\000\000\000\000\002\250\019d\011\228\016h\000M\000\000\000\000\002\190\000\000\011\238\000\000+n\011\b\000\000\002\250\019d\011\014\017\230\000\000\002\250\016h\000\000\000\000\000\000DN\r\022\000\000\000\000\000\000\011^\002\184\011\230`\1808>\000\000\005`b\1408>\005\140`\228\000\000\000\000\007\020\011\214\0010\000\000\005\238a\160\000\000\000\000\000\000\000\000\000\000\011\028\011\232\b\242\011 \000\000\000\000\002\190\000\000\011\238\000\000\025\212\006\186\000\000\000\000\011\214\000\000\000\000\004\030\000\000\004\\\000\000\000\000\000\000G\176\000\000\004x\000\000\005n\000\000\000\000\000\000\007t\000\000\rl\005\230\rl\000\000\b\242\rl\000\000\007d\000\000\b\242\000\000\b\242\000\000\b\242\000\000\025\212\000\000\000\000\000\000\000\000\000\000\b\242\000\000\007d\000\000\b\242\000\000\028^\000\000\000\000\np\011V\000\245\006N\012\000\003\146\000\000\003\146\012,\000\000\0120\000\000\0122\000\000\000\000\002\228\003\146\b\024\003\146\000\000\000\000\000\162\006N\0112\000\000\0114\000\000\011x\000\245\006N\011>\000\000\006\144\012R\000\000\b\014\005\018\012d\003\144\012d\000\000\000\000\000\231\000\245\000\000\002\020\000\000\000\000\000\225\000\000\011X\000\000\000\000\000\000\011\150\000\245\006N\011\\\000\000\000\000\006\144\b\014\005\018\000\231\002\020\000\225\011b\000\000\b\014\005\018\000\231\002\020\000\225\011d\000\000\002\252\003\222\011\128\000\245\011z\007b\007\130\011\164\000\245\000\000\011\166\000\245\000\000\012\004\000\000\011\138\004N\011\134\007b\012\016\000\000\011\142\007b\012\028\000\000\000\000\007b\000\000\012 \000\000"), (16, "\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\000\n\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\000\150\025\238\025\246\007m\r\213\016V\001z\007M\001^\007m\007m\r\213\031\154\r\213\017\226\025\238\025\246\r\213\r\213\027.\r\213\031\130\000\154\r\213\005\185\002\146\0007\000;\r\213\r\213\r\213\000N\t\214\023>\023f\023v\023\158\023\174\023\214\r\213\011N\025\254\r\213\r\213\000\006\000\"\001:\007m\r\213\r\213\006U\r\213\014\157\r\213\004\242\027\154\000\242\004\250\r\213\005\n\r\213\r\213\011R\r\213\r\213\r\213\005\018\001\146\001\150\r\213\r\213\r\213\ni\001\154\r\213\r\213\r\213\001\158\001\162\000&\r\213\r\213\r\213\r\213\r\213\r\213\na\000\n\t\182\r\213\r\213\004\149\006V\019\014\b\254\001\166\t\173\005\026\007\021\000*\r\213\r\213\r\213\000\n\001\190\r\213\r\213\r\213\r\213\001\202\r\213\tI\r\213\001\218\005\185\r\213\tY\007M\r\213\r\213\002m\006\189\b\213\014\157\014\157\006\189\018\254\031\022\014\157\r\213\r\213\bE\005*\r\213\ni\016V\b\213\r\213\r\213\r\213\r\213\005\186\000.\r\213\017\226\r\213\016&\004\201\na\r\213\r\213\r\213\018\254\r\213\004\201\r\213\r\213\022\238\r\213\t\190\r\213\r\213\006\197\001\150\r\213\r\213\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\004\194\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\014^\024~\b\213\000\246\r\225\006\221\006\221\000\n\004\149\024\130\001>\r\225\r\185\r\225\004\149\004\149\001r\r\225\r\225\005F\r\225\ra\005N\r\225\005^\r\129\004\149\006\189\r\225\r\225\r\225\005f\019\014\006\229\006b\028\151\028\155\001B\t\157\r\225\028\159\004\218\r\225\r\225\014.\022\"\002\146\001F\r\225\r\225\001R\r\225\004\149\r\225\031\030\b\213\024\142\011\022\r\225\001~\r\225\r\225\005n\r\225\r\225\r\225\024\146\b\213\001\134\r\225\r\225\r\225\000\n\004\194\r\225\r\225\r\225\027F\018b\007\029\r\225\r\225\r\225\r\225\r\225\r\225\r\n\025>\015\"\r\225\r\225\r\014\001v\005\021\r\129\te\028\226\005~\r\018\001B\r\225\r\225\r\225\r\022\028\230\r\225\r\225\r\225\r\225\001F\r\225\0146\r\225\001\238\006~\r\225\rb\tM\r\225\r\225\006\213\ra\006\189\ra\014v\020\"\027J\011Z\016~\020F\r\225\007\r\001\142\r\225\000\n\014B\015j\r\225\r\225\r\225\r\225\004\209\006\189\r\225\002\002\r\225\006\189\0075\004\209\r\225\r\225\r\225\005\021\r\225\018f\r\225\r\225\002.\r\225\005\021\r\225\r\225\016\130\007\029\r\225\r\225\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\020\150\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\019r\018n\031\142\018\254\007U\016Z\016j\016z\005=\031\146\006\194\007U\016V\007U\002\157\001>\019v\007U\007U\ra\007U\017\226\001B\007U\007E\015\210\0022\015\242\007U\005\133\007U\005\185\001F\021B\031\022\001>\006.\015\174\002^\007U\021F\001r\001B\015\178\021J\015j\005=\015j\007U\007U \006\022>\001F\007U\007U\023\030\020\022\000\n\007U\014\157\007U\007U\001B\007U\007U\007U\001>\022B\rQ\007U\007U\007U\001F\002z\007U\007U\007U\000\n\022\194\007%\007U\007U\007U\007U\007U\007U\001>\n\178\015\174\007U\007U\015.\001\206\001B\015\178\r\193\003\230\000\n\tu\tA\019\014\007U\007U\001F\030\238\007U\007U\007U\007U\001\150\007U\000\n\007U\001B\016\014\007U\007\174\001v\007U\007U\t!\005\185\ra\001F \n\030\242\023&\022\214\000\n\015>\014\157\014\157\030\246\007U\015j\014\157\002}\007U\007U\007U\007U\031&\002q\007U\000\n\007U\027\158\023F\000\n\007U\007U\007U\031\030\024\158\004\150\007U\007U\r\193\007U\004\178\007U\007U\021\022\007u\007U\007U\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u F\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\006\253\rI\t]\007u\007u\bv\007u\rI\rI\t\017\030\254\007u\000\n\007u\028\134\007u\012v\007u\007u\rI\007u\024\242\024\018\007u\007u\007u\019\186\023N\007u\007u\007u\007u\031r\000\n\025\002\007u\007u\002f\001\150\007u\007u\rq\007u\031\006\004\186\rI\015j\024\246\007u\007u\007u\007u\007\133\007u\r\169\023~\005\030\007u\007u\028\134\007u\007-\007u\007u\007u\007u\001>\015\130\015\158\007u\007u\007u\001>\000\n\007u\007u\007u\002j\005\"\012\185\007u\007u\007u\007u\007u\007u\031j\b\134\015\174\000\n\007u\002M\006\245\001B\015\178\001>\021\150\r\177\007u\001B\005r\007u\007u\001F\007u\007u\007u\007u\007u\001F\007u\005v\007u\007u\007\133\007u\024n\015\174\007u\007u\006\189\024z\001B\015\178\028\191\028\195\023\134\023\182\000\n\028\199\007u\018j\001F\007u\000\n\t=\005e\007u\007u\002\146\007u\012\185\ra\007u\018~\007u\030+\030/\t-\007u\t\234\0303\019\146\t\242\005\194\n\002\007u\000\n\007u\024\230\007u\007u\n\n\015\162\007u\007u\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\023\254\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\007\005\024\002\n\018\007e\r\026\021\130\021\246\023\190\005\214\007e\007e\r*\024\006\002\"\024\n\018\138\r\153\002\150\r2\002]\016.\007e\024\014\0162\006\189\001>\006v\r\161\002*\005\254\016F\024\026\021\178\021\198\016V\024\030\021\226\n\"\025\178\002\166\022\006\024\"\029\006\017\226\006\189\rY\019\218\007e\017\246\016\138\0292\029>\001B\017\250\020R\r\137\019\150\024&\002\202\r\145\002\206\005\149\001F\002>\019\006\018\002\015j\027.\022^\016\162\002\214\018\006\006\237\029\150\016\166\014V\002\222\t\145\025\226\006\002\016\170\016\174\rF\rJ\016\178\018\n\005Y\000\n\024*\026\134\018\014\024.\030K\030O\006\022\029\162\007=\030S\022r\t\129\021\134\r\182\016\182\027B\0242\018\018\018\022\016\186\018\026\0246\000\n\024:\018.\024>\024B\005q\024F\027\"\018:\016\194\022\142\027\142\019\014\024J\030\011\003\229\024N\021\182\021\202\003\229\029R\021\230\030\015\018Z\nY\022\n\0062\018^\018\170\005\149\rN\024R\030\018\016\198\029\194\018\174\024V\024Z\002\141\016\206\005\149\005\149\n\133\n\133\000\n\005\149\018\182\n\133\016\210\nE\007}\007}\025\214\022b\003\026\007}\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\030\230\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\001>\029\178\022v\005Y\r\026\nY\002f\024\018\031Z\005Y\005Y\r*\027Z\002\"\004\145 \030 \026\002\150\r2\ri\016.\005Y\005Y\0162\022\146\018\254\006:\001B\002*\006>\016F\006z\0272\006\130\016V *\006\146\001F\006\154\002\166\006\158\001>\016V\017\226\006\166\006\214\006\238\005Y\017\246\016\138\0292\017\226\006\218\017\250\020\154\006\226\006\246\007\n\002\202\007\"\002\206\005\165\000\n\002>\019\006\018\002\007B\007J\001B\016\162\002\214\018\006\b\002\b\158\016\166\014V\002\222 o\001F\b\170\016\170\016\174\rF\rJ\016\178\018\n\004\145\b\202\b\230\019\n\018\014\004\141\b\246\t\006\t\014\t&\t.\t>\tJ\tV\003\229\r\182\016\182\000\n\003\229\018\018\018\022\016\186\018\026\tf\000\n\tr\018.\t~\t\142\005q\t\158\t\166\018:\016\194\n>\t\203\019\014\nF\n\022\nV\n\026\004\141\nj\nn\019\014\n\186\n^\018Z\n\206\n\246\n\250\018^\018\170\011\014\rN\011:\011n\016\198\011~\018\174\011\146\011\218\011\222\016\206\012.\005\165\n\133\n\133\0122\012~\018\182\n\133\016\210\012\146\007\141\007\141\012\186\nf\003\026\007\141\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\012\190\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\002f\012\210\012\234\004\145\r\026\012\254\002f\nv\004\141\004\145\004\145\r*\r\030\002\"\004\141\004\141\r&\002\150\r2\r.\016.\004\145\030\230\0162\r6\r>\004\141\rB\002*\rz\016F\r\138\r\150\r\158\r\254\001>\014\n\014>\014b\002\166\011v\001>\016V\004\141\014n\014\138\012\226\004\145\016\134\016\138\014\146\017\226\004\141\017\250\031\030\015R\015^\015f\002\202\015z\002\206\005\193\001B\002>\017\254\018\002\015\134\015\142\001B\016\162\002\214\018\006\001F\015\146\016\166\014V\002\222\015\154\001F\015\170\016\170\016\174\rF\rJ\016\178\018\n\015\186\015\194\015\198\014\165\018\014\015\218\015\226\015\250\016\002\016\022\016\030\000\n\016*\016>\016R\r\182\016\182\000\n\016^\018\018\018\022\016\186\018\026\016f\000\n\016n\018.\016v\016\146\005q\016\154\016\250\018:\016\194\011\174\017\006\017>\011\182\017n\011\198\018\030\018&\0186\018>\019\014\018F\011\206\018Z\018N\018V\018\166\018^\018\170\005\193\rN\018\178\018\186\016\198\018\198\018\174\018\202\018\210\018\214\016\206\005\193\005\193\018\222\018\230\018\238\005\193\018\182\019\026\016\210\019^\n\141\n\141\019f\011\214\003\026\n\141\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\019j\001&\019z\001.\r\018\0016\002\014\002\022\002\026\r\022\019\130\019\134\019\142\019\158\019\166\r\026\019\174\019\178\011\230\019\194\005Y\019\202\r*\019\226\002\"\019\234\020:\018b\002\150\r2\012\002\016.\020\130\012\n\0162\012\026\020\142\021\002\030\218\002*\b\221\016F\012\"\021\014\021.\021Z\021j\021r\001B\021\142\002\166\021\154\021\162\016V\b\221\021\166\021\174\021\190\001F\016\134\016\138\021\210\017\226\021\238\017\250\022\018\022*\0222\0226\002\202\022F\002\206\022N\012*\002>\017\254\018\002\022R\022Z\022j\016\162\002\214\018\006\000\n\022~\016\166\014V\002\222\022\154\022\174\022\190\016\170\016\174\rF\rJ\016\178\018\n\022\206\022\230\022\246\023\002\018\014\0233\018f\023[\023s\023\147\023\171\012:\023\203\023\227\b\221\r\182\016\182\031B\023\250\018\018\018\022\016\186\018\026\024\022\000\n\024\134\018.\031V\004\241\024\183\025\014\005Y\018:\016\194\031\174\025#\031Z\005Y\005Y\025K\025W\025g\025o\025\138\019\014\025\147\025\155\018Z\025\163\005Y\005Y\018^\018\170\025\190\rN\025\207\025\242\016\198\025\250\018\174\026\n\026'\0267\016\206\026?\026R\026[\b\221\026c\026k\018\182\026v\016\210\018b\026\155\005Y\026\167\026\186\003\026\b\221\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\001B\001&\026\195\001.\r\018\0016\002\014\002\022\002\026\r\022\001F\026\203\018b\026\211\026\246\r\026\026\255\027\007\027:\027f\027\166\027\199\r*\027\207\002\"\027\219\027\235\027\243\002\150\r2\027\255\016.\028\n\001B\0162\000\n\028\026\028'\028/\002*\0286\016F\028C\001F\028O\028W\028c\028o\028\138\029\018\002\166\029:\029J\016V\029~\018f\029\134\029\182\029\222\016\134\016\138\029\226\017\226\029\234\017\250\030\023\030\222\030\234\000\n\002\202\030\250\002\206\031\002\031\n\002>\017\254\018\002\t1\0317\031?\016\162\002\214\018\006\031F\031S\016\166\014V\002\222\018f\031^\031n\016\170\016\174\rF\rJ\016\178\018\n\031\163\031\178\031\191\014\165\018\014\031\227\031\255 \014 \022 \" . ; B\002a J\r\182\016\182 S Z\018\018\018\022\016\186\018\026 c\000\n w\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\n\019\014\000\000\000\000\018Z\r\014\000\000\000\000\018^\018\170\028\226\rN\r\018\000\000\016\198\000\000\018\174\r\022\028\230\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\165\014\165\000\000\000\000\003\026\014\165\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\000\000\000\000\000\000\000\000\r\026\001>\015\130\000\000\000\000\019r\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\001>\019v\000\000\015\174\002*\000\000\016F\000\000\001B\015\178\000\000\000\000\000\000\004\218\000\000\002\166\000\000\000\000\001F\000\000\000\000\000\000\015\174\000\000\017\246\016\138\000\000\001B\015\178\017\250\030b\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019\006\018\002\000\000\000\n\000\000\016\162\002\214\018\006\005\133\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\n\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\005q\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\nq\nq\000\000\000\000\003\026\nq\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\022>\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\001>\022B\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\004\218\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\015\174\000\000\017\246\016\138\000\000\001B\015\178\017\250\019\"\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\n\000\000\000\000\014\129\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\129\014\129\000\000\000\000\003\026\014\129\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\029\022\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\205\014\205\000\000\000\000\003\026\014\205\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\029\022\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\201\014\201\000\000\000\000\003\026\014\201\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\020\206\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\000R\000V\000f\000\170\003\026\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\016.\005\234\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021^\016\138\000\000\000\000\005\250\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\016\162\002\214\000\000\000\000\000\000\016\166\001\150\002\222\000\000\000\000\000\000\016\170\016\174\rF\021b\016\178\000\000\000\000\006\n\000\000\000\000\000\000\t\246\006\181\000\000\000\000\000\000\000\000\000\000\000\000\nJ\006\181\r\182\016\182\006\181\006\181\000\000\000\000\016\186\006\181\000\000\000\n\006\181\006\181\006\181\000\000\006\181\000\000\006\181\000\000\016\194\006\181\006\181\000\000\006\181\000\000\006\181\000\000\000\000\000\000\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\rN\006\181\006\181\016\198\006\181\021f\006\181\006\181\000\000\016\206\006\181\006\181\006\181\006\181\006\181\006\181\021n\006\181\016\210\000\000\006\181\000Z\000\000\006\181\003\026\000\000\006\181\000\000\006\181\000Z\006\181\006\181\n\198\000\000\006\181\0112\006\181\000Z\000\000\006\181\000Z\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\006\181\006\181\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\000\000\000\000\006\181\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\002\174\005\234\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\ry\ry\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\005\250\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\006\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ry\007\170\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\ry\000\000\000\000\007r\000\000\000\000\ry\ry\000\000\007z\000\000\000\000\004\233\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\022\001\014\001\022\000\000\001&\000\000\001.\ry\0016\002\014\002\022\002\026\ry\ry\011\162\011\170\000\170\000\000\000\174\000\000\011\238\011\246\011\254\012B\000\000\012J\012R\002\"\012b\000\000\012j\002\150\012r\012\158\002\174\012\166\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\174\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\012\182\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\014\170\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\012\198\000\000\000\000\014\178\014\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\014\194\000\000\007f\000\000\000\000\000\n\014\202\014\210\000\000\000\000\000\000\000\000\000\000\000\000\007n\000\000\014\218\r\n\000\000\014\226\000\000\014\234\r\014\000\000\000\000\007\170\000\000\028\226\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\230\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\t\021\014\242\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\019r\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001>\019v\000\000\000\000\014\250\000\000\000\000\000\000\000\000\002\"\000\000\015\002\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\015\174\000\000\002*\0065\000\000\001B\015\178\000\000\000\000\000\000\0065\000\000\000\000\002\166\000\000\001F\002\170\000\000\015\n\015\018\000\000\000\000\003>\007:\000\000\002\194\000\000\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\n\000\189\000\000\007N\002\214\005\133\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\003\150\007f\000\000\000\000\000\n\000\000\000\189\000\189\000\000\000\000\b\149\b\149\000\000\007n\000\000\b\149\003\190\000\000\000\000\003\158\000\000\003\174\000\000\000\000\007\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\002Q\000\000\003\198\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\002\"\000\000\000\000\003\166\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\189\003\214\000\000\003>\007:\000\000\002\194\000\000\000\000\007\178\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\r\n\000\000\007\166\007V\007Z\r\014\000\000\007^\002\238\000\000\028\226\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\230\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007n\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\019r\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\007r\001>\019v\000\000\000\000\000\000\007z\000\000\000\000\t%\002\"\000\000\000\000\000\000\002\150\007~\000\000\002\154\000\000\000\000\002\158\003\026\000\000\015\174\000\000\002*\000\000\000\000\001B\015\178\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\001F\002\170\000\000\000\000\000\000\000\000\000\000\002\190\002\186\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\n\000\165\000\000\002\210\002\214\005\133\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\003\150\002\246\000\000\000\000\000\n\000\000\000\165\000\165\000\000\000\000\n\189\n\189\000\000\002\254\000\000\n\189\000\165\000\000\000\000\003\158\000\000\003\174\000\000\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\003\"\000\000\001\133\001\133\001\133\001\133\003\026\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\000\000\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023\238\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\001\133\001\133\001\133\000\000\003\166\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\165\001\133\000\000\000\000\000\000\001\133\000\000\000\165\023\242\000\000\000\000\001\133\000\000\000\000\000\000\000\165\000\165\000\000\001\133\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\001\133\000\000\000\000\000\000\000\000\001\133\000\000\001\133\001\225\000\000\001\133\001\225\023\246\001\225\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\001\225\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\222\t\230\000\170\000\000\000\174\024\186\n*\n2\n:\n~\000\000\n\134\n\142\023\254\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\001\225\007\186\000\000\001\225\024\006\n\234\024\n\001\225\000\000\000\000\000\000\000\000\000\000\000\000\024\014\000\000\000\000\000\000\000\000\000\000\028\006\001\225\000\000\024\026\000\000\001\225\001\225\024\030\000\000\000\000\000\000\000\000\007\194\024\"\000\000\000\000\001\225\001\225\000\000\000\000\011\002\000\000\000\000\000\000\000\000\025\166\000\000\000\000\000\000\024&\027\018\000\000\000\000\000\000\000\000\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\011F\002\150\r2\024*\016.\000\000\024.\0162\000\000\000\000\000\000\000\000\000\000\000\000\016F\000\000\000\000\000\000\000\000\0242\000\000\000\000\000\000\002\166\0246\000\n\024:\000\000\024>\024B\000\000\024F\018*\016\138\000\000\000\000\000\000\017\250\024J\000\000\000\000\024N\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\002\000\000\000\000\000\000\016\162\002\214\018\006\024R\000\000\016\166\014V\002\222\024V\024Z\000\000\016\170\016\174\000\000\000\000\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\r\026\000\000\018:\016\194\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016.\018Z\000\000\0162\000\000\018^\018\170\000\000\000\000\000\000\016F\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\002\166\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\016\158\016\138\000\000\000\000\003\026\017\250\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\000\000\000\000\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\000\000\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\0129\0129\0129\0129\003\026\0129\000\000\0129\0129\0129\0129\000\000\0129\0129\000\000\0129\000\000\0129\000\000\0129\0129\0129\0129\000\000\000\000\016}\000\000\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\0129\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\016}\016}\000\000\000\000\0129\016}\000\000\024\202\0032\016}\000\000\024\210\000\000\000\000\000\000\016}\000\000\0129\016}\016}\000\000\016}\016}\000\000\0129\003:\000\000\016}\003N\0129\000\000\016}\000\000\000\000\016}\000\000\016}\016}\0129\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\016}\0129\016}\000\000\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016}\000\000\000\000\000\000\0129\000\000\000\000\004\154\000\000\0129\000\000\0129\000\000\000\000\0129\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\0129\000\000\000\000\0129\016}\016}\000\000\016}\016}\004\158\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\0129\0129\004\166\000\000\000\000\025&\0129\016}\000\000\000\000\016}\016}\016}\016}\016}\000\000\000\000\000\000\016}\016}\016}\000\000\016}\016}\016}\016\r\000\000\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\016\r\000\000\000\000\000\000\016\r\000\000\000\000\0032\016\r\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\016\r\016\r\000\000\016\r\016\r\000\000\000\000\003:\000\000\016\r\003N\000\000\000\000\016\r\000\000\000\000\016\r\000\000\016\r\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\004\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\016\r\000\000\016\r\016\r\004\158\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\004\166\000\000\005\233\000\000\000\000\016\r\000\000\000\000\016\r\016\r\016\r\016\r\016\r\000\000\000\000\000\000\016\r\016\r\016\r\000\000\016\r\016\r\016\r\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\001>\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\bA\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012)\012)\012)\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\012)\012)\000\000\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\012)\000\000\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\012)\n\134\n\142\000\000\n\158\000\000\n\166\012)\n\174\n\218\002\022\n\226\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\012)\000\000\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\002\012)\000\000\000\000\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\011.\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\012)\012)\000\000\000\000\000\000\024\206\012)\012-\012-\012-\012-\000\000\012-\000\000\012-\012-\012-\012-\000\000\012-\012-\000\000\012-\000\000\012-\000\000\012-\012-\012-\012-\000\000\000\000\005\237\000\000\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\012-\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\005\237\005\237\000\000\000\000\012-\005\237\000\000\025*\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012-\005\237\005\237\000\000\005\237\005\237\000\000\012-\005\237\000\000\005\237\005\237\012-\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012-\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\005\237\012-\005\237\000\000\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\000\000\000\000\012-\000\000\000\000\005\237\000\000\012-\000\000\012-\000\000\000\000\012-\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\012-\000\000\000\000\012-\005\237\005\237\000\000\005\237\bI\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012-\012-\005\237\000\000\000\000\000\000\012-\005\237\000\000\000\000\005\237\000\000\005\237\000\000\005\237\000\000\000\000\000\000\005\237\005\237\005\237\000\000\005\237\005\237\005\237\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\000\000\n\134\n\142\000\000\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\016a\000\000\000\000\016a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0252\n\234\025N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025Z\000\000\016a\016a\000\000\000\000\n\242\016a\000\000\000\000\016\234\016a\000\000\000\000\000\000\000\000\000\000\016a\000\000\025r\016a\016a\000\000\016a\016a\000\000\011\002\016\242\000\000\016a\016\254\025\166\000\000\016a\000\000\000\000\016a\000\000\016a\016a\025\198\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\016a\025\210\016a\000\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016a\000\000\000\000\000\000\026B\000\000\000\000\017\n\000\000\026n\000\000\nA\000\000\000\000\026\158\000\000\000\000\000\000\000\000\000\000\000\000\026\170\000\000\026\214\000\000\000\000\027\210\016a\016a\000\000\016a\000\000\017\014\001\209\016a\000\000\001\209\000\000\000\000\000\000\000\000\027\222\027\246\017\022\000\000\001\209\000\000\028\002\001\209\000\000\000\000\016a\000\000\016a\000\000\000\000\000\000\001\209\001\209\016a\016a\016a\001\209\016a\016a\016a\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003V\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003^\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\138\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004~\001\209\001\209\000\000\001\209\001\209\001\209\002\150\000\000\000\000\rj\000\000\000\000\rn\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\166\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\r\130\r\142\000\000\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\002*\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\r\182\r\186\000\000\006B\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014Z\002\150\014v\000\000\rj\006N\000\000\rn\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\000\000\002\166\000\000\004\249\000\000\000\000\r\214\000\000\000\n\000\000\r\130\r\142\003\026\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014Z\002\150\014v\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\000\000\002\166\000\000\ti\000\000\000\000\r\214\000\000\000\000\000\000\r\130\r\142\003\026\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\001Y\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\006\213\001Y\014Z\000\000\014v\000\000\000\000\003\150\000\000\000\000\001Y\001Y\000\000\001Y\001Y\r\202\000\000\000\000\000\000\001Y\000\000\r\210\000\000\001Y\000\000\000\000\003\158\002\129\003\174\001Y\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\004\217\004\217\000\000\004\217\001Y\004\217\001Y\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\001M\003\166\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\001Y\000\000\004\217\001Y\001Y\001Y\001Y\001Y\000\000\001M\001M\004\217\001Y\001Y\001M\001Y\001Y\001Y\001M\000\000\000\000\000\000\000\000\000\000\001M\004\217\004\217\001M\001M\000\000\001M\001M\000\000\004\217\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\158\000\000\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001M\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\002\"\001Q\003\166\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\002:\000\000\000\000\000\000\000\000\001Q\002F\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\002>\000\000\001Q\000\000\000\000\000\000\001Q\000\000\000\000\003\158\000\000\001Q\001Q\000\000\002J\002N\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001U\003\166\000\000\001U\000\000\000\000\000\000\000\000\014A\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\001Q\001Q\001Q\000\000\001U\001U\000\000\001Q\001Q\001U\001Q\001Q\001Q\001U\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\158\000\000\003\174\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\001U\001.\001U\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003\166\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001U\000\000\002F\001U\001U\001U\001U\001U\000\000\003\142\003\182\002>\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003\150\002J\002N\001e\001e\000\000\001e\001e\000\000\002R\000\000\000\000\001e\000\000\000\000\000\000\001e\000\000\000\000\003\158\000\000\003\174\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\000\000\000\000\016E\003\198\000\000\001e\000\000\000\000\000\000\002V\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\000\000\007\150\000\000\000\000\002\181\000\000\000\000\000\000\016E\000\000\000\000\000\000\016E\001e\016E\016E\001e\001e\007\158\001]\003\166\b\162\001]\000\000\016E\000\000\000\000\016E\000\000\016E\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\003\142\003\182\000\000\001e\001e\001]\001e\001e\001e\001]\000\000\000\000\000\000\016E\000\000\003\150\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\b\174\003\158\000\000\003\174\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\016E\000\000\016E\000\000\b\178\000\000\016E\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\b\186\000\000\000\000\000\000\000\000\016E\000\000\001]\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\016E\000\000\000\000\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003\166\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\003\142\003\182\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\000\000\000\000\001a\000\000\000\000\000\000\001a\000\000\000\000\003\158\000\000\003\174\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\003\198\001.\001a\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\001i\003\166\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001a\000\000\002F\001a\001a\001a\001a\001a\000\000\003\142\003\182\002>\001a\001a\001i\001a\001a\001a\001i\000\000\000\000\000\000\000\000\000\000\003\150\002J\002N\001i\001i\000\000\001i\001i\000\000\002R\000\000\000\000\001i\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001i\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001i\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\002\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001i\001i\002\"\001q\003\166\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003\142\003\182\000\000\001i\001i\001q\001i\001i\001i\001q\002:\000\000\000\000\000\000\000\000\003\150\006B\000\000\001q\001q\000\000\001q\001q\000\000\000\000\002>\000\000\001q\000\000\006F\006J\003\190\000\000\000\000\003\158\000\000\003\174\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001q\001q\000\000\004\030\003\166\000\000\001m\000\000\t\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\001q\001q\001q\001q\001q\000\000\003\142\003\182\000\000\001q\001q\001m\001q\003\214\001q\001m\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\000\000\000\000\001m\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001m\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001m\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001m\001m\002\"\004\030\003\166\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003\142\003\182\000\000\001m\001m\001u\001m\003\214\001m\001u\002:\000\000\000\000\000\000\000\000\003\150\029\138\000\000\001u\001u\000\000\001u\004&\000\000\000\000\002>\000\000\001u\000\000\029\142\006J\003\190\000\000\000\000\003\158\000\000\003\174\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001u\001u\000\000\000\000\003\166\002\150\000\000\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\002\166\000\000\000\000\001u\001u\000\000\001u\003\214\001u\r\130\r\142\000\000\000\000\014.\014F\0152\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\003\130\r\170\r\174\003\222\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\003\254\004\006\000\000\000\000\r\190\002-\000\000\000\n\000\000\002-\000\000\000\000\000\000\000\000\000\000\004\014\r\198\000\000\002-\002-\000\000\004\022\0046\000\000\000\000\006\213\000\000\002-\000\000\014v\000\000\004>\000\000\nI\004F\000\000\004N\002-\000\000\000\000\r\202\000\000\000\000\000\000\000\129\nI\r\210\000\129\000\000\000\000\000\000\000\000\ty\000\000\000\000\r\214\nI\000\000\nI\000\000\000\000\003\026\000\000\004V\000\000\002-\nI\000\000\003\142\003\182\000\000\000\000\nI\000\129\000\000\nI\002-\000\129\000\000\nI\024\214\000\000\000\000\003\150\000\000\nI\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\003\190\000\000\nI\003\158\004^\003\174\000\129\002-\002-\000\000\000\000\004f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\003\198\nI\000\129\000\000\nI\002-\002-\000\000\004n\004v\002-\000\000\000\000\000\129\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\nI\000\000\nI\nI\000\000\nI\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\nI\003\206\000\000\000\000\000\129\000\129\000\000\000i\003\166\000\000\000i\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000i\000i\000\000\000\129\000\129\000i\000\129\003\214\000\129\000i\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\023\254\003\158\000\000\003\174\000i\000\000\000\000\000\000\000\000\000\000\000\000\000e\024\002\000\000\000e\000\000\000\000\000\000\000\000\026r\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\000i\000\000\000i\024\014\000\000\000e\000e\000\000\000\000\024\018\000e\000\000\024\026\000i\000e\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\026\002\000\000\000e\000\000\024&\003\158\000i\003\174\000e\000i\000i\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000e\024*\000e\000\000\024.\000i\000i\000\000\000i\000i\000i\000\000\000\000\000e\000\000\025~\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000e\000\000\000\000\000e\000e\000\000\000]\003\166\000\000\000]\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000]\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\007\157\003\158\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\004\030\007\157\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000]\000\000\000]\007\157\000\000\003\142\003\182\000\000\000\000\007\157\000\137\000\000\007\157\000]\000\137\000\000\007\157\000\000\000\000\000\000\003\150\000\000\007\157\000\137\000\137\000\000\000\137\004&\000\000\000\000\000\000\000\000\000\137\028\022\000\000\000\000\003\190\000\000\007\157\003\158\000]\003\174\000\137\000]\000]\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\003\198\007\157\000\137\000\000\007\157\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\137\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\007\157\000\000\007\157\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\000\000\007\157\003\206\000\000\000\000\000\137\000\137\000\000\004\030\003\166\000\000\000}\000\000\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\003\142\003\182\000\000\000\137\000\137\000}\004.\003\214\000\137\000}\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\003\190\000\000\025^\003\158\000\000\003\174\000}\000\000\000\000\000\000\000\000\000\000\000\000\000u\024\002\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\003\198\000\000\000}\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000u\000\000\024\026\000}\000u\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\024&\003\158\003\206\003\174\000u\000}\000}\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\003\198\024*\000u\000\000\024.\000}\000}\000\000\000}\003\214\000}\000\000\000\000\000u\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000u\000\000\000\000\000u\000u\000\000\000a\003\166\000\000\000a\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000a\000a\000\000\000u\000u\000a\000u\000u\000u\000a\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\025v\003\158\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000m\024\002\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\000a\000\000\000a\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000m\000\000\024\026\000a\000m\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\024&\003\158\000a\003\174\000m\000a\000a\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000m\024*\000m\000\000\024.\000a\000a\000\000\000a\000a\000a\000\000\000\000\000m\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000m\000\000\000\000\000m\000m\000\000\000q\003\166\000\000\000q\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\003\142\003\182\000\000\000m\000m\000q\000m\000m\000m\000q\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\023\254\003\158\000\000\003\174\000q\000\000\000\000\000\000\000\000\000\000\000\000\004\030\024\002\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\003\198\000\000\000q\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000\133\000\000\024\026\000q\000\133\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000\133\000\133\000\000\000\133\004&\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003\190\000\000\026.\003\158\000q\003\174\000\133\000q\000q\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\003\198\024*\000\133\000\000\024.\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\133\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\003\206\000\000\000\000\000\133\000\133\000\000\000y\003\166\000\000\000y\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\003\142\003\182\000\000\000\133\000\133\000y\000\133\003\214\000\133\000y\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\003\206\000\000\000\000\000y\000y\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\002*\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\003\213\000\000\000\000\000\000\000j\003\213\000\000\000r\002:\000\130\003\213\000\000\003\213\000\000\006B\000\000\000\138\003\213\003\213\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rF\rJ\000\000\006N\000\000\000\146\003\213\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\003\213\003\209\000\n\000\000\000\000\000\198\003\209\005q\000\206\000\000\000\222\003\209\003\213\003\209\000\162\000\000\000\000\000\230\003\209\003\209\000\000\003\213\006R\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\006\205\rN\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\006\205\000\000\002\161\000\000\000\000\006\205\000\238\003\209\000\000\003\213\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\213\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\003\209\000v\000\254\000\000\006\181\000\000\006\181\000\000\000\000\003\209\n\146\006\181\006\181\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\006\181\003\209\003\213\000\000\000\000\003\209\000\000\003\213\003\213\000\000\000\000\006\181\003\213\006\181\012=\012=\003\209\000\000\012=\006\181\000\000\006\181\006\181\006\181\000\000\000\000\003\209\006\181\000\000\000\210\006\181\003\209\006\181\000\000\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\181\011\138\000\000\012=\000\000\006\181\000Z\000\000\000\000\006\181\000\000\006\181\000\000\003\209\006\181\006\181\003\209\003\209\000\000\006\181\003\209\000\000\000\000\006\181\006\181\003\209\003\209\000\000\006\181\000\000\003\209\000\000\000\000\006\181\012=\000\000\006\181\000\000\006\181\006\181\000\000\000\000\000\000\002B\000\000\000\000\000\000\000\000\000Z\006\181\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\000\000\000\000\006\181\000\000\001\233\006\181\006\181\001\233\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\012=\001\233\001\233\006\181\006\181\000\000\001\233\000\000\006\181\006\181\001\233\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\001\233\000\000\001\233\001\233\000\000\000\000\000\000\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\001\233\017*\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\rf\001\233\000\000\001\233\000\000\002\202\000\000\002\206\000\000\0172\001\233\001\233\000\000\001\233\001\233\001\233\002\210\002\214\000\000\000\000\014f\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\011\186\006\181\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\012\014\006\181\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\006\181\006\181\002\246\006\181\000\000\000\n\006\181\000\000\012V\006\181\000\000\006\181\000\000\006\181\002\254\000\000\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\006\181\003\002\nQ\006\181\000\000\006\181\006\181\006\181\006\181\000\000\006\181\006\181\000\000\000\000\003\006\006\181\006\181\006\181\006\181\000\000\003\018\006\181\006\181\000Z\006\181\nQ\000\000\006\181\006\181\003\"\006\181\006\181\006\181\000Z\006\181\003\026\000\000\006\181\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\012\138\000\000\006\181\012\202\006\181\000Z\000\000\006\181\000Z\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\005\206\006\181\000\000\000\000\006\181\000Z\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\006\181\012\246\000\000\000\000\006\181\006\181\000Z\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\002\150\006\181\000\000\002\154\006\181\006\181\002\158\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\016J\000\000\006\181\000\000\000\000\000\000\002\166\006\181\000\000\002\170\000\000\000\000\006\181\006\181\000\000\002\182\002\186\000\000\002\194\000\000\017^\000\000\000\000\017f\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\017v\017~\000\000\002\226\002\230\002=\000\000\002\234\002\238\002=\000\000\000\000\000\000\000\000\000\000\017\134\000\000\000\000\002=\002=\000\000\017\142\017\150\000\000\000\000\002\242\000\000\002=\000\000\000\000\002\246\017\158\000\000\000\n\017\166\000\000\017\174\002=\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\182\000\000\002=\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\nQ\002=\000\000\000\000\000\000\000\000\003\"\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\000\000\000\000\002=\000\000\000\000\0015\017\198\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\003\142\003\182\000\000\002=\002=\0015\017\206\017\214\002=\0015\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\000\000\000\000\0015\000\000\000\000\000\000\003\190\000\000\000\000\003\158\001\029\003\174\0015\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\000\003\198\001\029\0015\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\003\150\000\000\0015\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003\158\000\000\003\174\001\029\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0015\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\001\029\0015\0015\000\000\0015\003\214\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\025\003\166\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\001\025\001\025\000\000\001\029\001\029\001\025\001\029\001\029\001\029\001\025\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\158\001\017\003\174\001\025\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\001\025\001\017\001\025\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\025\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\003\158\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\001\017\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\004\030\003\166\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\003\142\003\182\000\000\001\017\001\017\001=\001\017\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001=\001=\000\000\001=\004&\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\003\190\000\000\000\000\003\158\004\030\003\174\001=\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\003\198\0011\001=\000\000\000\000\0011\000\000\000\000\000\000\000\000\000\000\003\150\000\000\001=\0011\0011\000\000\0011\0011\000\000\000\000\000\000\000\000\0011\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\0011\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001=\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\0011\001=\001=\000\000\004.\003\214\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0011\000\000\000\000\001)\003\166\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\003\142\003\182\000\000\0011\0011\001)\0011\003\214\0011\001)\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\158\001\021\003\174\001)\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\000\000\003\198\001\021\001)\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001)\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\158\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\001\021\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\001!\003\166\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\003\142\003\182\000\000\001\021\001\021\001!\001\021\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\158\001%\003\174\001!\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\001!\001%\001!\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\003\150\000\000\001!\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003\158\000\000\003\174\001%\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001%\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\001%\001!\001!\000\000\001!\001!\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\004\030\003\166\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\003\142\003\182\000\000\001%\001%\0019\001%\001%\001%\0019\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0019\0019\000\000\0019\004&\000\000\000\000\000\000\000\000\0019\000\000\000\000\000\000\003\190\000\000\000\000\003\158\001-\003\174\0019\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\003\198\001-\0019\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\003\150\000\000\0019\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001-\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0019\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001-\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\000\000\000\000\001-\0019\0019\000\000\0019\003\214\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001-\nQ\000\000\000\000\003\166\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\001-\000\000\001-\000\000\000\000\002\202\000\000\002\206\000\000\001-\001-\000\000\001-\001-\001-\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\002\242\000\000\000\000\002\166\000\000\002\246\002\170\000\000\000\n\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\006\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\023\254\000\000\000\000\003\"\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\024\002\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\024\006\000\000\024\n\012\145\012\145\000\000\000\000\002\254\000\000\000\000\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\003\002\024\026\000\000\000\000\000\000\024\030\000\000\007\242\000\000\000\000\007\250\024\"\000\000\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\023\254\012\145\000\000\024&\003\"\000\000\000\000\b\n\b\018\000\000\003\026\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\026\024\006\000\000\024\n\0025\000\000\b\"\b*\012e\000\000\012\145\024\014\024*\000\000\000\000\024.\b2\024\018\000\000\b:\024\026\bB\000\000\000\000\024\030\000\000\000\000\000\000\0242\000\000\024\"\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\026\238\000\000\000\000\012e\000\000\024&\024J\bJ\006\181\024N\000\000\000\000\000\000\006\181\000\000\001\026\000\000\000\000\006\181\000\000\006\181\000\000\000\000\000\000\024R\006\181\006\181\000\000\000\000\024V\024Z\012\145\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\000\000\000\000\0025\000\000\0242\000\000\bZ\000\000\006\181\0246\000\n\024:\006\181\024>\024B\000\000\024F\000\000\000\000\000\000\0025\000\000\000\000\024J\0025\0025\024N\006\181\006\181\000\000\000\000\000\000\006\014\000\000\000\000\bb\bj\000Z\000\000\000\000\006\181\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\006\181\000\000\000\000\000\000\000\000\006\181\006\181\002\150\000\000\000\000\002\154\000\000\000\000\002\162\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\006\181\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\t^\006\181\002\194\000\000\000\000\000\000\006\181\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\006\181\000\000\000\000\006\181\006\181\002\150\000\000\006\181\002\154\000\000\000\000\002\162\006\181\006\181\002\242\000\000\000\000\006\181\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\tN\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003\022\002\150\002\234\002\238\002\154\000\000\003\026\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\t6\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\014\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003\022\002\150\000\000\000\000\002\154\000\000\003\026\002\162\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003\022\000\000\002\234\002\238\006\181\000\000\003\026\000\000\000\000\006\181\000\000\004\254\006\181\000\000\006\181\000\000\006\181\006\181\000\000\005R\002\242\006\181\006\181\000\000\006\181\003\n\006\181\000\000\000\n\006\181\006\181\006\181\000\000\005\154\000\000\000\000\006\181\002\254\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\006\181\003\002\000\000\000\000\000\000\006\181\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\003\014\000\000\000\000\006\181\000\000\000\000\003\018\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\003\022\000\000\006\181\006\181\006\181\000Z\003\026\000\000\006\181\000\000\000\000\000\000\000\000\000Z\006\181\000\000\006\181\006\181\006\181\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000Z\000\000\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\007\002\006\181\006\181\000\000\000\000\000Z\006\181\006\181\006\181\006\181\000\000\000\000\000\000\000\000\000\000\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\t\002\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\004\193\006\181\006\181\004\193\006\181\006\181\004\193\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\004\193\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\004\193\004\193\006\181\000\000\000\000\004\193\004\193\004\193\000\000\000\000\000\000\004\193\004\193\000\000\000\000\004\193\004\193\006\181\006\181\000\000\000\000\000\000\t\134\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\181\000\000\000\000\004\193\000\000\000\000\000\000\000\000\004\193\006\181\000\000\004\193\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\006\181\004\193\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\002\150\004\193\000\000\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\006\181\000\000\002\170\006\181\006\181\000\000\000\000\006\181\002\182\rr\000\000\002\194\006\181\006\181\000\000\000\000\000\000\006\181\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\0166\000\000\002\194\000\000\002\254\000\000\026\218\000\000\026\226\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\026\234\000\000\000\000\002\210\002\214\027\n\000\000\000\000\002\218\001\150\002\222\003\014\024\002\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\024\006\000\000\024\n\003\022\000\000\000\000\000\000\000\000\000\000\003\026\024\014\000\000\000\000\002\242\000\000\000\000\024\018\000\000\003\n\024\026\000\000\000\n\000\000\024\030\000\000\000\000\000\000\000\000\000\000\024\"\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\024&\027\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\022\000\000\000\000\000\000\000\000\000\000\003\026\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\002\166\000\000\000\000\002\170\000\000\024J\000\000\000\000\024N\002\198\007:\000\000\002\194\000\000\000\000\023\254\000\000\000\000\000\000\002\202\000\000\002\206\000\000\024R\000\000\000\000\000\000\024\002\024V\024Z\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\024\006\000\000\024\n\007V\007Z\000\000\000\000\007^\002\238\000\000\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\026\000\000\000\000\000\000\024\030\000\000\007b\000\000\000\000\000\000\024\"\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\025z\000\000\007n\000\000\023\254\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\007r\024\006\000\000\024\n\000\000\000\000\007z\000\000\012e\000\000\024*\024\014\000\000\024.\000\000\007~\000\000\024\018\000\000\000\000\024\026\003\026\000\161\000\161\024\030\000\000\0242\000\000\000\000\000\000\024\"\0246\000\n\024:\000\000\024>\024B\003\150\024F\000\000\000\000\026J\000\000\000\161\000\161\024J\024&\000\000\024N\000\000\000\000\000\000\000\000\000\161\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\023\254\000\000\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\024\002\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\000\000\000\000\000\000\000\000\024\018\000\000\024J\024\026\000\000\024N\000\000\024\030\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\161\000\000\000\000\000\000\000\000\024R\000\000\003\166\000\000\026\178\024V\024Z\012e\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\153\024F\000\000\000\000\000\000\000\000\000\153\000\153\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\000\153\000\000\000\000\003\158\000\000\000\153\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\153\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003\166\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\153\000\000\002*\000\000\029\138\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\153\000\153\029\142\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\138\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\002>\000\000\000\000\000\000\029\142\006J\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006N\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\005\001\000\000\029\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\138\000\000\000\000\000\000\t\133\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029\142\006J\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006N\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\002\"\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\rj\000\000\002:\rn\000\000\000\000\002*\000\000\006Z\000\000\000\000\000\000\002\145\000\000\000\000\000\000\000\000\002>\000\000\002\166\000\000\006F\006J\000\000\000\000\000\000\002:\000\000\r\130\r\142\000\000\000\000\029\154\000\000\000\000\000\000\000\000\000\000\002\202\006N\002\206\002>\000\000\000\000\000\000\029\142\006J\000\000\000\000\r\162\002\214\000\000\000\000\000\000\r\166\001\150\002\222\000\000\000\000\000\000\r\170\r\174\000\000\006N\r\178\000\000\000\000\000\000\000\000\002\150\000\000\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\158\016\138\000\000\000\000\000\000\000\000\t\177\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\162\002\214\r\202\000\000\000\000\016\166\001\150\002\222\r\210\t\149\000\000\016\170\016\174\000\000\t\t\016\178\000\000\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\t\t\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\000\000\t\t\016\186\t\t\000\000\000\n\000\000\000\000\000\000\000\000\000\000\t\t\000\000\000\000\016\194\000\000\000\000\t\t\000\000\000\000\t\t\000\000\000\000\000\000\t\t\000\000\000\000\026F\000\000\000\000\t\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\198\024\002\000\000\000\000\000\000\000\000\016\206\000\000\t\t\027\018\000\000\000\000\024\006\000\000\024\n\016\210\000\000\000\000\000\000\000\000\000\000\003\026\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\026\000\000\026\174\000\000\024\030\000\000\000\000\000\000\t\t\000\000\024\"\t\t\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\t\024\006\024&\024\n\000\000\t\t\t\t\t\t\000\000\t\t\t\t\024\014\t\t\000\000\000\000\000\000\000\000\024\018\000\000\t\t\024\026\000\000\t\t\000\000\024\030\000\000\000\000\023\254\000\000\000\000\024\"\000\000\000\000\024*\000\000\000\000\024.\t\t\000\000\024\002\000\000\000\000\t\t\t\t\000\000\000\000\024&\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\000\000\000\000\000\000\000\000\024\018\000\000\024J\024\026\000\000\024N\000\000\024\030\000\000\000\000\000\000\024*\000\000\024\"\024.\000\000\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\0242\000\000\027\226\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\023\254\000\000\000\000\000\000\000\000\000\000\024*\000\000\000\000\024.\024R\016)\024\002\000\000\000\000\024V\024Z\000\000\000\000\000\000\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\016)\016)\000\000\000\000\000\000\000\000\024J\024\026\r\238\024N\000\000\024\030\000\000\000\000\000\000\016)\000\000\024\"\000\000\000\000\000\000\016)\016)\000\000\024R\r\246\000\000\000\000\014\002\024V\024Z\016)\000\000\024&\016)\000\000\016)\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\016)\024*\000\000\000\000\024.\000\000\000\000\000\249\000\000\000\000\000\249\000\000\000\000\002\"\000\000\000\000\000\000\0242\000\000\000\000\014\014\000\000\0246\028\014\024:\000\000\024>\024B\002*\024F\000\000\003\142\003\182\000\000\000\000\000\000\024J\000\000\000\000\024N\016)\000\000\000\000\000\000\000\000\014\018\003\150\016)\002:\000\000\000\249\000\000\000\249\000\249\024R\000\000\014\026\000\000\000\000\024V\024Z\016)\003\190\002>\000\000\003\158\000\225\003\174\016)\000\225\000\000\000\000\000\000\000\000\000\000\000\000\016)\016)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\006\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\225\000\221\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\249\000\000\000\000\000\000\003\166\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\249\000\000\000\000\003\150\000\249\000\249\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\249\003\214\000\000\000\000\000\221\000\000\000\000\003\158\000\213\003\174\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003\166\000\000\000\213\000\213\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\213\000\225\000\225\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\225\000\225\004\030\000\000\000\213\001\001\000\000\003\158\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\221\000\000\000\000\003\150\000\221\000\221\000\000\001\001\000\000\001\001\004&\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\000\003\190\000\000\000\000\003\158\004\030\003\174\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003\150\000\213\000\213\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\213\000\213\000\237\000\000\003\190\000\237\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001\001\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001\001\000\000\000\000\003\150\001\001\001\001\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\004.\003\214\000\000\000\000\000\237\000\000\000\000\003\158\000\217\003\174\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\245\000\000\000\000\000\000\003\166\000\000\000\217\000\217\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\217\000\245\000\245\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\245\003\214\000\229\000\000\000\217\000\229\000\000\003\158\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\237\000\000\000\000\003\150\000\237\000\237\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\229\000\000\000\000\003\158\000\233\003\174\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\003\150\000\217\000\217\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\217\000\217\004\030\000\000\000\233\000\253\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\000\229\000\000\000\000\003\150\000\229\000\229\000\000\000\253\000\000\000\253\004&\000\000\000\000\000\000\000\000\000\229\000\229\000\000\000\000\003\190\000\000\000\000\003\158\000\241\003\174\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\003\150\000\233\000\233\000\000\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\233\000\233\004\030\000\000\003\190\000\000\004\030\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\253\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\003\198\000\000\000\253\000\000\000\000\003\150\000\253\000\253\000\000\003\150\000\000\000\197\004&\000\000\000\000\000\185\000\185\000\253\003\214\000\000\000\000\003\190\000\000\000\000\003\158\003\190\003\174\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\241\000\000\000\000\000\000\003\166\000\000\000\000\000\177\000\000\000\000\003\198\000\000\000\000\000\000\003\198\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\003\206\000\000\000\177\000\177\003\206\000\000\000\157\003\166\000\000\000\000\000\169\003\166\000\177\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\185\000\000\000\000\000\197\000\000\000\157\000\157\000\185\000\000\003\142\003\182\004.\003\214\000\000\000\000\000\185\003\214\000\000\000\000\003\198\000\157\000\000\000\000\000\000\003\150\000\000\000\157\000\157\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\157\000\000\000\000\003\158\000\169\000\157\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\173\003\166\000\000\000\157\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\157\000\000\000\173\000\173\000\169\000\000\004\030\003\166\000\000\000\000\000\181\003\166\000\173\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\169\000\000\000\000\000\157\000\000\003\142\003\182\000\169\000\000\003\142\003\182\000\157\000\157\000\000\000\000\000\169\000\169\000\000\000\000\003\198\003\150\000\000\000\000\000\000\003\150\000\000\000\193\004&\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\000\003\190\000\000\000\000\003\158\003\190\003\174\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\003\198\000\000\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\003\206\000\000\000\000\003\166\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\193\003\214\000\000\000\000\000\181\000\181")) let lhs = - (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\006\001\006\001\006\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\004\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\003\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\002\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\254\000\254\000\254\000\253\000\253\000\253\000\252\000\252\000\252\000\251\000\251\000\251\000\250\000\249\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\244\000\244\000\243\000\243\000\242\000\241\000\241\000\240\000\240\000\239\000\239\000\239\000\238\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\227\000\226\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\219\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\212\000\211\000\211\000\211\000\211\000\210\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\209\000\208\000\207\000\207\000\206\000\206\000\206\000\205\000\205\000\204\000\204\000\204\000\203\000\203\000\202\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\195\000\195\000\194\000\193\000\192\000\192\000\191\000\191\000\190\000\190\000\190\000\189\000\188\000\187\000\187\000\186\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\182\000\182\000\181\000\180\000\180\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\172\000\171\000\171\000\170\000\170\000\170\000\170\000\169\000\169\000\169\000\169\000\168\000\168\000\168\000\168\000\168\000\167\000\166\000\166\000\166\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\158\000\158\000\158\000\158\000\158\000\157\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\128\000\127\000\127\000~\000~\000}\000}\000|\000|\000{\000z\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000y\000x\000w\000v\000u\000t\000s\000r\000q\000p\000o\000o\000o\000n\000n\000n\000m\000m\000m\000m\000l\000k\000j\000i\000h\000g\000f\000f\000e\000e\000e\000d\000d\000c\000c\000c\000b\000b\000a\000`\000`\000`\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000W\000V\000V\000U\000U\000T\000T\000S\000S\000S\000S\000S\000R\000R\000Q\000Q\000Q\000Q\000P\000O\000N\000N\000N\000M\000M\000M\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000E\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000B\000B\000B\000B\000A\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000@\000?\000>\000=\000<\000;\000;\000:\0009\0009\0009\0009\0009\0009\0009\0008\0008\0008\0008\0008\0008\0007\0006\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000#\000#\000#\000#\000\"\000\"\000\"\000\"\000\"\000!\000 \000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013") + (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001(\001(\001(\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001 \001\031\001\031\001\031\001\030\001\030\001\030\001\029\001\029\001\029\001\028\001\028\001\028\001\027\001\026\001\025\001\024\001\024\001\023\001\023\001\022\001\022\001\021\001\021\001\020\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\248\000\247\000\247\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\240\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\236\000\236\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\211\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\208\000\208\000\208\000\208\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\201\000\201\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\192\000\192\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\182\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\150\000\149\000\149\000\148\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\146\000\146\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\134\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r") let goto = - ((16, "\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\001\029\001\230\000\000\000\215\000\191\000\000\000\000\000\000\000:\000\000\000B\000j\000\000\000\000\002,\000\000\002F\000\000\000\000\000\000\003n\000\000\003\132\000\000\000\000\000\000\000\000\003\194\000\000\004\018\004l\000\000\000\000\004\228\000\000\005.\000\000\000\000\000\000\005\158\000\000\005\246\000\000\005\252\000\000\006\198\007\020\000\000\000\000\007D\000\000\007\174\000\000\000\014\000\000\000\000\000\000\007\202\000\000\007\218\000\000\000\000\008\014\000\000\008*\000\000\000\000\000\000\008\182\000\000\001\200\008\222\000;\000\000\000\000\000\000\002*\000\022\000\204\000\000\000\000\t\006\000\000\0003\000\000\000#\000\231\004J\000\000\000\000\025R\000\000\0006\000\000\000*\000\156\005,\000\017\014h\t\128\012\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\212\000\017\000\000\000\000\027\224\000\000\029X\000\000\005\164\000\000\000\000\000\000\000\000\000h\000\000\018\218\000\000\000\000\017\024\000\000&R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\180\000\000\001\228\000\000\004r\000\000\011h\000\000\015P\000\000\015\134\000\000\018\138\000\000\021\198\000\000\029\150\000\000\031\254\000\000\006\224\000\000\000t\000\000\000\000\000\000\000\000\000\000\"\254\000\000$\002\000\000$<\000\0003\148\000\000\000\00046\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\tD\000\000\000\000\td\000\000\tz\t\132\000\000\000\000\t\180\000\000\t\202\000\000\000\000\000\000\t\234\000\000\t\238\000\000\000\000\t\246\000\000\n\128\n\156\000\000\000\000\n\178\000\000\n\184\000\000\000\000\000\000\011\006\000\000\011\020\000\000\011\030\000\000\011\"\011&\000\000\000\000\011*\000\000\0118\000\000\000\132\011<\000\000\011F\000\000\011J\000\000\011L\000\000\000\000\000\000\011P\000\000\011V\006\128\000\000\011X\000\000\000b\000\220\000\000\000\164\000\000\001\226\000\000\000\000\003\208\000\000\000\000\000\233\000\240\000\000\000\000\000\000\000\000\002\008\000\000\002\142\000\000\005B\000\000\007~\000\000\000\000\000\000\000\000\000\000\000\000\007\166\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000\000\000\000\000\000\027\002\214\tJ\000\000\011`\000\000\011b\022V\000\000\011r\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000$>\000\000/\018\000\000\000\000\000\000\003x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\140\000\000\000\000\000\000\000\000\000\000\000\000\000P\012\022\000\000\006\148\000\000\013\170\019\030\000\000\000\000\000\000\003\212\000\000 :\000\000\000\000/\132\000\000\000\000\000\000\004\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004L\000\0004N\000\000\000\000\000\000\000\000\000\201\000\000\000\000/\218\000\000\000\000\000\000\011T\000\134\000\000\000\000\000\000\000\000\000\000\000\000\020\128\000\000\024Z\000\000\025\022\000\000\026F\000\000\0314\000\000#\194\000\000'\020\000\000(\156\000\000*\226\000\000+6\000\000\t,\000\000\014(\000\000-f\000\000-\166\000\000/X\000\000\000\000\000\000\000\000\000\000\001\2460\016\000\000\002R\000\000\000\000\000\n\002\134\000\000\002Z\000\000\000\000\000\000\007\176\000\000\000\000\000\000\016>\000\000\000\000\000\000\000\000\000\000\021\144\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\000\000\000\000\000\011t\025J\000\000\011x\000\000\000\000\000\000\000\000\000\000\011~\000\000\000\000\000}\003\182\000\000\003\224\000\000\000\000\000\000\000\176\000\000\012\158\000\019\011\162\000\000\000\000\011\170\000\000\011\172\011\202\000\000\000\000\011\206\000\000\011\208\000\000\000\000\000\000\011\216\000\000\011\226\000\000\000\000\011\238\000\000\011\246\012\000\000\000\000\000\012\002\000\000\012\004\000\000\000\000\000\000\012\006\000\000\012\024\000\000\012\028\000\000\012\030\012&\000\000\000\000\0128\000\000\012:\000\000\005\154\012>\000\000\012B\000\000\012F\000\000\012N\000\000\000\000\000\000\012V\000\000\001\248\000\000\000\000\012X\027\022\000\000\012`\000\000\000\000\000.\000\000\000\000\000p\000\000\000\000\000\000\000\000\000\000\005\194\028\188\000\000\012h\000\000\012j\030\128\000\000\012l\000\000\000\000\013j\012v\000\000\000\000\012~\000\000\012\132\012\134\000\000\000\000\012\136\000\000\012\138\000\000\000\000\000\000\012\140\000\000\012\142\000\000\000\000\012\148\000\000\012\164\012\172\000\000\000\000\012\176\000\000\012\186\000\000\000\000\000\000\012\188\000\000\012\192\000\000\012\194\000\000\012\212\012\220\000\000\000\000\012\236\000\000\012\242\000\000\005\198\012\250\000\000\013\000\000\000\013\008\000\000\013\n\000\000\000\000\000\000\013\018\000\000\013\022#\134\000\000\013\030\000\000\000\000\006\144%\024\000\000\013*\000\000\013,-\224\000\000\013.\000\000\000\000\000\000\000\000\000\000\000\000\000\0000f\000\000%,\000\0000\156\000\000\000\000\002\154\000\000\006\198\000\000\000\226\n\002\027\208\000\000\000\000\000\000\n\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tv\027\208\000\000\015~\000\000\017\230\012\250\000\000\000\000\000\000\006\146\000\000 \210\000\000\000\0000\226\000\000\000\000\000\000\006\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\146\000\0004\204\000\000\000\000\000\000\003\216\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\003F\000\000\018\"\000\000\022\028\000\000 \200\000\000!\130\000\000$\194\000\000,\026\000\000/h\000\0000j\000\000\026R\000\000\002\234\000\0002\012\000\0004\188\000\0004\246\000\000\030\176\000\000\000\000\000\0000\252\000\000\000\000\000\000\000\022\000\0001\"\000\000\000\000\000\0001n\000\000\000\000\000\132\000\000\024\142\000!\004\170\000\000\0062\000\000\013 \002,\0070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\178\000\000%t$6\007`\000\000\000\000\000\000\031\240\000\000(\230\000\000)<\000\000%\198&\030\001\"\003 \008\008\000\000\000\000\000\000\003\212\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002t\000\000\000\000\000\000\000\000\000\000!R\000\000&p\000\000\000\000\000\000\000\000\000\000\000\000\013\148\000\000\006\138\000\000\000\000\000\000\000\000\006\238\004\172\000\000\000\000\023\184$\142\000\000\008x)\250\000\000\000\000&\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\230&\194\000\000\019\148\000\000\026\134\018\208(\168\000\000\019n\000\000\000\000\000\000\008 \000\000\"$\000\000\000\0002\142\000\000\000\000\000\000\008\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\184\000\0003\004\000\000\000\000\000\000(h\000\000\000\000)\174\000\000\000\000\000\000\000\000\008\224\000\000\000\000\000\000,P\000\000\000\0003\000\000\000\003F\000\000\000\000\000\000\003\158\000\000\007\148\000\000\t*\000\000\t\218\000\000\015\174\000\000\016d\000\000\020\162\000\000\0210\000\000\023\204\000\000\029\206\000\0004,\000\0005<\000\0005F\000\000\000\000\000\000\000\000\000\000*\130\000\000\012\156\000\000\023:\002Z\000\000\024\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\194\000\000\000\000\000\000\000\000\004\008\000\000\004\200\000\000\000\000\021\244\000\000\000\000\000\000*\154\000\000\000\000\000\000\000\000\000\000\030*\000\000\000\000\000\000\000\000*\190\000\000\000\000\000\000\000\000\000f\008\242\000\000+\012\000\000\000\000\000\000\000\000\0258\002\146\000\000\025\214\000\000\000\000\nn\000\000+0\000\000\000\000\000\000\000\000\000\000\006f\000\000\000\000\014\224\000\000\026\128\000\000\000\000\"n\000\000\000\000\000\000\004\134\000\000\000\000\006\014\000\000\000\000!n\000\000\000\000\000\000+\162\000\000\000\000\000\000!\142\000\000\000\000\000\000\000\000+\200\000\000\000\000\000\000\000\000\004v\011\174\000\000,T\000\000\000\000\000\000\000\000\000\000\000\000\015J\000\000\000\000\007\196\000\000\015x\000\000\004\134\000\000\000\000\004\228(\204\000\000\007R\000\000\000\000\000\000\000\000\003\216\000\000&\184\000\000\027\030\001\194\027h\000\000\004<\000\000\016.\000\000\017$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008b\028d\002$\028\240\000\000\000\000\000\000\002n\000\000\017\208\000\000\tB\000\000\000\000\011>\002L\029Z\000\000\005z\000\000\018\002\029\234\000\000\000\000\018z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tF\008z\000\000\tT\000\000\000\000\000\000\000\000\t\018\000\000\019\196\000\000\000\000\000\000\"\2383D\000\000\000\000\000\000 \194\000\000\000\000\000\000\000\000\008r\007\000\000\000\000\000,\176\000\000\000\000\005F\000\000\0088\000\000\000\000!\214\000\000\000\000\000\000,\180\000\000\000\000\000\000\000\000,\234\000\000\000\000\006:\008\162\000\000\000\000-@\000\000\000\000\t\160#x\000\000\008\244\000\000\000\000-\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000#v\000\000\000\000\000\000\000\n\000\000\000\000\t\202\000\000\000\000%\190\000\000\000\000\000\000-\240\000\000\000\000\000\000\000\000.>\000\000\000\000\006b\t\236\000\000\000\000.b\000\000\000\000\t\204\000\000\000\000\000\000\000\000\003\216\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005r\000\000\020.\000\000\000\000\000\0003H\000\000\008\228\000\000\000\000\000\000\005\174\000\000\000\000\004\022\020\204\000\000\021\022\000\000\000\000\000\000\004\190\000\000\012\212\007p\025\138\000\000\029h\000\000\000\000\000\000\t`\000\000'\174\n2'\220\000\000(L\000\000\000\000\000\000\nB\000\000!\002\nt\000\000\000\000\000\144\nn\n\172\004\252\000\000\019*\000\000\000\000\000\000\n\228\000\0000 \011\"\000\000\000\000\000\000\001\154\000\000\000\000\000\000\006X\000\000\000\000\000\000\000\000\000\000\000\000\013\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\230\000\000\000\000\007Z\000\000\000\000\013\234\000\000\000\000\000\000\000\000\008\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\238\000\000\000\000\013\204\000\000\000\008\000\000\000\000\000A\000\000\001\160\013\138\003\202\000\000\000\000\006\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\020\002\134\000\000\000\000\011*\000\000\000\000\000\000\007\012\000\000\000\000\t\140\013\168\000\000\000\000\000\000\000\000\014d\014\186\000M\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\006\152\000\000\000\000\005\016\000\000\000\000\013V\000\000\000\000\002\204\000\000\000\000\007\146\000\000\007\166\014\n\004\136\000\000\000\000\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\162\015\196\000\000\000\000\000\000\000\000\017\252\000\000\000\000\006\228\000\000\000\000\007\216\000\000\000\000\015`\020|\002\158\000\000\020\192\000\000\000\000\000\000\000\000\013\216\000\000\000\000\000\000\002x\000\000\0088\007$\007\016\000\000\000\000\000\000\000\000\007\182\000\000\000\000\000\000\000\000\000\000\000\000\000\214\000\000\000\000\0118\000\000\t\008\014\022\006\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002^\000\000\000\000\011F\021\006\000\000\000\000\000\000\000\000\008\154\000\000\013\226\012V\000\000\008\238\000\000\000\000\000\000\000\000\000\000\004H\016\206\000\000\000\000\017\004\000\000\000\000\000\000\000\000\003\150\000\000\020(\000\000\000\000\000\000\000\000\002\130\000\000\000\000\000\000\000\183\000\000\000\000\003\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\212\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000X\005\128\007\134\t\138\000\000\t4\tp\tt\t\132\000\000\000\000\000\000\000\000\000\000\000\000\007@\021\180\000\000\030\228\t~\000\000\000\000\t\194\000\000\022\186\000\000(\194\000\000\000\000\007\196\023<\000\000\031t\000\000\tj\031\222\000\000\000\000\000\000\005\018\n\200\000\000\000\000\000\000\000\000\n*\000\000\001\254\000\000\006\164\011\220\000\000\000\000\000\000\002\008\000\000\002\142\000\000\007\240\000\000\000\000\t\224\000\000\000\000\000\000\000\000\t`\000\000\000\000\n\030\000\000\023\176\000\000\029*\013\220\000\000\000\000\000\000\000\000\000\000\006D\000\000\000\000\000\000\000\000\000\000.\238\000\000\000\133\000\000\000\000\000\000\000\000\000\000\001\160\000\000\n\172\n2\011\022\000\000\002\168\011\142\000\000\011:\000\000\003\184\000\000\0040\000\000\004\154\000\000\029*\000\000\000\000\000\000\000\000\000\000\005\228\000\000\011^\000\000\006N\000\000\029*\0140\000\000\002\182\000\000\014&\013\022\000\000\005\232\000\000\n\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011<\000\000\011b\000\000\000\000\000\000\000\000\000\000\000\000\014,\000\000\000\000\013<\000\000\000\000\013\030\t(\014L\000\000\014T\000\000\000\000\n^\008\234\000\000\013L\000\000\000\000\013\132\000\000\000\000\000\000\000\000\000\000\000\000\014P\000\000\000\000\000\000\013^\013L\n\158\n\246\013|\013\178\000\000\000\000\013h\n\208\0118\013\136\013\192\000\000\000\000\n\212\000\000\000\000\000\000\000\000\014\136\000\000\000\000"), (16, "\002\179\002\202\000Y\000[\001\219\000_\000Y\000`\000\132\000_\005o\006\139\000\141\002.\006\140\000Y\0051\000\006\0011\003X\004Q\0049\0027\000Y\003\012\003\013\005\148\005_\005m\000\011\006\030\006\031\005p\005_\001(\001\134\000a\001a\001\206\001\197\000a\000\t\000\n\001a\0020\001x\005l\000\018\000D\004\005\006-\002\181\001<\006.\000\n\002\182\001a\000\134\001v\000\017\002\179\002\202\000\135\0024\005m\006\144\000\136\006W\005p\005_\003\235\0062\000D\006X\000\132\000Y\000D\0020\000\133\006Y\000Y\004\004\0011\001\007\001\228\005`\000\134\001*\0023\001c\000\145\005`\000\134\001d\000\132\001c\0022\001\135\000\141\001d\004\128\001\230\002\207\000Y\001\175\000\134\000\132\003X\001c\004\005\000\133\002\181\001d\001\186\000a\002\182\003\248\000D\004\238\001q\006+\0023\001}\000\134\001)\001q\006+\005`\000\135\002\179\002\249\000D\000\136\000Y\000[\000\\\000_\005#\001q\003G\001\207\000Y\001\008\000\134\000_\004\244\001\188\000D\000\135\002\195\005\229\000Y\000\136\006[\003L\000\134\000\145\000b\003M\004\012\000\135\002\196\004\130\004_\000\136\005f\001\006\000a\005\230\000\146\001\006\005\233\005_\004M\006\\\000a\000\145\001)\000\134\000b\002\181\000E\004&\000\021\002\182\001\211\001N\000\025\000\145\003Q\001\t\000\147\0010\004:\001\t\004Y\0010\001\192\001r\003G\004\020\001\209\001\137\004p\001r\0041\002\211\000\024\001\020\002\195\000D\001\189\002B\000\197\003L\001\198\000\177\001r\003M\004\012\006]\002\196\001\021\004\216\002\179\002\202\000\138\002\212\001\128\006^\005`\005|\002\213\006w\001\231\000\146\002\214\006\145\000\149\000Y\000\245\002\215\000\178\006Y\006\146\004\004\000\179\004\012\0025\003Q\001\138\001\230\000\151\004\015\006y\000\146\000b\000\147\000\132\000Y\004\020\004S\000\133\006{\001\135\0041\002\211\000\146\001\t\001?\0010\001\139\001\177\004\005\000Y\002\181\001\140\000\147\002\195\002\182\001\141\005$\000\175\000Y\006\165\001\142\000Y\002\212\004\020\000\147\002\196\004\025\002\213\0041\002\179\002\202\002\214\001\006\005z\001\208\001.\002\215\000\177\004\239\000\149\001\006\000D\000\134\000Y\000Y\004e\001\217\000\135\003X\004Q\0049\000\136\003t\000\151\0033\003x\001\t\000D\0010\000\149\000D\005d\004\241\000\178\001\t\004r\0010\000\179\006\166\005{\005\241\000\149\001\022\000\151\001\023\000\145\000\197\000a\004\005\006n\002\181\005\229\004e\001\175\002\182\000\153\0036\0037\0039\000Y\004\001\002\179\002\202\001\180\002\179\002\180\005\213\005e\003G\005\230\004\002\003F\005\233\005_\005\130\003y\000Y\002&\002\195\003z\006Y\006\151\0049\003L\005\211\005\214\005_\003M\004\012\006\167\002\196\006\026\005\131\005_\002\179\002\180\001\182\000D\006^\004|\004`\002\207\006\169\001\175\005\202\005_\001\207\005\166\006\230\001\180\004\005\004[\002\181\000\134\001\186\002\181\002\182\006\231\003Q\002\182\000b\006\002\004\015\006\171\000\146\005\167\006\162\005\170\005_\004\020\0027\005`\006\173\000D\0041\002\211\0033\000\027\003G\001'\002\179\002\180\001\181\000\134\005`\002\181\000\147\001\187\002\195\002\182\000\029\005`\001\183\003L\000\197\003\160\002\212\003M\004\012\004g\002\196\002\213\004b\005`\001\012\002\214\005f\001\223\0035\000\197\002\215\003\135\004M\006q\003\206\006r\001\183\006g\000\197\006h\003\163\000\197\006\028\003\136\003t\006\008\005`\003x\003Q\000\134\004\252\002\181\004:\000\149\004Y\002\182\004j\002\179\002\202\004\020\003G\001\t\004p\0010\0041\002\211\001\"\000\155\003\166\005\210\002\195\000Y\000Y\002\195\000D\003L\006Y\006\151\0049\003M\004\012\006\157\002\196\006\018\000Y\002\196\002\212\005\211\005\214\005_\006^\002\213\000Y\000\134\003O\002\214\005\246\003y\005s\006\239\002\215\003z\0016\002\195\003\209\005S\004\005\001\185\002\181\000\197\003Q\003\168\002\182\0030\004:\002\196\006\159\002\179\002\202\005\134\000D\004\020\006\156\005Q\006\161\003\169\0041\002\211\005T\005_\000\132\003Z\000Y\003\167\000\141\006\002\006Y\006\151\0049\006#\006$\001\028\000D\004S\0027\004\254\003\235\005`\002\212\002\195\000\132\002\212\005\182\002\213\000\133\001\021\005\229\002\214\000!\006(\002\239\002\196\002\215\0031\001\180\002\217\004\005\0011\002\181\000#\002\179\002\202\002\182\005t\005\230\003\012\003\013\005\233\005_\000\134\002B\002\212\006\158\001I\000\135\000Y\003\166\005`\000\136\006Y\006\151\0049\005\173\003\135\003Z\002\215\003G\002\210\001\204\000\134\000(\0042\005\166\0032\000\135\003\136\002\195\006\n\000\136\003\235\005\174\003L\000\145\003Z\006+\003M\004\012\006\157\002\196\004\005\005\167\002\181\005\170\005_\003\218\002\182\006^\002\212\000D\001f\003O\005\006\000\145\000D\000Y\006\160\005`\006\013\003X\000D\000,\002\219\000D\000\132\000Y\000Y\003Q\000\141\005\008\0065\004:\000b\006\159\0031\006\023\000b\003G\004\020\003\236\001\225\006\161\000\197\0041\002\211\005\160\001\031\002\195\001+\005#\000Y\001\022\003L\001\023\003\168\000\197\003M\004\012\006\157\002\196\003Y\001\227\005`\000\197\005w\002\212\000+\006^\003\171\004V\002\213\003O\000\146\000\134\002\214\004H\001=\003\015\000\135\002\215\003\241\000Y\000\136\004r\000\132\0065\003\235\003Q\000\133\000\176\003G\004:\000\146\006\159\000\147\004\243\005\t\003\245\004\020\000b\002\195\006\161\004&\0041\002\211\003L\000\145\001\028\004J\003M\004\012\006\157\002\196\005\008\000\147\002B\002\179\002\202\000b\000\177\006^\001\021\006\016\001o\003O\002\212\000.\001\173\000D\000b\002\213\000Y\000b\000\134\002\214\006Y\006\151\0049\000\135\002\215\003Q\000\149\000\136\004+\004:\000\178\006\159\004u\000D\000\179\000D\004\020\003\012\003\013\006\161\000\151\0041\002\211\005\177\004\012\004/\000\149\003[\0000\005\173\004\005\000\145\002\181\005\188\002\179\002\202\002\182\005v\003\219\0011\000\157\003\225\006\190\002\212\003\220\0066\006\168\005\174\002\213\000Y\000\146\000D\002\214\006Y\006\151\0049\004\014\002\215\005&\0011\000b\003\012\003\013\003\236\005P\004\020\004\002\001\177\004\025\001a\0041\001u\000\147\004\179\000Y\000[\001\003\000_\005\158\006Z\000\197\003\247\005Q\004\005\0004\002\181\000Y\005T\005_\002\182\004\255\006\131\006\132\004\222\002\179\002\202\001\031\000\177\001 \006\172\006@\001\022\002\025\001\023\004\173\000\197\005\157\000\132\000a\000Y\000\146\000\141\005t\003X\004Q\0049\000D\000D\000\134\000\149\003G\001c\002<\000\178\002r\001d\000D\000\179\0006\000Y\002\195\0008\000\147\000\151\0067\003L\000\197\005\166\003\014\003M\004\012\006\157\002\196\004\005\006\136\002\181\005`\002\179\002\202\002\182\006^\001q\003\012\003\013\003O\005\167\000\134\005\170\005_\005\130\000b\000\135\000Y\003Y\005\218\000\136\003X\004Q\0049\004\241\003Q\006\197\000D\003G\004:\000\173\006\159\005\131\005_\001K\005\219\004\020\003T\002\195\006\161\004\254\0041\002\211\003L\000\145\005\219\005[\003M\004\012\006\157\002\196\004\005\003t\002\181\006+\003x\000Y\002\182\006^\004\029\000Y\005\\\003O\002\212\0065\005\176\000\132\006k\002\213\005\236\000\133\005`\002\214\003\012\003\013\000D\000Y\002\215\003Q\005\169\002\137\002\184\004:\005\174\006\159\001r\004?\000<\003G\004\020\002\193\005`\006\161\001\006\0041\002\211\004\002\005\167\002\195\005\170\005_\000\134\005\222\003L\005a\003y\004H\003M\004\012\003z\002\196\004\247\004_\001\028\005\166\000\134\002\212\001\t\005\219\0010\000\135\002\213\003O\000\146\000\136\002\214\000;\001\021\006B\005\158\002\215\000\197\005\167\001\028\005\170\005_\000b\005\180\003Q\004I\000\176\003G\004:\005\220\004Y\000\147\005\161\001\021\000\145\004\020\000>\002\195\004\025\005\225\0041\002\211\003L\006l\005`\000D\003M\004\012\005\016\002\196\004]\004_\003t\002\179\002\202\003\142\000\177\000D\003\222\005\181\003\247\003O\002\212\005\194\000Y\005\018\004\156\002\213\000Y\000D\003 \002\214\003X\004Q\0049\006\002\002\215\003Q\000\149\005`\006P\004:\000\178\004Y\0027\005\137\000\179\003\135\004\020\000@\005\223\004\025\000\151\0041\002\211\005^\005\229\005\226\004\155\003\136\006?\000\134\004\005\000F\002\181\003y\002\179\002\202\002\182\003z\005\\\000H\005\220\000\146\005\230\002\212\000D\005\233\005_\006m\002\213\000Y\000D\001\030\002\214\003X\004Q\0049\001\022\002\215\001\023\004m\000\197\005\227\0067\000\147\000\197\000K\005\229\004\139\006\216\003t\000\132\001\031\003x\001%\000\141\003Z\001\022\004\002\001\023\000M\000\197\000D\003/\004\005\005\230\002\181\005\174\005\233\005_\002\182\000D\000D\004o\006:\003|\003\168\002\179\002\202\003\012\003\013\000Y\000[\0013\000_\005`\006\003\000b\002\179\002\200\003\173\001\191\000Y\001a\005\197\001x\003X\004Q\0049\000\134\000\134\003G\006F\003y\006:\000\135\006:\003z\005\239\000\136\003\135\002\195\004\002\000Y\006:\000a\003L\0065\006l\001\164\003M\004\012\003\136\002\196\004\132\004_\004\005\005`\002\181\005\130\000Q\004\164\002\182\000\145\003\133\003O\006I\000\134\003t\002\181\000b\003x\000\134\002\182\005\240\001c\004\002\005\131\005_\001d\001\222\003Q\004m\004\133\003G\004:\000Y\004Y\002\179\002\202\004\133\004\161\004\020\004\178\002\195\004\025\006\214\0041\002\211\003L\000^\003\158\001}\003M\004\012\001q\002\196\004\251\004_\000D\000b\000b\006x\002B\004\180\004n\004\135\000\134\003O\002\212\006\006\003y\004\002\004\134\002\213\003z\000D\004\228\002\214\003\135\006U\000\199\006\148\002\215\003Q\005\019\005`\000\134\004:\002\181\004Y\003\136\000\146\002\182\006n\004\020\003G\000\202\004\025\004\228\0041\002\211\005\018\006>\003\249\004\189\002\195\000\134\000\206\000\176\004\230\003L\006\004\000\205\000\147\003M\004\012\002\195\002\196\006u\004_\003\253\002\212\002\179\002\202\001\006\003Z\002\213\006\163\002\196\003O\002\214\004\229\006=\001r\006<\002\215\000\208\000Y\000\177\002\207\000D\006Y\006;\004\004\001~\003Q\0066\000\210\001\t\004:\0010\004Y\002\179\002\180\006\225\006:\004\020\001\128\003\168\004\025\000\149\0041\002\211\000\214\000\178\000\216\003\135\000b\000\179\000\219\003Z\004\005\003\175\002\181\000\151\002\179\002\202\002\182\003\136\001\138\0067\006\247\000\197\002\212\000b\003\235\002\195\005\026\002\213\006\164\000Y\006\248\002\214\005\143\006Y\005\029\004\004\002\215\002\196\006\217\001\139\000\134\006\190\002\181\005\028\001\140\001a\002\182\001x\001\141\002\209\004\207\005\028\006\148\001\142\005\133\000\132\006p\006`\005\232\000\133\006g\005 \006h\004\005\000\197\002\181\005\166\004\223\003Z\002\182\006\148\006\234\005\131\005_\002\179\002\202\005\230\000\223\005\018\005\233\005_\006\149\002\211\003\235\005\167\003\168\005\170\005_\000b\000Y\005)\000\222\006\190\006Y\000\134\004\004\006\241\001c\006\154\003\177\003G\001d\000\225\002\212\000\134\000\227\006\224\005+\002\213\000\135\002\195\006\190\002\214\000\136\006\235\003L\006\170\002\215\005,\003M\004\012\006\150\002\196\004\005\003Z\002\181\001\186\001q\000Y\002\182\006^\005`\004\006\000b\006\153\005+\003\236\000\145\005`\000D\002\195\006\152\000\132\006>\000\231\005`\000\141\006\242\005/\004\n\003Q\000\233\002\196\003G\004\015\006\155\000\235\000Y\000\239\001\188\000\238\004\020\000\241\002\195\006\161\005\018\0041\002\211\003L\000\243\006\191\000\246\003M\004\012\006\150\002\196\000\248\003\241\000\250\000\252\006\225\001\000\006\224\006^\001@\001\005\006f\006\153\002\212\0015\001;\000\134\000b\002\213\003\245\004&\000\135\002\214\001:\001\216\000\136\001\215\002\215\003Q\001\221\006\225\001r\004\015\006\155\003t\002\179\002\202\003x\003G\004\020\006\224\000\146\006\161\002\201\0041\002\211\006\193\001\235\002\195\000\145\000Y\001\238\001\242\003L\003X\001\136\004\004\003M\004\012\006\150\002\196\004+\001a\000\147\001x\006\195\002\212\001\241\006^\001\244\001\246\002\213\006\153\000b\001\250\002\214\005\252\001\138\004/\001\252\002\215\002\179\002\180\003F\004\005\001\255\002\181\003y\003Q\002\003\002\182\003z\004\015\006\155\002\002\002\005\002\007\002\011\001\139\004\020\002\179\002\202\006\161\001\140\0041\002\211\002\013\001\141\002\015\002\019\000\149\000\134\001\142\002\018\001c\000Y\005\001\0043\001d\003X\004\127\004\004\002\021\002\023\000\159\002\026\002\212\002\028\000\146\002\030\000\134\002\213\002\181\002 \0047\002\214\002\182\002$\002-\006g\002\215\006h\002,\000\197\001q\001Q\002;\002A\002@\004\005\000\147\002\181\002\132\002D\001a\002\182\001b\002G\002\179\002\202\002K\002J\002M\002O\002S\002U\003V\003\160\002X\001a\001S\001t\000\197\000Y\003G\000\177\002\\\003X\003\255\004\004\002[\004}\002^\003\135\002\195\004\127\003\203\002`\002d\003L\002f\002h\003\163\003M\004\012\003\136\002\196\000\149\005\130\003t\002l\000\178\003\141\000\134\002k\000\179\001c\004\005\004t\002\181\001d\000\151\002n\002\182\003\205\002p\005\131\005_\000\134\002s\003\166\001c\002u\001r\003Q\001d\002w\002y\004\015\004v\002\195\002}\001a\002\131\001b\004\020\001q\002\130\004\025\003G\0041\002\211\002\196\002\136\002\142\002\141\005>\005\011\000\134\002\195\005Y\001q\003y\005\128\003L\005k\003z\003\211\003M\004\012\005y\002\196\002\212\003\168\000\132\005\163\005\179\002\213\000\141\001\138\005\209\002\214\005\238\004t\006\129\005`\002\215\003\169\006\175\000Y\006\179\000\134\006\198\006\202\001c\006\207\006\208\006\213\001d\003Q\001\139\006\212\005\130\004\015\004v\001\140\006\220\003G\006\222\001\141\004\020\006\228\006\232\004\025\001\142\0041\002\211\002\195\002\197\006\233\005\131\005_\003L\000\134\001q\001r\003M\004\012\000\135\002\196\006\236\006\237\000\136\006\240\002\179\002\202\006\243\002\212\006\244\006\252\001r\004>\002\213\004\017\000\000\005\130\002\214\005\130\000\000\000Y\000\000\002\215\000\000\003X\004\018\0049\000\145\003Q\003\135\000\000\000\000\004\015\004@\005\131\005_\005\131\005_\000\000\004\020\000\000\003\136\004B\000\000\0041\002\211\000\000\000\000\001\173\001\175\005`\000\000\000\000\000\000\004\005\000\000\002\181\000\000\002\179\002\202\002\182\000\132\000\000\001w\005\141\000\133\002\212\004<\000\000\000\000\000\000\002\213\000\000\000Y\001r\002\214\000\000\003X\004\018\0049\002\215\002\179\002\202\000\000\002\179\002\199\000\000\000\000\000\132\000\000\004A\000\000\000\133\005`\000\000\005`\000Y\000\000\005\210\000\000\003X\004\018\0049\000\000\000\000\000\000\000\146\004\005\003t\002\181\000\134\003x\000\000\002\182\000\000\000\135\005\211\005\214\005_\000\136\001\166\000\000\000\000\001\177\000\000\000\000\000\000\000\000\000\147\000\000\004\005\000\000\002\181\000\134\000\000\002\181\002\182\000\134\000\000\002\182\000\000\001\139\000\135\000\145\003G\000\000\000\136\005\228\001\183\005\130\000\197\000\000\000\000\000\177\002\195\001\142\000\000\000\134\005\154\003L\000\000\003y\000\000\003M\004\012\003z\002\196\005\131\005_\000\000\000\145\000\000\002\179\002\202\000\000\000\149\005`\000\000\003O\000\178\000\132\000\000\000\000\000\179\000\141\000\000\000\000\000Y\000\000\000\151\000\000\003X\004Q\0049\003Q\000Y\000\000\003G\004:\003t\004;\005\152\003x\005\150\000\000\004\020\000\000\002\195\004\025\000\000\0041\002\211\003L\000\000\000\000\000\000\003M\004\012\000\000\002\196\003G\004\005\000\146\002\181\000\000\000\000\005`\002\182\000\000\000\134\002\195\003O\002\212\002\195\000\135\003L\000\000\002\213\000\136\003M\004\012\002\214\002\196\000\000\000\147\002\196\002\215\003Q\000\134\000\146\000\000\004:\003y\004;\003O\000\000\003z\003\135\004\020\000\000\000\000\004\025\000\145\0041\002\211\000\000\000\000\000\000\000\000\003\136\003Q\000\147\000\000\000\000\004:\000\000\004;\000\000\000\000\005\229\000\000\004\020\000\000\005\243\004\025\002\212\0041\002\211\000\000\000\132\002\213\000\149\000\000\000\143\002\214\002\179\002\202\005\230\000\000\002\215\005\233\005_\000\000\000\000\000\000\000\161\005\229\000\000\002\212\000\000\000Y\003G\000\000\002\213\003X\004Q\0049\002\214\000\149\000\000\000\000\002\195\002\215\000\000\005\230\000\000\003L\005\233\005_\000\000\003M\004\012\000\163\002\196\005\186\004X\000\000\003\168\000\134\000\000\000\000\000\146\000\000\000\135\004\005\003O\002\181\000\136\003\135\000\000\002\182\003\179\000\000\000\000\000\000\000\000\000\000\000\000\001Q\005`\003\136\003Q\000\000\000\147\000\000\004:\000\000\004Y\000\000\000\000\000\000\000\145\004\020\000\000\000\000\004\025\000\000\0041\002\211\000\000\000\000\002\179\002\202\001\195\000\000\000\197\005`\000\000\000\177\000\000\000\000\000\000\002\179\002\198\000\000\000\000\000Y\000\000\000\000\002\212\003X\004Q\0049\000\000\002\213\000\000\002\179\002\202\002\214\000\000\000\149\000\000\000\000\002\215\000\178\000\000\000\000\000\000\000\179\000\000\000\000\000Y\002\179\002\180\000\151\003X\004w\0049\003\168\000\000\004\005\000\000\002\181\005\130\003G\000\000\002\182\000\000\000\000\000\000\000\000\000\134\003\181\002\181\002\195\000\000\000\000\002\182\000\000\003L\000\146\005\131\005_\003M\004\012\004\005\002\196\002\181\004Z\000\000\000\000\002\182\000\000\000\000\006\011\000\000\002\179\002\202\003O\000\000\000\000\000\134\000\147\002\181\000\132\000\000\000\000\002\182\000\133\000\000\000\000\000Y\000\000\000\000\003Q\003X\004w\0049\004:\004y\004Y\006\014\000\000\000\000\000\000\004\020\000\000\000\148\004\025\000\000\0041\002\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003t\005`\000\000\003x\000\000\000\132\004\005\000\000\002\181\000\141\000\149\003G\002\182\002\212\000\134\000\188\000\000\000\000\002\213\000\135\000Y\002\195\002\214\000\136\000\151\000\000\003L\002\215\000\000\000\000\003M\004\012\002\195\002\196\000\000\004l\003G\000\000\000\000\001a\004{\001b\000\000\000\000\002\196\003O\002\195\000\145\000\000\000\134\000\000\003L\000\000\003y\000\134\003M\004\012\003z\002\196\000\135\000Y\003Q\002\195\000\136\003X\004:\000\000\004Y\000\000\000\000\003O\000\000\004\020\000\000\002\196\004\025\000\000\0041\002\211\003t\000\000\000\000\003x\000\000\000\000\000\000\003Q\000\145\000\134\000\000\004:\001c\004z\000\000\005#\001d\003G\004\020\003t\002\212\004\025\003\140\0041\002\211\002\213\000\000\002\195\000\000\002\214\005\191\000\000\003L\000\000\002\215\000\000\003M\004\012\000\000\002\196\000\000\000\000\001q\002\179\002\202\002\212\000\000\000\146\000\000\000\134\002\213\003O\004\141\003y\002\214\000\000\000\000\003z\000Y\002\215\000\000\002\212\003X\004\018\0049\000\000\000\000\003Q\000\134\000\147\003\135\004:\003y\004z\000\000\002\221\003z\000\000\004\020\000\000\000\000\004\025\003\136\0041\002\211\000\000\000\000\000\146\000\000\000\000\000\000\000\000\004\005\000\000\002\181\000\000\002\179\002\202\002\182\000\000\000\000\000\191\000\192\000\194\000\195\002\212\000\000\000\000\000\000\000\147\002\213\000Y\000\000\000\000\002\214\003X\000\149\004\004\000\000\002\215\005\229\001r\000\000\000\000\000\000\004\012\000\000\000\000\000\000\000\196\000\165\000\197\000\000\000\000\000\177\000\000\000\000\001a\005\230\001b\000\000\005\233\005_\000\000\000\000\004\005\000\000\002\181\000\000\003\135\003\138\002\182\000\000\000\000\003t\000\000\000\149\003x\000\000\005(\000\178\003\136\000\000\000\000\000\179\005\130\004\020\000\000\003\135\004\025\000\151\0041\001A\000\000\000\000\002\179\002\202\004\245\000\000\000\000\003\136\004\127\003G\005\131\005_\000\000\000\134\000\000\001s\001c\000Y\000\000\002\195\001d\003X\000\000\004\004\003L\000\000\005\130\005`\003M\004\012\000\134\002\196\000\000\000\000\003y\000\000\000\000\000\000\003z\002\179\002\202\000\000\000\000\003O\005\131\005_\001q\000\000\000\000\000\000\000\000\004\005\003t\002\181\000Y\003x\003\137\002\182\003X\003Q\004\004\005\130\003G\004:\000\000\004;\000\000\000\000\000\000\005`\004\020\000\000\002\195\004\025\000\000\0041\002\211\003L\000\000\005\131\005_\003M\004\012\005\003\002\196\000\000\000\000\004\127\004\005\000\000\002\181\000\000\000\000\000\000\002\182\000\000\004t\002\212\000\000\000\000\000\132\000\134\002\213\005`\000\141\003y\002\214\000\000\000\000\003z\000\000\002\215\003Q\000\000\000\000\000Y\004\015\004v\002\179\002\202\005\005\000\000\000\000\004\020\004\127\001r\004\025\000\132\0041\002\211\003\135\000\133\006\021\000Y\000\000\000\000\000\000\003X\005`\004\004\000\000\003G\003\136\000\000\000\000\000\000\000\000\000\000\000\000\000\134\002\212\002\195\000\000\000\000\000\135\002\213\003L\000\000\000\136\002\214\003M\004\012\000\000\002\196\002\215\000Y\000\000\004\005\000\000\002\181\002\179\002\180\000\000\002\182\000\000\004t\000\134\005\206\003G\000\000\000\000\000\135\000\145\000\000\000\000\000\136\000\000\000\000\002\195\000\000\000\000\003Q\001\139\003L\000\000\004\015\004v\003M\004\012\006C\002\196\003\135\004\020\004\127\000\000\004\025\001\144\0041\002\211\000\145\003\168\005\204\004t\003\136\000Y\000[\0018\000_\000\000\000\134\000\000\002\181\001\028\000\000\003\183\002\182\000\000\000\000\003Q\002\212\000\000\000\000\004\015\004v\002\213\000\000\001\021\000\000\002\214\004\020\000\000\000\000\004\025\002\215\0041\002\211\005\250\000\000\000a\002\179\002\202\000\000\000\000\000\000\000\000\000\000\000\000\003G\006K\000\000\000\000\000\146\000\000\000\000\000Y\000\000\002\212\002\195\003X\004\018\0049\002\213\003L\000\000\000\000\002\214\003M\004\012\001N\002\196\002\215\003\168\000\000\000\147\000\000\000\000\000\000\000\000\000\146\000\000\000\000\004t\000\000\000\000\000\000\003\185\000\000\000\000\004\005\000\000\002\181\000\000\000\000\001\201\002\182\000\197\000\000\003Q\000\177\000\000\000\147\004\015\004v\003t\002\179\002\202\003x\000\000\004\020\002\195\000\000\004\025\000\000\0041\002\211\000\000\000\000\000\000\000\000\000Y\000\149\002\196\000\000\003X\000\178\004\004\000\000\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\151\002\212\001\031\000\000\003\228\000\000\002\213\001\022\000\000\001\023\002\214\000\197\000\000\000\149\000\000\002\215\000\000\000\000\003F\004\005\000\000\002\181\003y\000\000\000\000\002\182\003z\000\167\002\179\002\202\000\000\000\000\000\132\000\000\001\006\000\000\000\141\006z\000\000\000\000\000\000\000\000\003t\000Y\003G\003x\000\000\003X\004\018\0049\000\000\006Q\000\000\002\212\002\195\004\127\000\000\000\000\001\t\003L\0010\000\000\000\000\003M\004\012\000\000\002\196\002\223\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\005\003O\002\181\000\000\000\134\000\000\002\182\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\134\000\000\000\000\003Q\003y\000\000\000\000\004:\003z\004;\000\000\003\160\000\000\000\000\004\020\000\000\000\000\004\025\003G\0041\002\211\000\000\001a\000\145\001b\000\000\000\000\003\135\002\195\000\000\003\203\000\000\000\000\003L\000\000\000\000\003\163\003M\004\012\003\136\002\196\002\212\000\000\000\000\000\000\000\000\002\213\004\136\002\179\002\202\002\214\000\000\004t\000\000\000\000\002\215\003t\000\000\003\205\003x\000\000\000\000\000\000\000Y\003\166\000\000\000\000\003X\003Q\0049\000\000\000\134\004\015\004v\001c\000\000\003G\000\000\001d\004\020\000\000\000\000\004\025\000\000\0041\002\211\002\195\000\000\000\000\000\000\000\000\003L\000\000\000\000\003\215\003M\004\012\004\005\002\196\002\181\003\135\003\210\000\146\002\182\001q\003F\002\212\003\168\000\000\003y\003O\002\213\003\136\003z\000\000\002\214\001a\000\000\001b\003\156\002\215\003\169\000\000\000\000\000\147\000\000\003Q\000\000\000\000\000\000\004:\000\000\004;\002\179\002\202\000\000\000\000\004\020\000\000\000\000\004\025\000\000\0041\002\211\000\000\004=\000\132\000\000\000Y\000\177\001\203\000\000\003X\000\000\004\004\000\000\000\000\000Y\000[\001\213\000_\000\000\000\000\000\000\002\212\000\134\000\000\000\000\001c\002\213\000\000\000\149\001d\002\214\001a\000\178\001x\000\000\002\215\000\179\003\168\000\000\004\005\001r\002\181\000\151\000\000\003G\002\182\003\160\000\000\000a\000\000\000\000\003\187\000\134\000\000\002\195\001q\000\000\000\135\000\000\003L\000\000\000\136\003\135\003M\004\012\003\203\002\196\000\000\000\132\002\179\002\202\003\163\001P\000\000\003\136\000\000\000\000\000\000\004\138\000\000\000\134\004\003\000\000\001c\000Y\000\145\000\000\001d\003X\000\000\004\004\000\000\000\000\003\205\003Q\000\000\000\000\000\000\004:\003\166\004\140\000\000\000\000\000\000\000\000\004\020\000\000\001\139\004\025\000\000\0041\002\211\000\000\001q\000\000\000\000\000\000\000\134\004\005\000\000\002\181\001\146\000\135\000\000\002\182\001a\000\136\001b\000\000\003G\000\000\000\132\002\212\000\000\001r\000\141\003\208\002\213\000\000\002\195\000\000\002\214\003\168\000\000\003L\000\000\002\215\000\000\003M\004\012\000\145\002\196\000\000\000\000\002\179\002\202\003\169\003t\000\000\000\000\003\139\000\000\000\000\004\013\000\146\000\000\004\019\000\000\000\000\000Y\000\000\000\000\000\000\003X\000\134\004\004\000\000\001c\001\006\003Q\000\134\001d\000\000\004\015\004\016\000\135\000\147\000\000\000\000\000\136\004\020\000\000\001r\004\025\000\000\0041\002\211\000\000\000\000\002\237\000\000\001\139\001\t\004\005\0010\002\181\000\134\001q\003G\002\182\003y\000\000\000\000\000\145\003z\001\148\005\013\002\212\002\195\000\000\000\000\000\000\002\213\003L\000\000\000\000\002\214\003M\004\012\000\146\002\196\002\215\000\000\002\179\002\202\000\000\000\000\000\000\001\138\000\000\000\000\000\000\004\013\000\000\000Y\000[\002*\000_\000Y\000\000\000\000\000\147\003X\000\000\004\004\000\000\000\000\000\000\003Q\001\139\000\000\000\000\004\015\004\016\001\140\000\000\000\000\000\000\001\141\004\020\002\179\002\202\004\025\001\142\0041\002\211\000\000\000\000\000a\000\000\000\000\000\000\004\005\000\000\002\181\000Y\001r\000\000\002\182\003X\000\000\004\004\000\146\003G\000\000\000\000\002\212\000\000\000\000\000\000\000\000\002\213\000\000\002\195\000\000\002\214\003\135\000\000\003L\000\176\002\215\000\000\003M\004\012\000\147\002\196\000\000\000\000\003\136\004\005\000\000\002\181\000\132\000\000\000\000\002\182\000\141\004\013\000\000\000\000\000\132\000\000\000\000\000\000\001M\000\000\000\000\000Y\000\000\000\177\000\000\000\000\000\000\003Q\000\000\000\000\000\000\004\015\004\016\000\000\000\000\000\000\000\000\001\139\004\020\000\000\000\000\004\025\000\000\0041\002\211\000\149\000\000\000\000\000\000\000\178\000\000\001\150\000\000\000\179\000\000\000\134\003G\000\000\000\000\000\151\000\135\000\000\000\000\000\134\000\136\002\212\002\195\000\000\000\135\000\000\002\213\003L\000\136\000\000\002\214\003M\004\012\000\000\002\196\002\215\002\179\002\202\000\000\000\000\004\\\000\000\000\000\000\000\000\145\000\000\004U\000\000\001\006\003G\000\000\000Y\000\145\000\000\000\000\003X\000\000\004\004\000\000\002\195\000\000\000\000\003Q\000\000\003L\000\000\004\015\004W\003M\004\012\000\000\002\196\001\t\004\020\0010\000\000\004\025\004T\0041\002\211\000\000\000\000\000\000\004U\000\000\004\005\000\000\002\181\000\000\000\000\000\000\002\182\000\000\000\000\000\000\000Y\000[\0029\000_\003Q\002\212\000\000\000\000\004\015\004W\002\213\002\179\002\202\000\000\002\214\004\020\000\000\000\000\004\025\002\215\0041\002\211\000\000\000\000\000\000\000\000\000Y\000\000\000\146\000\000\003X\000\000\004\004\000\000\000a\000\000\000\146\000\000\000\000\000\000\000\000\000\000\002\212\000\000\000\000\002\162\000\000\002\213\000\000\000\000\000\147\002\214\000\000\000\000\000\000\000\000\002\215\000\000\000\147\006:\004\005\000\000\002\181\000\132\002\179\002\202\002\182\001L\000\000\000\000\002\164\001a\000\197\001x\003Z\000\177\000\000\000\000\000\000\000Y\003G\000\000\000\000\003X\000\000\004\004\000\000\000\000\000\000\003\235\002\195\000\000\000\000\000\000\000\132\003L\000\000\000\149\000\133\003M\004\012\000\178\002\196\000\000\000\000\000\179\000\000\004h\000\000\000\000\000\000\000\151\000\134\004\005\004i\002\181\000\000\000\135\000\000\002\182\000\134\000\136\003t\001c\000\000\003x\000\000\001d\000\000\000\000\003Q\000\000\000\000\000\000\004\015\004k\002\179\002\202\000\000\000\000\000\000\004\020\000\000\000\134\004\025\000\145\0041\002\211\000\135\004s\003G\000Y\000\136\001q\000\000\003X\000\000\004\004\000\000\000\000\002\195\000\000\000\000\000\000\001\006\003L\000\000\000\000\002\212\003M\004\012\000\134\002\196\002\213\000\000\003y\000\145\002\214\004f\003z\000\000\000\000\002\215\000Y\004U\004\005\000\000\002\181\001\t\000\000\0010\002\182\000\000\000\000\000\000\000\000\000\000\000\000\000b\000\000\003Q\004&\000\000\003G\004\015\004W\000\000\000\000\006>\000\000\000\000\004\020\000\000\002\195\004\025\000\000\0041\002\211\003L\000\000\000\000\004x\003M\004\012\000\146\002\196\000Y\000[\002>\000_\000\000\000\000\001r\000\000\000\000\000\132\000\000\004t\002\212\000\141\001\028\000\000\004+\002\213\000\000\000\000\000\147\002\214\000\000\000\000\000Y\000\000\002\215\003Q\001\021\000\146\005\015\004\015\004v\004/\000a\002\179\002\202\000\000\004\020\000\000\000\000\004\025\000\000\0041\002\211\003\135\006G\000\000\000\000\003G\000Y\000\147\001\138\000\000\003X\000\000\004\004\003\136\000\134\002\195\000\000\000\000\000\000\000\135\003L\002\212\000\000\000\136\003M\004\012\002\213\002\196\000\000\001\139\002\214\001a\000\000\001b\001\140\002\215\000\000\000\000\001\141\004t\004\005\000\000\002\181\001\142\000\000\000\000\002\182\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\149\003Q\000\000\000\000\000\000\004\015\004v\000\000\000\000\002\179\002\202\000\000\004\020\000\000\000\169\004\025\000\000\0041\002\211\000\000\006S\000\000\000\000\000\000\000Y\000\000\000\134\003\168\003X\001c\004\004\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\002\212\001\031\003\189\003\238\000\000\002\213\001\022\000\000\001\023\002\214\000\197\000\000\000\000\000\000\002\215\000\000\000\000\000\000\000\000\004\005\001q\002\181\000\000\002\179\002\202\002\182\000\000\001\006\000\000\000\000\000\000\000\000\000\132\000\146\006V\000\000\000\141\003G\000Y\000\132\000\000\000\000\003X\000\133\004\004\000\000\000\000\002\195\000\000\000\000\002\162\001\t\003L\0010\000\000\000\147\003M\004\012\000\000\002\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\132\000\000\006H\004\005\000\141\002\181\002\247\000\000\000\197\002\182\000\000\000\177\000\134\000\000\000\000\000Y\000\000\000\135\003Q\000\134\000\000\000\136\004\015\006J\000\135\000\000\000\000\000\000\000\136\004\020\001r\003$\004\025\000\149\0041\002\211\000\000\000\178\000\000\000\000\003G\000\179\000\000\000\000\000\000\000\145\000\000\000\151\000\000\000\134\002\195\000\000\000\145\000\000\000\135\003L\002\212\000\000\000\136\003M\004\012\002\213\002\196\000\000\000\000\002\214\000\000\000\000\002\179\002\202\002\215\002\179\002\180\000\000\006H\000\000\000\132\000\000\000\000\000\000\000\141\000\000\000\145\000Y\000\000\000\000\000\000\004\154\000\000\000\000\003Q\000Y\000\000\003G\004\015\006J\000\000\001\139\000\000\000\000\001a\004\020\001x\002\195\004\025\000\000\0041\002\211\003L\004\185\000\000\001\152\003M\004\012\000\000\002\196\000\000\004\188\000\000\002\181\000\134\000\000\002\181\002\182\000\146\000\134\002\182\006H\002\212\000\000\000\135\000\146\000\000\002\213\000\136\000\000\000\000\002\214\000\000\004\194\000\132\000\176\002\215\003Q\000\141\000\000\000\147\004\015\006J\000\134\000\000\000\000\001c\000\147\004\020\000Y\001d\004\025\000\145\0041\002\211\000\146\000\000\000\000\002\179\002\180\000\000\004\231\000\000\000Y\002\207\000\177\001\175\000\000\000\000\000\191\001h\000\194\000\195\000\000\000\000\002\212\001q\000\147\000\000\000Y\002\213\000\000\000\000\000\134\002\214\000\000\000\000\000\149\000\135\002\215\000\000\000\178\000\136\000\000\000\149\000\179\000\000\000\196\000\000\000\197\000\000\000\151\000\177\000\000\000\000\000\000\000\000\000\134\000\171\002\181\000\000\002\195\000\000\002\182\002\195\000Y\000\145\000\000\000\000\000\000\001\028\004\195\000\000\002\196\000\149\000\000\002\196\000\000\000\178\000\000\000\000\000\146\000\179\000\000\001\021\004\233\001\028\000\000\000\151\000\132\001A\000\000\000\000\000\141\000\000\000\191\002\186\000\194\000\195\000\000\001\021\000\000\000\000\000\147\000Y\001r\000\000\000\000\000\000\000\000\000\000\000\000\004\198\000\000\000\000\004\234\000\000\004\221\002\211\000\000\000\000\000\000\001\028\000\196\000\000\000\197\000\132\000\000\000\177\005\031\000\141\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\134\002\212\000\000\000Y\002\212\000\135\002\213\000\146\000\000\000\136\002\214\000\000\000\149\001\138\000\000\002\215\000\178\000\000\002\225\002\195\000\179\000\191\003I\000\194\000\195\000\000\000\151\000\000\001A\000\147\000\000\002\196\000\000\000\145\001\139\000\000\000\000\000\134\000\000\001\140\000\000\000\000\000\135\001\141\000\000\000\000\000\136\000\000\001\142\000\196\000\000\000\197\002\179\002\202\000\177\000\000\001\031\000\000\004 \000\000\000\132\001\022\000\000\001\023\000\133\000\197\000\000\000Y\000\000\000\000\000\145\004\154\001\031\000\000\004(\000\000\000\149\001\022\000\000\001\023\000\178\000\197\000\000\000\000\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\000\001A\004\235\000\000\000\000\000\000\002\212\000\000\000\000\000\000\004\188\000\000\002\181\000\000\000\000\000\000\002\182\001\031\000\134\004\167\002\227\000\146\001\022\000\135\001\023\000\000\000\197\000\136\000\000\000\132\002\179\002\202\004\194\000\141\000\000\000\191\003~\000\194\000\195\000\000\000\000\000\000\000\000\000\147\000Y\000Y\000\000\000\000\000\000\004\154\000\000\000\145\000Y\000[\002\128\000_\000\000\000\000\000\146\000\000\000\000\000\000\000\000\000\196\000\000\000\197\000\000\001a\000\177\001b\000\000\004\187\000\191\004\022\000\194\000\195\000\000\000\000\000\134\004\188\000\147\002\181\000\000\000\135\000\000\002\182\000a\000\136\000\000\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\179\000\132\000\196\004\194\000\197\000\133\000\151\000\177\001A\000\000\000\000\000\000\002\195\000\145\000\000\000\000\000\000\000\000\000\134\000\000\000\000\001c\004\195\000\000\002\196\001d\000\000\002\179\002\202\000\149\000\132\000\132\000\146\000\178\000\133\000\141\004\196\000\179\000\000\000\000\000\000\000\000\000\000\000\151\000\000\001A\000Y\000\000\004E\000\000\000\134\001q\000\000\000\000\000\147\000\135\000\000\000\000\000\000\000\136\000\000\000\000\000\000\004\198\000\000\000\000\004\203\000\000\004\221\002\211\000\000\003t\000\000\000\000\003x\000\000\003F\000\000\002\181\000\134\000\134\002\195\002\182\000\145\000\135\000\135\000\000\000\000\000\136\000\136\002\212\004\195\000\146\002\196\000\000\002\213\000\000\002\179\002\180\002\214\000\000\000\149\000\000\000\000\002\215\004\196\000\191\004\200\000\194\000\195\000\000\000\000\000\145\000\145\000\147\000\181\000\000\000\000\001\006\000\000\003F\000\000\000\000\000\000\003y\004K\000\000\000\000\003z\002\207\001r\000\000\004\198\000\000\000\196\004\203\000\197\004\221\002\211\000\177\000\000\000\000\001\t\000\000\0010\000\000\000\134\000\000\002\181\000\000\002\179\002\202\002\182\000\000\000\000\000Y\000[\002\134\000_\002\212\000\000\000\149\000\146\000\000\002\213\000\178\003G\000\000\002\214\000\179\000\000\003?\005\000\002\215\000\000\000\151\002\195\001A\000\000\000\000\000\000\003L\000\000\000\000\000\147\003M\002\179\002\202\002\196\000a\000\000\000\146\000\146\000\000\000\000\000\000\000\000\001\139\000\000\003F\004M\002\181\000\000\000\000\003\160\002\182\001C\003?\004N\000\195\000\000\001\154\000\000\000\147\000\147\000\000\003Q\000\000\000\000\000\000\003\135\003\196\003\213\003\199\000\000\000\000\000\000\002\179\002\202\003\163\000\000\000\149\003\136\002\211\000\196\003F\000\197\002\181\000Y\000\177\000\000\002\182\000\000\000\000\000\000\000\183\002\195\000\000\003?\004D\000\000\003\202\000\000\000\000\002\212\000\000\000\000\003\166\002\196\002\213\000\149\000\149\000\000\002\214\000\000\000\178\000\000\000\000\002\215\000\179\000\000\002\179\002\202\000\000\000\185\000\151\003F\001A\002\181\000\000\000\000\000\000\002\182\000\000\000\000\000\000\000\000\000\000\000\000\003G\000\000\000\000\003?\003@\000\000\001\028\000\000\000\132\000\000\002\195\003\168\000\143\000\000\000\000\003L\000\000\000\000\000\000\003M\001\021\000\000\002\196\002\179\002\202\003\169\000\000\000\000\000\000\000\000\001\006\003F\000\000\002\181\003O\002\212\003G\002\182\000\000\000\000\000\000\000\000\000\000\000\000\003?\003K\002\195\000\000\000\000\002\229\003Q\003L\000\000\000\000\001\t\003M\0010\000\134\002\196\002\179\002\202\000\000\000\135\000\000\000\132\000\000\000\136\002\211\000\141\000\000\003O\000\000\003F\000\000\002\181\000\000\000\000\003G\002\182\000Y\003?\004P\000\000\000\000\000\000\000\000\003Q\002\195\002\212\000\000\000\145\000\000\003L\002\213\000\000\000\000\003M\002\214\000\000\002\196\000\000\000\000\002\215\002\211\000\000\001a\000\000\001b\003F\000\000\002\181\003O\000\000\000\134\002\182\000\000\000\000\000\000\000\135\000\000\000\000\003G\000\136\000\000\002\212\000\000\000\000\003Q\000\000\002\213\001\031\002\195\004\210\002\214\000\000\001\022\003L\001\023\002\215\000\197\003M\000\000\000\000\002\196\002\211\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\003O\000\000\001c\000\000\000\000\000\000\001d\003G\000\000\000\000\002\212\000\000\000\000\000\000\000\146\002\213\003Q\002\195\000\000\002\214\000\000\000\000\003L\000\000\002\215\000\000\003M\002\179\002\202\002\196\000\000\000\000\001q\002\211\000\000\000\000\000\147\000\000\000\000\000\000\000\000\003O\000\000\003G\000\000\000\000\000\000\000\000\003?\005\021\002\179\002\202\000\000\002\195\002\212\000\000\000\000\003Q\003L\002\213\000\000\000\148\003M\002\214\000\000\002\196\000\000\000\000\002\215\000\000\000\146\003?\005\023\000\000\002\211\000\000\003F\003O\002\181\000\000\000\000\000\000\002\182\000\149\000\000\000\000\000\000\003d\000\150\000\000\000\000\000\000\000\147\003Q\000\000\002\212\000\000\000\151\000\000\003F\002\213\002\181\000\000\000\000\002\214\002\182\002\179\002\202\000\000\002\215\002\211\001r\003f\000\000\000\197\000\000\000\000\000\177\000\000\000\000\003t\000\000\000\000\003x\000\000\000\000\000\000\003?\005\025\000\000\000\000\002\212\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\149\002\214\000\000\000\000\000\178\000\000\002\215\001a\000\179\001b\000\000\000\000\000\000\000\132\000\151\000\000\003F\000\141\002\181\000\000\000\000\000\000\002\182\000\000\000\000\000\000\003t\003G\000Y\003x\003F\002\179\002\202\000\000\003y\000\000\000\000\002\195\003z\001\139\000\000\000\000\003L\000\000\000\132\000\000\003M\000\000\000\141\002\196\003G\000\000\004G\001\156\000\000\000\000\000\134\000\000\000\000\001c\002\195\003O\000\134\001d\000\000\003L\000\000\000\135\000\000\003M\000\000\000\136\002\196\000\000\000\000\003F\000\000\003Q\000\000\003y\003F\000\000\002\181\003z\003O\000\000\002\182\000\132\000\000\001q\000\000\000\141\000\000\000\134\002\211\000\145\000\000\000\000\000\135\000\000\003Q\000\000\000\136\000\000\000\000\000\000\003G\000\000\000\000\000\000\000\000\000\000\003&\000\000\003\160\002\212\002\195\002\211\000\000\000\000\002\213\003L\000\000\000\000\002\214\003M\000\145\000\000\002\196\002\215\003\135\003\196\003\197\003\199\000\000\000\000\000\134\000\000\002\212\003\163\003O\000\135\003\136\002\213\000\132\000\136\000\000\002\214\000\141\000\000\000\000\000\000\002\215\000\000\000\000\003(\003Q\000\000\000\000\003\160\000\000\003\202\000\000\000\000\000\000\000\000\000\000\003\166\001r\000\145\003G\000\000\000\000\002\211\000\146\003\135\003\196\006M\003\199\000\000\002\195\000\000\000\132\000\000\003\163\003L\000\141\003\136\000\000\003M\000\000\003d\002\196\000\134\002\212\000\000\000\147\000\000\000\135\002\213\000\000\000\000\000\136\002\214\003O\000\146\003\202\000\000\002\215\000\000\003\168\000\000\003\166\000\000\000\000\000\000\003v\000\000\000\197\000\000\003Q\000\177\000\176\000\000\003\169\000\000\000\145\000\147\000\000\000\000\000\000\000\134\000\000\000\000\000\000\001\139\000\135\002\211\000\000\000\000\000\136\000\000\000\000\000\149\000\000\000\000\000\000\000\178\000\146\001\158\003t\000\179\000\177\003x\000\000\003\168\000\000\000\151\002\212\000\000\000\000\000\000\000\132\002\213\000\145\000\176\000\141\002\214\000\000\003\169\000\147\000\000\002\215\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\132\000\000\000\179\000\000\000\141\003a\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\003\154\001a\003F\001b\000\000\000\000\003y\000\000\000\146\000\000\003z\000\000\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\135\000\149\000\000\000\132\000\136\000\178\003\156\000\141\000\000\000\179\000\000\000\147\000\000\000\134\000\000\000\151\000\000\000\000\000\135\000\000\000\000\000\132\000\136\000\000\001a\000\141\001b\000\146\000\145\000\000\000\000\000\134\000\000\000\000\001c\000\000\000\177\000\000\001d\000\000\000\000\000\000\000\000\000\000\001\177\000\000\000\145\000\000\000\000\000\147\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\135\000\149\000\000\000\000\000\136\000\178\000\000\001q\000\000\000\179\003\160\000\000\000\000\000\134\000\000\000\151\000\134\000\177\000\135\001c\000\000\000\132\000\136\001d\000\000\000\141\003\135\003\201\000\145\003\199\000\000\000\000\000\000\000\000\000\000\003\163\000\000\000\000\003\136\000\149\000\132\000\000\003\232\000\178\000\141\000\000\000\145\000\179\000\000\001q\000\146\000\000\000\000\000\151\000\000\000\000\000\000\003\202\000\000\000\000\003\243\000\000\000\000\003\166\000\000\000\000\000\000\003\156\000\146\000\000\000\134\000\000\000\147\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\000\002\179\002\180\000\000\000\000\003\156\001r\000\000\000\000\000\134\000\147\000\000\000\000\000\000\000\135\000\000\000\000\000\177\000\136\003\251\000\000\000\000\000\000\000\145\000\000\000\000\003\168\000\146\003t\000\000\000\132\003x\000\000\000\000\000\141\000\177\000\000\004\008\000\000\000\149\003\169\000\000\000\145\000\178\003\156\000\146\000\000\000\179\001r\000\147\000\134\000\000\002\181\000\151\000\000\000\000\002\182\000\149\000\000\000\000\000\000\000\178\003\156\000\000\000\000\000\179\000\000\000\147\000\000\000\000\000\000\000\151\000\000\001\139\000\177\000\000\000\132\003F\000\132\000\134\000\141\003y\000\141\000\000\000\135\003z\000\000\001\160\000\136\000\000\000\000\000\000\000\177\000\000\004$\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\146\000\000\000\179\000\132\000\000\000\000\000\000\000\141\000\151\000\000\000\145\004-\000\149\001\139\000\000\000\000\000\178\003\156\000\000\000\146\000\179\000\000\000\147\000\134\000\000\000\134\000\151\001\162\000\135\000\000\000\135\000\000\000\136\000\000\000\136\000\000\003\156\000\000\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\132\000\177\002\195\000\000\000\141\000\000\000\134\000\000\000\000\000\000\000\145\000\135\000\145\003\160\002\196\000\136\000\000\000\000\000\000\001a\000\177\001b\000\000\000\149\000\000\000\000\000\000\000\178\000\000\003\135\000\000\000\179\003\162\000\000\000\000\0045\000\000\000\151\003\163\000\145\000\000\003\136\000\149\000\146\000\000\000\000\000\178\000\000\000\000\000\134\000\179\001a\000\000\001b\000\135\000\000\000\151\000\000\000\136\000\000\003\156\000\000\000\000\000\000\000\000\000\147\003\166\000\000\000\134\000\000\000\132\001c\000\000\000\000\000\141\001d\000\000\000\000\000\000\000\000\002\212\004\159\000\145\004\171\000\000\000\000\000\000\000\000\000\132\000\146\000\177\000\146\000\141\000\000\002\231\000Y\000[\002\139\000_\000\000\000\134\001q\000\000\001c\000\000\000\000\003\156\001d\003\156\003\168\004\176\000\147\000\149\000\147\000\000\000\000\000\178\000\000\000\146\000\134\000\179\000\000\000\000\003\169\000\135\000\000\000\151\000\132\000\136\000a\000\000\000\141\000\000\001q\000\000\003\156\000\177\000\134\000\177\000\000\000\147\000\000\000\135\000\000\000\000\000\132\000\136\000\000\000\000\000\141\000\000\000\000\000\145\004\183\000\000\000\000\000\000\000\000\000\149\000\000\000\149\000\146\000\178\000\000\000\178\000\177\000\179\000\000\000\179\000\000\000\145\000\000\000\151\000\000\000\151\000\000\000\134\000\000\003\156\000\000\001r\000\135\000\000\000\147\000\000\000\136\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\134\000\179\000\000\000\000\000\000\000\135\000\000\000\151\000\132\000\136\000\000\000\000\000\141\000\000\000\177\000\145\000\000\000\000\001r\000\000\000\000\000\132\006)\000\000\000\000\000\141\000\000\000\000\000\000\004\192\000\000\000\000\000\000\000\145\000\000\006\137\000\149\000\146\000\000\000\132\000\178\000\000\000\000\000\141\000\179\000\000\000\000\004\214\000\000\000\000\000\151\000\000\000\000\001\139\003\156\000\146\000\000\000\134\000\000\000\147\000\000\000\000\000\135\000\000\000\000\001\006\000\136\001\168\000\000\000\000\000\134\000\000\003\156\000\000\001a\000\135\001b\000\147\000\000\000\136\000\000\000\000\002\179\002\180\000\177\001\139\004\219\000\000\000\134\001\t\000\145\0010\000\000\000\135\000\146\000\000\000\132\000\136\000\000\001\170\000\141\000\000\000\177\000\145\004\226\000\000\000\149\000\000\000\000\000\000\000\178\003\156\000\146\000\000\000\179\000\000\000\147\000\000\000\000\000\000\000\151\000\145\000\000\000\134\000\149\000\000\001c\000\000\000\178\003\156\001d\000\134\000\179\002\181\000\147\000\000\000\000\002\182\000\151\000\132\000\000\000\177\000\000\000\141\000\000\000\134\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\136\000\000\001q\000\000\000\000\000\177\000\000\000\000\000\000\000\149\000\000\000\000\000\132\000\178\000\000\000\146\000\141\000\179\000\000\000\000\001a\000\000\001x\000\151\000\145\000\000\000\000\000\149\000\146\000\000\000\000\000\178\006*\000\000\000\134\000\179\000\000\000\147\000\000\000\135\000\000\000\151\000\000\000\136\000\000\006*\000\146\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\132\000\000\002\179\002\180\000\141\000\000\000\134\000\177\001E\000\000\000\000\000\135\000\145\000\147\000\134\000\136\000\000\001c\000\000\000\000\000\177\001d\002\195\000\000\000\000\000\000\001r\000\132\000\000\000\149\000\000\000\141\000\000\000\178\002\196\000\000\000\000\000\179\000\177\000\145\000\000\000\000\000\149\000\151\000\000\000\000\000\178\001q\000\146\000\134\000\179\000\134\000\000\002\181\000\135\000\000\000\151\002\182\000\136\000\000\000\149\000\000\000\132\000\000\000\178\001k\000\141\000\000\000\179\000\000\000\147\000\000\000\000\000\000\000\151\000\132\000\134\000\000\000\000\000\141\000\000\000\135\000\145\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\146\000\000\001\139\000\132\000\177\000\000\000\000\000\141\000\000\002\212\000\000\000\000\000\000\000\000\000\000\000\000\001\172\001\132\000\145\000\000\000\134\000\000\000\147\002\233\000\000\000\135\000\149\000\146\000\000\000\136\000\178\000\000\000\000\000\134\000\179\001r\000\000\000\000\000\135\000\000\000\151\000\132\000\136\000\000\001\179\000\141\000\000\000\177\000\000\000\147\000\000\000\000\000\134\000\145\000\000\000\000\000\000\000\135\000\000\005.\002\195\000\136\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\149\000\146\000\000\002\196\000\178\000\177\000\132\000\000\000\179\000\000\000\141\000\000\001\138\000\000\000\151\000\000\000\145\000\000\002\149\000\000\000\000\000\134\000\000\000\147\000\000\000\000\000\135\000\149\000\146\000\000\000\136\000\178\000\000\001\139\000\000\000\179\000\000\000\000\001\140\000\000\000\000\000\151\001\141\000\000\000\000\002\153\000\000\001\142\000\177\000\000\000\147\002\179\002\180\000\000\000\145\000\134\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\146\000\136\000\000\000\000\000\000\000\000\002\212\000\149\000\000\000\000\000\000\000\178\000\177\000\146\000\000\000\179\000\000\002\189\000\000\000\000\002\235\000\151\000\147\000\000\000\000\000\145\000\000\000\000\000\000\000\000\002\252\000\000\000\146\000\000\000\149\000\147\000\000\000\134\000\178\002\181\000\132\000\000\000\179\002\182\000\141\000\000\000\000\000\177\000\151\003\001\000\000\000\000\000\000\000\132\000\147\000\000\000\000\000\141\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\146\000\000\000\000\000\178\000\132\000\000\000\000\000\179\000\141\000\177\000\000\000\000\000\149\000\151\000\000\000\000\000\178\003\005\000\000\000\134\000\179\000\000\000\147\000\000\000\135\000\000\000\151\000\000\000\136\000\000\000\000\000\149\000\134\000\000\000\146\000\178\000\000\000\135\000\000\000\179\003t\000\136\000\132\003x\000\000\000\151\000\141\000\177\000\000\000\000\000\000\003\028\000\145\000\134\000\000\000\000\000\147\000\000\000\135\000\000\000\000\000\000\000\136\000\000\000\000\000\145\000\000\002\195\000\000\000\149\000\000\000\000\000\000\000\178\000\132\000\000\000\132\000\179\000\141\002\196\000\141\000\177\000\000\000\151\000\000\000\000\000\145\000\000\000\000\003F\000\000\000\134\000\000\003y\000\000\000\000\000\135\003z\000\000\000\000\000\136\000\000\000\000\000\149\000\000\000\000\000\000\000\178\000\000\000\000\000\000\000\179\000\000\000\000\000\132\000\000\000\000\000\151\000\143\000\000\000\000\000\000\000\000\000\134\000\145\000\134\000\000\000\000\000\135\000\000\000\135\000\146\000\136\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\002\212\000\000\000\000\003C\000\000\000\000\000\000\000\000\000\147\000\000\000\000\000\145\000\000\000\145\002\241\000\000\003\129\000\000\000\134\000\000\000\146\000\147\000\000\000\135\000\000\000\000\000\000\000\136\003\160\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\003\144\000\000\000\000\000\000\000\000\000\147\000\000\003\135\003t\000\177\003\165\003x\000\000\000\132\000\145\000\000\003\163\000\143\000\149\003\136\000\000\000\146\000\178\000\000\000\132\000\132\000\179\000\000\000\143\000\143\000\177\000\149\000\151\000\000\000\000\000\178\000\000\000\000\003\146\000\179\000\000\000\000\000\000\000\147\003\166\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\146\000\000\000\146\000\178\000\134\000\000\000\132\000\179\003y\000\134\000\143\000\000\003z\000\151\000\135\000\177\000\000\004\147\000\136\004\249\000\134\000\134\000\147\000\000\000\147\000\135\000\135\002\179\002\180\000\136\000\136\000\000\000\000\000\000\003\168\000\132\000\000\000\149\000\000\000\143\000\146\000\178\000\145\000\000\000\000\000\179\000\000\000\177\003\169\000\177\000\000\000\151\000\000\000\145\000\145\000\134\002\179\002\180\000\000\000\000\000\135\000\000\000\147\000\000\000\136\000\000\000\000\000\000\000\000\000\149\000\000\000\149\000\000\000\178\000\000\000\178\000\134\000\179\002\181\000\179\000\000\000\000\002\182\000\151\000\134\000\151\000\000\000\148\000\145\000\135\000\000\003t\000\000\000\136\003x\000\000\003t\000\000\000\000\003x\000\000\000\000\000\000\000\000\003\135\000\134\000\000\002\181\000\000\000\149\000\000\002\182\000\000\000\000\000\187\000\000\003\136\000\145\000\000\000\000\000\000\000\146\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\146\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\000\000\000\147\003y\000\134\000\000\000\000\003z\003y\000\000\000\000\000\000\003z\000\147\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\195\000\000\000\000\000\148\000\148\000\000\000\000\000\000\003\168\000\000\000\000\000\000\002\196\000\147\000\149\000\000\000\000\000\000\000\000\000\190\000\146\000\000\003\191\000\000\000\000\000\149\000\149\000\000\000\151\002\195\001z\001|\000\000\000\000\000\000\000\000\000\000\000\000\000\148\000\151\000\151\002\196\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\000\000\003\135\002\204\000\000\000\148\000\000\003\135\000\000\000\000\000\000\000\000\000\151\000\000\003\136\000\000\002\212\000\000\000\000\003\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\002\243\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\002\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\193\000\000\000\000\000\000\000\000\003\195")) + ((16, "\001)\000\002\000\000\000\000\000\000\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\001m\002\242\000\000\001Q\001A\000\000\000\000\000\000\000\169\000\000\001\028\001x\000\000\000\000\002\158\000\000\003\210\000\000\000\000\000\000\003\248\000\000\004\"\000\000\000\000\000\000\004\166\000\000\004\212\000\000\000\000\005\"\000\000\005P\005\176\000\000\000\000\005\218\000\000\005\252\000\000\000\000\000\000\006\002\000\000\006(\000\000\006\136\000\000\007\146\000\000\007\148\007\160\000\000\000\000\b\002\000\000\b\020\000\000\0003\003\232\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000}\000\000\000\142\000\000\000\000\t\186\000\000\000\000\004\196\000\000\000\000\000\000\001h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000\000\000\001P\011L\000\000\000\000\r,\000\000\000\000\000\000\000\000\bd\000\000\b\168\004\024\000\000\b\210\000\000\000\000\t\022\000\000\000\000\tT\000\000\t\\\000\000\000\000\000\000\td\000\000\002b\t\194\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\152\003\230\000\000\000\170\000\000\000\000\000\000\t\196\000\000\005F\000\000\000\137\001\023\000\r\000\000\000\000\003\136\003\156\000\000\004\172\000\000\b\132\000\224*\134\n0\026\164\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174*\134\000\000\000\000\rh\r\130\016V\000\000\018\128\000\000\nf\018\184\000\000\000\000\000\000\000\140\000\000\005\198%H\011\208\000\000\000\0007P\000\000\001\254\000\000\030,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006T\000\000\000\000\012b\000\000\rH\000\000\016.\000\000\016\144\000\000\016\228\000\000\019x\000\000\0210\000\000\023X\000\000\023\248\000\000\026V\000\000\031D\000\0007d\000\000\000\000\000\000\000\000\000\000\027\154\000\000 \028\000\000!\134\000\000\"\208\000\000'\252\000\000)\018\000\000>\182\000\000>\202\000\000?\018\000\000?<\000\000?\206\000\000?\232\000\000?\234\000\000@\014\000\000@\028\000\000@*\000\000\031\134\000\000\000\000!\188\000\000\000\000\000\000\000\000\003v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0307|\000\000\001\172\000\000\000\000\002 \004\"\000\000\002n\t\200\000\000\000\000\t\220\000\000\t\228\t\254\000\000\000\000\n\"\000\000\n0\000\000\000\000\000\000\n6\000\000\n8\000\000\n:\000\000\nX\000\000\000\000\nf\000\000\nl\np\000\000\000\000\nv\000\000\n\160\000\000\000\000\000\000\n\162\000\000\n\164\000\000\n\168\000\000\n\182\000\000\n\190\n\194\000\000\000\000\n\196\000\000\n\222\000\000\000\018\004\128\000\000\n\226\000\000\n\232\bd\000\000\n\236\000\000\000\000\n\238\000\000\n\240\000\000\011\016\000\000\000\000\000\000\011\024\000\000\011\026\000\210\000\000\011$\000\000\r\228\014z\000\000\004\220\000\000\005\024\000\000\000\000\001\134\r\144\000\000\000\000\000\000\000\000\rl\018f\000\000\018\220\000\000\000\000\000\000\005\174\000\000\005\226\000\000\005L\000\000\000\000\000\000\000\000\000\000\000\000\005\210\000\000\000\000\000\228\000\000\001\n\000\000\000\000\000\000\025x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\007:\005\144\000\000\011B\000\000\011J\nZ\000\000\011L\000\000\000\000\000\000\006h\000\000\000\000\000\000\000\000\002`\000\000\000\000*\198\000\000\000\000\000\000\025p\000\000\000\000\000\000\000\000\000\000\000\000\021\146\000\000\000\000\024.\000\000\000\000\025:\000\000\028\190\000\000\000\000\000\000\007\244\000\000\027\132(v\000\000\000\000(\250)\134\000\000-\030\000\000.,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@D\000\000.\204\000\0007\128\000\000@\242\000\000A\000\000\000A\028\000\000A\134\000\000A\188\000\000A\216\000\000A\252\000\000B\n\000\000B\030\000\000B,\000\000Bf\000\000B\184\000\000B\224\000\000\000\000)\160\000\000\000\000\000\000)\242\000\000\000\000\000\000\000\000\000\000\000\0008\012\000\000\000\000\000\000\b\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\000\0008n\000\000\000\000\000\000\002\182\001\208\000\000\000\000\000\000\000\000\r\156\000\000+\020\000\000\000\000\000\000\000\000\000\000+f\000\000\000\000\000\000+\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011N\018\186\000\000\011P\000\000\000\000\000\000\000\000\000\000\011V\000\000\000\000\002H\004n\000\000\005\030\000\000\000\000\000\000\002\174\000\000\r\194\003<\011Z\000\000\000\000\011^\000\000\011b\011t\000\000\000\000\011v\000\000\011z\000\000\000\000\000\000\011\138\000\000\011\150\000\000\011\162\000\000\011\180\000\000\000\000\011\182\000\000\011\186\011\192\000\000\000\000\011\198\000\000\011\200\000\000\000\000\000\000\011\208\000\000\011\214\000\000\011\220\000\000\011\232\000\000\012\n\012\028\000\000\000\000\012 \000\000\0120\000\000\001\166\014\156\000\000\0124\000\000\0126\015\190\000\000\0128\000\000\000\000\012B\000\000\012P\000\000\012R\000\000\000\000\000\000\012X\000\000\002\220\000\000\000\000\000\000\003\020\005\174\000\000\000\000\003\176\000\000\000\000\012Z\021.\000\000\012\\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n\180\026\160\000\000\012h\000\000\012l\028\022\000\000\012p\000\000\000\000\r\150\012x\000\000\000\000\012\130\000\000\012\134\012\144\000\000\000\000\012\146\000\000\012\158\000\000\000\000\000\000\012\162\000\000\012\178\000\000\012\188\000\000\012\192\000\000\000\000\012\200\000\000\012\212\012\214\000\000\000\000\012\220\000\000\012\226\000\000\000\000\000\000\012\230\000\000\r\006\000\000\r\b\000\000\r\014\000\000\r\024\r(\000\000\000\000\r,\000\000\r0\000\000\004l\017T\000\000\r8\000\000\r>\0204\000\000\rF\000\000\000\000\rJ\000\000\rT\000\000\rd\000\000\000\000\000\000\rp\000\000\rv\029\232\000\000\r~\000\000\000\000\011\170#\244\000\000\r\132\000\000\r\134$\152\000\000\r\140\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\210\000\000\014`\000\000\000\000\000\00096\000\000\000\000\000B\000\000\000\000\000\000\003.\006\196\000\000\000\000/4,N\000\000\027h,\172\000\000\000\000\000\000/8\000\000\000\000-F\000\000\000\000\000\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\000\030\212\000\000\000\000 \000\000\000\t\236\000\000\000\000\000\000\t\216\000\000#h\000\000\000\0009`\000\000\000\000\000\000\011\194\000\000\000\000\000\000\000\000\000\000\000\0009\196\000\0009\200\000\000\000\000\000\000-h\026\002\000\000\000\000\000\000\000\000\000\000/\160\000\000\000\000\000\000\000\000\r0\000\000\000\000\000\000\000\000\011\134\000\000\015\218\000\000\000\222\000\000\000\000\000\000CF\000\000Cf\000\000C\204\000\000C\236\000\000C\238\000\000C\250\000\000D\028\000\000DT\000\000D\162\000\000D\196\000\000E\n\000\000E\014\000\000E\030\000\000E*\000\000\000\000\000\0000\n\000\000\000\000\002V0v\000\000\000\0001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\003\130\000\000\b.\000\000\000\000\012\154\000\000\000\000\000\0000\142\000\000\000\000\000\000\000\000\000\000\016\250\000\000\000\000\000\000\001\023\000\0001b\000\000\000\000\000\000\000\000\004\182\016\152\000\0001\132\000\000\000\000\000\000\000\000\020n\000\0001\196\000\000\000\000\000\000\000\000\002\148\000\000\007Z\000\000 \024-v\000\000\000\000\000\0009\228\000\000\000\000\000\000\003\196\000\000:\014\000\000\000\000\000\000:\182\000\000\000\000\000\230\000\000\025*\000!.\016\000\000\000\000\000\000\004d\007\130\000\000\000\000\000\000\000\000\000\000\000\000&\n\000\000\000\000-\014\000\000\000\000/\232\000\000\007\190\000\000\000\000\000\000\r\134\000\000#\234\000\000\000\000;\014\000\000\000\000\000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000><\000\000>V\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000E\164\000\0001\224\000\000;\156\000\000E\196\000\000E\212\000\000E\228\000\000F\022\000\000F>\000\000F~\000\000F\230\000\000F\244\000\000G\030\000\000G\142\000\000G\156\000\000G\196\000\000G\244\000\000\000\000\004\130\000\000\005f\000\000\r\252\0026\b\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\182\000\000\019\"\007&\014F\000\000\000\000\000\0002P\000\0002\152\000\0002\232\000\000%\172&\168\000\145\t \000\000\000\142\012\138\000\000\000\000\000\000\r~\000\000\000\000\015\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\252\000\000\000\000\000\000\000\000\000\000\000\000$~\000\000&\208\000\000\000\000\000\000\000\000\015~\000\000\000\000\007\234\000\000\000\000\000\000\026\140\001P\000\000\027\026\000\000\000\000\020n\000\000\002\170\000\000\000\000\016\016\000\000\027\156\000\000\000\000$\150\000\000\000\000\000\000\n\020\000\000\000\000\011\168\000\000\000\000#R\000\000\000\000\000\0003$\000\000\000\000\000\000-~\000\000\000\000\000\000\000\0003\180\000\000\000\000\000\000\000\000\004\204\021\202\000\0003\204\000\000\000\000\000\000\000\000\000\000\000\000\016|\000\000\000\000\003J\000\000\016\164\000\000\n\020\000\000\000\000\005~*@\000\000\005\250\000\000\000\000\000\000\000\000\005Z\000\000'\014\000\000\028\152\005\192\029\026\000\000\0066\000\000\017\246\000\000\018x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\250\029T\003\224\030l\000\000\000\000\000\000\005\204\000\000\018\160\000\000\006\"\000\000\000\000\n\166\003\188\031\000\000\000\005\226\000\000\020\030\031\146\000\000\000\000\020\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006.\tT\000\000\006\184\000\000\000\000\000\000\000\000\004\228\000\000\020\200\000\000\000\000\000\000!\234<\000\000\000\000\000\000\000\"\198\000\000\000\000\000\000\000\000\000\000\003\180\014\190\000\000\000\0004@\000\000\000\000\004\"\000\000\015\024\000\000\000\000/\\\000\000\000\000\000\0004b\000\000\000\000\000\000\000\0004z\000\000\000\000\007\176\017\188\000\000\000\0004\210\000\000\000\000\006\234#\210\000\000\018D\000\000\000\0005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\194\000\000\000\000\000\000\003\226\000\000\000\000\018\166\000\000\000\000/\218\000\000\000\000\000\0005\164\000\000\000\000\000\000\000\00062\000\000\000\000\007\200\019N\000\000\000\0006\138\000\000\000\000\007\014\000\000\000\000\000\000\000\000\005Z\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\030\000\000\021J\000\000\000\000\000\000\001\238\007\162\006\200\006\203\006*\006+\0019\001\249\000\153\002m\006\216\001\204\001\250\007Z\007\157\004\252\001\251\0019\002\202\000z\001\187\000k\001\252\0049\005\184\000k\000V\004:\000V\000V\006l\001\187\006\213\000\218\006\206\000S\000\219\005N\0019\003\224\007?\006,\003\238\000\218\006\224\0068\000\219\003\250\001\206\004\203\004\206\000$\0049\000V\002\232\004\183\004:\000k\000V\001)\001\228\0047\003\251\004J\001\229\003\243\007\164\000\220\0069\000S\000(\000z\000\153\004\245\006<\006*\006+\000\220\006,\000\153\003\244\000S\006)\005*\007Z\007\157\004\252\004z\004{\004\185\004\233\000*\000\153\000\156\000\162\000\153\000\161\002<\006'\004G\001\244\000o\000{\004\190\003\248\000V\005e\000\218\004\207\007\163\004H\000S\000r\003\243\005v\001\198\000c\006\219\007_\004}\004\183\004\206\003\238\0049\004\191\000o\000\128\004:\005\156\000\153\000\156\000\157\001\189\000\161\000\163\004G\000r\007\166\001\226\000V\000c\001\238\006\225\000\218\000\153\003\243\004H\003\"\004\193\006,\004\253\000V\007\165\006\214\004\185\004\215\000\153\000.\007\167\005\022\005q\0018\000\153\001\152\004G\005(\004\244\004S\004\190\0019\001\162\000\163\000\218\004\207\007\163\004H\0055\000o\001p\000\218\0000\000V\001\245\007_\001\155\004T\000S\006\233\000r\004\191\004U\004\183\000c\005\204\004V\002R\006\243\0013\000k\002o\004W\001\228\006\212\005\195\0047\001\229\004J\0019\005\206\000\209\005\011\000a\000S\004\193\000\210\004\253\002?\007\165\005\022\0003\004\215\004x\000\153\007\167\006\213\004\185\000c\007Z\007\157\004\252\001\152\004\244\004S\004|\004R\004G\002%\001\162\000\164\004\190\001\248\001\244\0007\000\218\004\207\007\163\004H\005\r\000\153\007.\004T\001\155\007/\001\184\007_\004U\000V\0058\001\249\004V\004\191\002\199\006H\001\250\004\206\004W\0049\001\251\000\164\000k\004:\0073\005\011\001\252\000\203\0047\0050\004J\000\211\000S\007\174\001\163\000V\001\142\004\193\001\136\004\253\002q\007\165\007\145\0006\004\215\007\146\000\153\007\167\0019\0050\000\153\007Z\007\157\004\252\005H\004\244\004S\003W\001\164\005\194\001\139\001\156\005\012\001\157\0009\000\217\0052\0047\001\186\004J\007p\0019\006B\000\218\004T\001\136\001\245\005\030\000S\004U\007,\000;\005-\004V\000?\001\192\0051\004\183\004\206\004W\0049\005J\005\b\0047\004:\004J\001\171\001\139\006\214\002&\0022\001\163\000V\000A\007\178\001\186\006\132\006*\006+\007\150\001\246\000\153\002\200\0047\0060\004J\003U\005\020\004\252\007h\0019\004\185\001\166\005H\001\247\001\169\007o\003\160\001\156\0049\001\157\004G\0019\004:\001\248\004\190\005\025\000S\0019\000\218\004\207\007\163\004H\0047\000\218\0048\005\168\000\219\000V\0061\007_\000C\001\249\004\206\001\187\0049\004\191\001\250\004\183\004:\005I\001\251\004z\004{\005\168\007,\001\187\001\252\006@\000\209\005\207\002\029\006\217\000k\000\213\0049\006\024\006\025\000\220\004:\004\193\006,\004\253\005\170\007\165\005\206\000\153\004\215\005\014\000\164\007\167\0076\004\185\004O\007;\000\153\005w\004\183\004\244\004S\003U\005\169\004G\000k\001\200\0049\004\190\000V\005\162\004:\000\218\004\207\007\163\004H\007k\000\153\007l\004T\005\214\007s\0076\007_\004U\004\183\0019\000\226\004V\004\191\007\027\000k\000S\004\185\004W\005\216\000\203\000\164\000\227\004\002\000\211\004O\000S\004G\000\200\002Q\007\204\004\190\006a\006*\006+\000\218\003X\004\193\004H\004\253\007\241\007\165\0062\004\185\004\215\000S\007\154\007\167\000\153\007k\007;\007l\005\016\004G\007\242\004\244\004S\004\190\000\217\0019\003\222\000\218\004\207\000\153\004H\005\187\005\"\0047\003U\004J\000E\000I\000S\004G\004T\007G\004\193\000H\004\191\004U\001\198\000\218\001,\004V\004H\000\153\000V\004\203\000k\004W\003U\005\020\004\252\000\203\004\197\004S\000V\000\204\004Q\007\169\004z\004{\004\193\004G\004\253\004\002\005\028\006,\000z\004\215\005\217\000\218\004\220\004T\004H\000V\006b\007h\004U\007\029\004\244\004S\004V\005\220\007u\005\216\000K\004\206\004W\0049\000S\000\217\0047\004:\004J\000M\005\228\000\218\005\216\004T\000\219\004S\000V\005\231\004U\007\226\004\207\007A\004V\007=\000\153\005\230\004z\004{\004W\003U\005\020\004\252\005\230\004T\007a\0047\005\234\004J\004U\0010\000S\005\242\004V\000\005\007\196\000\220\007\196\001\231\004W\000}\007@\005\216\006\160\000\153\004z\004{\005\244\007|\003U\005\020\004\252\0078\005\239\004I\007\250\007\207\004\206\004\215\0049\0019\004\220\004\183\004:\000\252\000V\006\161\000\164\004\166\004\244\006\164\006*\006+\003x\000\131\000\218\006w\003y\000\219\000o\001u\0078\003\227\000\222\007<\007\154\004\206\000\253\0049\0019\000r\000\254\004:\004\207\000c\000\130\004\185\006N\000\224\006x\007v\004\158\006{\006*\006+\007\154\004G\000\209\000S\000\220\004\190\007C\000\213\007\224\000\218\004\207\007;\004H\005 \005\"\006O\006*\006+\000S\007w\000\153\007k\004\183\007l\000\133\007J\004\191\003W\000k\000\209\005\241\0019\003z\007\160\000\210\004\215\003{\004\203\004\220\000n\006,\000\153\000\156\000\157\001\194\000\161\004\244\002.\000S\005\245\004\193\004\183\004\253\007\176\005\028\000\136\004\185\004\215\007Q\000\138\004\220\007\245\000k\000\142\005\244\005\248\004G\000\203\004\244\004S\004\190\000\211\006,\000V\000\218\004\207\002\226\004H\005G\005\"\005\216\004\159\007\203\000\163\007\197\004\185\007V\004T\000V\000k\006,\004\191\004U\007\227\000\203\004G\004V\007~\000\211\004\190\003W\b\026\004W\000\218\004\207\000\217\004H\005\191\005\"\004\203\002l\000\160\0047\001;\004J\004\193\b\027\004\253\000V\005\028\004\191\000S\004\215\001>\007\246\004\220\007\235\001B\000S\002I\000\153\001.\000\217\004\244\004S\003U\005\020\004\252\007\253\007\196\001A\0047\003\136\004J\004\193\000o\004\253\000S\005\028\007\252\000\218\004\215\004T\003\137\004\220\006\166\000r\004U\001D\000\153\000c\004V\004\244\004S\007Z\001F\004\205\004W\001J\001L\001N\007\234\004\206\003x\0049\003}\001\204\003y\004:\007\235\007?\004T\004\233\000q\000\218\001P\004U\000\219\006\137\007\196\004V\000V\001S\000\200\002;\001W\004W\001V\000V\003=\001Y\004\206\007\234\0049\000S\003\243\0047\004:\004J\006R\000\209\000\218\0010\001\206\000\219\000\210\007\234\000V\000\220\007\170\004\238\001[\001_\001a\000\153\001c\006a\006*\006+\007Z\003\138\004\205\001e\003\160\001\136\0016\001i\003z\001h\001k\000u\003{\004\183\0019\004\242\000\220\000\252\006a\006*\006+\000S\000S\001m\000k\001r\004\233\001\139\001x\000\203\001w\001z\001|\000\204\000S\001\186\000\222\004\206\007\235\0049\000\253\000k\004\183\004:\000\254\000V\000\203\004\185\001~\003\243\000\211\000\224\001\130\001\203\000\209\007\155\001\198\004G\001\135\000\210\000o\004\190\007\199\0024\004\238\000\218\004\207\000\217\004H\007z\005\"\000r\006,\001\191\003\162\000c\004\185\001\197\001\196\002f\002e\006\148\004\191\002k\000\217\002y\004G\002|\004\242\002\128\004\190\000V\000V\006,\000\218\004\207\007\156\004H\002\127\002\130\000\153\002\132\006\174\003\164\000V\007_\004\193\004\183\004\253\002\136\005\028\007\159\007\201\004\215\000k\002\138\004\220\000o\003\136\000\203\003\199\002\140\000\153\000\211\004\244\004S\000\218\0076\000r\003\137\002\142\002\145\000c\002\149\000S\004\193\002\148\004\210\007\161\002\151\002\153\004\185\004\215\004T\002\157\007\167\000\218\002\159\004U\000\219\002\161\004G\004V\004\244\004S\004\190\002\163\000\217\004W\000\218\004\207\007\156\004H\000\218\003\167\0047\000\219\004J\001\152\000\209\007_\004\157\004T\002\167\000\210\001\162\007\159\004U\000\164\001\198\000\220\004V\002\166\000\153\002\169\000\200\0028\004W\007Z\001\155\004\205\003\134\002\171\004\224\002\176\002\182\002\181\000\220\000\200\0027\004\193\002\184\004\210\007\161\004\158\000\153\003\169\004\215\002\186\002\188\007\167\000\209\002\192\002\209\002\208\000S\000\210\000S\004\244\004S\002\225\003\170\002\231\000\153\002\230\004\206\0038\0049\002\234\000k\0047\004:\004J\002\237\000\203\002\241\000\218\004T\000\211\000\219\002\240\002\243\004U\007\158\001+\000k\004V\002\245\000\153\002\249\000\203\000x\004W\003U\000\204\004\205\000S\002\251\000k\0047\000S\004J\002\253\000\203\002\255\000\153\000\156\000\204\003\002\001\137\000\220\000k\000\217\001\176\003\006\003\005\000\203\000\153\003\b\006\226\000\211\003\n\003U\003\014\004\205\000V\001\163\000V\000\217\004\159\004\206\001\152\0049\004\161\001\155\004\183\004:\0077\001\180\003\016\003\018\000\217\006\227\003\020\006\230\006*\006+\000\163\003\024\0047\003\230\004J\001\155\001\156\000\217\001\157\003\023\000\226\003\026\004\206\003\028\0049\000S\0019\003!\004:\004\158\003'\000\229\004\185\000V\003&\005\199\003)\004\176\005\198\005B\0078\003+\004G\000\153\000\156\001\138\004\190\000\161\0019\003-\000\218\004\207\007\156\004H\000\218\0031\006N\000\219\0037\000S\000o\007_\0036\004\183\005@\003<\003B\007\159\005B\003A\000\218\000r\003\160\000\219\0049\000c\006#\003\159\004:\006O\006*\006+\006,\000\218\006L\000\163\000\219\0067\000\220\006E\006q\004\193\004\183\004\210\007\161\000V\000\218\004\185\004\215\000\219\006\159\007\167\000S\006\184\000\220\006\186\006\196\004G\006\198\004\244\004S\004\190\006\208\006\235\004\159\000\218\004\207\000\220\004H\000S\004<\001\156\007\135\001\157\007\181\001\179\004\185\007\185\004T\000V\000\220\0019\0057\004U\007\205\000\226\004G\004V\000z\001\156\004\190\001\157\004\183\004W\000\218\004\207\000\231\004H\007\211\0019\007\212\007\217\007\218\007\223\006,\0047\004\193\004J\004\210\0059\007\222\0057\007\230\004\215\000S\004\198\004\220\007\232\007\238\007\239\007\243\007\244\000V\000\153\004\244\004S\004\185\002M\003U\004\200\004\205\007\247\004E\001\139\001\202\004\193\004G\004\210\0059\000V\004\190\001\186\004\215\004T\000\218\004\220\007\248\004H\004U\006\246\006\199\003x\004V\004\244\004S\003y\007\251\007\254\004W\007\255\b\016\004\191\b\005\b\014\b\n\004\206\004\141\0049\b\r\b\022\000\153\004:\004T\006\200\006\203\006*\006+\004U\0047\b\020\004J\004V\b\024\b\029\000V\004\193\001\136\004W\000\000\004\212\006a\006*\006+\000\209\000o\002\174\000\153\000S\000\210\000\000\000\000\003U\004\213\004\252\004S\000r\000\000\000\000\001\139\000c\000\000\003\160\000\000\000\200\0026\003z\001\186\000\000\000\000\003{\000\000\000\000\004T\006U\000\000\000\000\000\164\004U\000\000\000S\000\000\004V\0047\000z\004J\004\183\000\000\004W\004\206\007h\0049\005`\000\209\004\255\004:\000\000\007j\000\210\000\000\006,\000\153\000\000\0047\000k\004J\003U\004\213\004\252\000\203\000\000\000\000\000\000\000\211\005\004\000\000\006,\004\164\000V\000\000\004\185\000\153\000\164\000\000\000k\006\189\003U\004\213\004\252\000\203\004G\000\000\003\162\000\204\004\190\000\209\003W\005h\000\218\004\207\000\210\004H\000\000\004\206\000\000\0049\000\000\000\217\006\226\004:\004\158\000\000\000\000\000k\000\000\005\001\000\000\000S\000\203\004\183\000\000\003\164\000\211\004\206\000\153\0049\000\000\000\217\000\000\004:\000\000\006\227\000\000\006\230\006*\006+\003\136\000\000\003\166\004\193\000\000\004\210\005\003\006\226\000\218\000\000\004\215\003\137\000\000\005\005\000o\002\179\000\000\004\185\000\000\000k\000\217\004\244\004S\000\000\000\203\000r\000\000\004G\000\211\000c\006\227\004\190\006\230\006*\006+\000\218\004\207\004\183\004H\000\000\004T\000\000\007\024\000\000\000\000\004U\003\167\000\000\000\000\004V\000\218\000V\004\191\000\219\000\000\004W\001\152\004\183\007k\004\159\007l\000\000\000\217\001\162\000\000\000\000\000\000\000\153\0019\000\000\000\218\004\185\006,\000\219\000\000\000S\004\193\001\155\004\253\000\000\004\254\004G\000\000\004\215\000\220\004\190\004\220\000\000\003\169\000\218\004\207\004\185\004H\000\000\004\244\004S\0047\000\000\004J\000\218\000\000\004G\000\219\003\170\000\220\004\190\004\191\006,\000\000\000\218\004\207\000z\004H\004T\000\153\000\000\000\000\000\000\004U\003U\005\020\004\252\004V\000\000\000\000\000\000\004\191\000S\004W\000\000\004\193\000\226\004\253\000\220\004\254\000\000\007h\004\215\000\164\000\000\004\220\000\218\000\233\007r\000\219\000V\000\000\000\000\004\244\004S\004\193\000\000\004\253\003\252\004\254\000\000\004\206\004\215\0049\000\000\004\220\0047\004:\004J\000\000\000\200\0025\004T\004\244\004S\000\153\000\000\004U\000\000\001\163\000\220\004V\004\000\000\000\000\153\000\226\0047\004W\004J\003U\005\020\004\252\004T\000\000\007\t\000\000\000\235\004U\000\200\000\202\000S\004V\000V\003\240\000\153\000\000\001\156\004W\001\157\003U\005\020\004\252\000\000\000\000\000\000\000\000\0019\000\153\000\156\000\157\002c\000\161\000o\003\031\000\000\000\000\004\206\000\226\0049\007\016\000k\004\183\004:\000r\000\153\000\203\000\000\000c\000\237\000\204\000\000\000\000\000\000\001\152\000\000\000\000\004\206\000\000\0049\000S\001\175\0047\004:\004J\000\000\000\000\000\000\000\000\000k\000\163\000\000\000\000\000\000\000\203\001\155\004\185\000\000\000\204\000\000\000\000\000V\000\000\000\000\000\217\000\000\004G\004\176\005\017\000\000\004\190\000\000\000\000\000\000\000\218\004\207\007k\004H\007l\005\027\000\164\000\000\000\000\000\000\000\000\000\209\0019\004\183\000\000\000\000\000\210\004\191\000\217\001\152\000\000\005x\000\000\000\000\000\000\000\000\001\154\000\000\003\160\006\229\0049\000\000\000\000\004\183\004:\000\000\000V\000\000\000\000\006N\001\155\004\193\000\000\004\253\000\000\005\028\000\000\004\185\004\215\000\000\000S\004\220\006\227\000\000\006\230\006*\006+\004G\000\000\004\244\004S\004\190\006O\006*\006+\000\218\004\207\004\185\004H\000\218\005\029\000k\000\219\000\000\000\164\000\000\000\203\004G\004T\000\000\000\211\004\190\004\191\004U\000\000\000\218\004\207\004V\004H\005\129\005/\000\000\000\000\004W\0047\000\000\004J\000\218\004\183\000\000\000\219\000\000\004\191\000\220\000\000\001\156\004\193\001\157\004\253\000\000\005\028\006\026\000\153\004\215\000\217\0019\004\220\003U\005:\004\252\000V\000\000\000\000\000\164\004\244\004S\004\193\001\136\004\253\006,\005\028\000\220\004\185\004\215\006\027\000\000\004\220\006,\005\147\006\030\006*\006+\004G\004T\004\244\004S\004\190\000\000\004U\001\139\000\218\000\000\004V\004H\004\206\000\000\0049\001\186\004W\0047\004:\004J\000\000\004T\001\156\000S\001\157\004\191\004U\000\000\000\000\000\000\004V\003W\0019\000\000\000\000\000\153\004W\0047\000\000\004J\003U\005:\004\252\000\000\006\226\000\000\000\000\000\000\005P\004\193\000\000\000\218\000S\000\000\000\219\000\153\005<\000\000\000\000\000z\003U\004\213\004\252\000\000\000\000\000\164\000\000\006\227\004S\006\230\006*\006+\006,\000\000\000\000\000\000\000\000\004\206\000\000\0049\005\163\000\000\004\183\004:\000\000\000\220\004T\000\000\000\000\000\209\000\000\004U\000\000\000V\000\210\004V\000\000\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\000\153\000\156\000\157\002\206\000\161\000\000\000\000\000\000\006[\000\000\004\185\000\000\000\000\000\000\000\153\005>\000V\000\000\000\000\003U\004G\004\205\000\000\000\000\004\190\000\000\000\226\006w\000\218\004\207\000\000\004H\000\200\001\219\000\000\000\000\000\000\000\239\006,\000\000\000\000\004\183\000\163\000k\000\000\004\191\000\000\000\000\000\203\000\000\006x\000\000\000\211\006{\006*\006+\004\206\000\000\0049\000o\003$\004\183\004:\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000r\004\253\000\000\005=\000c\004\185\004\215\000\000\000\000\004\220\006-\000\000\000\000\000\000\000\000\004G\000\217\004\244\004S\004\190\000\000\000\000\000k\000\218\004\207\004\185\004H\000\203\005\185\003W\000\000\000\204\005B\000\164\000\000\004G\004T\000\000\000\000\004\190\004\191\004U\000\000\000\218\004\207\004V\004H\000\000\004\003\000\000\000S\004W\0047\000\000\004J\000\000\004\183\000\000\006,\000\000\004\191\000\000\000\000\000\000\004\193\000\217\004\253\000\000\005=\000\000\000\153\004\215\004\007\000\000\004\220\003U\000\000\004\205\000\000\000\000\000\000\000\000\004\244\004S\004\193\007\019\004\253\000\000\004\254\000\000\004\185\004\215\000\000\000\000\004\220\000\218\000\000\000\000\000\219\000\000\004G\004T\004\244\004S\004\190\000\000\004U\000\000\000\218\004\207\004V\004H\004\206\000\000\0049\000\000\004W\0047\004:\004J\000V\004T\000\000\001\136\000\000\0057\004U\000\000\000\000\000\220\004V\000\000\000\000\000\000\000\000\000\153\004W\0047\000\000\004J\003U\000\000\004\205\000\000\000\218\001\139\000\000\000\219\000\000\004\193\000\000\004\210\0059\001\186\005\201\000\153\004\215\000\000\005B\004\220\003U\000\000\004\205\000\000\000\000\000\000\000\000\004\244\004S\000\000\000\000\000\000\000\000\000\000\006\143\000\000\000\226\004\206\000\220\0049\000\000\000\000\004\183\004:\000\000\000\000\004T\000\241\000\000\000\209\006N\004U\000\000\000\000\000\210\004V\000\000\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\000\000\000\164\000\000\000\000\000\000\000\000\000\000\006O\006*\006+\004\185\000\000\000\000\005\203\000\153\000\000\004\246\005B\000\000\003U\004G\004\205\000\000\000\000\004\190\000\000\000\000\000\000\000\218\004\207\000\000\004H\000\000\007D\000\000\000\000\000\000\005B\000\000\000\000\004\250\004\183\000\000\000k\000\000\0057\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\004\206\000\000\0049\000\000\000\000\004\183\004:\000\209\000\000\000\000\000\000\000\000\000\210\004\193\000\000\004\210\0059\000\000\000\000\004\185\004\215\000\000\000\000\004\220\000\000\000\000\006,\000\000\000\000\004G\000\217\004\244\004S\004\190\000\200\001\222\000\000\000\218\004\207\004\185\004H\000\000\007R\000\000\000\000\000\000\005B\000\000\000\000\004G\004T\000\000\000\000\004\190\0057\004U\000\000\000\218\004\207\004V\004H\000\000\000\000\000\000\000\000\004W\0047\000k\004J\000\000\004\183\000\000\000\203\000\000\0057\000\000\000\211\007L\004\193\000\000\004\210\0059\000\000\000\000\000\153\004\215\000\000\000\000\004\220\003U\004\213\004\252\000\000\000\000\000k\000\000\004\244\004S\004\193\000\203\004\210\0059\000\000\000\204\004\185\004\215\000\000\000\000\004\220\000\218\000\217\000\000\000\219\000\000\004G\004T\004\244\004S\004\190\000\000\004U\000\000\000\218\004\207\004V\004H\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\004T\000\000\000\217\000\000\0057\004U\000\000\007\128\000\220\004V\006Y\000\000\000\000\000\000\000\153\004W\000\000\000\000\000\000\003U\004\213\004\252\000\000\000\000\005K\0047\000\000\004J\004\193\000\000\004\210\0059\000\000\000\200\001\225\004\215\000\000\000\000\004\220\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\244\004S\003U\000\000\004\252\000\000\000\000\006N\000\218\000\226\004\206\000\219\0049\000\000\001\226\004\183\004:\001\227\000\000\004T\000\243\000\000\000\000\000\000\004U\000\000\000\000\000\000\004V\000\000\006O\006*\006+\000\000\004W\000\218\000\153\000\000\000\219\004\206\000\000\0049\000\220\000\000\000\000\004:\000\000\000k\006N\004\185\000\000\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\004G\000\000\000\000\000\000\004\190\000\000\000\000\000\000\000\218\004\207\000\220\004H\006O\006*\006+\000k\000\000\000\000\001\228\006N\000\000\004\183\001\229\000\000\000\000\004\191\000\000\000\000\003x\000\000\000\226\000\217\003y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\006O\006*\006+\001\152\006,\000\000\000\000\004\193\004\183\004\253\001\178\004\254\000\000\004\185\004\215\006N\001\244\004\220\000\000\000\000\000\000\000\000\000\000\004G\001\155\004\244\004S\004\190\000\209\000\000\000\000\000\218\004\207\000\210\004H\000\000\000\000\000\000\006O\006*\006+\006N\004\185\000\000\004T\006,\003\160\000\000\004\191\004U\003z\000\000\004G\004V\003{\0047\004\190\004J\000\000\004W\000\218\004\207\000\000\004H\006O\006*\006+\001\226\000\218\005\000\001\238\000\219\004\193\000\153\004\253\006,\004\254\005M\003U\004\215\004\205\003\161\004\220\000\153\000\156\000\157\002\223\000\161\000k\000\000\004\244\004S\000\000\000\203\000\000\000\218\000\000\000\211\001\245\000\000\000\000\004\193\000\220\004\253\000\000\005O\000\000\000\000\004\215\004T\000\000\004\220\000\000\006,\004U\004\206\003\162\0049\004V\004\244\004S\004:\000\000\006h\004W\000\163\0047\000k\004J\000\000\001\228\000\217\000\000\000\000\001\229\000\000\000\000\000\000\004T\006,\004\204\000\000\000\000\004U\000\153\003\164\000\000\004V\001\156\003U\001\157\004\205\000\000\004W\000\000\000\000\000\000\000\000\0019\000\000\003\136\000\000\003\200\000\000\006f\000\200\003`\002<\000\218\000\000\001\244\003\137\000\000\000\000\0021\000\000\000\000\000\000\000\000\001\226\000\000\000\000\001\238\000\000\000\000\004\183\004\206\000\000\0049\000\000\000\209\0047\004:\004J\006d\000\210\000\000\000\153\003\203\000\000\000\000\000\000\000\000\000\000\000\000\004\214\003\167\000\000\000\000\000\153\000\218\000\000\000\000\000\219\003U\000\000\004\205\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\004G\000\203\000\000\006s\004\190\000\204\000\000\000\000\000\218\004\207\000k\004H\000\000\001\228\000\000\000\220\000\000\001\229\000\000\003\169\000\218\000k\004\206\001\245\0049\004\208\000\203\004\183\004:\006\130\000\211\000\000\000\000\000\000\003\170\000\000\002=\000\000\000\000\000\217\000\000\000\153\000\156\000\157\002\228\000\161\000\000\001\136\002%\004\193\000\000\004\210\004\211\001\244\000\000\000\000\004\215\002?\000\000\004\220\000\000\004\185\000\226\000\000\000\217\000\000\000\000\004\244\004S\001\139\000\000\004G\000\000\000\247\000\000\004\190\000\000\001\186\000\000\000\218\004\207\001\248\004H\000\163\000\000\000\000\004T\000\000\0047\006w\004J\004U\004\183\000\000\000\000\004V\004\208\000\000\000\000\001\249\000\000\004W\000\000\000\000\001\250\000\000\000\153\001\226\001\251\000\000\001\227\003U\006x\004\205\001\252\006{\006*\006+\000\218\000\000\004\193\000\219\004\210\004\211\000\000\000\000\004\185\004\215\000\000\000\000\004\220\000\000\000\218\000\000\000\000\001\245\004G\006w\004\244\004S\004\190\000\000\000\000\000\218\000\218\004\207\000\219\004H\004\206\000\000\0049\000\000\000\220\0047\004:\004J\006N\004T\002&\002'\006x\004\208\004U\006{\006*\006+\004V\000k\000\000\001\246\001\228\000\153\004W\000\000\001\229\000\000\003U\000\220\004\205\006O\006*\006+\0047\001\247\004J\004\193\000\000\004\210\004\211\000\000\006,\0019\004\215\001\248\000\000\004\220\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\244\004S\003U\000\000\004\205\000\000\000\000\001\244\001\249\000\000\004\206\000\000\0049\001\250\000\000\004\183\004:\001\251\000\000\004T\000\000\000\226\000\000\001\252\004U\000\000\000\000\002\029\004V\000\000\000\000\001\136\001\001\000\000\004W\006,\000\000\000\000\000\000\004\206\000\000\0049\000\000\000\000\000\000\004:\000\000\000\000\000\000\004\185\000\000\006,\000\000\001\139\000\000\000\000\000\000\000\000\000\000\004G\000\000\001\186\000\000\004\190\000\000\000\200\003q\000\218\004\207\000\000\004H\000\153\000\156\000\157\0034\000\161\005\031\000\000\000\000\000\000\004\183\000\000\000\000\000\000\005\024\000\000\000\218\000\209\000\000\001\245\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\169\000\000\000\000\000\000\000\000\004\193\004\183\004\210\005\026\000\000\000\163\004\185\004\215\000\000\000\000\004\220\0047\000\000\004J\000\000\000\000\004G\000k\004\244\004S\004\190\000\000\000\203\000\000\000\218\004\207\000\204\004H\000\000\000\153\000\000\000\000\000\000\005\023\003U\004\185\004\205\004T\000\000\000k\000\000\005\024\004U\006\252\000\203\004G\004V\000\000\000\211\004\190\000\000\000\000\004W\000\218\004\207\006N\004H\0020\000\000\000\000\000\217\005+\006\141\000\200\003t\004\193\000\000\004\210\005\026\000\000\005,\004\206\004\215\0049\000\000\004\220\000\000\004:\006O\006*\006+\000\000\000\217\004\244\004S\0047\000\000\004J\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\004\210\005.\000\000\000\000\000\000\004\215\004T\000\153\004\220\000\000\000\000\004U\003U\000\000\004\205\004V\004\244\004S\000\000\000\000\000\000\004W\000\000\000\209\000\000\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\004T\000\204\000\000\000\000\000\000\004U\000\000\000\000\000\218\004V\004\183\000\219\000\000\000\000\004\206\004W\0049\000\000\000\000\000\000\004:\000\209\006,\000\000\000\000\001\136\000\215\0047\000\000\004J\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\004\185\000\153\000\000\001\139\000k\000\000\003U\000\000\004\205\000\203\004G\001\186\000\000\000\211\004\190\000\000\0056\000\000\000\218\004\207\000\220\004H\000\000\000\000\000\000\000\000\000\249\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\024\000\000\000k\000\200\003w\004\183\000\000\000\203\004\206\000\000\0049\000\211\000\217\000\221\004:\000\200\004\017\000\209\000\000\000\000\000\000\000\000\000\210\000\000\004\193\000\000\004\210\005\026\000\000\000\000\000\000\004\215\000\222\000\000\004\220\000\218\000\000\000\223\000\219\004\185\000\000\000\000\004\244\004S\000\000\000\217\000\000\000\224\000\000\004G\000\000\000\000\000\000\004\190\005;\000\000\000\000\000\218\004\207\000\000\004H\004T\006\154\000k\006N\000\000\004U\000\000\000\203\000\220\004V\000\000\000\204\000\000\0057\000k\004W\000k\004\183\0047\000\203\004J\000\203\000\000\000\204\000\000\000\211\006O\006*\006+\000\000\000\218\007H\000\000\000\219\000\000\000\000\000\153\004\193\000\000\004\210\0059\003U\000\000\004\205\004\215\000\217\000\000\004\220\000\000\000\000\000\000\004\185\000\000\000\000\000\000\004\244\004S\000\217\000\255\000\217\000\000\004G\000\000\000\218\000\220\004\190\000\219\000\000\000\000\000\218\004\207\000\000\004H\000\000\004T\006N\000\000\000\000\004\206\004U\0049\000\000\000\000\004V\004:\000\000\0057\000\000\000\000\004W\000\000\0047\000\252\004J\000\000\000\000\000\000\000\220\006O\006*\006+\006,\000\000\000\000\007T\000\000\000\000\000\000\000\000\000\153\004\193\000\222\004\210\0059\003U\000\253\004\205\004\215\000\000\000\254\004\220\000\000\000\000\000\000\000\218\000\221\000\224\000\219\004\244\004S\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\209\000\218\000\219\000\000\000\219\000\210\000\000\000\222\000\000\000\000\004T\004\183\001!\000\000\004\206\004U\0049\000\000\000\000\004V\004:\000\220\000\224\000\000\000\000\004W\000\000\000\209\0047\000\000\004J\000\000\000\215\000\220\000\000\000\220\006,\000\000\000\000\000\000\000\000\007W\000\000\000\000\000\000\004\185\000\153\006N\000\000\000\000\0047\003U\004J\004\205\000\000\004G\000\000\000\000\000\000\004\190\000k\000\000\000\000\000\218\004\207\000\203\004H\000\000\000\153\000\211\006O\006*\006+\005^\000\000\000\000\000\000\000\000\000\000\000\000\007I\000\000\000\226\006\152\004\183\000\000\000\000\000k\004\206\000\000\0049\000\000\000\203\001\003\004:\000\000\000\211\005\175\000\000\000\000\000\000\006N\000\000\000\217\004\193\000\000\004\210\007K\000\000\000\000\005\128\004\215\0049\000\000\004\220\000\000\004:\000\000\004\185\006N\000\000\000\000\004\244\004S\006O\006*\006+\000\000\004G\000\000\000\217\000\000\004\190\000\000\000\000\005\134\000\218\004\207\000\000\004H\000\000\004T\006O\006*\006+\006,\004U\000\000\006N\000\000\004V\000\000\000\000\007I\000\000\006\150\004W\000\000\004\183\000\000\0047\000\000\004J\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\210\006O\006*\006+\000\000\000\000\000\000\004\193\000\153\004\210\007K\000\000\000\218\005^\004\215\000\219\000\000\004\220\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\244\004S\000\000\000\000\006,\000\000\000\000\004G\000\000\000\000\000\000\004\190\005}\000\000\000\218\000\218\004\207\000\219\004H\004T\006N\000\220\006,\000\000\004U\005\128\000\000\0049\004V\004G\000k\004:\007I\000\000\004W\000\203\000\000\000\218\005\135\000\211\004H\000\000\000\000\006O\006*\006+\001\226\000\000\000\220\001\238\005\134\006,\000\000\000\153\005\136\000\000\004\193\000\000\004\210\007K\000\000\000\000\000\000\004\215\000\153\000\000\004\220\000\000\000\226\006\180\000\000\000\000\000\000\000\217\004\244\004S\000\221\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\005\138\000\000\005\171\005\143\000\000\000\000\004O\000\000\004T\001.\000\222\005\161\004S\004U\0047\001$\004J\004V\000\000\000\000\000\000\000k\000\000\004W\001\228\000\224\001\226\000\000\001\229\001\238\004T\000\000\000\153\006,\000\000\004U\001\152\005^\006\178\004V\000\000\000\000\000\000\001\162\000\153\004W\000\000\000\000\000\000\000\153\000\156\000\157\003:\000\161\004G\000\000\006\176\001\155\006N\002%\000\000\005\127\000\218\005\135\001\244\004H\000\000\000\218\000\000\000\000\000\219\000\000\000\000\006N\005\128\000\000\0049\000\000\000\000\005\173\004:\006O\006*\006+\000\000\006\193\000k\000\000\000\000\001\228\000\000\000\163\000\000\001\229\000\000\000\000\006O\006*\006+\005\134\001\226\000\220\000\000\001\238\000\000\000\000\000\000\000\000\000\000\000\000\005\138\000\000\001\226\005\174\000\000\001\238\000\000\000\000\000\153\000\000\000\000\005\161\004S\000\000\002%\000\000\000\000\000\000\000\000\001\244\000\153\000\153\000\156\000\157\003?\000\161\000\000\000\000\000\000\000\000\004T\000\000\000\000\000\218\000\000\004U\001\245\000\000\000\226\004V\000\000\000\000\006\191\000\000\001\163\004W\006,\000\000\000\000\001\007\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\002&\003\127\006,\000k\000\163\000\000\001\228\000\000\000\000\004\227\001\229\001\246\001\156\000\000\001\157\000\000\000\000\000\000\000\000\004G\000\000\000\000\0019\000\000\000\000\001\247\000\000\000\218\005\135\002%\004H\000\000\000\209\0019\001\244\001\248\000\000\000\213\000\000\000\218\000\000\002%\001\245\000\000\005\136\000\000\001\244\000\000\000\000\000\000\000\153\000\000\000\000\001\249\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\002&\004>\000\000\001\252\000\000\000\000\000\000\002\029\001\136\000\000\005\138\001\246\000\000\005\143\000\000\000\000\000\000\0047\000\000\004J\000\000\005\161\004S\000\000\000\000\001\247\000\000\000k\001\226\000\000\001\139\001\238\000\203\0019\000\000\001\248\000\211\000\000\001\186\000\000\004T\006\250\004\176\005\007\000\000\004U\000\153\000\000\000\218\004V\000\000\001\245\000\000\001\249\000\000\004W\006\255\000\000\001\250\000\000\000\218\000\000\001\251\001\245\000\200\0040\000\000\000\000\001\252\000\000\000\217\000\000\002\029\000\000\002&\004\187\000\000\003\160\000\000\0049\000\000\000\000\000\000\004:\000\000\001\246\002&\004\217\000k\000\000\001\136\001\228\000\000\000\000\001,\001\229\001.\001\246\000\000\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\001\247\001\139\000\000\000\000\000\000\000\000\000\000\000\000\0019\001\186\001\248\000\000\000\000\000k\000\000\002%\001\249\000\000\000\203\000\000\001\244\001\250\000\204\000\000\000\000\001\251\000\000\000\000\001\249\000\000\000\000\001\252\0047\001\250\004J\002\029\004\183\001\251\000\218\000\000\000\000\000\219\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\000\000\000\000\000\0047\000\000\004J\000\000\000\217\004\176\004\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\000\000\000\000\004\185\000\000\000\220\000\000\000\000\000\000\000\000\004\176\004\189\000\000\004G\000\000\000\000\0047\004\190\004J\000\000\000\000\000\218\0016\000\000\004H\003\160\000\000\0049\000\000\000\000\0019\004:\000\218\000\252\000\000\001\245\000\000\000\000\004\191\000\000\000\000\004\176\005\019\000\000\000\000\003\160\000\000\0049\000\000\000\000\000\000\004:\000\222\000\000\000\000\000\000\000\253\000\000\002&\005\140\000\254\000\000\004\193\000\000\000\000\000\000\000\000\000\224\000\218\001\246\000\000\000\219\000\000\000\000\000\000\000\000\003\160\000\000\0049\000\000\000\000\004S\004:\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\004\183\000\000\000\000\000\000\004T\000\000\000\000\000\220\000\000\004U\000\000\000\000\000\000\004V\000\000\000\000\001\249\000\000\000\000\004W\004\183\001\250\000\000\000\000\0047\001\251\004J\000\000\000\000\000\000\000\000\001\252\000\000\000\000\004\185\002\029\0047\000\000\004J\000\000\000\209\000\000\000\000\000\000\004G\000\210\000\000\000\000\004\190\004\176\005\223\004\183\000\218\000\000\004\185\004H\000\000\000\000\000\000\000\000\000\000\004\176\005\225\000\000\004G\000\000\000\000\000\000\004\190\004\191\000\000\000\000\000\218\000\000\000\000\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\160\004\185\0049\000\000\000\000\004\191\004:\000\000\000\000\004\193\000\000\004G\003\160\000\000\0049\004\190\000k\001\226\004:\000\218\001\238\000\203\004H\000\000\000\000\000\211\000\000\000\000\004S\004\193\000\000\000\000\000\000\000\000\000\000\000\153\004\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\004S\000\000\000\000\004U\000\000\000\000\000\000\004V\000\000\000\000\000\000\000\217\004\193\004W\000\000\000\000\000\000\000\000\004T\0047\000\000\004J\004\183\004U\000\000\000\000\000\000\004V\000\000\000k\000\000\004S\001\228\004W\004\183\001\226\001\229\000\000\001\238\000\000\000\000\000\000\000\000\000\000\004\176\005\227\000\000\000\209\000\000\004T\000\000\000\000\000\210\000\153\004U\000\000\004\185\000\000\004V\000\000\000\000\000\000\000\000\000\000\004W\000\000\004G\002$\004\185\000\000\004\190\000\000\001\244\000\000\000\218\000\000\000\000\004H\004G\003\160\000\000\0049\004\190\000\000\000\000\004:\000\218\000\000\000\000\004H\000\218\004\191\000\000\000\219\000\000\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\004\191\000\000\001\226\000\000\000k\001\238\000\000\000\000\000\000\000\203\000\000\000\000\004\193\000\211\000\000\001\226\000\000\000\000\001\238\000\000\000\153\000\220\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\004S\000\000\000\153\000\000\001\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004S\000\000\000\000\004\183\000\217\000\218\004T\000\000\001\245\000\000\000\000\004U\000\000\001\226\000\000\004V\001\238\000\000\004T\000k\000\000\004W\001\228\004U\000\000\000\226\001\229\004V\000\000\000\000\000\000\000\153\000k\004W\000\000\001\228\001\t\004\185\000\000\001\229\000\000\000\000\001\246\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004\190\0047\000\000\004J\000\218\001\247\001\243\004H\000\000\000\000\000\000\001\244\000\000\0019\000\000\001\248\000\000\000\000\000\000\002\031\000\218\004\191\000k\001\245\001\244\001\228\005\n\000\000\000\000\001\229\000\000\000\000\000\218\001\249\000\000\000\219\000\209\000\000\001\250\000\000\000\000\000\213\001\251\000\000\000\000\004\193\000\000\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\153\000\000\000\000\001\246\000\000\000\000\002#\003\160\000\000\0049\004S\001\244\000\220\004:\000\209\000\000\000\000\001\247\000\000\000\213\000\000\000\000\000\000\000\000\002 \0019\000\000\001\248\004T\000\000\000\000\000\000\000\153\004U\000\000\000\000\000\218\004V\000\000\001\245\000\000\000\000\000k\004W\000\000\001\249\000\000\000\203\000\000\000\218\001\250\000\211\001\245\000\209\001\251\000\000\000\000\000\000\000\213\000\226\001\252\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\001\011\000\153\000\000\001\246\000k\000\000\000\000\004\183\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\001\246\001\247\000\000\000\000\000\218\000\000\000\000\001\245\000\209\0019\000\000\001\248\000\000\000\213\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\004\185\000\153\000k\000\000\001\249\000\000\000\217\000\203\000\000\001\250\004G\000\211\000\000\001\251\004\190\000\209\001\246\001\249\000\218\001\252\000\213\004H\001\250\002\029\000\000\000\000\001\251\000\000\000\000\000\000\001\247\000\000\001\252\000\153\000\000\004\191\002\029\000\000\0019\000\000\001\248\000\000\000\000\000k\000\000\000\217\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\218\000\000\000\000\000\219\000\000\001\249\004\193\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\000\000\000\000\000\000\001\252\000\000\000k\000\000\002\029\004S\000\000\000\203\0029\000\000\000\000\000\211\000\218\000\217\000\220\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\000\000\003x\000\000\004U\000\000\003y\002K\004V\000\000\000\000\000\000\000\000\000\000\004W\0019\001\208\000\000\000\252\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\001\210\000\000\000\253\000\000\000\000\000\000\000\254\000\000\0019\000\000\000\209\000\252\000\000\000\224\000\000\000\213\0029\000\000\000\000\000\000\000\000\000\000\000\220\003\160\000\000\000\000\000\000\003z\000\153\000\218\000\222\003{\000\219\000\000\000\253\000\000\000\000\000\000\000\254\002O\000\000\000\000\000\000\000\000\000\000\000\224\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\0029\003\211\000\200\0043\000\218\000\000\000\220\000\219\000\000\000\000\000\209\000\000\000\222\000k\000\000\000\215\000\253\000\000\000\203\000\000\000\254\000\000\000\211\002U\000\000\000\000\000\000\000\224\000\000\000\000\000\209\0019\0029\000\000\000\252\000\213\003\162\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\000\153\000\000\000\000\003y\000\000\000\222\000\209\002Y\000\217\000\253\000\000\000\213\000\000\000\254\000k\0019\000\000\003\164\000\252\000\203\000\224\000\000\000k\000\204\000\153\000\000\000\000\000\203\000\153\000\000\000\000\000\211\003\136\003\215\003\200\000\000\000\000\000\222\000\000\000\000\000\218\000\253\000k\003\137\000\000\000\254\000\000\000\203\000\000\000\000\000\000\000\211\000\224\000\000\000\000\000\000\000\000\000\217\000\000\003\160\000\000\000\000\000\000\003z\003\214\000\217\000k\003{\000\000\000\000\003\203\000\203\000\000\000\000\000\000\000\211\000\000\000\000\003\167\000\000\000\000\000\000\000\000\000\209\000\000\000\217\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\000\003\211\000\000\001\152\000\209\000\000\000\000\000\000\000\153\000\215\001\162\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\0029\000\000\001\155\000\000\000\000\003\169\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\003x\000\000\003\170\000\218\003y\003^\000\219\000\000\000\000\000\000\000k\000\218\000\000\0019\000\219\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000k\003\164\000\000\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\222\000\000\000\220\000\000\000\253\003\136\003\212\003\200\000\254\000\209\000\220\000\000\000\000\000\218\000\213\000\224\003\137\000\000\000\217\000\000\000\218\000\000\000\000\000\219\003e\003\160\000\000\000\000\000\000\003z\000\220\000\000\000\217\003{\000\000\000\000\000\000\003\214\000\221\000\000\000\000\000\000\000\000\003\203\000\000\000\000\001\163\003g\0029\000\000\000\000\003\167\000\000\000\000\000\220\0019\000\000\000\222\000\252\000\000\003\211\000\209\001\240\000\209\000\000\000\000\000\213\000\000\000\213\000k\004\235\004\015\000\224\001\156\000\203\001\157\000\000\000\222\000\211\0019\000\000\000\253\000\252\0019\000\000\000\254\000\000\000\000\000\000\000\000\000\000\002\000\000\224\003\169\000\000\003\162\000\000\000\218\000\000\000\153\000\219\000\222\000\000\000\000\000\000\000\253\000\000\000\000\003\170\000\254\000\000\000\218\000\217\000\000\000\219\000\209\000\224\000\000\000\000\000\000\000\213\000k\000\000\000k\003\164\004$\000\203\000\000\000\203\000\000\000\211\000\220\000\211\000\000\000\000\000\000\000\000\000\000\000\000\003\136\007N\003\200\000\000\000\000\000\000\000\220\000\000\000\218\004&\000\000\003\137\000\200\0046\000\000\000\000\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\153\000\000\000\217\000\000\000\217\001\152\003x\000\000\000\000\003\214\003y\000\221\001\162\000k\000\000\003\203\000\222\000\000\000\203\000\000\000\253\000\000\000\211\003\167\000\254\000\000\001\155\000\000\003b\000\218\000\222\000\224\000\219\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\217\000\255\000\204\000\000\003x\000\000\000\000\000\220\003y\003\169\003\160\000\000\001\152\000\000\003z\000\000\000\209\000\000\003{\001\162\003\217\000\213\000\000\000\000\003\170\000\218\000\000\000\218\000\219\000\000\000\219\000\000\000\000\001\155\000\000\000\252\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\222\0010\000\000\000\000\000\253\000\220\000\000\000\220\000\254\000\000\003\160\000\000\000\000\001\163\003z\000\224\000\000\000\000\003{\000\000\003\155\000\000\000k\000\000\000\000\000\218\003\162\000\203\000\219\000\000\000\000\000\211\000\000\000\252\003x\000\252\000\000\005k\003y\000\000\001\156\000\000\001\157\000\000\000\000\003\206\000\000\000\000\000\000\000\000\0019\000\000\000\222\003\157\000\222\003\164\000\253\000\000\000\253\000\220\000\254\000\218\000\254\000\000\000\219\000\217\000\000\000\224\000\209\000\224\003\136\000\000\003\200\000\213\000\000\000\000\001\163\000\000\000\218\000\000\003\162\003\137\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\003\160\000\220\000\000\000\000\003z\000\000\005\150\000\000\003{\001\156\000\000\001\157\000\222\000\000\003\203\003\164\000\253\000\000\000\000\0019\000\254\000\000\003\167\000\209\000\000\000\000\000\000\000\224\000\213\000\000\003\136\000\000\003\200\000\000\000k\003\209\000\000\000\209\000\218\000\203\000\000\003\137\000\213\000\211\000\000\003\234\000\000\000\000\000\000\000\000\000\218\000k\000\000\000\219\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\169\000\000\000\000\000\000\003\203\000\000\003\162\000\000\000\000\000\000\000\000\000\000\003\167\000\217\003\157\003\170\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\209\000\217\000\000\000\000\000k\000\213\003\164\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\252\000\000\003\136\000\000\003\200\000\000\003\169\004[\000\000\000\000\000\218\000\000\000\000\003\137\000\217\000\000\000\000\000\209\000\000\000\222\000\000\003\170\000\213\000\253\000\000\000\000\000\000\000\254\000\217\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\003\246\003\203\000k\000\000\000\000\000\218\000\000\000\203\000\219\003\167\000\000\000\211\000\000\000\000\000\000\000\000\000\000\003\254\000\209\000\000\000\000\000\000\000\218\000\213\004\145\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\217\000\000\000\211\000\209\004\005\003\157\003\169\000\000\000\213\000\218\000\000\000\220\000\219\000\000\000\000\004\147\000\000\000\000\000\000\000\000\000\000\003\170\000\252\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\217\003\157\000\203\000\252\000\000\000\222\000\211\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\255\000\000\000\000\000\000\004\149\000\224\000\220\000\222\000\000\000\000\000\000\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\000\000\000\000\252\000\211\000\224\000\000\000\209\000\217\000\000\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\252\000\000\000\209\000\000\000\000\000\222\000\000\000\213\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\222\000\224\000\217\000\255\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\252\000\000\000\255\000\211\000\209\000\000\000k\000\000\000\220\000\213\000\000\000\203\000\000\000\000\000\218\000\211\000\000\000\219\000\000\000\222\000\000\000\209\000\000\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\000\000\000\000\000\000\209\000\224\000\000\000\252\000\217\000\213\004\231\000\000\000\000\000\255\000\000\000\218\000\000\000\000\000\219\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\003\157\000\211\000\000\000\000\000\252\000\209\000\220\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000k\000\000\000\222\000\000\000\000\000\203\000\253\000\000\000\000\000\211\000\254\000\000\000\000\000\252\000\217\000\000\000\000\000\224\004\240\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\004\248\000\217\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000k\000\000\000\000\000\224\000\000\000\203\000\000\003\157\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\217\005c\000\209\000\000\000\000\000\000\000\218\000\213\000\000\000\219\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\222\005o\000\000\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\222\005t\000\000\000\224\000\253\003\157\000\218\000\000\000\254\000\219\000\000\000\220\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\003\157\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000k\003\157\000\000\000\000\000\000\000\203\000\252\000\220\000\000\000\211\000\000\000\209\005{\000\000\000\000\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\217\000\252\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\252\000\000\000\000\000\000\000\000\000\224\000\000\000\222\000\217\000\000\003\157\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\000\000\222\000\209\000\000\000\224\000\253\000\000\000\213\000\000\000\254\000\000\000\000\000\000\000\000\000\209\000\000\000\224\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\209\000\000\000\252\000\211\000\000\000\213\007*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\143\000\000\000\000\005\132\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000k\000\000\005\154\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\000\000k\000\000\003\157\000\000\000\000\000\203\000\000\000\000\000\220\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\209\000\000\000\220\000\000\000\217\000\213\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000\000\000\213\000\217\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\217\000\213\000\222\000\213\000\252\000\000\000\253\000\000\005\159\000\000\000\254\000\000\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000k\000\000\000\000\000\000\000\224\000\203\000\000\003\157\000\000\000\211\000k\000\000\000\000\000\220\000\000\000\203\000\000\000\000\005\166\000\211\000\000\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\209\000\218\000\000\000\000\000\219\000\213\000\000\000\252\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\000\000\000\003\157\000\000\000\217\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\007+\000\253\000\217\000\000\000\217\000\254\000\220\000\000\000\000\000\000\007+\000\000\000\224\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\252\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\000\000\000\000\252\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\000\000\224\000\253\000\000\000\218\000\000\000\254\000\219\000\222\000\000\000\000\000\000\000\253\000\224\000\218\000\209\000\254\000\219\000\000\000\217\000\213\000\000\000\000\000\224\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\001%\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\0012\000\000\002\002\000\000\000\000\000\000\000\220\000\000\000\220\000\000\000\000\000\209\000\252\000\000\000\217\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\252\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\209\000\000\000\252\000\253\000\252\000\213\000\000\000\254\000\000\000\222\000\000\000\000\000\218\000\253\000\224\000\219\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\222\000\224\000\253\000\000\000\253\000\000\000\254\000\000\000\254\000\217\000\000\000\000\000\000\000\224\000\000\000\224\000k\002*\000\000\000\000\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\209\000\000\000\000\000\211\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\002C\000\000\000\000\000\213\000\222\000\000\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\217\000\000\000\000\000\000\000\000\000\224\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\000\000\252\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003I\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\217\000\000\000\217\000\211\000\224\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\003O\000\217\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\000\000\000\000\000\211\000\000\000\222\000\000\000\252\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\141\000\000\003\143\000\222\000\000\000\000\000\220\000\253\000\220\000\218\000\000\000\254\000\219\000\000\000\217\000k\004\020\000\000\000\224\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\252\004\025\000\000\000\209\000\000\000\000\000\000\000\220\000\213\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\222\000\000\000\222\000\000\000\253\000\217\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\000\000\000\000\224\000\222\000\224\000\252\000\000\000\253\000\209\000\000\000\209\000\254\000\000\000\213\000\000\000\213\000\000\000\000\000\224\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\029\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\217\000\000\000\213\000\000\000\000\000k\000\000\000k\000\218\000\000\000\203\000\219\000\203\000\217\000\211\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\000\217\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000\000\000\000\000\000\000\224\000\000\000\000\004]\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\209\000\000\004\137\000\217\000\000\000\213\000\000\000\000\000\220\000\218\000k\000\218\000\219\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\004\180\000\000\005V\000\000\000\000\000\222\000\220\000\209\000\220\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\217\000\000\000\222\000\000\000\224\000\000\000\253\000k\000\218\000\000\000\254\000\219\000\203\000\000\000\000\000\000\000\211\000\224\000\252\000\000\000\252\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005\189\000\222\000\000\000\222\000\000\000\253\000\220\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\217\000k\000\224\000\000\000\224\000\000\000\203\005\209\000\000\000\000\000\211\000\000\000\209\000\220\000\000\000\000\000\000\000\215\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\218\000\215\000k\000\219\000k\000\000\000\000\000\203\000\000\000\203\000\222\000\211\000\252\000\211\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\005\211\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\209\000\217\000\224\000\217\000\203\000\210\000\218\000\000\000\211\000\219\000\209\000\000\000k\000\000\000\000\000\210\000\000\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\217\000\000\000\000\000\254\000\209\000\000\000\000\000\000\000\218\000\210\000\224\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\252\000\211\000k\000\000\000\210\000\000\000\000\000\203\000\000\000\000\005\219\000\211\000\218\000\000\000\218\000\219\000\220\000\219\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000\000\000\000\000k\000\000\005\233\000\000\005\247\000\203\000\252\000\217\000\220\000\211\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000\209\000\000\000\252\000\000\000\252\000\210\000\224\000\000\000\000\000\217\000\000\000\000\000\000\000\209\000\209\000\220\000\000\000\000\000\210\000\210\000\000\000\222\000\000\000\222\000\000\000\253\000\000\000\253\000\220\000\254\000\217\000\254\000\209\000\000\000\000\000\000\000\224\000\210\000\224\000\209\000\000\000\000\000\218\000\221\000\210\000\219\000\209\000\000\000\000\000\000\000\000\000\210\000\218\000\000\000\000\000\219\000\221\000\000\000\000\000\209\000k\000\000\000\222\000\000\000\210\000\203\000\000\004L\000\000\000\211\000\000\000\000\000\000\000k\000k\000\222\000\220\000\224\000\203\000\203\004N\000\000\000\211\000\211\000\000\000\000\000\220\000\000\000\218\000\000\000\224\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\217\000\203\000\000\000k\000\000\000\211\000\218\000\000\000\203\000\219\000\000\000\000\000\211\000\217\000\217\000\000\000k\000\000\000\000\000\220\000\226\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\226\001\r\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\220\001\015\000\000\000\209\000\000\000\000\000\217\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\218\000\218\000\000\000\219\000\219\000\000\001\019\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\218\000\211\000\220\000\219\000\203\000\000\000\209\000\218\000\211\000\000\000\219\000\210\000\000\000k\000\218\000\220\000\220\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\209\000\220\000\217\000\000\000\000\000\210\000\000\000\000\000\220\000\217\000\000\000\000\000\000\000\000\000\209\000\220\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\001\021\000\220\000\226\000\226\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\209\001\023\001\025\000\211\000\000\000\210\000\000\000\000\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\226\000\209\000\000\000\000\001\027\000k\000\210\000\226\000\000\000\000\000\203\001\029\000\000\000\000\000\211\000\000\000\000\000\000\001\031\000k\000\226\000\217\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\209\001\254\000\000\000\218\000\000\000\210\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\218\000\217\000\203\000\219\000\000\000\000\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\220\000k\000\217\000\211\000\000\000\000\000\203\000\220\000\000\000\000\000\211\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000k\000\209\000\000\000\000\000\000\000\203\000\210\000\217\000\000\000\211\000\218\000\000\000\000\000\219\000\217\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\218\000\226\000\000\000\219\000k\000\000\000\217\000\220\000\000\000\203\000\000\000\000\002\b\000\211\000\218\000\209\000\000\000\219\000\000\000\000\000\210\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\218\000\211\000\220\000\219\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\220\000\218\000\000\000\000\000\219\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\002\n\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\226\000\209\000\220\000\211\000\218\000\000\000\210\000\219\000\000\000\220\000k\002\012\000\000\000\000\000\226\000\203\000\000\000\209\000\209\000\211\000\000\000\000\000\210\000\210\000\209\002\014\000\000\000\000\000\000\000\210\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\217\000\220\000\226\000\000\000\209\000\000\002\016\000\000\000\218\000\210\000\000\000\219\000\226\002\018\000\000\000\000\000\217\000\000\000\000\000\226\000\000\000\000\000\000\002\020\000k\000\000\000\000\000\000\000\218\000\203\002\022\000\219\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\000\000k\000k\000\220\000\000\000\000\000\203\000\203\000k\000\226\000\211\000\211\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\002\024\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\217\000\000\000\203\000\000\000\209\000\000\000\211\000\000\000\000\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\217\000\217\000\000\000\000\000\000\000\209\000\226\000\217\000\000\000k\000\210\000\000\000\218\000\000\000\203\000\219\000\000\002\026\000\211\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\210\000\220\000\210\000k\000\000\000\209\000\000\000\217\000\203\000\000\000\210\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\218\000\000\000k\000\219\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\226\000\000\000\218\000\218\000\000\000\219\000\219\000\000\000\000\000\218\000\000\003\172\000\219\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000k\000\000\000k\000\218\003\174\000\203\000\219\000\203\000\217\000\211\000k\000\211\000\000\000\220\000\220\000\203\000k\000\209\000\000\000\211\000\220\000\203\000\210\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\209\000\219\000\000\000\000\000\220\000\210\000\000\000\000\000\209\000\000\000\217\000\226\000\217\000\210\000\000\000\000\000\209\000\000\000\000\000\000\000\217\000\210\003\176\000\000\000\000\000\000\000\217\000\226\000\226\000\000\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\218\003\178\003\180\000\219\000\209\000\000\000\000\000k\003\182\000\210\000\000\000\000\000\203\000\000\000\226\000\000\000\211\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\209\003\184\000\000\000\000\000\203\000\210\000\000\000k\000\211\000\000\000\220\000\000\000\203\000\000\000\000\000k\000\211\000\000\000\226\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\220\000\218\003\186\000\218\000\219\000\209\000\219\000\000\000\000\000\000\000\210\000\218\000\000\000k\000\219\000\217\000\000\000\218\000\203\000\000\000\219\000\000\000\211\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\217\000\000\000k\000\000\000\220\000\000\000\220\000\203\000\000\000\000\003\188\000\211\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\217\000\209\003\190\000\000\000\000\000\000\000\210\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\226\003\192\000\218\003\194\000\000\000\219\000\226\000\000\000\000\000\000\000\218\003\196\000\000\000\219\000\000\000\000\000\217\003\198\000\218\000\000\000\220\000\219\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\220\000\203\000\000\000\000\000\000\000\211\000\000\000\218\000\220\000\000\000\219\000\000\000\000\000\209\000\000\000\000\000\220\000k\000\210\000\000\000\209\000\000\000\203\000\000\000\000\000\210\000\211\000\218\000\000\000\000\000\219\000\226\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\220\004Y\000\000\000\000\000\210\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\004_\000\218\000\217\000\220\000\219\000\226\000\209\000\000\004a\000\000\000\000\000\210\000\000\000\000\000\000\000k\004c\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004e\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\218\004g\000\000\000\219\000\000\000\217\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\226\000\000\000\219\000\217\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004i\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\000\000\218\004k\000\000\000\219\000\000\000\000\000\000\000\000\004m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\220\000\000\004o\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\226\000\000\000\000\000\000\004q\000\000\000\000\000\000\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004w")) let semantic_action = [| @@ -1525,13 +1735,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_eexpr = Obj.magic _1 in + let _1 : 'tv_dexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1783 "parser_cocci_menhir.mly" - ( Ast0.set_arg_exp _1 ) -# 1535 "parser_cocci_menhir.ml" +# 2210 "parser_cocci_menhir.mly" + ( Ast0.set_arg_exp _1 ) +# 1745 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1550,22 +1760,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1556 "parser_cocci_menhir.ml" +# 1766 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1785 "parser_cocci_menhir.mly" +# 2212 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1569 "parser_cocci_menhir.ml" +# 1780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1587,9 +1798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1793 "parser_cocci_menhir.mly" +# 2221 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1593 "parser_cocci_menhir.ml" +# 1804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1609,9 +1820,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1837 "parser_cocci_menhir.mly" +# 2257 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1615 "parser_cocci_menhir.ml" +# 1826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1631,9 +1842,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1838 "parser_cocci_menhir.mly" +# 2258 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1637 "parser_cocci_menhir.ml" +# 1848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1653,9 +1864,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1839 "parser_cocci_menhir.mly" +# 2259 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1659 "parser_cocci_menhir.ml" +# 1870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1675,9 +1886,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1840 "parser_cocci_menhir.mly" +# 2260 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1681 "parser_cocci_menhir.ml" +# 1892 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1699,9 +1910,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1244 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( _1 ) -# 1705 "parser_cocci_menhir.ml" +# 1916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1729,19 +1940,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 1737 "parser_cocci_menhir.ml" +# 1948 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1246 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1745 "parser_cocci_menhir.ml" +# 1956 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1769,19 +1980,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1777 "parser_cocci_menhir.ml" +# 1988 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1248 "parser_cocci_menhir.mly" +# 1471 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1785 "parser_cocci_menhir.ml" +# 1996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1809,19 +2020,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 1817 "parser_cocci_menhir.ml" +# 2028 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1250 "parser_cocci_menhir.mly" +# 1473 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1825 "parser_cocci_menhir.ml" +# 2036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1849,19 +2060,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 1857 "parser_cocci_menhir.ml" +# 2068 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1252 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1865 "parser_cocci_menhir.ml" +# 2076 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1889,19 +2100,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1897 "parser_cocci_menhir.ml" +# 2108 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1254 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1905 "parser_cocci_menhir.ml" +# 2116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1929,19 +2140,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2148 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_eexpr_dot_expressions_ = +# 1479 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2156 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 1937 "parser_cocci_menhir.ml" +# 2188 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1256 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 1945 "parser_cocci_menhir.ml" +# 2196 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1969,19 +2220,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 1977 "parser_cocci_menhir.ml" +# 2228 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1258 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 1985 "parser_cocci_menhir.ml" +# 2236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2009,19 +2260,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 2017 "parser_cocci_menhir.ml" +# 2268 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1260 "parser_cocci_menhir.mly" +# 1485 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2025 "parser_cocci_menhir.ml" +# 2276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2049,19 +2300,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2057 "parser_cocci_menhir.ml" +# 2308 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1262 "parser_cocci_menhir.mly" +# 1487 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2065 "parser_cocci_menhir.ml" +# 2316 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2089,19 +2340,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 2097 "parser_cocci_menhir.ml" +# 2348 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1264 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2105 "parser_cocci_menhir.ml" +# 2356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2129,19 +2380,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 2137 "parser_cocci_menhir.ml" +# 2388 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1266 "parser_cocci_menhir.mly" +# 1491 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2145 "parser_cocci_menhir.ml" +# 2396 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2169,19 +2420,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 2177 "parser_cocci_menhir.ml" +# 2428 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1268 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2185 "parser_cocci_menhir.ml" +# 2436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2209,19 +2460,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 2217 "parser_cocci_menhir.ml" +# 2468 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1270 "parser_cocci_menhir.mly" +# 1495 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2225 "parser_cocci_menhir.ml" +# 2476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2243,9 +2494,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1244 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( _1 ) -# 2249 "parser_cocci_menhir.ml" +# 2500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2273,19 +2524,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 2281 "parser_cocci_menhir.ml" +# 2532 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1246 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2289 "parser_cocci_menhir.ml" +# 2540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2313,19 +2564,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2321 "parser_cocci_menhir.ml" +# 2572 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1248 "parser_cocci_menhir.mly" +# 1471 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2329 "parser_cocci_menhir.ml" +# 2580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2353,19 +2604,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2361 "parser_cocci_menhir.ml" +# 2612 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1250 "parser_cocci_menhir.mly" +# 1473 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2369 "parser_cocci_menhir.ml" +# 2620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2393,19 +2644,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2401 "parser_cocci_menhir.ml" +# 2652 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1252 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2409 "parser_cocci_menhir.ml" +# 2660 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2692 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_eexpr_invalid_ = +# 1477 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2700 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2433,19 +2724,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2441 "parser_cocci_menhir.ml" +# 2732 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1254 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2449 "parser_cocci_menhir.ml" +# 2740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2473,19 +2764,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2481 "parser_cocci_menhir.ml" +# 2772 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1256 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2489 "parser_cocci_menhir.ml" +# 2780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2513,19 +2804,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 2521 "parser_cocci_menhir.ml" +# 2812 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1258 "parser_cocci_menhir.mly" +# 1483 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2529 "parser_cocci_menhir.ml" +# 2820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2553,19 +2844,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 2561 "parser_cocci_menhir.ml" +# 2852 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1260 "parser_cocci_menhir.mly" +# 1485 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2569 "parser_cocci_menhir.ml" +# 2860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2593,19 +2884,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 2601 "parser_cocci_menhir.ml" +# 2892 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1262 "parser_cocci_menhir.mly" +# 1487 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2609 "parser_cocci_menhir.ml" +# 2900 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2633,19 +2924,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 2641 "parser_cocci_menhir.ml" +# 2932 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1264 "parser_cocci_menhir.mly" +# 1489 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2649 "parser_cocci_menhir.ml" +# 2940 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2673,19 +2964,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 2681 "parser_cocci_menhir.ml" +# 2972 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1266 "parser_cocci_menhir.mly" +# 1491 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2689 "parser_cocci_menhir.ml" +# 2980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2713,19 +3004,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 2721 "parser_cocci_menhir.ml" +# 3012 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1268 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2729 "parser_cocci_menhir.ml" +# 3020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2753,19 +3044,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 2761 "parser_cocci_menhir.ml" +# 3052 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1270 "parser_cocci_menhir.mly" +# 1495 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2769 "parser_cocci_menhir.ml" +# 3060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2787,9 +3078,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1244 "parser_cocci_menhir.mly" +# 1467 "parser_cocci_menhir.mly" ( _1 ) -# 2793 "parser_cocci_menhir.ml" +# 3084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2817,19 +3108,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 2825 "parser_cocci_menhir.ml" +# 3116 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1246 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2833 "parser_cocci_menhir.ml" +# 3124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2857,19 +3148,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2865 "parser_cocci_menhir.ml" +# 3156 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1248 "parser_cocci_menhir.mly" +# 1471 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2873 "parser_cocci_menhir.ml" +# 3164 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2897,19 +3188,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2905 "parser_cocci_menhir.ml" +# 3196 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1250 "parser_cocci_menhir.mly" +# 1473 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2913 "parser_cocci_menhir.ml" +# 3204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2937,19 +3228,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 2945 "parser_cocci_menhir.ml" +# 3236 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1252 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2953 "parser_cocci_menhir.ml" +# 3244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2977,19 +3268,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 164 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2985 "parser_cocci_menhir.ml" +# 3276 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1254 "parser_cocci_menhir.mly" +# 1477 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2993 "parser_cocci_menhir.ml" +# 3284 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3017,19 +3308,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" - (Ast_cocci.logicalOp * Data.clt) -# 3025 "parser_cocci_menhir.ml" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3316 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1256 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3033 "parser_cocci_menhir.ml" +# 1479 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3057,19 +3348,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" - (Data.clt) -# 3065 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 3356 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1258 "parser_cocci_menhir.mly" - ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3073 "parser_cocci_menhir.ml" +# 1481 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 3364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3097,19 +3388,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 3105 "parser_cocci_menhir.ml" +# 3396 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1260 "parser_cocci_menhir.mly" - ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3113 "parser_cocci_menhir.ml" +# 1483 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 3404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3137,19 +3428,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 3145 "parser_cocci_menhir.ml" +# 3436 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1262 "parser_cocci_menhir.mly" - ( P.arith_op Ast.And _1 _2 _3 ) -# 3153 "parser_cocci_menhir.ml" +# 1485 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 3444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3177,19 +3468,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3185 "parser_cocci_menhir.ml" +# 3476 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1264 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Or _1 _2 _3 ) -# 3193 "parser_cocci_menhir.ml" +# 1487 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 3484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3217,19 +3508,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 159 "parser_cocci_menhir.mly" (Data.clt) -# 3225 "parser_cocci_menhir.ml" +# 3516 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1266 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3233 "parser_cocci_menhir.ml" +# 1489 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 3524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3257,19 +3548,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Data.clt) -# 3265 "parser_cocci_menhir.ml" +# 3556 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1268 "parser_cocci_menhir.mly" - ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3273 "parser_cocci_menhir.ml" +# 1491 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 3564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3297,43 +3588,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 3305 "parser_cocci_menhir.ml" +# 3596 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1270 "parser_cocci_menhir.mly" - ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3313 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1244 "parser_cocci_menhir.mly" - ( _1 ) -# 3337 "parser_cocci_menhir.ml" +# 1493 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 3604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3361,19 +3628,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Data.clt) -# 3369 "parser_cocci_menhir.ml" +# 3636 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1246 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3377 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_eexpr_nest_expressions_ = +# 1495 "parser_cocci_menhir.mly" + ( P.logic_op Ast.OrLog _1 _2 _3 ) +# 3644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3385,75 +3652,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 97 "parser_cocci_menhir.mly" - (Ast_cocci.arithOp * Data.clt) -# 3409 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_arith_expr_expr_invalid_ = -# 1248 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3417 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in - let _2 : ( -# 98 "parser_cocci_menhir.mly" - (Data.clt) -# 3449 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in + let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1250 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3457 "parser_cocci_menhir.ml" +# 1467 "parser_cocci_menhir.mly" + ( _1 ) +# 3668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3481,19 +3692,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 3489 "parser_cocci_menhir.ml" +# 3700 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1252 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3497 "parser_cocci_menhir.ml" +# 1469 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 3708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3521,19 +3732,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 165 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3529 "parser_cocci_menhir.ml" +# 3740 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1254 "parser_cocci_menhir.mly" +# 1471 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3537 "parser_cocci_menhir.ml" +# 3748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3561,19 +3772,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" - (Ast_cocci.logicalOp * Data.clt) -# 3569 "parser_cocci_menhir.ml" +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 3780 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1256 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3577 "parser_cocci_menhir.ml" +# 1473 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 3788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3601,19 +3812,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 3609 "parser_cocci_menhir.ml" +# 3820 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1258 "parser_cocci_menhir.mly" - ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3617 "parser_cocci_menhir.ml" +# 1475 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 3828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3641,19 +3852,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" - (Data.clt) -# 3649 "parser_cocci_menhir.ml" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3860 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1260 "parser_cocci_menhir.mly" - ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3657 "parser_cocci_menhir.ml" +# 1477 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3681,19 +3892,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" - (Data.clt) -# 3689 "parser_cocci_menhir.ml" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3900 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1262 "parser_cocci_menhir.mly" - ( P.arith_op Ast.And _1 _2 _3 ) -# 3697 "parser_cocci_menhir.ml" +# 1479 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3908 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3721,19 +3932,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" - (Data.clt) -# 3729 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 3940 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1264 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Or _1 _2 _3 ) -# 3737 "parser_cocci_menhir.ml" +# 1481 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 3948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3761,19 +3972,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 3769 "parser_cocci_menhir.ml" +# 3980 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1266 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3777 "parser_cocci_menhir.ml" +# 1483 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 3988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3801,19 +4012,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 162 "parser_cocci_menhir.mly" (Data.clt) -# 3809 "parser_cocci_menhir.ml" +# 4020 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1268 "parser_cocci_menhir.mly" - ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3817 "parser_cocci_menhir.ml" +# 1485 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 4028 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3841,19 +4052,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 89 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 3849 "parser_cocci_menhir.ml" +# 4060 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1270 "parser_cocci_menhir.mly" - ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3857 "parser_cocci_menhir.ml" +# 1487 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 4068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3865,17 +4076,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 159 "parser_cocci_menhir.mly" + (Data.clt) +# 4100 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 459 "parser_cocci_menhir.mly" - ( Ast.UNIQUE ) -# 3879 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1489 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 4108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3887,17 +4116,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 160 "parser_cocci_menhir.mly" + (Data.clt) +# 4140 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 460 "parser_cocci_menhir.mly" - ( Ast.OPT ) -# 3901 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1491 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 4148 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3909,17 +4156,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 158 "parser_cocci_menhir.mly" + (Data.clt) +# 4180 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1493 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 4188 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 157 "parser_cocci_menhir.mly" + (Data.clt) +# 4220 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_arity = -# 461 "parser_cocci_menhir.mly" - ( Ast.MULTI ) -# 3923 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_expr_invalid_ = +# 1495 "parser_cocci_menhir.mly" + ( P.logic_op Ast.OrLog _1 _2 _3 ) +# 4228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3930,13 +4235,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_arity = -# 462 "parser_cocci_menhir.mly" - ( Ast.NONE ) -# 3940 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_arith_expr_bis = +# 1500 "parser_cocci_menhir.mly" + ( _1 ) +# 4252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3948,39 +4260,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 3971 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let i : 'tv_option_eexpr_ = Obj.magic i in - let l : ( -# 102 "parser_cocci_menhir.mly" + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 3977 "parser_cocci_menhir.ml" - ) = Obj.magic l in - let _startpos = _startpos_l_ in - let _endpos = _endpos_r_ in - let _v : 'tv_array_dec = -# 1051 "parser_cocci_menhir.mly" - ( (l,i,r) ) -# 3984 "parser_cocci_menhir.ml" +# 4284 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1502 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 4292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3992,19 +4300,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 165 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4324 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1216 "parser_cocci_menhir.mly" - ( _1 ) -# 4008 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1504 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4032,21 +4356,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4040 "parser_cocci_menhir.ml" +# 166 "parser_cocci_menhir.mly" + (Data.clt) +# 4364 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1218 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4050 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1506 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 4372 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4074,21 +4396,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 4082 "parser_cocci_menhir.ml" +# 4404 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1222 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4092 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1508 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 4412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4100,19 +4420,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4444 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1216 "parser_cocci_menhir.mly" - ( _1 ) -# 4116 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1510 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4140,21 +4476,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4148 "parser_cocci_menhir.ml" +# 164 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 4484 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1218 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4158 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1512 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 4492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4182,21 +4516,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 4190 "parser_cocci_menhir.ml" +# 163 "parser_cocci_menhir.mly" + (Ast_cocci.logicalOp * Data.clt) +# 4524 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1222 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4200 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1514 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) +# 4532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4208,19 +4540,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 162 "parser_cocci_menhir.mly" + (Data.clt) +# 4564 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1216 "parser_cocci_menhir.mly" - ( _1 ) -# 4224 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1516 "parser_cocci_menhir.mly" + ( P.logic_op Ast.Eq _1 _2 _3 ) +# 4572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4248,21 +4596,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4256 "parser_cocci_menhir.ml" +# 162 "parser_cocci_menhir.mly" + (Data.clt) +# 4604 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1218 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4266 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1518 "parser_cocci_menhir.mly" + ( P.logic_op Ast.NotEq _1 _2 _3 ) +# 4612 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4290,21 +4636,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 161 "parser_cocci_menhir.mly" (Data.clt) -# 4298 "parser_cocci_menhir.ml" +# 4644 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_expr_invalid_ = -# 1222 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4308 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1520 "parser_cocci_menhir.mly" + ( P.arith_op Ast.And _1 _2 _3 ) +# 4652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4316,19 +4660,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in + let _2 : ( +# 159 "parser_cocci_menhir.mly" + (Data.clt) +# 4684 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_assign_expr_bis = -# 1227 "parser_cocci_menhir.mly" - ( _1 ) -# 4332 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_arith_expr_bis = +# 1522 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Or _1 _2 _3 ) +# 4692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4356,21 +4716,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" - (Ast_cocci.assignOp * Data.clt) -# 4364 "parser_cocci_menhir.ml" +# 160 "parser_cocci_menhir.mly" + (Data.clt) +# 4724 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_bis = -# 1229 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in - Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, - Ast0.set_arg_exp _3,false)) ) -# 4374 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1524 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Xor _1 _2 _3 ) +# 4732 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4398,21 +4756,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _3 : 'tv_arith_expr_bis = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 158 "parser_cocci_menhir.mly" (Data.clt) -# 4406 "parser_cocci_menhir.ml" +# 4764 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_arith_expr_bis = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_assign_expr_bis = -# 1233 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Assignment - (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4416 "parser_cocci_menhir.ml" + let _v : 'tv_arith_expr_bis = +# 1526 "parser_cocci_menhir.mly" + ( P.logic_op Ast.AndLog _1 _2 _3 ) +# 4772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4425,18 +4781,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1213 "parser_cocci_menhir.mly" - ( _1 ) -# 4440 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 620 "parser_cocci_menhir.mly" + ( Ast.UNIQUE ) +# 4794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4449,18 +4803,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1213 "parser_cocci_menhir.mly" - ( _1 ) -# 4464 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 621 "parser_cocci_menhir.mly" + ( Ast.OPT ) +# 4816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4473,18 +4825,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_basic_expr_expr_invalid_ = -# 1213 "parser_cocci_menhir.mly" - ( _1 ) -# 4488 "parser_cocci_menhir.ml" + let _v : 'tv_arity = +# 622 "parser_cocci_menhir.mly" + ( Ast.MULTI ) +# 4838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4495,40 +4845,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_fun_start = Obj.magic _3 in - let _2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 4520 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 57 "parser_cocci_menhir.mly" - (Data.clt) -# 4525 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_case_line = -# 920 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4532 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_arity = +# 623 "parser_cocci_menhir.mly" + ( Ast.NONE ) +# 4855 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4540,45 +4863,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = l; + MenhirLib.EngineTypes.startp = _startpos_l_; + MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let _4 : 'tv_fun_start = Obj.magic _4 in - let _3 : ( -# 76 "parser_cocci_menhir.mly" + let r : ( +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 4569 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_eexpr = Obj.magic _2 in - let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 4886 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let i : 'tv_option_eexpr_ = Obj.magic i in + let l : ( +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 4575 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : 'tv_case_line = -# 922 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4582 "parser_cocci_menhir.ml" +# 4892 "parser_cocci_menhir.ml" + ) = Obj.magic l in + let _startpos = _startpos_l_ in + let _endpos = _endpos_r_ in + let _v : 'tv_array_dec = +# 1279 "parser_cocci_menhir.mly" + ( (l,i,r) ) +# 4899 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4596,13 +4913,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1273 "parser_cocci_menhir.mly" - ( _1 ) -# 4606 "parser_cocci_menhir.ml" + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1439 "parser_cocci_menhir.mly" + ( _1 ) +# 4923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4614,70 +4931,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 4643 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 4649 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1275 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4657 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 176 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 4955 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1273 "parser_cocci_menhir.mly" - ( _1 ) -# 4681 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1441 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 4965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4689,46 +4973,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 4718 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 76 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 4724 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1275 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4732 "parser_cocci_menhir.ml" +# 4997 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_dot_expressions_ = +# 1445 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5007 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4746,13 +5021,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1273 "parser_cocci_menhir.mly" - ( _1 ) -# 4756 "parser_cocci_menhir.ml" + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1439 "parser_cocci_menhir.mly" + ( _1 ) +# 5031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4764,70 +5039,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 4793 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 4799 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1275 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4807 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 176 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5063 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_cast_expr_expr_invalid_ = -# 1273 "parser_cocci_menhir.mly" - ( _1 ) -# 4831 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1441 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4839,114 +5081,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 4868 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_ctype = Obj.magic t in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 4874 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_e_ in - let _v : 'tv_cast_expr_expr_invalid_ = -# 1275 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, - P.clt2mcode ")" rp, e)) ) -# 4882 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_choose_iso = -# 237 "parser_cocci_menhir.mly" - ( List.map P.id2name _2 ) -# 4910 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 73 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 4936 "parser_cocci_menhir.ml" +# 5105 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 4941 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1578 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); - dot_builder _2] ) -# 4950 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_eexpr_nest_expressions_ = +# 1445 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5115 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4958,30 +5123,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 4977 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1582 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 4985 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1439 "parser_cocci_menhir.mly" + ( _1 ) +# 5139 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4993,35 +5147,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 5011 "parser_cocci_menhir.ml" +# 176 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5171 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 5016 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1578 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); - dot_builder _2] ) -# 5025 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1441 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5033,30 +5189,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 5052 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in +# 5213 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1582 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5060 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_expr_invalid_ = +# 1445 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5067,43 +5230,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1104 "parser_cocci_menhir.mly" - ( [] ) -# 5077 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { + let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; } = _menhir_stack in - let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1106 "parser_cocci_menhir.mly" - ( (function dot_builder -> [dot_builder d])::r ) -# 5107 "parser_cocci_menhir.ml" + let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_assign_expr_bis = +# 1450 "parser_cocci_menhir.mly" + ( _1 ) +# 5247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5115,53 +5255,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let c : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 5139 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let i : 'tv_initialize2 = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1108 "parser_cocci_menhir.mly" - ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: - r ) -# 5148 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1112 "parser_cocci_menhir.mly" - ( [] ) -# 5165 "parser_cocci_menhir.ml" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 176 "parser_cocci_menhir.mly" + (Ast_cocci.assignOp * Data.clt) +# 5279 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_bis = +# 1452 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in + Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, + Ast0.set_arg_exp _3,false)) ) +# 5289 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5173,36 +5297,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let c : ( -# 107 "parser_cocci_menhir.mly" + let _3 : 'tv_assign_expr_bis = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 5197 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let i : 'tv_initialize2 = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_r_ in - let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1114 "parser_cocci_menhir.mly" - ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: - r ) -# 5206 "parser_cocci_menhir.ml" +# 5321 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_assign_expr_bis = +# 1456 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Assignment + (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) +# 5331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5220,13 +5345,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_any_strict_ = -# 1815 "parser_cocci_menhir.mly" - ( _1 ) -# 5230 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_eexpr_dot_expressions_ = +# 1436 "parser_cocci_menhir.mly" + ( _1 ) +# 5355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5244,13 +5369,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_ctype_ = -# 1815 "parser_cocci_menhir.mly" - ( _1 ) -# 5254 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_eexpr_nest_expressions_ = +# 1436 "parser_cocci_menhir.mly" + ( _1 ) +# 5379 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5268,13 +5393,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in + let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_d_ident_ = -# 1815 "parser_cocci_menhir.mly" - ( _1 ) -# 5278 "parser_cocci_menhir.ml" + let _v : 'tv_basic_expr_expr_invalid_ = +# 1436 "parser_cocci_menhir.mly" + ( _1 ) +# 5403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5286,25 +5411,520 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_ident_or_const_ = -# 1815 "parser_cocci_menhir.mly" - ( _1 ) -# 5302 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_fun_start = Obj.magic _3 in + let _2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5435 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : ( +# 123 "parser_cocci_menhir.mly" + (Data.clt) +# 5440 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_case_line = +# 1148 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) +# 5448 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let _4 : 'tv_fun_start = Obj.magic _4 in + let _3 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5485 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_eexpr = Obj.magic _2 in + let _1 : ( +# 123 "parser_cocci_menhir.mly" + (Data.clt) +# 5491 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_case_line = +# 1151 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) +# 5498 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_dot_expressions_ = +# 1531 "parser_cocci_menhir.mly" + ( _1 ) +# 5522 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 5559 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5565 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_dot_expressions_ = +# 1533 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5573 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_invalid_ = +# 1531 "parser_cocci_menhir.mly" + ( _1 ) +# 5597 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 5634 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5640 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_invalid_ = +# 1533 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5648 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_eexpr_nest_expressions_ = +# 1531 "parser_cocci_menhir.mly" + ( _1 ) +# 5672 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 5709 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5715 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_eexpr_nest_expressions_ = +# 1533 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5723 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_cast_expr_expr_invalid_ = +# 1531 "parser_cocci_menhir.mly" + ( _1 ) +# 5747 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 5784 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 5790 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_e_ in + let _v : 'tv_cast_expr_expr_invalid_ = +# 1533 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, + P.clt2mcode ")" rp, e)) ) +# 5798 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_choose_iso = +# 307 "parser_cocci_menhir.mly" + ( List.map P.id2name _2 ) +# 5826 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_any_strict_ = +# 2235 "parser_cocci_menhir.mly" + ( _1 ) +# 5850 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_ctype_ = +# 2235 "parser_cocci_menhir.mly" + ( _1 ) +# 5874 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_d_ident_ = +# 2235 "parser_cocci_menhir.mly" + ( _1 ) +# 5898 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_ident_or_const_ = +# 2235 "parser_cocci_menhir.mly" + ( _1 ) +# 5922 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; MenhirLib.EngineTypes.next = _menhir_stack; }); (fun _menhir_env -> @@ -5320,9 +5940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 1815 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5326 "parser_cocci_menhir.ml" +# 5946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5344,9 +5964,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 1815 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5350 "parser_cocci_menhir.ml" +# 5970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5368,9 +5988,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 1815 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5374 "parser_cocci_menhir.ml" +# 5994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5388,13 +6008,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = -# 1815 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5398 "parser_cocci_menhir.ml" +# 6018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5412,13 +6032,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = -# 1815 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5422 "parser_cocci_menhir.ml" +# 6042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5436,13 +6056,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = -# 1815 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5446 "parser_cocci_menhir.ml" +# 6066 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5460,13 +6080,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_pos__ = -# 1815 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5470 "parser_cocci_menhir.ml" +# 6090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5488,9 +6108,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 1815 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" + ( _1 ) +# 6114 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5494 "parser_cocci_menhir.ml" +# 6138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5512,9 +6156,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 1815 "parser_cocci_menhir.mly" +# 2235 "parser_cocci_menhir.mly" ( _1 ) -# 5518 "parser_cocci_menhir.ml" +# 6162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5536,9 +6180,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1238 "parser_cocci_menhir.mly" +# 1461 "parser_cocci_menhir.mly" ( _1 ) -# 5542 "parser_cocci_menhir.ml" +# 6186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5576,26 +6220,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5584 "parser_cocci_menhir.ml" +# 6228 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5590 "parser_cocci_menhir.ml" +# 6234 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1240 "parser_cocci_menhir.mly" +# 1463 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5599 "parser_cocci_menhir.ml" +# 6243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5617,9 +6261,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1238 "parser_cocci_menhir.mly" +# 1461 "parser_cocci_menhir.mly" ( _1 ) -# 5623 "parser_cocci_menhir.ml" +# 6267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5657,26 +6301,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5665 "parser_cocci_menhir.ml" +# 6309 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5671 "parser_cocci_menhir.ml" +# 6315 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1240 "parser_cocci_menhir.mly" +# 1463 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5680 "parser_cocci_menhir.ml" +# 6324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5698,9 +6342,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1238 "parser_cocci_menhir.mly" +# 1461 "parser_cocci_menhir.mly" ( _1 ) -# 5704 "parser_cocci_menhir.ml" +# 6348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5738,26 +6382,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in + let r : 'tv_eexpr = Obj.magic r in let dd : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5746 "parser_cocci_menhir.ml" +# 6390 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 5752 "parser_cocci_menhir.ml" +# 6396 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1240 "parser_cocci_menhir.mly" +# 1463 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5761 "parser_cocci_menhir.ml" +# 6405 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5776,16 +6420,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 54 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 5782 "parser_cocci_menhir.ml" +# 6426 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 829 "parser_cocci_menhir.mly" +# 1056 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5789 "parser_cocci_menhir.ml" +# 6433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5804,16 +6448,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 54 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Data.clt) -# 5810 "parser_cocci_menhir.ml" +# 6454 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 830 "parser_cocci_menhir.mly" +# 1057 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5817 "parser_cocci_menhir.ml" +# 6461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5824,13 +6468,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_continue_struct_decl_list = -# 583 "parser_cocci_menhir.mly" - ( [] ) -# 5834 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5853,14 +6504,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in - let _1 : 'tv_struct_decl = Obj.magic _1 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6511 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_continue_struct_decl_list = -# 584 "parser_cocci_menhir.mly" - ( _1@_2 ) -# 5864 "parser_cocci_menhir.ml" + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6520 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5872,19 +6528,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_struct_decl = Obj.magic _1 in + let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6552 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_continue_struct_decl_list = -# 585 "parser_cocci_menhir.mly" - ( _1 ) -# 5888 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5896,63 +6570,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 5920 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 5925 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 469 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 5937 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 5943 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 5950 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 5956 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_aexpr_TEllipsis_ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 6590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5964,63 +6598,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 5988 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 5993 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 471 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6005 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6011 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6018 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6024 "parser_cocci_menhir.ml" + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6032,63 +6622,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6056 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6061 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 473 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6073 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6079 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6086 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6092 "parser_cocci_menhir.ml" + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6640 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6100,64 +6657,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 64 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 6124 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6129 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r = r0 in - let ty = - let p = p0 in - -# 475 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6142 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6148 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6155 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6161 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6681 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6169,84 +6699,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 6202 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r00 : ( -# 47 "parser_cocci_menhir.mly" - (string) -# 6207 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let r1 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6212 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in - let _startpos = _startpos_r1_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r0 = r00 in - let r = r1 in - let ty = - let p = p0 in - let r = r0 in - -# 478 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 6231 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6237 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6244 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6250 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_dparam_TEllipsis_ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 6719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6258,63 +6727,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6282 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6287 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 485 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6299 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6305 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6312 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6318 "parser_cocci_menhir.ml" + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6326,78 +6751,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6355 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6360 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6365 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let r = r0 in - let ty = - let ty2 = ty20 in - let ty1 = ty10 in - -# 487 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6382 "parser_cocci_menhir.ml" - - in - -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6388 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6395 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6401 "parser_cocci_menhir.ml" + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6769 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6778 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6409,63 +6786,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6433 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 6438 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let _startpos = _startpos_r0_ in - let _endpos = _endpos_m_ in - let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in - let ty = - let ty = ty0 in - -# 469 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6450 "parser_cocci_menhir.ml" - - in - -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6456 "parser_cocci_menhir.ml" - - in - let cv = - -# 39 "standard.mly" - ( None ) -# 6463 "parser_cocci_menhir.ml" - - in - -# 529 "parser_cocci_menhir.mly" - ( P.pointerify (P.make_cv cv ty) m ) -# 6469 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6810 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6477,15 +6828,569 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 6848 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 6872 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6898 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 6907 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 6939 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 6949 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 6977 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 7001 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 7027 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 7036 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 7068 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 7078 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 7106 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 2011 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 7130 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 7156 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 2013 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 7165 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 7197 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 2016 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 7207 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = +# 2019 "parser_cocci_menhir.mly" + ( _2 ) +# 7235 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_continue_struct_decl_list = +# 766 "parser_cocci_menhir.mly" + ( [] ) +# 7252 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_continue_struct_decl_list = +# 767 "parser_cocci_menhir.mly" + ( _1@_2 ) +# 7282 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_continue_struct_decl_list = +# 768 "parser_cocci_menhir.mly" + ( _1 ) +# 7306 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 7338 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7343 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let r = r0 in + let ty = + let ty = ty0 in + +# 630 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 7355 "parser_cocci_menhir.ml" + + in + +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7361 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 7368 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 7374 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = r0; MenhirLib.EngineTypes.startp = _startpos_r0_; MenhirLib.EngineTypes.endp = _endpos_r0_; @@ -6495,14 +7400,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6501 "parser_cocci_menhir.ml" +# 7406 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6506 "parser_cocci_menhir.ml" +# 7411 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6512,28 +7417,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6518 "parser_cocci_menhir.ml" +# 7423 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6524 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7429 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6531 "parser_cocci_menhir.ml" +# 7436 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6537 "parser_cocci_menhir.ml" +# 7442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6563,14 +7468,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6569 "parser_cocci_menhir.ml" +# 7474 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6574 "parser_cocci_menhir.ml" +# 7479 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6580,28 +7485,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6586 "parser_cocci_menhir.ml" +# 7491 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6592 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7497 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6599 "parser_cocci_menhir.ml" +# 7504 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6605 "parser_cocci_menhir.ml" +# 7510 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6631,14 +7536,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6637 "parser_cocci_menhir.ml" +# 7542 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6642 "parser_cocci_menhir.ml" +# 7547 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6648,29 +7553,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6655 "parser_cocci_menhir.ml" +# 7560 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6661 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7566 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6668 "parser_cocci_menhir.ml" +# 7573 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6674 "parser_cocci_menhir.ml" +# 7579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6709,19 +7614,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 6715 "parser_cocci_menhir.ml" +# 7620 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 6720 "parser_cocci_menhir.ml" +# 7625 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6725 "parser_cocci_menhir.ml" +# 7630 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6733,33 +7638,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 6744 "parser_cocci_menhir.ml" +# 7649 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6750 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7655 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6757 "parser_cocci_menhir.ml" +# 7662 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6763 "parser_cocci_menhir.ml" +# 7668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6789,14 +7694,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6795 "parser_cocci_menhir.ml" +# 7700 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6800 "parser_cocci_menhir.ml" +# 7705 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6806,28 +7711,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6812 "parser_cocci_menhir.ml" +# 7717 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6818 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7723 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6825 "parser_cocci_menhir.ml" +# 7730 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6831 "parser_cocci_menhir.ml" +# 7736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6862,19 +7767,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6868 "parser_cocci_menhir.ml" +# 7773 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6873 "parser_cocci_menhir.ml" +# 7778 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 6878 "parser_cocci_menhir.ml" +# 7783 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6886,31 +7791,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6895 "parser_cocci_menhir.ml" +# 7800 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6901 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 7806 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6908 "parser_cocci_menhir.ml" +# 7813 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6914 "parser_cocci_menhir.ml" +# 7819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6926,48 +7831,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 6941 "parser_cocci_menhir.ml" +# 7851 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7856 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6952 "parser_cocci_menhir.ml" +# 7868 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 6958 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 7874 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6965 "parser_cocci_menhir.ml" +# 7881 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6971 "parser_cocci_menhir.ml" +# 7887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6983,48 +7899,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 6998 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 7919 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7924 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7009 "parser_cocci_menhir.ml" +# 7936 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7015 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 7942 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7022 "parser_cocci_menhir.ml" +# 7949 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7028 "parser_cocci_menhir.ml" +# 7955 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7040,48 +7967,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7055 "parser_cocci_menhir.ml" +# 7987 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 7992 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7066 "parser_cocci_menhir.ml" +# 8004 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7072 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8010 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7079 "parser_cocci_menhir.ml" +# 8017 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7085 "parser_cocci_menhir.ml" +# 8023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7097,49 +8035,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = p00; MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7112 "parser_cocci_menhir.ml" +# 8055 "parser_cocci_menhir.ml" ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8060 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in + let r = r0 in let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7124 "parser_cocci_menhir.ml" +# 8073 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7130 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8079 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7137 "parser_cocci_menhir.ml" +# 8086 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7143 "parser_cocci_menhir.ml" +# 8092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7159,65 +8108,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 7179 "parser_cocci_menhir.ml" +# 8133 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 7184 "parser_cocci_menhir.ml" +# 8138 "parser_cocci_menhir.ml" ) = Obj.magic r00 in - let _startpos = _startpos_r00_ in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8143 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in + let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in let r0 = r00 in + let r = r1 in let ty = let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 7202 "parser_cocci_menhir.ml" +# 8162 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7208 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8168 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7215 "parser_cocci_menhir.ml" +# 8175 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7221 "parser_cocci_menhir.ml" +# 8181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7233,48 +8193,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7248 "parser_cocci_menhir.ml" +# 8213 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let _startpos = _startpos_ty00_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8218 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7259 "parser_cocci_menhir.ml" +# 8230 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7265 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8236 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7272 "parser_cocci_menhir.ml" +# 8243 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7278 "parser_cocci_menhir.ml" +# 8249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7294,59 +8265,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty200_; MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty100; MenhirLib.EngineTypes.startp = _startpos_ty100_; MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7310 "parser_cocci_menhir.ml" +# 8286 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7315 "parser_cocci_menhir.ml" +# 8291 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in - let _startpos = _startpos_ty100_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 8296 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty20 = ty200 in let ty10 = ty100 in + let r = r0 in let ty = let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7331 "parser_cocci_menhir.ml" +# 8313 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 7337 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 8319 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7344 "parser_cocci_menhir.ml" +# 8326 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7350 "parser_cocci_menhir.ml" +# 8332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7371,9 +8353,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 50 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7377 "parser_cocci_menhir.ml" +# 8359 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7382,28 +8364,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 495 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 7388 "parser_cocci_menhir.ml" +# 630 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 8370 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7394 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8376 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7401 "parser_cocci_menhir.ml" +# 8383 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7407 "parser_cocci_menhir.ml" +# 8389 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7428,9 +8410,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7434 "parser_cocci_menhir.ml" +# 8416 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7439,28 +8421,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 497 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 7445 "parser_cocci_menhir.ml" +# 632 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 8427 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7451 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8433 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7458 "parser_cocci_menhir.ml" +# 8440 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7464 "parser_cocci_menhir.ml" +# 8446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7485,9 +8467,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 7491 "parser_cocci_menhir.ml" +# 8473 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7496,28 +8478,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 499 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 7502 "parser_cocci_menhir.ml" +# 634 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 8484 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7508 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8490 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7515 "parser_cocci_menhir.ml" +# 8497 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7521 "parser_cocci_menhir.ml" +# 8503 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7533,56 +8515,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : ( -# 50 "parser_cocci_menhir.mly" - (Data.clt) -# 7554 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 8530 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in -# 501 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 7567 "parser_cocci_menhir.ml" +# 636 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 8542 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7573 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8548 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7580 "parser_cocci_menhir.ml" +# 8555 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7586 "parser_cocci_menhir.ml" +# 8561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7598,52 +8573,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 8597 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r00 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 8602 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in + let r0 = r00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in + let r = r0 in -# 503 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 7628 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 8620 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7634 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8626 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7641 "parser_cocci_menhir.ml" +# 8633 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7647 "parser_cocci_menhir.ml" +# 8639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7659,87 +8651,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7689 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7695 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8666 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in - let i = - -# 39 "standard.mly" - ( None ) -# 7714 "parser_cocci_menhir.ml" - - in + let ty = ty0 in -# 506 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 7724 "parser_cocci_menhir.ml" +# 646 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 8677 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7730 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8683 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7737 "parser_cocci_menhir.ml" +# 8690 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7743 "parser_cocci_menhir.ml" +# 8696 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7755,96 +8708,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x000; - MenhirLib.EngineTypes.startp = _startpos_x000_; - MenhirLib.EngineTypes.endp = _endpos_x000_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7790 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7796 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8728 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8733 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let x00 = x000 in - let s0 = s00 in + let ty20 = ty200 in + let ty10 = ty100 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let x0 = x00 in - let s = s0 in - let i = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 7819 "parser_cocci_menhir.ml" - - in + let ty2 = ty20 in + let ty1 = ty10 in -# 506 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 7829 "parser_cocci_menhir.ml" +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 8749 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 7835 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 8755 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7842 "parser_cocci_menhir.ml" +# 8762 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7848 "parser_cocci_menhir.ml" +# 8768 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7860,82 +8780,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7890 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 7896 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : ( -# 64 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 7901 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in - let _startpos = _startpos_s00_ in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 8795 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in + let ty = ty0 in -# 512 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = s in - let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in - Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 7920 "parser_cocci_menhir.ml" +# 656 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 8806 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 7926 "parser_cocci_menhir.ml" +# 8812 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7933 "parser_cocci_menhir.ml" +# 8819 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7939 "parser_cocci_menhir.ml" +# 8825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7952,47 +8838,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 7966 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let _startpos = _startpos_p00_ in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 8852 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 516 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 7977 "parser_cocci_menhir.ml" +# 658 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 8863 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 7983 "parser_cocci_menhir.ml" +# 8869 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7990 "parser_cocci_menhir.ml" +# 8876 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7996 "parser_cocci_menhir.ml" +# 8882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8008,66 +8894,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8033 "parser_cocci_menhir.ml" +# 8909 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 8038 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8051 "parser_cocci_menhir.ml" +# 660 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 8920 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8057 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 8926 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8065 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 8933 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8071 "parser_cocci_menhir.ml" +# 8939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8083,66 +8951,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8108 "parser_cocci_menhir.ml" +# 8966 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 8113 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8126 "parser_cocci_menhir.ml" +# 662 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 8977 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8132 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 8983 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8140 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 8990 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8146 "parser_cocci_menhir.ml" +# 8996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8158,66 +9008,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8183 "parser_cocci_menhir.ml" +# 9023 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" - (Data.clt) -# 8188 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in - let r = r0 in let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8201 "parser_cocci_menhir.ml" +# 664 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 9034 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8207 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9040 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8215 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9047 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8221 "parser_cocci_menhir.ml" +# 9053 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8233,67 +9065,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 64 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 8258 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 8263 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9080 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r = r0 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 475 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = p in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8277 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 9091 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8283 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9097 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8291 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9104 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8297 "parser_cocci_menhir.ml" +# 9110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8309,87 +9122,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r1; - MenhirLib.EngineTypes.startp = _startpos_r1_; - MenhirLib.EngineTypes.endp = _endpos_r1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 8343 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in - let r00 : ( -# 47 "parser_cocci_menhir.mly" - (string) -# 8348 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let r1 : ( -# 51 "parser_cocci_menhir.mly" + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8353 "parser_cocci_menhir.ml" - ) = Obj.magic r1 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9143 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in - let r0 = r00 in - let r = r1 in + let i0 = i00 in + let s0 = s00 in let ty = - let p = p0 in - let r = r0 in + let i = i0 in + let s = s0 in -# 478 "parser_cocci_menhir.mly" - ( let nm = (r,P.id2name p) in - (* this is only possible when we are in a metavar decl. Otherwise, - it will be represented already as a MetaType *) - let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in - Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), - Ast0.Impure (*will be ignored*))) ) -# 8373 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 9156 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8379 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9162 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8387 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9169 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8393 "parser_cocci_menhir.ml" +# 9175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8405,66 +9187,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 8430 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9217 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9223 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8435 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9228 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty0 = ty00 in - let r = r0 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in let ty = - let ty = ty0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 9246 "parser_cocci_menhir.ml" + + in -# 485 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8448 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 9255 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8454 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9261 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8462 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9268 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8468 "parser_cocci_menhir.ml" +# 9274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8480,81 +9286,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r0; - MenhirLib.EngineTypes.startp = _startpos_r0_; - MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 8510 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 8515 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in - let r0 : ( -# 51 "parser_cocci_menhir.mly" + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9321 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9327 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 8520 "parser_cocci_menhir.ml" - ) = Obj.magic r0 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in +# 9333 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in - let r = r0 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in let ty = - let ty2 = ty20 in - let ty1 = ty10 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9354 "parser_cocci_menhir.ml" + + in -# 487 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8538 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 9363 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8544 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9369 "parser_cocci_menhir.ml" in let cv = - let x = x0 in -# 41 "standard.mly" - ( Some x ) -# 8552 "parser_cocci_menhir.ml" +# 39 "standard.mly" + ( None ) +# 9376 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8558 "parser_cocci_menhir.ml" +# 9382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8570,7 +9394,417 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_type_ident = Obj.magic i00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 675 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) +# 9424 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9430 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9437 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9443 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9485 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9491 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 9510 "parser_cocci_menhir.ml" + + in + +# 678 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 9520 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9526 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9533 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9539 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9586 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9592 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_type_ident = Obj.magic x000 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 9615 "parser_cocci_menhir.ml" + + in + +# 678 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 9625 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9631 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9638 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9644 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9686 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 9692 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 9697 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + +# 684 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = s in + let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in + Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) +# 9716 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9722 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9729 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9735 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 9762 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let _startpos = _startpos_p00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let p0 = p00 in + let ty = + let p = p0 in + +# 688 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) +# 9773 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 9779 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 9786 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 9792 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { @@ -8589,14 +9823,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8595 "parser_cocci_menhir.ml" +# 9829 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8600 "parser_cocci_menhir.ml" +# 9834 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8607,15 +9841,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8613 "parser_cocci_menhir.ml" +# 9847 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8619 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 9853 "parser_cocci_menhir.ml" in let cv = @@ -8623,13 +9857,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8627 "parser_cocci_menhir.ml" +# 9861 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8633 "parser_cocci_menhir.ml" +# 9867 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8664,14 +9898,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8670 "parser_cocci_menhir.ml" +# 9904 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8675 "parser_cocci_menhir.ml" +# 9909 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8682,15 +9916,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8688 "parser_cocci_menhir.ml" +# 9922 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8694 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 9928 "parser_cocci_menhir.ml" in let cv = @@ -8698,13 +9932,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8702 "parser_cocci_menhir.ml" +# 9936 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8708 "parser_cocci_menhir.ml" +# 9942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8739,14 +9973,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8745 "parser_cocci_menhir.ml" +# 9979 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8750 "parser_cocci_menhir.ml" +# 9984 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8757,15 +9991,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8763 "parser_cocci_menhir.ml" +# 9997 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8769 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10003 "parser_cocci_menhir.ml" in let cv = @@ -8773,13 +10007,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8777 "parser_cocci_menhir.ml" +# 10011 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8783 "parser_cocci_menhir.ml" +# 10017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8814,14 +10048,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8820 "parser_cocci_menhir.ml" +# 10054 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8825 "parser_cocci_menhir.ml" +# 10059 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8832,16 +10066,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8839 "parser_cocci_menhir.ml" +# 10073 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8845 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10079 "parser_cocci_menhir.ml" in let cv = @@ -8849,13 +10083,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8853 "parser_cocci_menhir.ml" +# 10087 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8859 "parser_cocci_menhir.ml" +# 10093 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8899,19 +10133,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 8905 "parser_cocci_menhir.ml" +# 10139 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 8910 "parser_cocci_menhir.ml" +# 10144 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8915 "parser_cocci_menhir.ml" +# 10149 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8924,20 +10158,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 8935 "parser_cocci_menhir.ml" +# 10169 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8941 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10175 "parser_cocci_menhir.ml" in let cv = @@ -8945,13 +10179,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8949 "parser_cocci_menhir.ml" +# 10183 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8955 "parser_cocci_menhir.ml" +# 10189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8986,14 +10220,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 8992 "parser_cocci_menhir.ml" +# 10226 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 8997 "parser_cocci_menhir.ml" +# 10231 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9004,15 +10238,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9010 "parser_cocci_menhir.ml" +# 10244 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9016 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10250 "parser_cocci_menhir.ml" in let cv = @@ -9020,13 +10254,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9024 "parser_cocci_menhir.ml" +# 10258 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9030 "parser_cocci_menhir.ml" +# 10264 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9066,19 +10300,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9072 "parser_cocci_menhir.ml" +# 10306 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9077 "parser_cocci_menhir.ml" +# 10311 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 9082 "parser_cocci_menhir.ml" +# 10316 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9091,18 +10325,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9100 "parser_cocci_menhir.ml" +# 10334 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9106 "parser_cocci_menhir.ml" +# 693 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) +# 10340 "parser_cocci_menhir.ml" in let cv = @@ -9110,13 +10344,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9114 "parser_cocci_menhir.ml" +# 10348 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9120 "parser_cocci_menhir.ml" +# 10354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9136,37 +10370,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9152 "parser_cocci_menhir.ml" +# 10391 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10396 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9164 "parser_cocci_menhir.ml" +# 10409 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9170 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10415 "parser_cocci_menhir.ml" in let cv = @@ -9174,13 +10419,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9178 "parser_cocci_menhir.ml" +# 10423 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9184 "parser_cocci_menhir.ml" +# 10429 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9200,37 +10445,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9216 "parser_cocci_menhir.ml" +# 10466 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10471 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9228 "parser_cocci_menhir.ml" +# 10484 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9234 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10490 "parser_cocci_menhir.ml" in let cv = @@ -9238,13 +10494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9242 "parser_cocci_menhir.ml" +# 10498 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9248 "parser_cocci_menhir.ml" +# 10504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9264,37 +10520,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9280 "parser_cocci_menhir.ml" +# 10541 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10546 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9292 "parser_cocci_menhir.ml" +# 10559 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9298 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10565 "parser_cocci_menhir.ml" in let cv = @@ -9302,13 +10569,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9306 "parser_cocci_menhir.ml" +# 10573 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9312 "parser_cocci_menhir.ml" +# 10579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9328,38 +10595,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9344 "parser_cocci_menhir.ml" +# 10616 "parser_cocci_menhir.ml" ) = Obj.magic p00 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10621 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in + let r = r0 in let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9357 "parser_cocci_menhir.ml" +# 10635 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9363 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10641 "parser_cocci_menhir.ml" in let cv = @@ -9367,13 +10645,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9371 "parser_cocci_menhir.ml" +# 10649 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9377 "parser_cocci_menhir.ml" +# 10655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9393,18 +10671,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_p00_; MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.semv = r00; MenhirLib.EngineTypes.startp = _startpos_r00_; MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r1; + MenhirLib.EngineTypes.startp = _startpos_r1_; + MenhirLib.EngineTypes.endp = _endpos_r1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -9412,39 +10695,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 9418 "parser_cocci_menhir.ml" +# 10701 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 9423 "parser_cocci_menhir.ml" +# 10706 "parser_cocci_menhir.ml" ) = Obj.magic r00 in + let r1 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10711 "parser_cocci_menhir.ml" + ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let p0 = p00 in let r0 = r00 in + let r = r1 in let ty = let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 9442 "parser_cocci_menhir.ml" +# 10731 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9448 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10737 "parser_cocci_menhir.ml" in let cv = @@ -9452,13 +10741,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9456 "parser_cocci_menhir.ml" +# 10745 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9462 "parser_cocci_menhir.ml" +# 10751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9478,37 +10767,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty00_; MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9494 "parser_cocci_menhir.ml" +# 10788 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in - let x0 : 'tv_const_vol = Obj.magic x0 in - let _startpos = _startpos_x0_ in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10793 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty0 = ty00 in + let r = r0 in let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9506 "parser_cocci_menhir.ml" +# 10806 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9512 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10812 "parser_cocci_menhir.ml" in let cv = @@ -9516,13 +10816,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9520 "parser_cocci_menhir.ml" +# 10820 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9526 "parser_cocci_menhir.ml" +# 10826 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9546,48 +10846,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_ty100_; MenhirLib.EngineTypes.endp = _endpos_ty100_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r0; + MenhirLib.EngineTypes.startp = _startpos_r0_; + MenhirLib.EngineTypes.endp = _endpos_r0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9563 "parser_cocci_menhir.ml" +# 10868 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9568 "parser_cocci_menhir.ml" +# 10873 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in + let r0 : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 10878 "parser_cocci_menhir.ml" + ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = let ty20 = ty200 in let ty10 = ty100 in + let r = r0 in let ty = let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9585 "parser_cocci_menhir.ml" +# 10896 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 9591 "parser_cocci_menhir.ml" +# 695 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) +# 10902 "parser_cocci_menhir.ml" in let cv = @@ -9595,13 +10906,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9599 "parser_cocci_menhir.ml" +# 10910 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9605 "parser_cocci_menhir.ml" +# 10916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9631,9 +10942,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 50 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9637 "parser_cocci_menhir.ml" +# 10948 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9643,15 +10954,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 495 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9649 "parser_cocci_menhir.ml" +# 630 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) +# 10960 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 9655 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 10966 "parser_cocci_menhir.ml" in let cv = @@ -9659,13 +10970,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9663 "parser_cocci_menhir.ml" +# 10974 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9669 "parser_cocci_menhir.ml" +# 10980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9695,9 +11006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9701 "parser_cocci_menhir.ml" +# 11012 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9707,15 +11018,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 497 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9713 "parser_cocci_menhir.ml" +# 632 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) +# 11024 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 9719 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11030 "parser_cocci_menhir.ml" in let cv = @@ -9723,13 +11034,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9727 "parser_cocci_menhir.ml" +# 11038 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9733 "parser_cocci_menhir.ml" +# 11044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9759,9 +11070,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 9765 "parser_cocci_menhir.ml" +# 11076 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9771,15 +11082,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 499 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9777 "parser_cocci_menhir.ml" +# 634 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) +# 11088 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 9783 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11094 "parser_cocci_menhir.ml" in let cv = @@ -9787,13 +11098,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9791 "parser_cocci_menhir.ml" +# 11102 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9797 "parser_cocci_menhir.ml" +# 11108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9809,49 +11120,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : ( -# 50 "parser_cocci_menhir.mly" - (Data.clt) -# 9835 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in + let p00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 11140 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in -# 501 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 9849 "parser_cocci_menhir.ml" +# 636 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = p in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) +# 11153 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 9855 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11159 "parser_cocci_menhir.ml" in let cv = @@ -9859,13 +11163,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9863 "parser_cocci_menhir.ml" +# 11167 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9869 "parser_cocci_menhir.ml" +# 11173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9881,45 +11185,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 11214 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let r00 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 11219 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let i0 = i00 in - let s0 = s00 in + let p0 = p00 in + let r0 = r00 in let ty = - let i = i0 in - let s = s0 in + let p = p0 in + let r = r0 in -# 503 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 9917 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.mly" + ( let nm = (r,P.id2name p) in + (* this is only possible when we are in a metavar decl. Otherwise, + it will be represented already as a MetaType *) + let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in + Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), + Ast0.Impure (*will be ignored*))) ) +# 11238 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 9923 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11244 "parser_cocci_menhir.ml" in let cv = @@ -9927,13 +11248,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9931 "parser_cocci_menhir.ml" +# 11252 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9937 "parser_cocci_menhir.ml" +# 11258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9949,80 +11270,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 9984 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 9990 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11290 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in - let i = - -# 39 "standard.mly" - ( None ) -# 10010 "parser_cocci_menhir.ml" - - in + let ty = ty0 in -# 506 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 10020 "parser_cocci_menhir.ml" +# 646 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) +# 11302 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 10026 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11308 "parser_cocci_menhir.ml" in let cv = @@ -10030,13 +11312,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10034 "parser_cocci_menhir.ml" +# 11316 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10040 "parser_cocci_menhir.ml" +# 11322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10052,89 +11334,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x000; - MenhirLib.EngineTypes.startp = _startpos_x000_; - MenhirLib.EngineTypes.endp = _endpos_x000_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 10092 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 10098 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in - let s00 : 'tv_struct_or_union = Obj.magic s00 in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11359 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11364 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let x00 = x000 in - let s0 = s00 in + let ty20 = ty200 in + let ty10 = ty100 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let x0 = x00 in - let s = s0 in - let i = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 10122 "parser_cocci_menhir.ml" - - in + let ty2 = ty20 in + let ty1 = ty10 in -# 506 "parser_cocci_menhir.mly" - ( (if i = None && !Data.in_iso - then failwith "structures must be named in the iso file"); - Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), - P.clt2mcode "{" l, - d, P.clt2mcode "}" r)) ) -# 10132 "parser_cocci_menhir.ml" +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 11381 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" - ( ty ) -# 10138 "parser_cocci_menhir.ml" +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 11387 "parser_cocci_menhir.ml" in let cv = @@ -10142,13 +11391,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10146 "parser_cocci_menhir.ml" +# 11395 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10152 "parser_cocci_menhir.ml" +# 11401 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10164,75 +11413,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = r00; - MenhirLib.EngineTypes.startp = _startpos_r00_; - MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d00; - MenhirLib.EngineTypes.startp = _startpos_d00_; - MenhirLib.EngineTypes.endp = _endpos_d00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l00; - MenhirLib.EngineTypes.startp = _startpos_l00_; - MenhirLib.EngineTypes.endp = _endpos_l00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let r00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 10199 "parser_cocci_menhir.ml" - ) = Obj.magic r00 in - let d00 : 'tv_struct_decl_list = Obj.magic d00 in - let l00 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 10205 "parser_cocci_menhir.ml" - ) = Obj.magic l00 in - let s00 : ( -# 64 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 10210 "parser_cocci_menhir.ml" - ) = Obj.magic s00 in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11433 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let r0 = r00 in - let d0 = d00 in - let l0 = l00 in - let s0 = s00 in + let ty0 = ty00 in let ty = - let r = r0 in - let d = d0 in - let l = l0 in - let s = s0 in + let ty = ty0 in -# 512 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = s in - let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in - Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 10230 "parser_cocci_menhir.ml" +# 656 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 11445 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 10236 "parser_cocci_menhir.ml" +# 11451 "parser_cocci_menhir.ml" in let cv = @@ -10240,13 +11455,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10244 "parser_cocci_menhir.ml" +# 11459 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10250 "parser_cocci_menhir.ml" +# 11465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10262,9 +11477,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p00; - MenhirLib.EngineTypes.startp = _startpos_p00_; - MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = x0; @@ -10275,28 +11490,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let p00 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 10282 "parser_cocci_menhir.ml" - ) = Obj.magic p00 in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 11497 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_ctype = let ty = - let p0 = p00 in + let ty0 = ty00 in let ty = - let p = p0 in + let ty = ty0 in -# 516 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10294 "parser_cocci_menhir.ml" +# 658 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 11509 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 10300 "parser_cocci_menhir.ml" +# 11515 "parser_cocci_menhir.ml" in let cv = @@ -10304,13 +11519,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10308 "parser_cocci_menhir.ml" +# 11523 "parser_cocci_menhir.ml" in -# 529 "parser_cocci_menhir.mly" +# 701 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10314 "parser_cocci_menhir.ml" +# 11529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10322,23 +11537,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let r : ( -# 51 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 10335 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let _startpos = _startpos_r_ in - let _endpos = _endpos_r_ in - let _v : 'tv_ctype = -# 531 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 10342 "parser_cocci_menhir.ml" +# 11561 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 660 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 11573 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11579 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11587 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10350,23 +11601,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let r : ( -# 51 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 10363 "parser_cocci_menhir.ml" - ) = Obj.magic r in - let _startpos = _startpos_r_ in - let _endpos = _endpos_r_ in - let _v : 'tv_ctype = -# 533 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 10370 "parser_cocci_menhir.ml" +# 11625 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 662 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 11637 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11643 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11651 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10378,78 +11665,123 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 10401 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 10407 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let _startpos = _startpos_lp_ in - let _endpos = _endpos_rp_ in - let _v : 'tv_ctype = -# 535 "parser_cocci_menhir.mly" - ( let (mids,code) = t in - Ast0.wrap - (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 10416 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 11689 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 664 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 11701 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11707 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11715 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11721 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_list_array_dec_ = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_d_ident = -# 1042 "parser_cocci_menhir.mly" - ( (_1, - function t -> - List.fold_right - (function (l,i,r) -> - function rest -> - Ast0.wrap - (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) - _2 t) ) -# 10453 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 11753 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 11765 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11771 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11779 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10461,25 +11793,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let i : 'tv_ident = Obj.magic i in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_i_ in - let _v : 'tv_decl = -# 803 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 10483 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11823 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 11837 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11843 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11851 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10491,19 +11865,101 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; } = _menhir_stack in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_t_ in - let _v : 'tv_decl = -# 804 "parser_cocci_menhir.mly" - ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 10507 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 11904 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 11910 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 11915 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 11934 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 11943 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 11949 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 11957 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 11963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10515,40 +11971,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -10556,45 +12007,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let rp1 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 10563 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp1 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 10569 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 10574 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let i : 'tv_ident = Obj.magic i in - let s : ( -# 99 "parser_cocci_menhir.mly" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 10580 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let lp : ( -# 76 "parser_cocci_menhir.mly" +# 12015 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 10585 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_rp1_ in - let _v : 'tv_decl = -# 807 "parser_cocci_menhir.mly" - ( let fnptr = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, - P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in - Ast0.wrap(Ast0.Param(fnptr, Some i)) ) -# 10598 "parser_cocci_menhir.ml" +# 12021 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 12027 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12049 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 12058 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12064 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12072 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10606,24 +12086,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; } = _menhir_stack in - let _1 : ( -# 64 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 10619 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl = -# 814 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 10627 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_type_ident = Obj.magic i00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 675 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) +# 12126 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12132 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12140 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10635,23 +12154,98 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; } = _menhir_stack in - let _1 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 10648 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_ident = -# 1527 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 10655 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12193 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12199 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 12219 "parser_cocci_menhir.ml" + + in + +# 678 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 12229 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12235 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12243 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10663,41 +12257,107 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 62 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 10676 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_ident = -# 1529 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 10684 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_decl_list_decl_ = -# 1549 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 10701 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12301 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12307 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_type_ident = Obj.magic x000 in + let s00 : 'tv_struct_or_union = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let x0 = x00 in + let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12331 "parser_cocci_menhir.ml" + + in + +# 678 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "structures must be named in the iso file"); + Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), + P.clt2mcode "{" l, + d, P.clt2mcode "}" r)) ) +# 12341 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12347 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12355 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10709,23 +12369,93 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d00; + MenhirLib.EngineTypes.startp = _startpos_d00_; + MenhirLib.EngineTypes.endp = _endpos_d00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; } = _menhir_stack in - let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_decl_ = -# 1551 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10729 "parser_cocci_menhir.ml" + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12408 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let d00 : 'tv_struct_decl_list = Obj.magic d00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 12414 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12419 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let r0 = r00 in + let d0 = d00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let d = d0 in + let l = l0 in + let s = s0 in + +# 684 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = s in + let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in + Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) +# 12439 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12445 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12453 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12459 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10736,13 +12466,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_decl_list_name_opt_decl_ = -# 1549 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 10746 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p00; + MenhirLib.EngineTypes.startp = _startpos_p00_; + MenhirLib.EngineTypes.endp = _endpos_p00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let p00 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 12491 "parser_cocci_menhir.ml" + ) = Obj.magic p00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_ctype = let ty = + let p0 = p00 in + let ty = + let p = p0 in + +# 688 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) +# 12503 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 12509 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 12517 "parser_cocci_menhir.ml" + + in + +# 701 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 12523 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10755,22 +12532,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_name_opt_decl_ = -# 1551 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10774 "parser_cocci_menhir.ml" + let r : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 12544 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let _startpos = _startpos_r_ in + let _endpos = _endpos_r_ in + let _v : 'tv_ctype = +# 703 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) +# 12551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10783,18 +12560,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_start_decl_ = -# 1558 "parser_cocci_menhir.mly" - ( [_1] ) -# 10798 "parser_cocci_menhir.ml" + let r : ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 12572 "parser_cocci_menhir.ml" + ) = Obj.magic r in + let _startpos = _startpos_r_ in + let _endpos = _endpos_r_ in + let _v : 'tv_ctype = +# 705 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) +# 12579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10806,35 +12587,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" + let rp : ( +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 10830 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_decl_list_start_decl_ = -# 1560 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10838 "parser_cocci_menhir.ml" +# 12610 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 12616 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_ctype = +# 707 "parser_cocci_menhir.mly" + ( let (mids,code) = t in + Ast0.wrap + (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) +# 12625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10857,19 +12644,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in - let _1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 10865 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _2 : 'tv_list_array_dec_ = Obj.magic _2 in + let _1 : 'tv_disj_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_decl_list_start_decl_ = -# 1562 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: - (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10873 "parser_cocci_menhir.ml" + let _v : 'tv_d_ident = +# 1277 "parser_cocci_menhir.mly" + ( (_1, function t -> P.arrayify t _2) ) +# 12655 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let a : 'tv_list_array_dec_ = Obj.magic a in + let i : 'tv_disj_ident = Obj.magic i in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_a_ in + let _v : 'tv_decl = +# 1029 "parser_cocci_menhir.mly" + ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) ) +# 12691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10882,18 +12700,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1558 "parser_cocci_menhir.mly" - ( [_1] ) -# 10897 "parser_cocci_menhir.ml" + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_t_ in + let _v : 'tv_decl = +# 1030 "parser_cocci_menhir.mly" + ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) +# 12715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10905,35 +12723,86 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; }; }; } = _menhir_stack in - let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" + let rp1 : ( +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 10929 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1560 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10937 "parser_cocci_menhir.ml" +# 12771 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 12777 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 12782 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let i : 'tv_disj_ident = Obj.magic i in + let s : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 12788 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 12793 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_rp1_ in + let _v : 'tv_decl = +# 1033 "parser_cocci_menhir.mly" + ( let fnptr = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, + P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in + Ast0.wrap(Ast0.Param(fnptr, Some i)) ) +# 12806 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10945,30 +12814,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in let _1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 10964 "parser_cocci_menhir.ml" +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12827 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1562 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: - (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10972 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_decl = +# 1040 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) +# 12835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10987,17 +12850,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10993 "parser_cocci_menhir.ml" +# 12856 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_decl_statement = -# 1120 "parser_cocci_menhir.mly" - ( let (nm,pure,clt) = _1 in - [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11001 "parser_cocci_menhir.ml" + let _v : 'tv_decl = +# 1042 "parser_cocci_menhir.mly" + ( tmeta_to_param _1 ) +# 12863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11015,17 +12877,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_decl_var = Obj.magic _1 in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 12884 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_decl_statement = -# 1123 "parser_cocci_menhir.mly" - ( List.map - (function x -> - Ast0.wrap - (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) - _1 ) -# 11029 "parser_cocci_menhir.ml" + let _v : 'tv_decl_ident = +# 1935 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 12891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11043,13 +12905,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_statement = Obj.magic _1 in + let _1 : ( +# 129 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 12912 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_decl_statement = -# 1128 "parser_cocci_menhir.mly" - ( [_1] ) -# 11053 "parser_cocci_menhir.ml" + let _v : 'tv_decl_ident = +# 1937 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 12920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11061,37 +12928,174 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 11084 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_list_decl_ = +# 1959 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) + (fun c -> Ast0.PComma c))) ) +# 12948 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_list_name_opt_decl_ = +# 1959 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d))) + (fun c -> Ast0.PComma c))) ) +# 12976 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 12997 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_statement = +# 1340 "parser_cocci_menhir.mly" + ( let (nm,pure,clt) = _1 in + [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) +# 13005 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_decl_var = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_statement = +# 1343 "parser_cocci_menhir.mly" + ( List.map + (function x -> + Ast0.wrap + (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) + _1 ) +# 13033 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_statement = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_statement = +# 1348 "parser_cocci_menhir.mly" + ( [_1] ) +# 13057 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 13088 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 11090 "parser_cocci_menhir.ml" +# 13094 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1137 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -11101,7 +13105,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 11105 "parser_cocci_menhir.ml" +# 13109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11120,17 +13124,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11126 "parser_cocci_menhir.ml" +# 13130 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1150 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11134 "parser_cocci_menhir.ml" +# 13138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11152,13 +13156,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1153 "parser_cocci_menhir.mly" +# 1373 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11162 "parser_cocci_menhir.ml" +# 13166 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11180,9 +13184,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1158 "parser_cocci_menhir.mly" +# 1378 "parser_cocci_menhir.mly" ( [_1] ) -# 11186 "parser_cocci_menhir.ml" +# 13190 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11211,20 +13215,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 11217 "parser_cocci_menhir.ml" +# 13221 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 11223 "parser_cocci_menhir.ml" +# 13227 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1167 "parser_cocci_menhir.mly" +# 1387 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -11233,7 +13237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids, P.clt2mcode ")" _3))] ) -# 11237 "parser_cocci_menhir.ml" +# 13241 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11257,17 +13261,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11263 "parser_cocci_menhir.ml" +# 13267 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 930 "parser_cocci_menhir.mly" +# 1163 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 11271 "parser_cocci_menhir.ml" +# 13275 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 13296 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_var = +# 1164 "parser_cocci_menhir.mly" + ( [P.meta_decl _1] ) +# 13303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11296,9 +13328,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11302 "parser_cocci_menhir.ml" +# 13334 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11308,16 +13340,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11312 "parser_cocci_menhir.ml" +# 13344 "parser_cocci_menhir.ml" in -# 932 "parser_cocci_menhir.mly" +# 1166 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11321 "parser_cocci_menhir.ml" +# 13353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11351,9 +13383,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11357 "parser_cocci_menhir.ml" +# 13389 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11365,16 +13397,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11369 "parser_cocci_menhir.ml" +# 13401 "parser_cocci_menhir.ml" in -# 932 "parser_cocci_menhir.mly" +# 1166 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11378 "parser_cocci_menhir.ml" +# 13410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11396,9 +13428,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 936 "parser_cocci_menhir.mly" +# 1170 "parser_cocci_menhir.mly" ( [f] ) -# 11402 "parser_cocci_menhir.ml" +# 13434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11437,15 +13469,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11443 "parser_cocci_menhir.ml" +# 13475 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11449 "parser_cocci_menhir.ml" +# 13481 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11455,14 +13487,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11459 "parser_cocci_menhir.ml" +# 13491 "parser_cocci_menhir.ml" in -# 938 "parser_cocci_menhir.mly" +# 1172 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11466 "parser_cocci_menhir.ml" +# 13498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11506,15 +13538,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11512 "parser_cocci_menhir.ml" +# 13544 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11518 "parser_cocci_menhir.ml" +# 13550 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11526,14 +13558,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11530 "parser_cocci_menhir.ml" +# 13562 "parser_cocci_menhir.ml" in -# 938 "parser_cocci_menhir.mly" +# 1172 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11537 "parser_cocci_menhir.ml" +# 13569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11562,9 +13594,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11568 "parser_cocci_menhir.ml" +# 13600 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11574,25 +13606,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11578 "parser_cocci_menhir.ml" +# 13610 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11585 "parser_cocci_menhir.ml" +# 13617 "parser_cocci_menhir.ml" in -# 943 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11596 "parser_cocci_menhir.ml" +# 13628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11626,9 +13658,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11632 "parser_cocci_menhir.ml" +# 13664 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11640,25 +13672,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11644 "parser_cocci_menhir.ml" +# 13676 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11651 "parser_cocci_menhir.ml" +# 13683 "parser_cocci_menhir.ml" in -# 943 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11662 "parser_cocci_menhir.ml" +# 13694 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11692,9 +13724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11698 "parser_cocci_menhir.ml" +# 13730 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11705,7 +13737,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11709 "parser_cocci_menhir.ml" +# 13741 "parser_cocci_menhir.ml" in let s = @@ -11713,18 +13745,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11717 "parser_cocci_menhir.ml" +# 13749 "parser_cocci_menhir.ml" in -# 943 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11728 "parser_cocci_menhir.ml" +# 13760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11763,9 +13795,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11769 "parser_cocci_menhir.ml" +# 13801 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11778,7 +13810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11782 "parser_cocci_menhir.ml" +# 13814 "parser_cocci_menhir.ml" in let s = @@ -11786,18 +13818,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11790 "parser_cocci_menhir.ml" +# 13822 "parser_cocci_menhir.ml" in -# 943 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11801 "parser_cocci_menhir.ml" +# 13833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11836,15 +13868,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11842 "parser_cocci_menhir.ml" +# 13874 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11848 "parser_cocci_menhir.ml" +# 13880 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11854,24 +13886,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11858 "parser_cocci_menhir.ml" +# 13890 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11865 "parser_cocci_menhir.ml" +# 13897 "parser_cocci_menhir.ml" in -# 951 "parser_cocci_menhir.mly" +# 1185 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 11875 "parser_cocci_menhir.ml" +# 13907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11915,15 +13947,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11921 "parser_cocci_menhir.ml" +# 13953 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 11927 "parser_cocci_menhir.ml" +# 13959 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11935,24 +13967,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11939 "parser_cocci_menhir.ml" +# 13971 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11946 "parser_cocci_menhir.ml" +# 13978 "parser_cocci_menhir.ml" in -# 951 "parser_cocci_menhir.mly" +# 1185 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 11956 "parser_cocci_menhir.ml" +# 13988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11996,15 +14028,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 12002 "parser_cocci_menhir.ml" +# 14034 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 12008 "parser_cocci_menhir.ml" +# 14040 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12015,7 +14047,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12019 "parser_cocci_menhir.ml" +# 14051 "parser_cocci_menhir.ml" in let s = @@ -12023,17 +14055,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12027 "parser_cocci_menhir.ml" +# 14059 "parser_cocci_menhir.ml" in -# 951 "parser_cocci_menhir.mly" +# 1185 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12037 "parser_cocci_menhir.ml" +# 14069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12082,15 +14114,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 12088 "parser_cocci_menhir.ml" +# 14120 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 12094 "parser_cocci_menhir.ml" +# 14126 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12103,7 +14135,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12107 "parser_cocci_menhir.ml" +# 14139 "parser_cocci_menhir.ml" in let s = @@ -12111,17 +14143,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12115 "parser_cocci_menhir.ml" +# 14147 "parser_cocci_menhir.ml" in -# 951 "parser_cocci_menhir.mly" +# 1185 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12125 "parser_cocci_menhir.ml" +# 14157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12180,36 +14212,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 12186 "parser_cocci_menhir.ml" +# 14218 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 12191 "parser_cocci_menhir.ml" +# 14223 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12197 "parser_cocci_menhir.ml" +# 14229 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 12202 "parser_cocci_menhir.ml" +# 14234 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 12208 "parser_cocci_menhir.ml" +# 14240 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 12213 "parser_cocci_menhir.ml" +# 14245 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12218,11 +14250,127 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12222 "parser_cocci_menhir.ml" +# 14254 "parser_cocci_menhir.ml" + + in + +# 1195 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let t = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, + P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in + [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) +# 14266 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp2; + MenhirLib.EngineTypes.startp = _startpos_rp2_; + MenhirLib.EngineTypes.endp = _endpos_rp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p; + MenhirLib.EngineTypes.startp = _startpos_p_; + MenhirLib.EngineTypes.endp = _endpos_p_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp2; + MenhirLib.EngineTypes.startp = _startpos_lp2_; + MenhirLib.EngineTypes.endp = _endpos_lp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = st; + MenhirLib.EngineTypes.startp = _startpos_st_; + MenhirLib.EngineTypes.endp = _endpos_st_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14332 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let rp2 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14337 "parser_cocci_menhir.ml" + ) = Obj.magic rp2 in + let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in + let lp2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14343 "parser_cocci_menhir.ml" + ) = Obj.magic lp2 in + let rp1 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14348 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_d_ident = Obj.magic d in + let st : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 14354 "parser_cocci_menhir.ml" + ) = Obj.magic st in + let lp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14359 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let t : 'tv_ctype = Obj.magic t in + let x0 : 'tv_storage = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_decl_var = let s = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 14370 "parser_cocci_menhir.ml" in -# 961 "parser_cocci_menhir.mly" +# 1195 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12230,7 +14378,2528 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12234 "parser_cocci_menhir.ml" +# 14382 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _5; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let _5 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14423 "parser_cocci_menhir.ml" + ) = Obj.magic _5 in + let _4 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14428 "parser_cocci_menhir.ml" + ) = Obj.magic _4 in + let _3 : 'tv_eexpr_list_option = Obj.magic _3 in + let _2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14434 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_decl_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : 'tv_decl_var = +# 1203 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, + P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) +# 14443 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = q; + MenhirLib.EngineTypes.startp = _startpos_q_; + MenhirLib.EngineTypes.endp = _endpos_q_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp2; + MenhirLib.EngineTypes.startp = _startpos_rp2_; + MenhirLib.EngineTypes.endp = _endpos_rp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p; + MenhirLib.EngineTypes.startp = _startpos_p_; + MenhirLib.EngineTypes.endp = _endpos_p_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp2; + MenhirLib.EngineTypes.startp = _startpos_lp2_; + MenhirLib.EngineTypes.endp = _endpos_lp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = st; + MenhirLib.EngineTypes.startp = _startpos_st_; + MenhirLib.EngineTypes.endp = _endpos_st_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14514 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let e : 'tv_initialize = Obj.magic e in + let q : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14520 "parser_cocci_menhir.ml" + ) = Obj.magic q in + let rp2 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14525 "parser_cocci_menhir.ml" + ) = Obj.magic rp2 in + let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in + let lp2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14531 "parser_cocci_menhir.ml" + ) = Obj.magic lp2 in + let rp1 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14536 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_d_ident = Obj.magic d in + let st : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 14542 "parser_cocci_menhir.ml" + ) = Obj.magic st in + let lp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14547 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_decl_var = let s = + +# 39 "standard.mly" + ( None ) +# 14556 "parser_cocci_menhir.ml" + + in + +# 1209 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let t = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, + P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in + [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) +# 14568 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = q; + MenhirLib.EngineTypes.startp = _startpos_q_; + MenhirLib.EngineTypes.endp = _endpos_q_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp2; + MenhirLib.EngineTypes.startp = _startpos_rp2_; + MenhirLib.EngineTypes.endp = _endpos_rp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = p; + MenhirLib.EngineTypes.startp = _startpos_p_; + MenhirLib.EngineTypes.endp = _endpos_p_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp2; + MenhirLib.EngineTypes.startp = _startpos_lp2_; + MenhirLib.EngineTypes.endp = _endpos_lp2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = st; + MenhirLib.EngineTypes.startp = _startpos_st_; + MenhirLib.EngineTypes.endp = _endpos_st_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14644 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let e : 'tv_initialize = Obj.magic e in + let q : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14650 "parser_cocci_menhir.ml" + ) = Obj.magic q in + let rp2 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14655 "parser_cocci_menhir.ml" + ) = Obj.magic rp2 in + let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in + let lp2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14661 "parser_cocci_menhir.ml" + ) = Obj.magic lp2 in + let rp1 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14666 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_d_ident = Obj.magic d in + let st : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 14672 "parser_cocci_menhir.ml" + ) = Obj.magic st in + let lp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 14677 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let t : 'tv_ctype = Obj.magic t in + let x0 : 'tv_storage = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_decl_var = let s = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 14688 "parser_cocci_menhir.ml" + + in + +# 1209 "parser_cocci_menhir.mly" + ( let (id,fn) = d in + let t = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, + P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in + [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) +# 14700 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = pv; + MenhirLib.EngineTypes.startp = _startpos_pv_; + MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = id; + MenhirLib.EngineTypes.startp = _startpos_id_; + MenhirLib.EngineTypes.endp = _endpos_id_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let pv : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 14736 "parser_cocci_menhir.ml" + ) = Obj.magic pv in + let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in + let t : 'tv_typedef_ctype = Obj.magic t in + let s : ( +# 119 "parser_cocci_menhir.mly" + (Data.clt) +# 14743 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_pv_ in + let _v : 'tv_decl_var = +# 1217 "parser_cocci_menhir.mly" + ( let s = P.clt2mcode "typedef" s in + List.map + (function id -> + Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))) + id ) +# 14754 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_define_param_list_option = +# 952 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d))) + (fun c -> Ast0.DPComma c))) ) +# 14782 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 149 "parser_cocci_menhir.mly" + (Data.clt * token) +# 14803 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_defineop = +# 903 "parser_cocci_menhir.mly" + ( let (clt,ident) = _1 in + let aft = P.get_aft clt in (* move stuff after the define to the ident *) + function body -> + Ast0.wrap + (Ast0.Define + (P.clt2mcode "#define" (P.drop_aft clt), + (match ident with + TMetaId((nm,constraints,pure,clt)) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) + | TIdent((nm,clt)) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | _ -> + raise + (Semantic_cocci.Semantic + "unexpected name for a #define")), + Ast0.wrap Ast0.NoParams, + body)) ) +# 14828 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 14859 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_define_param_list_option = Obj.magic _2 in + let _1 : ( +# 150 "parser_cocci_menhir.mly" + (Data.clt * token * int * int) +# 14865 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_defineop = +# 923 "parser_cocci_menhir.mly" + ( let (clt,ident,parenoff,parencol) = _1 in + let aft = P.get_aft clt in (* move stuff after the define to the ( *) + (* clt is the start of the #define itself *) + let (arity,line,lline,offset,col,strbef,straft,pos) = clt in + let lp = + P.clt2mcode "(" + (arity,line,lline,parenoff,parencol,[],[],[]) in + function body -> + Ast0.wrap + (Ast0.Define + (P.clt2mcode "#define" (P.drop_aft clt), + (match ident with + TMetaId((nm,constraints,pure,clt)) -> + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) + | TIdent((nm,clt)) -> + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | _ -> + raise + (Semantic_cocci.Semantic + "unexpected name for a #define")), + (let clt = P.set_aft aft _3 in + Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) ) +# 14893 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_pnrule = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dep = +# 295 "parser_cocci_menhir.mly" + ( _1 ) +# 14917 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_dep = Obj.magic _3 in + let _1 : 'tv_dep = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_dep = +# 296 "parser_cocci_menhir.mly" + ( Ast.AndDep(_1, _3) ) +# 14951 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_dep = Obj.magic _3 in + let _1 : 'tv_dep = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_dep = +# 297 "parser_cocci_menhir.mly" + ( Ast.OrDep (_1, _3) ) +# 14985 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_depends = +# 291 "parser_cocci_menhir.mly" + ( Ast.NoDep ) +# 15002 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = parents; + MenhirLib.EngineTypes.startp = _startpos_parents_; + MenhirLib.EngineTypes.endp = _endpos_parents_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let parents : 'tv_dep = Obj.magic parents in + let _startpos = _startpos__1_ in + let _endpos = _endpos_parents_ in + let _v : 'tv_depends = +# 292 "parser_cocci_menhir.mly" + ( parents ) +# 15034 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_disj_ident = Obj.magic _2 in + let _1 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 15061 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_designator = +# 1326 "parser_cocci_menhir.mly" + ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) +# 15068 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : ( +# 170 "parser_cocci_menhir.mly" + (Data.clt) +# 15099 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_eexpr = Obj.magic _2 in + let _1 : ( +# 170 "parser_cocci_menhir.mly" + (Data.clt) +# 15105 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_designator = +# 1328 "parser_cocci_menhir.mly" + ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) +# 15112 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _5; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let _5 : ( +# 170 "parser_cocci_menhir.mly" + (Data.clt) +# 15153 "parser_cocci_menhir.ml" + ) = Obj.magic _5 in + let _4 : 'tv_eexpr = Obj.magic _4 in + let _3 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15159 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_eexpr = Obj.magic _2 in + let _1 : ( +# 170 "parser_cocci_menhir.mly" + (Data.clt) +# 15165 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : 'tv_designator = +# 1330 "parser_cocci_menhir.mly" + ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, + _4,P.clt2mcode "]" _5) ) +# 15173 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dexpr = +# 1409 "parser_cocci_menhir.mly" + ( _1 ) +# 15197 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_disable = +# 310 "parser_cocci_menhir.mly" + ( List.map P.id2name _2 ) +# 15225 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_disj_ident = +# 1923 "parser_cocci_menhir.mly" + ( _1 ) +# 15249 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 15280 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 15286 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let _startpos = _startpos_lp_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_disj_ident = +# 1925 "parser_cocci_menhir.mly" + ( let (mids,code) = t in + Ast0.wrap + (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) +# 15295 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15316 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dot_expressions = +# 1418 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) +# 15323 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nest_expressions = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dot_expressions = +# 1419 "parser_cocci_menhir.mly" + ( _1 ) +# 15347 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_dparam = +# 948 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DParam _1) ) +# 15371 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15392 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_edots_when_TEllipsis_eexpr_ = +# 2245 "parser_cocci_menhir.mly" + ( (d,None) ) +# 15399 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w; + MenhirLib.EngineTypes.startp = _startpos_w_; + MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let w : 'tv_eexpr = Obj.magic w in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15438 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__5_ in + let _v : 'tv_edots_when_TEllipsis_eexpr_ = +# 2246 "parser_cocci_menhir.mly" + ( (d,Some w) ) +# 15445 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15466 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = +# 2245 "parser_cocci_menhir.mly" + ( (d,None) ) +# 15473 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w; + MenhirLib.EngineTypes.startp = _startpos_w_; + MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let w : 'tv_enum_decl_one = Obj.magic w in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15512 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__5_ in + let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = +# 2246 "parser_cocci_menhir.mly" + ( (d,Some w) ) +# 15519 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15540 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_edots_when_TEllipsis_initialize_ = +# 2245 "parser_cocci_menhir.mly" + ( (d,None) ) +# 15547 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w; + MenhirLib.EngineTypes.startp = _startpos_w_; + MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let w : 'tv_initialize = Obj.magic w in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15586 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__5_ in + let _v : 'tv_edots_when_TEllipsis_initialize_ = +# 2246 "parser_cocci_menhir.mly" + ( (d,Some w) ) +# 15593 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15614 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = +# 2245 "parser_cocci_menhir.mly" + ( (d,None) ) +# 15621 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w; + MenhirLib.EngineTypes.startp = _startpos_w_; + MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let w : 'tv_struct_decl_one = Obj.magic w in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 15660 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__5_ in + let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = +# 2246 "parser_cocci_menhir.mly" + ( (d,Some w) ) +# 15667 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_eexpr = +# 1407 "parser_cocci_menhir.mly" + ( _1 ) +# 15691 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_eexpr_list_option = +# 2225 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.DOTS + (_1 + (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None))) + (fun c -> Ast0.EComma c))) ) +# 15719 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = +# 1987 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15736 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = +# 1988 "parser_cocci_menhir.mly" + ( _1 ) +# 15760 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_dparam_TEllipsis_ = +# 1987 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15777 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_dparam_TEllipsis_ = +# 1988 "parser_cocci_menhir.mly" + ( _1 ) +# 15801 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1987 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15818 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1988 "parser_cocci_menhir.mly" + ( _1 ) +# 15842 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = +# 1987 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15859 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = +# 1988 "parser_cocci_menhir.mly" + ( _1 ) +# 15883 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1987 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [] ) +# 15900 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1988 "parser_cocci_menhir.mly" + ( _1 ) +# 15924 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_decl_list = +# 804 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) ) +# 15948 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_disj_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_decl_one = +# 775 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(_1)) ) +# 15972 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_enum_val = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 16004 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_disj_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_enum_decl_one = +# 777 "parser_cocci_menhir.mly" + ( let id = Ast0.wrap(Ast0.Ident(_1)) in + Ast0.wrap + (Ast0.Assignment + (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3, + false)) ) +# 16016 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 784 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(_1)) ) +# 16040 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 16061 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 786 "parser_cocci_menhir.mly" + ( let (x,clt) = _1 in + Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) +# 16069 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 16090 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 788 "parser_cocci_menhir.mly" + ( tmeta_to_exp _1 ) +# 16097 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16118 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 790 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) +# 16127 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16148 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 794 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) +# 16157 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 16178 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_enum_val = +# 798 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,ty,clt) = _1 in + Ast0.wrap + (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) +# 16187 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_exists = +# 313 "parser_cocci_menhir.mly" + ( Ast.Exists ) +# 16209 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_exists = +# 314 "parser_cocci_menhir.mly" + ( Ast.Forall ) +# 16231 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_exists = +# 315 "parser_cocci_menhir.mly" + ( Ast.Undetermined ) +# 16248 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_expr = +# 1405 "parser_cocci_menhir.mly" + ( _1 ) +# 16272 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in + let _startpos = _startpos_r_ in + let _endpos = _endpos_r_ in + let _v : 'tv_expr_dots_TEllipsis_ = +# 1642 "parser_cocci_menhir.mly" + ( r ) +# 16296 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let m : 'tv_nonempty_list_TMul_ = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 569 "parser_cocci_menhir.mly" + ( P.ty_pointerify Type_cocci.Unknown m ) +# 16320 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 571 "parser_cocci_menhir.mly" + ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m ) +# 16348 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 573 "parser_cocci_menhir.mly" + ( P.ty_pointerify + (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m ) +# 16377 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_expression_type = +# 576 "parser_cocci_menhir.mly" + ( P.ty_pointerify + (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m ) +# 16406 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_extends = +# 286 "parser_cocci_menhir.mly" + ( () ) +# 16423 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = parent; + MenhirLib.EngineTypes.startp = _startpos_parent_; + MenhirLib.EngineTypes.endp = _endpos_parent_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let parent : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 16448 "parser_cocci_menhir.ml" + ) = Obj.magic parent in + let _startpos = _startpos__1_ in + let _endpos = _endpos_parent_ in + let _v : 'tv_extends = +# 288 "parser_cocci_menhir.mly" + ( !Data.install_bindings (parent) ) +# 16455 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 151 "parser_cocci_menhir.mly" + (string * Data.clt) +# 16481 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : ( +# 151 "parser_cocci_menhir.mly" + (string * Data.clt) +# 16486 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_filespec = +# 841 "parser_cocci_menhir.mly" + ( [Ast0.wrap + (Ast0.FILEINFO(P.id2mcode _1, + P.id2mcode _2))] ) +# 16495 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_disj_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1900 "parser_cocci_menhir.mly" + ( _1 ) +# 16519 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 16540 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1902 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 16548 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 16569 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fn_ident = +# 1905 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap + (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 16578 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_fninfo = +# 984 "parser_cocci_menhir.mly" + ( [] ) +# 16595 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo = Obj.magic _2 in + let _1 : 'tv_storage = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo = +# 986 "parser_cocci_menhir.mly" + ( try + let _ = + List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "duplicate storage") + with Not_found -> (Ast0.FStorage(_1))::_2 ) +# 16629 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let r : 'tv_fninfo_nt = Obj.magic r in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_r_ in + let _v : 'tv_fninfo = +# 991 "parser_cocci_menhir.mly" + ( (Ast0.FType(t))::r ) +# 16659 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo = Obj.magic _2 in + let _1 : ( +# 119 "parser_cocci_menhir.mly" + (Data.clt) +# 16686 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo = +# 993 "parser_cocci_menhir.mly" + ( try + let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "duplicate inline") + with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) +# 16696 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo = Obj.magic _2 in + let _1 : ( +# 121 "parser_cocci_menhir.mly" + (string * Data.clt) +# 16723 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo = +# 998 "parser_cocci_menhir.mly" + ( try + let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "multiple attributes") + with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) +# 16733 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_fninfo_nt = +# 1004 "parser_cocci_menhir.mly" + ( [] ) +# 16750 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo_nt = Obj.magic _2 in + let _1 : 'tv_storage = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo_nt = +# 1006 "parser_cocci_menhir.mly" + ( try + let _ = + List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "duplicate storage") + with Not_found -> (Ast0.FStorage(_1))::_2 ) +# 16784 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo_nt = Obj.magic _2 in + let _1 : ( +# 119 "parser_cocci_menhir.mly" + (Data.clt) +# 16811 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo_nt = +# 1012 "parser_cocci_menhir.mly" + ( try + let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "duplicate inline") + with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) +# 16821 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fninfo_nt = Obj.magic _2 in + let _1 : ( +# 121 "parser_cocci_menhir.mly" + (string * Data.clt) +# 16848 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fninfo_nt = +# 1017 "parser_cocci_menhir.mly" + ( try + let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in + raise (Semantic_cocci.Semantic "duplicate init") + with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) +# 16858 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_fun_after_dots = +# 2158 "parser_cocci_menhir.mly" + ([]) +# 16875 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_fun_after_exp = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots = +# 2159 "parser_cocci_menhir.mly" + (_2) +# 16903 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12242,111 +16911,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp2; - MenhirLib.EngineTypes.startp = _startpos_rp2_; - MenhirLib.EngineTypes.endp = _endpos_rp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p; - MenhirLib.EngineTypes.startp = _startpos_p_; - MenhirLib.EngineTypes.endp = _endpos_p_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp2; - MenhirLib.EngineTypes.startp = _startpos_lp2_; - MenhirLib.EngineTypes.endp = _endpos_lp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = st; - MenhirLib.EngineTypes.startp = _startpos_st_; - MenhirLib.EngineTypes.endp = _endpos_st_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let pv : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12300 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let rp2 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12305 "parser_cocci_menhir.ml" - ) = Obj.magic rp2 in - let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in - let lp2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12311 "parser_cocci_menhir.ml" - ) = Obj.magic lp2 in - let rp1 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12316 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_d_ident = Obj.magic d in - let st : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 12322 "parser_cocci_menhir.ml" - ) = Obj.magic st in - let lp1 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12327 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let t : 'tv_ctype = Obj.magic t in - let x0 : 'tv_storage = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_decl_var = let s = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 12338 "parser_cocci_menhir.ml" - - in - -# 961 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let t = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, - P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in - [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12350 "parser_cocci_menhir.ml" + let _2 : 'tv_fun_after_exp = Obj.magic _2 in + let _1 : 'tv_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots = +# 2160 "parser_cocci_menhir.mly" + (Ast0.wrap(Ast0.Exp(_1))::_2) +# 16933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12358,56 +16941,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _5; - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _5 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12391 "parser_cocci_menhir.ml" - ) = Obj.magic _5 in - let _4 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12396 "parser_cocci_menhir.ml" - ) = Obj.magic _4 in - let _3 : 'tv_eexpr_list_option = Obj.magic _3 in - let _2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12402 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_decl_ident = Obj.magic _1 in + let _2 : 'tv_fun_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement_expr = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in - let _v : 'tv_decl_var = -# 969 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, - P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 12411 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots = +# 2161 "parser_cocci_menhir.mly" + (_1@_2) +# 16963 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_fun_after_dots_or = +# 2168 "parser_cocci_menhir.mly" + ([]) +# 16980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12419,120 +16988,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = q; - MenhirLib.EngineTypes.startp = _startpos_q_; - MenhirLib.EngineTypes.endp = _endpos_q_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp2; - MenhirLib.EngineTypes.startp = _startpos_rp2_; - MenhirLib.EngineTypes.endp = _endpos_rp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p; - MenhirLib.EngineTypes.startp = _startpos_p_; - MenhirLib.EngineTypes.endp = _endpos_p_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp2; - MenhirLib.EngineTypes.startp = _startpos_lp2_; - MenhirLib.EngineTypes.endp = _endpos_lp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = st; - MenhirLib.EngineTypes.startp = _startpos_st_; - MenhirLib.EngineTypes.endp = _endpos_st_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let pv : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12482 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let e : 'tv_initialize = Obj.magic e in - let q : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12488 "parser_cocci_menhir.ml" - ) = Obj.magic q in - let rp2 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12493 "parser_cocci_menhir.ml" - ) = Obj.magic rp2 in - let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in - let lp2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12499 "parser_cocci_menhir.ml" - ) = Obj.magic lp2 in - let rp1 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12504 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_d_ident = Obj.magic d in - let st : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 12510 "parser_cocci_menhir.ml" - ) = Obj.magic st in - let lp1 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12515 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_decl_var = let s = - -# 39 "standard.mly" - ( None ) -# 12524 "parser_cocci_menhir.ml" - - in - -# 975 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let t = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, - P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in - [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12536 "parser_cocci_menhir.ml" + let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots_or = +# 2169 "parser_cocci_menhir.mly" + (_2) +# 17008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12544,127 +17016,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = q; - MenhirLib.EngineTypes.startp = _startpos_q_; - MenhirLib.EngineTypes.endp = _endpos_q_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp2; - MenhirLib.EngineTypes.startp = _startpos_rp2_; - MenhirLib.EngineTypes.endp = _endpos_rp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = p; - MenhirLib.EngineTypes.startp = _startpos_p_; - MenhirLib.EngineTypes.endp = _endpos_p_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp2; - MenhirLib.EngineTypes.startp = _startpos_lp2_; - MenhirLib.EngineTypes.endp = _endpos_lp2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = st; - MenhirLib.EngineTypes.startp = _startpos_st_; - MenhirLib.EngineTypes.endp = _endpos_st_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let pv : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12612 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let e : 'tv_initialize = Obj.magic e in - let q : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12618 "parser_cocci_menhir.ml" - ) = Obj.magic q in - let rp2 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12623 "parser_cocci_menhir.ml" - ) = Obj.magic rp2 in - let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in - let lp2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12629 "parser_cocci_menhir.ml" - ) = Obj.magic lp2 in - let rp1 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12634 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_d_ident = Obj.magic d in - let st : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 12640 "parser_cocci_menhir.ml" - ) = Obj.magic st in - let lp1 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 12645 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let t : 'tv_ctype = Obj.magic t in - let x0 : 'tv_storage = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_decl_var = let s = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 12656 "parser_cocci_menhir.ml" - - in - -# 975 "parser_cocci_menhir.mly" - ( let (id,fn) = d in - let t = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, - P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in - [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12668 "parser_cocci_menhir.ml" + let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in + let _1 : 'tv_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots_or = +# 2170 "parser_cocci_menhir.mly" + (Ast0.wrap(Ast0.Exp(_1))::_2) +# 17038 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12676,49 +17046,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pv; - MenhirLib.EngineTypes.startp = _startpos_pv_; - MenhirLib.EngineTypes.endp = _endpos_pv_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let pv : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12704 "parser_cocci_menhir.ml" - ) = Obj.magic pv in - let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in - let t : 'tv_typedef_ctype = Obj.magic t in - let s : ( -# 53 "parser_cocci_menhir.mly" - (Data.clt) -# 12711 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let _startpos = _startpos_s_ in - let _endpos = _endpos_pv_ in - let _v : 'tv_decl_var = -# 983 "parser_cocci_menhir.mly" - ( let s = P.clt2mcode "typedef" s in - List.map - (function id -> - Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))) - id ) -# 12722 "parser_cocci_menhir.ml" + let _2 : 'tv_fun_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_dots_or = +# 2171 "parser_cocci_menhir.mly" + (_1@_2) +# 17068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12730,23 +17076,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_define_param_list_start = Obj.magic _1 in + let _2 : 'tv_fun_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list = -# 705 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 12750 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_exp = +# 2164 "parser_cocci_menhir.mly" + (_1::_2) +# 17098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12757,20 +17105,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_fun_after_exp_or = +# 2174 "parser_cocci_menhir.mly" + ([]) +# 17115 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_define_param_list = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list_option = -# 729 "parser_cocci_menhir.mly" - ( _1 ) -# 12774 "parser_cocci_menhir.ml" + let _2 : 'tv_fun_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_exp_or = +# 2175 "parser_cocci_menhir.mly" + (_1::_2) +# 17145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12784,10 +17155,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_define_param_list_option = -# 730 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 12791 "parser_cocci_menhir.ml" + let _v : 'tv_fun_after_stm = +# 2153 "parser_cocci_menhir.mly" + ([]) +# 17162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12799,19 +17170,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_ident = Obj.magic _1 in + let _2 : 'tv_fun_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_define_param_list_start = -# 712 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.DParam _1)] ) -# 12815 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_stm = +# 2154 "parser_cocci_menhir.mly" + (_1::_2) +# 17192 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12823,36 +17200,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : 'tv_define_param_list_start = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 12847 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in + let _2 : 'tv_fun_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_define_param_list_start = -# 714 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DParam _1):: - Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 ) -# 12856 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_fun_after_stm = +# 2155 "parser_cocci_menhir.mly" + (_1@_2) +# 17222 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12864,30 +17230,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 12883 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_define_param_list_start = -# 717 "parser_cocci_menhir.mly" - ( (P.mkdpdots "..." d):: - (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) ) -# 12891 "parser_cocci_menhir.ml" + let _1 : 'tv_fun_after_stm = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_fun_start = +# 2150 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1)) ) +# 17246 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12905,32 +17260,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : ( -# 81 "parser_cocci_menhir.mly" - (Data.clt * token) -# 12912 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_defineop = -# 664 "parser_cocci_menhir.mly" - ( let (clt,ident) = _1 in - function body -> - Ast0.wrap - (Ast0.Define - (P.clt2mcode "#define" clt, - (match ident with - TMetaId((nm,constraints,pure,clt)) -> - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) - | TIdent(nm_pure) -> - Ast0.wrap(Ast0.Id(P.id2mcode nm_pure)) - | _ -> - raise - (Semantic_cocci.Semantic - "unexpected name for a #define")), - Ast0.wrap Ast0.NoParams, - body)) ) -# 12934 "parser_cocci_menhir.ml" + let _v : 'tv_func_ident = +# 1891 "parser_cocci_menhir.mly" + ( _1 ) +# 17270 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12942,58 +17278,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _3 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 12965 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 82 "parser_cocci_menhir.mly" - (Data.clt * token * int * int) -# 12971 "parser_cocci_menhir.ml" +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 17291 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_defineop = -# 681 "parser_cocci_menhir.mly" - ( let (clt,ident,parenoff,parencol) = _1 in - (* clt is the start of the #define itself *) - let (arity,line,lline,offset,col,strbef,straft,pos) = clt in - let lp = - P.clt2mcode "(" - (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in - function body -> - Ast0.wrap - (Ast0.Define - (P.clt2mcode "#define" clt, - (match ident with - TMetaId((nm,constraints,pure,clt)) -> - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) - | TIdent(nm_pure) -> - Ast0.wrap(Ast0.Id(P.id2mcode nm_pure)) - | _ -> - raise - (Semantic_cocci.Semantic - "unexpected name for a #define")), - Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 12997 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_func_ident = +# 1893 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 17299 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13011,13 +17313,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pnrule = Obj.magic _1 in + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 17320 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_dep = -# 225 "parser_cocci_menhir.mly" - ( _1 ) -# 13021 "parser_cocci_menhir.ml" + let _v : 'tv_func_ident = +# 1896 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap + (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) +# 17329 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13029,29 +17337,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = rb; + MenhirLib.EngineTypes.startp = _startpos_rb_; + MenhirLib.EngineTypes.endp = _endpos_rb_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = lb; + MenhirLib.EngineTypes.startp = _startpos_lb_; + MenhirLib.EngineTypes.endp = _endpos_lb_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = f; + MenhirLib.EngineTypes.startp = _startpos_f_; + MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; }; }; } = _menhir_stack in - let _3 : 'tv_dep = Obj.magic _3 in - let _1 : 'tv_dep = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_dep = -# 226 "parser_cocci_menhir.mly" - ( Ast.AndDep(_1, _3) ) -# 13055 "parser_cocci_menhir.ml" + let rb : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 17389 "parser_cocci_menhir.ml" + ) = Obj.magic rb in + let b : 'tv_fun_start = Obj.magic b in + let lb : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 17395 "parser_cocci_menhir.ml" + ) = Obj.magic lb in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 17400 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let d : 'tv_decl_list_decl_ = Obj.magic d in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 17406 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let i : 'tv_fn_ident = Obj.magic i in + let f : 'tv_fninfo = Obj.magic f in + let _startpos = _startpos_f_ in + let _endpos = _endpos_rb_ in + let _v : 'tv_fundecl = +# 975 "parser_cocci_menhir.mly" + ( P.verify_parameter_declarations (Ast0.undots d); + Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), + f, i, + P.clt2mcode "(" lp, d, + P.clt2mcode ")" rp, + P.clt2mcode "{" lb, b, + P.clt2mcode "}" rb)) ) +# 17421 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13063,46 +17429,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = pt; + MenhirLib.EngineTypes.startp = _startpos_pt_; + MenhirLib.EngineTypes.endp = _endpos_pt_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = id; + MenhirLib.EngineTypes.startp = _startpos_id_; + MenhirLib.EngineTypes.endp = _endpos_id_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; }; } = _menhir_stack in - let _3 : 'tv_dep = Obj.magic _3 in - let _1 : 'tv_dep = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_dep = -# 227 "parser_cocci_menhir.mly" - ( Ast.OrDep (_1, _3) ) -# 13089 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_depends = -# 221 "parser_cocci_menhir.mly" - ( Ast.NoDep ) -# 13106 "parser_cocci_menhir.ml" + let pt : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 17467 "parser_cocci_menhir.ml" + ) = Obj.magic pt in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 17472 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 17478 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let id : 'tv_fn_ident = Obj.magic id in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_pt_ in + let _v : 'tv_funproto = let s = + +# 39 "standard.mly" + ( None ) +# 17488 "parser_cocci_menhir.ml" + + in + +# 963 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.UnInit + (s, + Ast0.wrap + (Ast0.FunctionType(Some t, + P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), + id, P.clt2mcode ";" pt)) ) +# 17500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13114,27 +17508,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = parents; - MenhirLib.EngineTypes.startp = _startpos_parents_; - MenhirLib.EngineTypes.endp = _endpos_parents_; + MenhirLib.EngineTypes.semv = pt; + MenhirLib.EngineTypes.startp = _startpos_pt_; + MenhirLib.EngineTypes.endp = _endpos_pt_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = id; + MenhirLib.EngineTypes.startp = _startpos_id_; + MenhirLib.EngineTypes.endp = _endpos_id_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; }; } = _menhir_stack in - let parents : 'tv_dep = Obj.magic parents in - let _startpos = _startpos__1_ in - let _endpos = _endpos_parents_ in - let _v : 'tv_depends = -# 222 "parser_cocci_menhir.mly" - ( parents ) -# 13138 "parser_cocci_menhir.ml" + let pt : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 17551 "parser_cocci_menhir.ml" + ) = Obj.magic pt in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 17556 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 17562 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let id : 'tv_fn_ident = Obj.magic id in + let t : 'tv_ctype = Obj.magic t in + let x0 : 'tv_storage = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_pt_ in + let _v : 'tv_funproto = let s = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 17574 "parser_cocci_menhir.ml" + + in + +# 963 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.UnInit + (s, + Ast0.wrap + (Ast0.FunctionType(Some t, + P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), + id, P.clt2mcode ";" pt)) ) +# 17586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13146,29 +17594,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_ident = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 13165 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_pure_ident = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_designator = -# 1084 "parser_cocci_menhir.mly" - ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 13172 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_ident = +# 1910 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 17610 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13180,39 +17618,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _3 : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 13203 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 13209 "parser_cocci_menhir.ml" +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 17631 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_designator = -# 1086 "parser_cocci_menhir.mly" - ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 13216 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_ident = +# 1912 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 17639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13224,56 +17647,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _5; - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let i : 'tv_pure_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_i_ in + let _v : 'tv_ident_or_const = +# 1865 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) +# 17663 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _5 : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 13257 "parser_cocci_menhir.ml" - ) = Obj.magic _5 in - let _4 : 'tv_eexpr = Obj.magic _4 in - let _3 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13263 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 13269 "parser_cocci_menhir.ml" +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 17684 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in - let _v : 'tv_designator = -# 1088 "parser_cocci_menhir.mly" - ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, - _4,P.clt2mcode "]" _5) ) -# 13277 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_ident_or_const = +# 1867 "parser_cocci_menhir.mly" + ( let (x,clt) = _1 in + Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) +# 17692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13291,13 +17706,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in + let _1 : ( +# 148 "parser_cocci_menhir.mly" + (string * Data.clt) +# 17713 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_dexpr = -# 1187 "parser_cocci_menhir.mly" - ( _1 ) -# 13301 "parser_cocci_menhir.ml" + let _v : 'tv_incl = +# 326 "parser_cocci_menhir.mly" + ( let (x,_) = _1 in Data.Include(x) ) +# 17720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13319,13 +17738,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in + let _2 : ( +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 17745 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_disable = -# 240 "parser_cocci_menhir.mly" - ( List.map P.id2name _2 ) -# 13329 "parser_cocci_menhir.ml" + let _v : 'tv_incl = +# 327 "parser_cocci_menhir.mly" + ( Data.Iso(Common.Left(P.id2name _2)) ) +# 17752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13337,23 +17760,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13350 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _2 : ( +# 147 "parser_cocci_menhir.mly" + (string) +# 17777 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_dot_expressions = -# 1196 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 13357 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_incl = +# 328 "parser_cocci_menhir.mly" + ( Data.Iso(Common.Right _2) ) +# 17784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13365,19 +17792,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_nest_expressions = Obj.magic _1 in + let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_dot_expressions = -# 1197 "parser_cocci_menhir.mly" - ( _1 ) -# 13381 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_incl = +# 330 "parser_cocci_menhir.mly" + ( let names = List.map P.id2name _2 in + Iteration.parsed_virtual_rules := + Common.union_set names !Iteration.parsed_virtual_rules; + (* ensure that the names of virtual and real rules don't overlap *) + List.iter + (function name -> Hashtbl.add Data.all_metadecls name []) + names; + Data.Virt(names) ) +# 17819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13389,34 +17827,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13407 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let c : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 13412 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let _startpos = _startpos_c_ in - let _endpos = _endpos_d_ in - let _v : 'tv_dp_comma_args_TEllipsis_ = -# 722 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] ) -# 13420 "parser_cocci_menhir.ml" + let _1 : 'tv_list_incl_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 216 "parser_cocci_menhir.mly" + (Data.incl_iso list) +# 17847 "parser_cocci_menhir.ml" + ) = +# 322 "parser_cocci_menhir.mly" + ( _1 ) +# 17851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13428,7 +17859,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { @@ -13439,20 +17869,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_ident = Obj.magic _2 in - let _1 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 13447 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_list_incl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_dp_comma_args_TEllipsis_ = -# 725 "parser_cocci_menhir.mly" - ( function dot_builder -> - [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1)); - Ast0.wrap(Ast0.DParam _2)] ) -# 13456 "parser_cocci_menhir.ml" + let _v : ( +# 216 "parser_cocci_menhir.mly" + (Data.incl_iso list) +# 17879 "parser_cocci_menhir.ml" + ) = +# 323 "parser_cocci_menhir.mly" + ( _1 ) +# 17883 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13465,22 +17892,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13477 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_d_ in - let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1825 "parser_cocci_menhir.mly" - ( (d,None) ) -# 13484 "parser_cocci_menhir.ml" + let _1 : ( +# 148 "parser_cocci_menhir.mly" + (string * Data.clt) +# 17904 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_includes = +# 847 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Include(P.clt2mcode "#include" + (P.drop_pos (P.drop_aft (P.id2clt _1))), + let (arity,ln,lln,offset,col,strbef,straft,pos) = + P.id2clt _1 in + let clt = + (arity,ln,lln,offset,0,strbef,straft,pos) in + P.clt2mcode + (Ast.Local (Parse_aux.str2inc (P.id2name _1))) + (P.drop_bef clt))) ) +# 17920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13492,41 +17928,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w; - MenhirLib.EngineTypes.startp = _startpos_w_; - MenhirLib.EngineTypes.endp = _endpos_w_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let w : 'tv_eexpr = Obj.magic w in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13523 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos__5_ in - let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1826 "parser_cocci_menhir.mly" - ( (d,Some w) ) -# 13530 "parser_cocci_menhir.ml" + let _1 : ( +# 148 "parser_cocci_menhir.mly" + (string * Data.clt) +# 17941 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_includes = +# 858 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.Include(P.clt2mcode "#include" + (P.drop_pos (P.drop_aft (P.id2clt _1))), + let (arity,ln,lln,offset,col,strbef,straft,pos) = + P.id2clt _1 in + let clt = + (arity,ln,lln,offset,0,strbef,straft,pos) in + P.clt2mcode + (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) + (P.drop_bef clt))) ) +# 17957 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13538,23 +17965,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13551 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_d_ in - let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1825 "parser_cocci_menhir.mly" - ( (d,None) ) -# 13558 "parser_cocci_menhir.ml" + let _1 : ( +# 149 "parser_cocci_menhir.mly" + (Data.clt * token) +# 17982 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_includes = +# 869 "parser_cocci_menhir.mly" + ( let (clt,ident) = _1 in + let aft = P.get_aft clt in (* move stuff after the define to the ident *) + Ast0.wrap + (Ast0.Undef + (P.clt2mcode "#undef" (P.drop_aft clt), + (match ident with + TMetaId((nm,constraints,pure,clt)) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) + | TIdent((nm,clt)) -> + let clt = P.set_aft aft clt in + Ast0.wrap(Ast0.Id(P.clt2mcode nm clt)) + | _ -> + raise + (Semantic_cocci.Semantic + "unexpected name for a #define")))) ) +# 18004 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13566,41 +18012,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w; - MenhirLib.EngineTypes.startp = _startpos_w_; - MenhirLib.EngineTypes.endp = _endpos_w_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let w : 'tv_initialize = Obj.magic w in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13597 "parser_cocci_menhir.ml" - ) = Obj.magic d in + let d : 'tv_defineop = Obj.magic d in let _startpos = _startpos_d_ in - let _endpos = _endpos__5_ in - let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1826 "parser_cocci_menhir.mly" - ( (d,Some w) ) -# 13604 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_includes = +# 886 "parser_cocci_menhir.mly" + ( d (Ast0.wrap(Ast0.DOTS([]))) ) +# 18032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13612,23 +18040,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13625 "parser_cocci_menhir.ml" - ) = Obj.magic d in + let t : 'tv_ctype = Obj.magic t in + let d : 'tv_defineop = Obj.magic d in let _startpos = _startpos_d_ in - let _endpos = _endpos_d_ in - let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1825 "parser_cocci_menhir.mly" - ( (d,None) ) -# 13632 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_includes = +# 888 "parser_cocci_menhir.mly" + ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in + d (Ast0.wrap(Ast0.DOTS([ty]))) ) +# 18067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13640,41 +18075,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w; - MenhirLib.EngineTypes.startp = _startpos_w_; - MenhirLib.EngineTypes.endp = _endpos_w_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let w : 'tv_struct_decl = Obj.magic w in - let d : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 13671 "parser_cocci_menhir.ml" - ) = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos__5_ in - let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1826 "parser_cocci_menhir.mly" - ( (d,Some w) ) -# 13678 "parser_cocci_menhir.ml" + let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in + let _1 : 'tv_defineop = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_includes = +# 891 "parser_cocci_menhir.mly" + ( let body = + match b with + [e] -> + (match Ast0.unwrap e with + Ast0.Exp(e1) -> + [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))] + | _ -> b) + | _ -> b in + _1 (Ast0.wrap(Ast0.DOTS(body))) ) +# 18109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13692,13 +18123,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _1 : 'tv_eexpr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr = -# 1185 "parser_cocci_menhir.mly" - ( _1 ) -# 13702 "parser_cocci_menhir.ml" + let _v : 'tv_initialize = +# 1283 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.InitExpr(_1)) ) +# 18133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13710,28 +18141,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_eexpr_list_start = Obj.magic _1 in + let _3 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 18164 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_initialize_list = Obj.magic _2 in + let _1 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 18170 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list = -# 1769 "parser_cocci_menhir.mly" - (let circle x = - match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in - let star x = - match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in - if List.exists circle _1 - then Ast0.wrap(Ast0.CIRCLES(_1)) - else - if List.exists star _1 - then Ast0.wrap(Ast0.STARS(_1)) - else Ast0.wrap(Ast0.DOTS(_1)) ) -# 13735 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_initialize = +# 1285 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 18182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13749,30 +18196,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_eexpr_list = Obj.magic _1 in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 18203 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list_option = -# 1808 "parser_cocci_menhir.mly" - ( _1 ) -# 13759 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_eexpr_list_option = -# 1809 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS([])) ) -# 13776 "parser_cocci_menhir.ml" + let _v : 'tv_initialize = +# 1292 "parser_cocci_menhir.mly" + (let (nm,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) +# 18211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13790,13 +18225,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_aexpr = Obj.magic _1 in + let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_eexpr_list_start = -# 1796 "parser_cocci_menhir.mly" - ( [_1] ) -# 13800 "parser_cocci_menhir.ml" + let _v : 'tv_initialize2 = +# 1298 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.InitExpr(_1)) ) +# 18235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13824,19 +18259,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_eexpr_list_start = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" + let _3 : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 13832 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_aexpr = Obj.magic _1 in +# 18266 "parser_cocci_menhir.ml" + ) = Obj.magic _3 in + let _2 : 'tv_initialize_list = Obj.magic _2 in + let _1 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 18272 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in - let _v : 'tv_eexpr_list_start = -# 1798 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 ) -# 13840 "parser_cocci_menhir.ml" + let _v : 'tv_initialize2 = +# 1300 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 18284 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13848,17 +18292,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_initialize2 = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 18316 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_list_designator_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_exists = -# 243 "parser_cocci_menhir.mly" - ( Ast.Exists ) -# 13862 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_initialize2 = +# 1308 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) +# 18324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13870,34 +18332,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_exists = -# 244 "parser_cocci_menhir.mly" - ( Ast.Forall ) -# 13884 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_exists = -# 245 "parser_cocci_menhir.mly" - ( Ast.Undetermined ) -# 13901 "parser_cocci_menhir.ml" + let _3 : 'tv_initialize2 = Obj.magic _3 in + let _2 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 18356 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_mident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_initialize2 = +# 1310 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) +# 18364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13915,13 +18378,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 18385 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_expr = -# 1183 "parser_cocci_menhir.mly" - ( _1 ) -# 13925 "parser_cocci_menhir.ml" + let _v : 'tv_initialize2 = +# 1312 "parser_cocci_menhir.mly" + (let (nm,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) +# 18393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13934,18 +18402,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in - let _startpos = _startpos_r_ in - let _endpos = _endpos_r_ in - let _v : 'tv_expr_dots_TEllipsis_ = -# 1365 "parser_cocci_menhir.mly" - ( r ) -# 13949 "parser_cocci_menhir.ml" + let _1 : ( +# 133 "parser_cocci_menhir.mly" + (Parse_aux.list_info) +# 18414 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_initialize2 = +# 1315 "parser_cocci_menhir.mly" + (let (nm,lenname,pure,clt) = _1 in + let nm = P.clt2mcode nm clt in + let lenname = + match lenname with + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in + Ast0.wrap(Ast0.MetaInitList(nm,lenname,pure)) ) +# 18428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13956,45 +18435,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_extends = -# 216 "parser_cocci_menhir.mly" - ( () ) -# 13966 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { + let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = parent; - MenhirLib.EngineTypes.startp = _startpos_parent_; - MenhirLib.EngineTypes.endp = _endpos_parent_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; } = _menhir_stack in - let parent : ( -# 47 "parser_cocci_menhir.mly" - (string) -# 13991 "parser_cocci_menhir.ml" - ) = Obj.magic parent in + let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos_parent_ in - let _v : 'tv_extends = -# 218 "parser_cocci_menhir.mly" - ( !Data.install_bindings (parent) ) -# 13998 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_initialize_list = +# 1335 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) ) +# 18452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14006,35 +18460,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : ( -# 83 "parser_cocci_menhir.mly" - (string * Data.clt) -# 14024 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 83 "parser_cocci_menhir.mly" - (string * Data.clt) -# 14029 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_filespec = -# 623 "parser_cocci_menhir.mly" - ( [Ast0.wrap - (Ast0.FILEINFO(P.id2mcode _1, - P.id2mcode _2))] ) -# 14038 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_invalid = +# 1415 "parser_cocci_menhir.mly" + ( raise (Semantic_cocci.Semantic "not matchable") ) +# 18474 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14048,10 +18484,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_fninfo = -# 758 "parser_cocci_menhir.mly" - ( [] ) -# 14055 "parser_cocci_menhir.ml" + let _v : 'tv_is_expression = +# 318 "parser_cocci_menhir.mly" + ( false ) +# 18491 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14063,29 +18499,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_fninfo = Obj.magic _2 in - let _1 : 'tv_storage = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo = -# 760 "parser_cocci_menhir.mly" - ( try - let _ = - List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "duplicate storage") - with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14089 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_is_expression = +# 319 "parser_cocci_menhir.mly" + ( true ) +# 18513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14097,25 +18521,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let r : 'tv_fninfo_nt = Obj.magic r in let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_r_ in - let _v : 'tv_fninfo = -# 765 "parser_cocci_menhir.mly" - ( (Ast0.FType(t))::r ) -# 14119 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos_t_ in + let _v : 'tv_iso_ctype_ = +# 2301 "parser_cocci_menhir.mly" + ( Common.Left t ) +# 18541 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14127,32 +18549,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fninfo = Obj.magic _2 in - let _1 : ( -# 53 "parser_cocci_menhir.mly" - (Data.clt) -# 14146 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo = -# 767 "parser_cocci_menhir.mly" - ( try - let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "duplicate inline") - with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14156 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_ctype_ = +# 2302 "parser_cocci_menhir.mly" + ( Common.Right t ) +# 18569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14164,49 +18577,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fninfo = Obj.magic _2 in - let _1 : ( -# 55 "parser_cocci_menhir.mly" - (string * Data.clt) -# 14183 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let t : 'tv_decl_var = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo = -# 772 "parser_cocci_menhir.mly" - ( try - let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "multiple attributes") - with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14193 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_fninfo_nt = -# 778 "parser_cocci_menhir.mly" - ( [] ) -# 14210 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_decl_var_ = +# 2301 "parser_cocci_menhir.mly" + ( Common.Left t ) +# 18597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14218,29 +18605,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fninfo_nt = Obj.magic _2 in - let _1 : 'tv_storage = Obj.magic _1 in + let t : 'tv_decl_var = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo_nt = -# 780 "parser_cocci_menhir.mly" - ( try - let _ = - List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "duplicate storage") - with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14244 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_decl_var_ = +# 2302 "parser_cocci_menhir.mly" + ( Common.Right t ) +# 18625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14252,32 +18633,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fninfo_nt = Obj.magic _2 in - let _1 : ( -# 53 "parser_cocci_menhir.mly" - (Data.clt) -# 14271 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let t : 'tv_eexpr = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo_nt = -# 786 "parser_cocci_menhir.mly" - ( try - let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "duplicate inline") - with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14281 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_eexpr_ = +# 2301 "parser_cocci_menhir.mly" + ( Common.Left t ) +# 18653 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14289,49 +18661,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fninfo_nt = Obj.magic _2 in - let _1 : ( -# 55 "parser_cocci_menhir.mly" - (string * Data.clt) -# 14308 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let t : 'tv_eexpr = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fninfo_nt = -# 791 "parser_cocci_menhir.mly" - ( try - let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in - raise (Semantic_cocci.Semantic "duplicate init") - with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14318 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_fun_after_dots = -# 1717 "parser_cocci_menhir.mly" - ([]) -# 14335 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_eexpr_ = +# 2302 "parser_cocci_menhir.mly" + ( Common.Right t ) +# 18681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14343,9 +18689,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.startp = _startpos__1_; @@ -14353,13 +18699,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fun_after_exp = Obj.magic _2 in + let t : 'tv_nest_start = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots = -# 1718 "parser_cocci_menhir.mly" - (_2) -# 14363 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_nest_start_ = +# 2301 "parser_cocci_menhir.mly" + ( Common.Left t ) +# 18709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14371,25 +18717,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fun_after_exp = Obj.magic _2 in - let _1 : 'tv_expr = Obj.magic _1 in + let t : 'tv_nest_start = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots = -# 1719 "parser_cocci_menhir.mly" - (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14393 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_nest_start_ = +# 2302 "parser_cocci_menhir.mly" + ( Common.Right t ) +# 18737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14401,42 +18745,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fun_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let t : 'tv_single_statement = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots = -# 1720 "parser_cocci_menhir.mly" - (_1@_2) -# 14423 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_fun_after_dots_or = -# 1727 "parser_cocci_menhir.mly" - ([]) -# 14440 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_single_statement_ = +# 2301 "parser_cocci_menhir.mly" + ( Common.Left t ) +# 18765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14448,9 +18773,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.startp = _startpos__1_; @@ -14458,13 +18783,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in + let t : 'tv_single_statement = Obj.magic t in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots_or = -# 1728 "parser_cocci_menhir.mly" - (_2) -# 14468 "parser_cocci_menhir.ml" + let _endpos = _endpos_t_ in + let _v : 'tv_iso_single_statement_ = +# 2302 "parser_cocci_menhir.mly" + ( Common.Right t ) +# 18793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14476,25 +18801,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = el; + MenhirLib.EngineTypes.startp = _startpos_el_; + MenhirLib.EngineTypes.endp = _endpos_el_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e1; + MenhirLib.EngineTypes.startp = _startpos_e1_; + MenhirLib.EngineTypes.endp = _endpos_e1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in - let _1 : 'tv_expr = Obj.magic _1 in + let el : 'tv_list_iso_eexpr__ = Obj.magic el in + let e1 : 'tv_eexpr = Obj.magic e1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots_or = -# 1729 "parser_cocci_menhir.mly" - (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14498 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 18831 "parser_cocci_menhir.ml" + ) = +# 2269 "parser_cocci_menhir.mly" + ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) +# 18835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14506,25 +18843,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = el; + MenhirLib.EngineTypes.startp = _startpos_el_; + MenhirLib.EngineTypes.endp = _endpos_el_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e1; + MenhirLib.EngineTypes.startp = _startpos_e1_; + MenhirLib.EngineTypes.endp = _endpos_e1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let el : 'tv_list_iso_eexpr__ = Obj.magic el in + let e1 : 'tv_eexpr = Obj.magic e1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_dots_or = -# 1730 "parser_cocci_menhir.mly" - (_1@_2) -# 14528 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 18873 "parser_cocci_menhir.ml" + ) = +# 2271 "parser_cocci_menhir.mly" + ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) +# 18877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14536,42 +18885,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = el; + MenhirLib.EngineTypes.startp = _startpos_el_; + MenhirLib.EngineTypes.endp = _endpos_el_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e1; + MenhirLib.EngineTypes.startp = _startpos_e1_; + MenhirLib.EngineTypes.endp = _endpos_e1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in + let el : 'tv_list_iso_eexpr__ = Obj.magic el in + let e1 : 'tv_eexpr = Obj.magic e1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_exp = -# 1723 "parser_cocci_menhir.mly" - (_1::_2) -# 14558 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_fun_after_exp_or = -# 1733 "parser_cocci_menhir.mly" - ([]) -# 14575 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 18915 "parser_cocci_menhir.ml" + ) = +# 2273 "parser_cocci_menhir.mly" + ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) +# 18919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14583,25 +18927,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = el; + MenhirLib.EngineTypes.startp = _startpos_el_; + MenhirLib.EngineTypes.endp = _endpos_el_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e1; + MenhirLib.EngineTypes.startp = _startpos_e1_; + MenhirLib.EngineTypes.endp = _endpos_e1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in + let el : 'tv_list_iso_eexpr__ = Obj.magic el in + let e1 : 'tv_eexpr = Obj.magic e1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_exp_or = -# 1734 "parser_cocci_menhir.mly" - (_1::_2) -# 14605 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 18957 "parser_cocci_menhir.ml" + ) = +# 2275 "parser_cocci_menhir.mly" + ( let ffn x = Ast0.ExprTag x in + let fn x = Ast0.TestExprTag x in + P.iso_adjust ffn fn e1 el ) +# 18963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14612,13 +18970,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_fun_after_stm = -# 1712 "parser_cocci_menhir.mly" - ([]) -# 14622 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = sl; + MenhirLib.EngineTypes.startp = _startpos_sl_; + MenhirLib.EngineTypes.endp = _endpos_sl_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s1; + MenhirLib.EngineTypes.startp = _startpos_s1_; + MenhirLib.EngineTypes.endp = _endpos_s1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in + let s1 : 'tv_single_statement = Obj.magic s1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 19001 "parser_cocci_menhir.ml" + ) = +# 2279 "parser_cocci_menhir.mly" + ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) +# 19005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14630,25 +19013,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = tl; + MenhirLib.EngineTypes.startp = _startpos_tl_; + MenhirLib.EngineTypes.endp = _endpos_tl_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t1; + MenhirLib.EngineTypes.startp = _startpos_t1_; + MenhirLib.EngineTypes.endp = _endpos_t1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in + let tl : 'tv_list_iso_ctype__ = Obj.magic tl in + let t1 : 'tv_ctype = Obj.magic t1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_stm = -# 1713 "parser_cocci_menhir.mly" - (_1::_2) -# 14652 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 19043 "parser_cocci_menhir.ml" + ) = +# 2281 "parser_cocci_menhir.mly" + ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) +# 19047 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14660,25 +19055,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = el; + MenhirLib.EngineTypes.startp = _startpos_el_; + MenhirLib.EngineTypes.endp = _endpos_el_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e1; + MenhirLib.EngineTypes.startp = _startpos_e1_; + MenhirLib.EngineTypes.endp = _endpos_e1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let _2 : 'tv_fun_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement = Obj.magic _1 in + let el : 'tv_list_iso_nest_start__ = Obj.magic el in + let e1 : 'tv_nest_start = Obj.magic e1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_fun_after_stm = -# 1714 "parser_cocci_menhir.mly" - (_1@_2) -# 14682 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 19085 "parser_cocci_menhir.ml" + ) = +# 2283 "parser_cocci_menhir.mly" + ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) +# 19089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14690,19 +19097,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = dl; + MenhirLib.EngineTypes.startp = _startpos_dl_; + MenhirLib.EngineTypes.endp = _endpos_dl_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d1; + MenhirLib.EngineTypes.startp = _startpos_d1_; + MenhirLib.EngineTypes.endp = _endpos_d1_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; } = _menhir_stack in - let _1 : 'tv_fun_after_stm = Obj.magic _1 in + let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in + let d1 : 'tv_decl_var = Obj.magic d1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_fun_start = -# 1709 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 14706 "parser_cocci_menhir.ml" + let _endpos = _endpos__4_ in + let _v : ( +# 232 "parser_cocci_menhir.mly" + (Ast0_cocci.anything list list) +# 19127 "parser_cocci_menhir.ml" + ) = +# 2285 "parser_cocci_menhir.mly" + ( let check_one = function + [x] -> x + | _ -> + raise + (Semantic_cocci.Semantic + "only one variable per declaration in an isomorphism rule") in + let d1 = check_one d1 in + let dl = + List.map + (function + Common.Left x -> Common.Left(check_one x) + | Common.Right x -> Common.Right(check_one x)) + dl in + let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl ) +# 19144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14715,18 +19153,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pure_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_func_ident = -# 1507 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14730 "parser_cocci_menhir.ml" + let m : 'tv_metadec = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos_m_ in + let _v : ( +# 235 "parser_cocci_menhir.mly" + ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) +# 19168 "parser_cocci_menhir.ml" + ) = +# 252 "parser_cocci_menhir.mly" + ( m "" ) +# 19172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14738,24 +19180,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = nm; + MenhirLib.EngineTypes.startp = _startpos_nm_; + MenhirLib.EngineTypes.endp = _endpos_nm_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : ( -# 61 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 14751 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_func_ident = -# 1509 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 14759 "parser_cocci_menhir.ml" + let nm : 'tv_pure_ident = Obj.magic nm in + let _startpos = _startpos_nm_ in + let _endpos = _endpos__2_ in + let _v : ( +# 219 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 19200 "parser_cocci_menhir.ml" + ) = +# 267 "parser_cocci_menhir.mly" + ( P.make_iso_rule_name_result (P.id2name nm) ) +# 19204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14774,17 +19219,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 14780 "parser_cocci_menhir.ml" +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 19225 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_func_ident = -# 1512 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14788 "parser_cocci_menhir.ml" + let _v : 'tv_iter_ident = +# 1942 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 19232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14803,110 +19247,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 129 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14809 "parser_cocci_menhir.ml" +# 19253 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_func_ident = -# 1515 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap - (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14818 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = rb; - MenhirLib.EngineTypes.startp = _startpos_rb_; - MenhirLib.EngineTypes.endp = _endpos_rb_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lb; - MenhirLib.EngineTypes.startp = _startpos_lb_; - MenhirLib.EngineTypes.endp = _endpos_lb_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = f; - MenhirLib.EngineTypes.startp = _startpos_f_; - MenhirLib.EngineTypes.endp = _endpos_f_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; - } = _menhir_stack in - let rb : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 14878 "parser_cocci_menhir.ml" - ) = Obj.magic rb in - let b : 'tv_fun_start = Obj.magic b in - let lb : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 14884 "parser_cocci_menhir.ml" - ) = Obj.magic lb in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 14889 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let d : 'tv_decl_list_decl_ = Obj.magic d in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 14895 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let i : 'tv_func_ident = Obj.magic i in - let f : 'tv_fninfo = Obj.magic f in - let _startpos = _startpos_f_ in - let _endpos = _endpos_rb_ in - let _v : 'tv_fundecl = -# 749 "parser_cocci_menhir.mly" - ( P.verify_parameter_declarations (Ast0.undots d); - Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), - f, i, - P.clt2mcode "(" lp, d, - P.clt2mcode ")" rp, - P.clt2mcode "{" lb, b, - P.clt2mcode "}" rb)) ) -# 14910 "parser_cocci_menhir.ml" + let _v : 'tv_iter_ident = +# 1944 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 19261 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14917,75 +19268,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = pt; - MenhirLib.EngineTypes.startp = _startpos_pt_; - MenhirLib.EngineTypes.endp = _endpos_pt_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - } = _menhir_stack in - let pt : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 14956 "parser_cocci_menhir.ml" - ) = Obj.magic pt in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 14961 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 14967 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let id : 'tv_func_ident = Obj.magic id in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_pt_ in - let _v : 'tv_funproto = let s = - -# 39 "standard.mly" - ( None ) -# 14977 "parser_cocci_menhir.ml" - - in - -# 737 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.UnInit - (s, - Ast0.wrap - (Ast0.FunctionType(Some t, - P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), - id, P.clt2mcode ";" pt)) ) -# 14989 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_TMul_ = +# 114 "standard.mly" + ( [] ) +# 19278 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14997,105 +19286,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = pt; - MenhirLib.EngineTypes.startp = _startpos_pt_; - MenhirLib.EngineTypes.endp = _endpos_pt_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let pt : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 15040 "parser_cocci_menhir.ml" - ) = Obj.magic pt in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 15045 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp : ( -# 76 "parser_cocci_menhir.mly" + let xs : 'tv_list_TMul_ = Obj.magic xs in + let x : ( +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 15051 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let id : 'tv_func_ident = Obj.magic id in - let t : 'tv_ctype = Obj.magic t in - let x0 : 'tv_storage = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_pt_ in - let _v : 'tv_funproto = let s = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 15063 "parser_cocci_menhir.ml" - - in - -# 737 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.UnInit - (s, - Ast0.wrap - (Ast0.FunctionType(Some t, - P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), - id, P.clt2mcode ";" pt)) ) -# 15075 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_pure_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_ident = -# 1520 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 15099 "parser_cocci_menhir.ml" +# 19305 "parser_cocci_menhir.ml" + ) = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_TMul_ = +# 116 "standard.mly" + ( x :: xs ) +# 19312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15106,25 +19319,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 61 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 15120 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_ident = -# 1522 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 15128 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_array_dec_ = +# 114 "standard.mly" + ( [] ) +# 19329 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15136,19 +19337,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let i : 'tv_pure_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_i_ in - let _v : 'tv_ident_or_const = -# 1474 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 15152 "parser_cocci_menhir.ml" + let xs : 'tv_list_array_dec_ = Obj.magic xs in + let x : 'tv_array_dec = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_array_dec_ = +# 116 "standard.mly" + ( x :: xs ) +# 19359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15159,25 +19366,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 87 "parser_cocci_menhir.mly" - (string * Data.clt) -# 15173 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_ident_or_const = -# 1476 "parser_cocci_menhir.mly" - ( let (x,clt) = _1 in - Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15181 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_case_line_ = +# 114 "standard.mly" + ( [] ) +# 19376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15189,23 +19384,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : ( -# 80 "parser_cocci_menhir.mly" - (string * Data.clt) -# 15202 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_incl = -# 256 "parser_cocci_menhir.mly" - ( let (x,_) = _1 in Data.Include(x) ) -# 15209 "parser_cocci_menhir.ml" + let xs : 'tv_list_case_line_ = Obj.magic xs in + let x : 'tv_case_line = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_case_line_ = +# 116 "standard.mly" + ( x :: xs ) +# 19406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15216,28 +19413,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 87 "parser_cocci_menhir.mly" - (string * Data.clt) -# 15234 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_incl = -# 257 "parser_cocci_menhir.mly" - ( Data.Iso(Common.Left(P.id2name _2)) ) -# 15241 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_decl_var_ = +# 114 "standard.mly" + ( [] ) +# 19423 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15249,27 +19431,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : ( -# 79 "parser_cocci_menhir.mly" - (string) -# 15266 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_incl = -# 258 "parser_cocci_menhir.mly" - ( Data.Iso(Common.Right _2) ) -# 15273 "parser_cocci_menhir.ml" + let xs : 'tv_list_decl_var_ = Obj.magic xs in + let x : 'tv_decl_var = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_decl_var_ = +# 116 "standard.mly" + ( x :: xs ) +# 19453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15280,28 +19460,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _1 : 'tv_list_incl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : ( -# 146 "parser_cocci_menhir.mly" - (Data.incl_iso list) -# 15301 "parser_cocci_menhir.ml" - ) = -# 252 "parser_cocci_menhir.mly" - ( _1 ) -# 15305 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_designator_ = +# 114 "standard.mly" + ( [] ) +# 19470 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15313,27 +19478,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _1 : 'tv_list_incl_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : ( -# 146 "parser_cocci_menhir.mly" - (Data.incl_iso list) -# 15333 "parser_cocci_menhir.ml" - ) = -# 253 "parser_cocci_menhir.mly" - ( _1 ) -# 15337 "parser_cocci_menhir.ml" + let xs : 'tv_list_designator_ = Obj.magic xs in + let x : 'tv_designator = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_designator_ = +# 116 "standard.mly" + ( x :: xs ) +# 19500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15344,32 +19507,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : ( -# 80 "parser_cocci_menhir.mly" - (string * Data.clt) -# 15358 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_includes = -# 629 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)), - let (arity,ln,lln,offset,col,strbef,straft,pos) = - P.id2clt _1 in - let clt = - (arity,ln,lln,offset,0,strbef,straft,pos) in - P.clt2mcode - (Ast.Local (Parse_aux.str2inc (P.id2name _1))) - (P.drop_bef clt))) ) -# 15373 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_incl_ = +# 114 "standard.mly" + ( [] ) +# 19517 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15381,31 +19525,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : ( -# 80 "parser_cocci_menhir.mly" - (string * Data.clt) -# 15394 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_includes = -# 639 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)), - let (arity,ln,lln,offset,col,strbef,straft,pos) = - P.id2clt _1 in - let clt = - (arity,ln,lln,offset,0,strbef,straft,pos) in - P.clt2mcode - (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) - (P.drop_bef clt))) ) -# 15409 "parser_cocci_menhir.ml" + let xs : 'tv_list_incl_ = Obj.magic xs in + let x : 'tv_incl = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_incl_ = +# 116 "standard.mly" + ( x :: xs ) +# 19547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15416,31 +19554,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let t : 'tv_ctype = Obj.magic t in - let d : 'tv_defineop = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos__3_ in - let _v : 'tv_includes = -# 649 "parser_cocci_menhir.mly" - ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in - d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 15444 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_iso_ctype__ = +# 114 "standard.mly" + ( [] ) +# 19564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15452,37 +19572,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in - let _1 : 'tv_defineop = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_includes = -# 652 "parser_cocci_menhir.mly" - ( let body = - match b with - [e] -> - (match Ast0.unwrap e with - Ast0.Exp(e1) -> - [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))] - | _ -> b) - | _ -> b in - _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 15486 "parser_cocci_menhir.ml" + let xs : 'tv_list_iso_ctype__ = Obj.magic xs in + let x : 'tv_iso_ctype_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_iso_ctype__ = +# 116 "standard.mly" + ( x :: xs ) +# 19594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15493,20 +19601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_eexpr = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_initialize = -# 1055 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15510 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_iso_decl_var__ = +# 114 "standard.mly" + ( [] ) +# 19611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15518,39 +19619,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15541 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_initialize_list = Obj.magic _2 in - let _1 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15547 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize = -# 1057 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15554 "parser_cocci_menhir.ml" + let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in + let x : 'tv_iso_decl_var_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_iso_decl_var__ = +# 116 "standard.mly" + ( x :: xs ) +# 19641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15561,36 +19648,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15580 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15585 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize = -# 1059 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), - P.clt2mcode "}" _2)) ) -# 15594 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_iso_eexpr__ = +# 114 "standard.mly" + ( [] ) +# 19658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15602,24 +19666,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : ( -# 65 "parser_cocci_menhir.mly" - (Parse_aux.info) -# 15615 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_initialize = -# 1063 "parser_cocci_menhir.mly" - (let (nm,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 15623 "parser_cocci_menhir.ml" + let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in + let x : 'tv_iso_eexpr_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_iso_eexpr__ = +# 116 "standard.mly" + ( x :: xs ) +# 19688 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15630,20 +19695,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_initialize2 = -# 1069 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15647 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_iso_nest_start__ = +# 114 "standard.mly" + ( [] ) +# 19705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15655,39 +19713,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15678 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let _2 : 'tv_initialize_list = Obj.magic _2 in - let _1 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15684 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize2 = -# 1071 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15691 "parser_cocci_menhir.ml" + let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in + let x : 'tv_iso_nest_start_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_iso_nest_start__ = +# 116 "standard.mly" + ( x :: xs ) +# 19735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15698,36 +19742,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15717 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 15722 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize2 = -# 1073 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), - P.clt2mcode "}" _2)) ) -# 15731 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_iso_single_statement__ = +# 114 "standard.mly" + ( [] ) +# 19752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15739,35 +19760,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_initialize2 = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 15763 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_list_designator_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize2 = -# 1078 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 15771 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in + let x : 'tv_iso_single_statement_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_iso_single_statement__ = +# 116 "standard.mly" + ( x :: xs ) +# 19782 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_ctype__ = +# 114 "standard.mly" + ( [] ) +# 19799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15779,35 +19807,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : 'tv_initialize2 = Obj.magic _3 in - let _2 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 15803 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize2 = -# 1080 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 15811 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in + let x : 'tv_mzl_ctype_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_ctype__ = +# 116 "standard.mly" + ( x :: xs ) +# 19829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15818,20 +19836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_initialize_list_start = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_initialize_list = -# 1092 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 15835 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_disj_ident__ = +# 114 "standard.mly" + ( [] ) +# 19846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15843,29 +19854,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 15861 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_initialize2 = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_initialize_list_start = -# 1095 "parser_cocci_menhir.mly" - ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] ) -# 15869 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in + let x : 'tv_mzl_disj_ident_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_disj_ident__ = +# 116 "standard.mly" + ( x :: xs ) +# 19876 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15876,36 +19883,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let _3 : 'tv_initialize_list_start = Obj.magic _3 in - let _2 : ( -# 107 "parser_cocci_menhir.mly" - (Data.clt) -# 15901 "parser_cocci_menhir.ml" - ) = Obj.magic _2 in - let _1 : 'tv_initialize2 = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_initialize_list_start = -# 1097 "parser_cocci_menhir.mly" - ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 ) -# 15909 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_eexpr__ = +# 114 "standard.mly" + ( [] ) +# 19893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15917,26 +19901,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_initialize_list_start = -# 1100 "parser_cocci_menhir.mly" - ( (P.mkidots "..." d):: - (List.concat(List.map (function x -> x (P.mkidots "...")) r)) ) -# 15940 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in + let x : 'tv_mzl_eexpr_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_eexpr__ = +# 116 "standard.mly" + ( x :: xs ) +# 19923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15947,18 +19930,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_fun_after_dots_or__ = +# 114 "standard.mly" + ( [] ) +# 19940 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_invalid = -# 1193 "parser_cocci_menhir.mly" - ( raise (Semantic_cocci.Semantic "not matchable") ) -# 15962 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in + let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_fun_after_dots_or__ = +# 116 "standard.mly" + ( x :: xs ) +# 19970 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15972,10 +19980,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_is_expression = -# 248 "parser_cocci_menhir.mly" - ( false ) -# 15979 "parser_cocci_menhir.ml" + let _v : 'tv_list_mzl_fun_start__ = +# 114 "standard.mly" + ( [] ) +# 19987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15987,17 +19995,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_is_expression = -# 249 "parser_cocci_menhir.mly" - ( true ) -# 16001 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in + let x : 'tv_mzl_fun_start_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_fun_start__ = +# 116 "standard.mly" + ( x :: xs ) +# 20017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16008,24 +20024,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_ctype_ = -# 1877 "parser_cocci_menhir.mly" - ( Common.Left t ) -# 16029 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_mctype__ = +# 114 "standard.mly" + ( [] ) +# 20034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16037,23 +20042,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_ctype_ = -# 1878 "parser_cocci_menhir.mly" - ( Common.Right t ) -# 16057 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in + let x : 'tv_mzl_mctype_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_mctype__ = +# 116 "standard.mly" + ( x :: xs ) +# 20064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16064,24 +20071,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let t : 'tv_decl_var = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_decl_var_ = -# 1877 "parser_cocci_menhir.mly" - ( Common.Left t ) -# 16085 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_rule_elem_statement__ = +# 114 "standard.mly" + ( [] ) +# 20081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16093,23 +20089,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_decl_var = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_decl_var_ = -# 1878 "parser_cocci_menhir.mly" - ( Common.Right t ) -# 16113 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in + let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_rule_elem_statement__ = +# 116 "standard.mly" + ( x :: xs ) +# 20111 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16120,24 +20118,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let t : 'tv_dexpr = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_dexpr_ = -# 1877 "parser_cocci_menhir.mly" - ( Common.Left t ) -# 16141 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_mzl_statement__ = +# 114 "standard.mly" + ( [] ) +# 20128 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16149,23 +20136,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_dexpr = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_dexpr_ = -# 1878 "parser_cocci_menhir.mly" - ( Common.Right t ) -# 16169 "parser_cocci_menhir.ml" + let xs : 'tv_list_mzl_statement__ = Obj.magic xs in + let x : 'tv_mzl_statement_ = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_mzl_statement__ = +# 116 "standard.mly" + ( x :: xs ) +# 20158 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16176,24 +20165,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let t : 'tv_nest_start = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_nest_start_ = -# 1877 "parser_cocci_menhir.mly" - ( Common.Left t ) -# 16197 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = +# 114 "standard.mly" + ( [] ) +# 20175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16205,23 +20183,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = y0; + MenhirLib.EngineTypes.startp = _startpos_y0_; + MenhirLib.EngineTypes.endp = _endpos_y0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let t : 'tv_nest_start = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_nest_start_ = -# 1878 "parser_cocci_menhir.mly" - ( Common.Right t ) -# 16225 "parser_cocci_menhir.ml" + let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in + let y0 : 'tv_dexpr = Obj.magic y0 in + let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x = + let y = y0 in + let x = x0 in + +# 70 "standard.mly" + ( (x, y) ) +# 20214 "parser_cocci_menhir.ml" + + in + +# 116 "standard.mly" + ( x :: xs ) +# 20220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16232,24 +20227,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let t : 'tv_single_statement = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_single_statement_ = -# 1877 "parser_cocci_menhir.mly" - ( Common.Left t ) -# 16253 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_list_whenppdecs_ = +# 114 "standard.mly" + ( [] ) +# 20237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16261,23 +20245,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let t : 'tv_single_statement = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_t_ in - let _v : 'tv_iso_single_statement_ = -# 1878 "parser_cocci_menhir.mly" - ( Common.Right t ) -# 16281 "parser_cocci_menhir.ml" + let xs : 'tv_list_whenppdecs_ = Obj.magic xs in + let x : 'tv_whenppdecs = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_list_whenppdecs_ = +# 116 "standard.mly" + ( x :: xs ) +# 20267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16289,37 +20275,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = el; - MenhirLib.EngineTypes.startp = _startpos_el_; - MenhirLib.EngineTypes.endp = _endpos_el_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e1; - MenhirLib.EngineTypes.startp = _startpos_e1_; - MenhirLib.EngineTypes.endp = _endpos_e1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 in + let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16319 "parser_cocci_menhir.ml" - ) = -# 1849 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el ) -# 16323 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_list_len = +# 417 "parser_cocci_menhir.mly" + ( Common.Left _1 ) +# 20291 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16331,37 +20299,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = el; - MenhirLib.EngineTypes.startp = _startpos_el_; - MenhirLib.EngineTypes.endp = _endpos_el_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e1; - MenhirLib.EngineTypes.startp = _startpos_e1_; - MenhirLib.EngineTypes.endp = _endpos_e1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 in + let _1 : ( +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 20312 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16361 "parser_cocci_menhir.ml" - ) = -# 1851 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el ) -# 16365 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_list_len = +# 418 "parser_cocci_menhir.mly" + ( let (x,clt) = _1 in Common.Right (int_of_string x) ) +# 20319 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16372,38 +20326,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = el; - MenhirLib.EngineTypes.startp = _startpos_el_; - MenhirLib.EngineTypes.endp = _endpos_el_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e1; - MenhirLib.EngineTypes.startp = _startpos_e1_; - MenhirLib.EngineTypes.endp = _endpos_e1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let el : 'tv_list_iso_dexpr__ = Obj.magic el in - let e1 : 'tv_dexpr = Obj.magic e1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16403 "parser_cocci_menhir.ml" - ) = -# 1853 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el ) -# 16407 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_loption_choose_iso_ = +# 57 "standard.mly" + ( [] ) +# 20336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16415,37 +20344,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = sl; - MenhirLib.EngineTypes.startp = _startpos_sl_; - MenhirLib.EngineTypes.endp = _endpos_sl_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s1; - MenhirLib.EngineTypes.startp = _startpos_s1_; - MenhirLib.EngineTypes.endp = _endpos_s1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in - let s1 : 'tv_single_statement = Obj.magic s1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16445 "parser_cocci_menhir.ml" - ) = -# 1855 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl ) -# 16449 "parser_cocci_menhir.ml" + let x : 'tv_choose_iso = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_loption_choose_iso_ = +# 59 "standard.mly" + ( x ) +# 20360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16456,38 +20367,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = tl; - MenhirLib.EngineTypes.startp = _startpos_tl_; - MenhirLib.EngineTypes.endp = _endpos_tl_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t1; - MenhirLib.EngineTypes.startp = _startpos_t1_; - MenhirLib.EngineTypes.endp = _endpos_t1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let tl : 'tv_list_iso_ctype__ = Obj.magic tl in - let t1 : 'tv_ctype = Obj.magic t1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16487 "parser_cocci_menhir.ml" - ) = -# 1857 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl ) -# 16491 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_loption_disable_ = +# 57 "standard.mly" + ( [] ) +# 20377 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16499,37 +20385,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = el; - MenhirLib.EngineTypes.startp = _startpos_el_; - MenhirLib.EngineTypes.endp = _endpos_el_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e1; - MenhirLib.EngineTypes.startp = _startpos_e1_; - MenhirLib.EngineTypes.endp = _endpos_e1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let el : 'tv_list_iso_nest_start__ = Obj.magic el in - let e1 : 'tv_nest_start = Obj.magic e1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16529 "parser_cocci_menhir.ml" - ) = -# 1859 "parser_cocci_menhir.mly" - ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el ) -# 16533 "parser_cocci_menhir.ml" + let x : 'tv_disable = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_loption_disable_ = +# 59 "standard.mly" + ( x ) +# 20401 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16540,51 +20408,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = dl; - MenhirLib.EngineTypes.startp = _startpos_dl_; - MenhirLib.EngineTypes.endp = _endpos_dl_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d1; - MenhirLib.EngineTypes.startp = _startpos_d1_; - MenhirLib.EngineTypes.endp = _endpos_d1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in - let d1 : 'tv_decl_var = Obj.magic d1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 162 "parser_cocci_menhir.mly" - (Ast0_cocci.anything list list) -# 16571 "parser_cocci_menhir.ml" - ) = -# 1861 "parser_cocci_menhir.mly" - ( let check_one = function - [x] -> x - | _ -> - raise - (Semantic_cocci.Semantic - "only one variable per declaration in an isomorphism rule") in - let d1 = check_one d1 in - let dl = - List.map - (function - Common.Left x -> Common.Left(check_one x) - | Common.Right x -> Common.Right(check_one x)) - dl in - P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl ) -# 16588 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_loption_filespec_ = +# 57 "standard.mly" + ( [] ) +# 20418 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16597,22 +20427,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_metadec = Obj.magic m in - let _startpos = _startpos_m_ in - let _endpos = _endpos_m_ in - let _v : ( -# 165 "parser_cocci_menhir.mly" - ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 16612 "parser_cocci_menhir.ml" - ) = -# 182 "parser_cocci_menhir.mly" - ( m "" ) -# 16616 "parser_cocci_menhir.ml" + let x : 'tv_filespec = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_loption_filespec_ = +# 59 "standard.mly" + ( x ) +# 20442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16623,28 +20449,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = nm; - MenhirLib.EngineTypes.startp = _startpos_nm_; - MenhirLib.EngineTypes.endp = _endpos_nm_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let nm : 'tv_pure_ident = Obj.magic nm in - let _startpos = _startpos_nm_ in - let _endpos = _endpos__2_ in - let _v : ( -# 149 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 16644 "parser_cocci_menhir.ml" - ) = -# 197 "parser_cocci_menhir.mly" - ( P.make_iso_rule_name_result (P.id2name nm) ) -# 16648 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_loption_minus_start_ = +# 57 "standard.mly" + ( [] ) +# 20459 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16657,22 +20468,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : ( -# 59 "parser_cocci_menhir.mly" - (string * Data.clt) -# 16669 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_iter_ident = -# 1534 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16676 "parser_cocci_menhir.ml" + let x : 'tv_minus_start = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_loption_minus_start_ = +# 59 "standard.mly" + ( x ) +# 20483 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_loption_not_pos_ = +# 57 "standard.mly" + ( [] ) +# 20500 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16685,23 +20509,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : ( -# 62 "parser_cocci_menhir.mly" - (Parse_aux.idinfo) -# 16697 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_iter_ident = -# 1536 "parser_cocci_menhir.mly" - ( let (nm,constraints,pure,clt) = _1 in - Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16705 "parser_cocci_menhir.ml" + let x : 'tv_not_pos = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_loption_not_pos_ = +# 59 "standard.mly" + ( x ) +# 20524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16715,10 +20534,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in - let _v : 'tv_list_TMul_ = -# 114 "standard.mly" + let _v : 'tv_loption_plus_start_ = +# 57 "standard.mly" ( [] ) -# 16722 "parser_cocci_menhir.ml" +# 20541 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16730,29 +20549,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let xs : 'tv_list_TMul_ = Obj.magic xs in - let x : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 16749 "parser_cocci_menhir.ml" - ) = Obj.magic x in + let x : 'tv_plus_start = Obj.magic x in let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_TMul_ = -# 116 "standard.mly" - ( x :: xs ) -# 16756 "parser_cocci_menhir.ml" + let _endpos = _endpos_x_ in + let _v : 'tv_loption_plus_start_ = +# 59 "standard.mly" + ( x ) +# 20565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16763,13 +20572,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_array_dec_ = -# 114 "standard.mly" - ( [] ) -# 16773 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 20586 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mctype = +# 712 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 20593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16781,25 +20601,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let xs : 'tv_list_array_dec_ = Obj.magic xs in - let x : 'tv_array_dec = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_array_dec_ = -# 116 "standard.mly" - ( x :: xs ) -# 16803 "parser_cocci_menhir.ml" + let _1 : 'tv_ctype = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mctype = +# 713 "parser_cocci_menhir.mly" + (_1) +# 20617 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16810,13 +20624,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_case_line_ = -# 114 "standard.mly" - ( [] ) -# 16820 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let t : 'tv_typedef_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_t_ in + let _v : 'tv_meta_exp_type = +# 612 "parser_cocci_menhir.mly" + ( [Ast0_cocci.ast0_type_to_type t] ) +# 20641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16828,25 +20649,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let xs : 'tv_list_case_line_ = Obj.magic xs in - let x : 'tv_case_line = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_case_line_ = -# 116 "standard.mly" - ( x :: xs ) -# 16850 "parser_cocci_menhir.ml" + let t : 'tv_typedef_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos__3_ in + let _v : 'tv_meta_exp_type = +# 614 "parser_cocci_menhir.mly" + ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] ) +# 20673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16857,13 +20680,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_comma_decls_TEllipsis_decl__ = -# 114 "standard.mly" - ( [] ) -# 16867 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let t : 'tv_comma_list_ctype_ = Obj.magic t in + let _startpos = _startpos__1_ in + let _endpos = _endpos_m_ in + let _v : 'tv_meta_exp_type = +# 616 "parser_cocci_menhir.mly" + ( List.map + (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) + t ) +# 20713 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16875,25 +20721,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in - let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_comma_decls_TEllipsis_decl__ = -# 116 "standard.mly" - ( x :: xs ) -# 16897 "parser_cocci_menhir.ml" + let _3 : 'tv_pure_ident = Obj.magic _3 in + let _1 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 20744 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_meta_ident = +# 1680 "parser_cocci_menhir.mly" + ( (Some _1,P.id2name _3) ) +# 20751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16904,13 +20758,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = -# 114 "standard.mly" - ( [] ) -# 16914 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in + let _1 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 20782 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_meta_ident = +# 1681 "parser_cocci_menhir.mly" + ( (Some _1,_3) ) +# 20789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16922,25 +20797,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in - let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = -# 116 "standard.mly" - ( x :: xs ) -# 16944 "parser_cocci_menhir.ml" + let m : 'tv_metadec = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos_m_ in + let _v : ( +# 227 "parser_cocci_menhir.mly" + ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) +# 20813 "parser_cocci_menhir.ml" + ) = +# 251 "parser_cocci_menhir.mly" + ( m (!Ast0.rule_name) ) +# 20817 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16951,13 +20824,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_designator_ = -# 114 "standard.mly" - ( [] ) -# 16961 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 429 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in + !Data.add_meta_meta name pure; tok) ) +# 20864 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 20870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16969,25 +20878,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_designator_ = Obj.magic xs in - let x : 'tv_designator = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_designator_ = -# 116 "standard.mly" - ( x :: xs ) -# 16991 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 433 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaParamDecl(arity,name)) in + !Data.add_param_meta name pure; tok) ) +# 20917 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 20923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16998,13 +20930,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_dp_comma_args_TEllipsis__ = -# 114 "standard.mly" - ( [] ) -# 17008 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 437 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in + !Data.add_paramlist_meta name len pure; tok) ) +# 20975 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 20981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17016,25 +20989,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in - let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_dp_comma_args_TEllipsis__ = -# 116 "standard.mly" - ( x :: xs ) -# 17038 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 442 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in + !Data.add_explist_meta name len pure; tok) ) +# 21033 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17045,13 +21046,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_incl_ = -# 114 "standard.mly" - ( [] ) -# 17055 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 447 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in + !Data.add_type_meta name pure; tok) ) +# 21086 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17063,25 +21100,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_incl_ = Obj.magic xs in - let x : 'tv_incl = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_incl_ = -# 116 "standard.mly" - ( x :: xs ) -# 17085 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 451 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaInitDecl(arity,name)) in + !Data.add_init_meta name pure; tok) ) +# 21139 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17092,13 +21152,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_iso_ctype__ = -# 114 "standard.mly" - ( [] ) -# 17102 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 455 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in + !Data.add_initlist_meta name len pure; tok) ) +# 21197 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17110,25 +21211,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_iso_ctype__ = Obj.magic xs in - let x : 'tv_iso_ctype_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_ctype__ = -# 116 "standard.mly" - ( x :: xs ) -# 17132 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 460 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaStmDecl(arity,name)) in + !Data.add_stm_meta name pure; tok) ) +# 21250 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21256 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17139,13 +21263,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_iso_decl_var__ = -# 114 "standard.mly" - ( [] ) -# 17149 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 464 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in + !Data.add_decl_meta name pure; tok) ) +# 21303 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21309 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17157,25 +21317,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in - let x : 'tv_iso_decl_var_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_decl_var__ = -# 116 "standard.mly" - ( x :: xs ) -# 17179 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 468 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in + !Data.add_field_meta name pure; tok) ) +# 21356 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21362 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17186,13 +21369,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_iso_dexpr__ = -# 114 "standard.mly" - ( [] ) -# 17196 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 472 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let len = Ast.AnyLen in + let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in + !Data.add_field_list_meta name len pure; tok) ) +# 21414 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21420 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17204,25 +21428,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in - let x : 'tv_iso_dexpr_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_dexpr__ = -# 116 "standard.mly" - ( x :: xs ) -# 17226 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 477 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in + !Data.add_stmlist_meta name pure; tok) ) +# 21471 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17233,13 +21484,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_iso_nest_start__ = -# 114 "standard.mly" - ( [] ) -# 17243 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 481 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_type_name name; []) + else raise (Semantic_cocci.Semantic "bad typedef")) ) +# 21525 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17251,25 +21539,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in - let x : 'tv_iso_nest_start_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_nest_start__ = -# 116 "standard.mly" - ( x :: xs ) -# 17273 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 486 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_declarer_name name; []) + else raise (Semantic_cocci.Semantic "bad declarer")) ) +# 21583 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17280,13 +21596,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_iso_single_statement__ = -# 114 "standard.mly" - ( [] ) -# 17290 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 491 "parser_cocci_menhir.mly" + ( (fun arity (_,name) pure check_meta -> + if arity = Ast.NONE && pure = Ast0.Impure + then (!Data.add_iterator_name name; []) + else raise (Semantic_cocci.Semantic "bad iterator")) ) +# 21641 "parser_cocci_menhir.ml" + + in + +# 342 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 21647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17298,25 +21655,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in - let x : 'tv_iso_single_statement_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_iso_single_statement__ = -# 116 "standard.mly" - ( x :: xs ) -# 17320 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_metadec = let kindfn = + +# 422 "parser_cocci_menhir.mly" + ( (fun name check_meta seed -> + let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in + !Data.add_fresh_id_meta name; tok) ) +# 21686 "parser_cocci_menhir.ml" + + in + +# 345 "parser_cocci_menhir.mly" + ( P.create_fresh_metadec kindfn ids ) +# 21692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17327,13 +21699,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_ctype__ = -# 114 "standard.mly" - ( [] ) -# 17337 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 498 "parser_cocci_menhir.mly" + ( + let idfn arity name pure check_meta constraints = + let tok = check_meta(Ast.MetaIdDecl(arity,name)) in + !Data.add_id_meta name constraints pure; tok in + let virtfn arity name pure check_meta virtual_env = + try + let vl = List.assoc name virtual_env in + !Data.add_virt_id_meta_found name vl; [] + with Not_found -> + Iteration.parsed_virtual_identifiers := + Common.union_set [name] + !Iteration.parsed_virtual_identifiers; + let name = ("virtual",name) in + let tok = check_meta(Ast.MetaIdDecl(arity,name)) in + !Data.add_virt_id_meta_not_found name pure; tok in + (idfn,virtfn) ) +# 21752 "parser_cocci_menhir.ml" + + in + +# 351 "parser_cocci_menhir.mly" + ( let (normal,virt) = Common.partition_either (fun x -> x) ids in + let (idfn,virtfn) = kindfn in + function cr -> + (P.create_metadec_with_constraints ar ispure idfn normal cr) @ + (P.create_metadec_virt ar ispure virtfn virt cr) ) +# 21762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17345,25 +21770,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in - let x : 'tv_mzl_ctype_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_ctype__ = -# 116 "standard.mly" - ( x :: xs ) -# 17367 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 517 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in + !Data.add_func_meta name constraints pure; tok) ) +# 21809 "parser_cocci_menhir.ml" + + in + +# 360 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 21815 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17374,13 +21822,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_eexpr__ = -# 114 "standard.mly" - ( [] ) -# 17384 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + +# 521 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in + !Data.add_local_func_meta name constraints pure; + tok) ) +# 21867 "parser_cocci_menhir.ml" + + in + +# 360 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 21873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17392,25 +21881,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in - let x : 'tv_mzl_eexpr_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_eexpr__ = -# 116 "standard.mly" - ( x :: xs ) -# 17414 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 526 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in + !Data.add_declarer_meta name constraints pure; tok) ) +# 21920 "parser_cocci_menhir.ml" + + in + +# 360 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 21926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17421,13 +21933,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_fun_after_dots_or__ = -# 114 "standard.mly" - ( [] ) -# 17431 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 530 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in + !Data.add_iterator_meta name constraints pure; tok) ) +# 21973 "parser_cocci_menhir.ml" + + in + +# 360 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 21979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17439,25 +21987,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in - let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_fun_after_dots_or__ = -# 116 "standard.mly" - ( x :: xs ) -# 17461 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 536 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaErrDecl(arity,name)) in + !Data.add_err_meta name constraints pure; tok) ) +# 22026 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17468,13 +22039,68 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_fun_start__ = -# 114 "standard.mly" - ( [] ) -# 17478 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l0; + MenhirLib.EngineTypes.startp = _startpos_l0_; + MenhirLib.EngineTypes.endp = _endpos_l0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let l0 : 'tv_option_TLocal_ = Obj.magic l0 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + let l = l0 in + let ty = + +# 39 "standard.mly" + ( None ) +# 22085 "parser_cocci_menhir.ml" + + in + +# 540 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + match l with + None -> + !Data.add_idexp_meta ty name constraints pure; + check_meta(Ast.MetaIdExpDecl(arity,name,ty)) + | Some _ -> + !Data.add_local_idexp_meta ty name constraints pure; + check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) +# 22098 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17486,25 +22112,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x00; + MenhirLib.EngineTypes.startp = _startpos_x00_; + MenhirLib.EngineTypes.endp = _endpos_x00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l0; + MenhirLib.EngineTypes.startp = _startpos_l0_; + MenhirLib.EngineTypes.endp = _endpos_l0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in - let x : 'tv_mzl_fun_start_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_fun_start__ = -# 116 "standard.mly" - ( x :: xs ) -# 17508 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let x00 : 'tv_meta_exp_type = Obj.magic x00 in + let l0 : 'tv_option_TLocal_ = Obj.magic l0 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__7_ in + let _v : 'tv_metadec = let kindfn = + let x0 = x00 in + let l = l0 in + let ty = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 22165 "parser_cocci_menhir.ml" + + in + +# 540 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + match l with + None -> + !Data.add_idexp_meta ty name constraints pure; + check_meta(Ast.MetaIdExpDecl(arity,name,ty)) + | Some _ -> + !Data.add_local_idexp_meta ty name constraints pure; + check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) +# 22178 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17515,13 +22191,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_rule_elem_statement__ = -# 114 "standard.mly" - ( [] ) -# 17525 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = m0; + MenhirLib.EngineTypes.startp = _startpos_m0_; + MenhirLib.EngineTypes.endp = _endpos_m0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l0; + MenhirLib.EngineTypes.startp = _startpos_l0_; + MenhirLib.EngineTypes.endp = _endpos_l0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in + let l0 : 'tv_option_TLocal_ = Obj.magic l0 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__7_ in + let _v : 'tv_metadec = let kindfn = + let m = m0 in + let l = l0 in + +# 549 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in + match l with + None -> + !Data.add_idexp_meta ty name constraints pure; + check_meta(Ast.MetaIdExpDecl(arity,name,ty)) + | Some _ -> + !Data.add_local_idexp_meta ty name constraints pure; + check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) +# 22251 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17533,25 +22265,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty0; + MenhirLib.EngineTypes.startp = _startpos_ty0_; + MenhirLib.EngineTypes.endp = _endpos_ty0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in - let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_rule_elem_statement__ = -# 116 "standard.mly" - ( x :: xs ) -# 17555 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let ty0 : 'tv_expression_type = Obj.magic ty0 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + let ty = ty0 in + +# 559 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let ty = Some [ty] in + let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in + !Data.add_exp_meta ty name constraints pure; tok) ) +# 22312 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17562,13 +22325,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_mzl_statement__ = -# 114 "standard.mly" - ( [] ) -# 17572 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + let ty = + +# 39 "standard.mly" + ( None ) +# 22364 "parser_cocci_menhir.ml" + + in + +# 564 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in + !Data.add_const_meta ty name constraints pure; tok) ) +# 22372 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17580,25 +22386,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x00; + MenhirLib.EngineTypes.startp = _startpos_x00_; + MenhirLib.EngineTypes.endp = _endpos_x00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_mzl_statement__ = Obj.magic xs in - let x : 'tv_mzl_statement_ = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_mzl_statement__ = -# 116 "standard.mly" - ( x :: xs ) -# 17602 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in + let x00 : 'tv_meta_exp_type = Obj.magic x00 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__6_ in + let _v : 'tv_metadec = let kindfn = + let x0 = x00 in + let ty = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 22432 "parser_cocci_menhir.ml" + + in + +# 564 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in + !Data.add_const_meta ty name constraints pure; tok) ) +# 22440 "parser_cocci_menhir.ml" + + in + +# 365 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17609,13 +22453,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = -# 114 "standard.mly" - ( [] ) -# 17619 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + +# 581 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in + !Data.add_exp_meta None name constraints pure; tok) ) +# 22493 "parser_cocci_menhir.ml" + + in + +# 370 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17627,40 +22507,72 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = y0; - MenhirLib.EngineTypes.startp = _startpos_y0_; - MenhirLib.EngineTypes.endp = _endpos_y0_; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = vl0; + MenhirLib.EngineTypes.startp = _startpos_vl0_; + MenhirLib.EngineTypes.endp = _endpos_vl0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; } = _menhir_stack in - let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in - let y0 : 'tv_dexpr = Obj.magic y0 in - let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x = - let y = y0 in - let x = x0 in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in + let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = let kindfn = + let vl = vl0 in -# 70 "standard.mly" - ( (x, y) ) -# 17658 "parser_cocci_menhir.ml" +# 585 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta constraints -> + let ty = Some vl in + (match constraints with + Ast0.NotExpCstrt constraints -> + List.iter + (function c -> + match Ast0.unwrap c with + Ast0.Constant(_) -> + if not + (List.exists + (function + Type_cocci.BaseType(Type_cocci.IntType) -> true + | Type_cocci.BaseType(Type_cocci.ShortType) -> true + | Type_cocci.BaseType(Type_cocci.LongType) -> true + | _ -> false) + vl) + then + failwith "metavariable with int constraint must be an int" + | _ -> ()) + constraints + | _ -> ()); + let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in + !Data.add_exp_meta ty name constraints pure; tok) + ) +# 22570 "parser_cocci_menhir.ml" in -# 116 "standard.mly" - ( x :: xs ) -# 17664 "parser_cocci_menhir.ml" +# 370 "parser_cocci_menhir.mly" + ( P.create_metadec_with_constraints ar ispure kindfn ids ) +# 22576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17671,13 +22583,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_list_whenppdecs_ = -# 114 "standard.mly" - ( [] ) -# 17681 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in + let a : 'tv_option_TPosAny_ = Obj.magic a in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__5_ in + let _v : 'tv_metadec = +# 376 "parser_cocci_menhir.mly" + ( (if !Data.in_generating + then failwith "position variables not allowed in a generated rule file"); + let kindfn arity name pure check_meta constraints = + let tok = check_meta(Ast.MetaPosDecl(arity,name)) in + let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in + !Data.add_pos_meta name constraints any; tok in + P.create_metadec_with_constraints ar false kindfn ids ) +# 22626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17689,25 +22634,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; }; } = _menhir_stack in - let xs : 'tv_list_whenppdecs_ = Obj.magic xs in - let x : 'tv_whenppdecs = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_list_whenppdecs_ = -# 116 "standard.mly" - ( x :: xs ) -# 17711 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 386 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in + !Data.add_paramlist_meta name lenname pure; tok) + len ids ) +# 22692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17718,13 +22699,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_choose_iso_ = -# 57 "standard.mly" - ( [] ) -# 17728 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 394 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in + !Data.add_explist_meta name lenname pure; tok) + len ids ) +# 22758 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17736,19 +22766,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; } = _menhir_stack in - let x : 'tv_choose_iso = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_choose_iso_ = -# 59 "standard.mly" - ( x ) -# 17752 "parser_cocci_menhir.ml" + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 402 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in + !Data.add_field_list_meta name lenname pure; tok) + len ids ) +# 22824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17759,13 +22831,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_disable_ = -# 57 "standard.mly" - ( [] ) -# 17769 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.startp = _startpos__9_; + MenhirLib.EngineTypes.endp = _endpos__9_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids; + MenhirLib.EngineTypes.startp = _startpos_ids_; + MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = len; + MenhirLib.EngineTypes.startp = _startpos_len_; + MenhirLib.EngineTypes.endp = _endpos_len_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ispure; + MenhirLib.EngineTypes.startp = _startpos_ispure_; + MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ar; + MenhirLib.EngineTypes.startp = _startpos_ar_; + MenhirLib.EngineTypes.endp = _endpos_ar_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in + let len : 'tv_list_len = Obj.magic len in + let ispure : 'tv_pure = Obj.magic ispure in + let ar : 'tv_arity = Obj.magic ar in + let _startpos = _startpos_ar_ in + let _endpos = _endpos__9_ in + let _v : 'tv_metadec = +# 410 "parser_cocci_menhir.mly" + ( P.create_len_metadec ar ispure + (fun lenname arity name pure check_meta -> + let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in + !Data.add_initlist_meta name lenname pure; tok) + len ids ) +# 22890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17778,35 +22899,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_disable = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_disable_ = -# 59 "standard.mly" - ( x ) -# 17793 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_filespec_ = -# 57 "standard.mly" - ( [] ) -# 17810 "parser_cocci_menhir.ml" + let _1 : 'tv_pure_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1916 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 22914 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17819,35 +22923,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_filespec = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_filespec_ = -# 59 "standard.mly" - ( x ) -# 17834 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_minus_start_ = -# 57 "standard.mly" - ( [] ) -# 17851 "parser_cocci_menhir.ml" + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 22935 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1917 "parser_cocci_menhir.mly" + ( tmeta_to_ident _1 ) +# 22942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17860,35 +22951,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_minus_start = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_minus_start_ = -# 59 "standard.mly" - ( x ) -# 17875 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_not_ceq_ = -# 57 "standard.mly" - ( [] ) -# 17892 "parser_cocci_menhir.ml" + let _1 : ( +# 128 "parser_cocci_menhir.mly" + (Parse_aux.idinfo) +# 22963 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_mident = +# 1919 "parser_cocci_menhir.mly" + ( let (nm,constraints,pure,clt) = _1 in + Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) +# 22971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17900,19 +22979,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let x : 'tv_not_ceq = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_not_ceq_ = -# 59 "standard.mly" - ( x ) -# 17916 "parser_cocci_menhir.ml" + let b : 'tv_list_mzl_ctype__ = Obj.magic b in + let a : 'tv_ctype = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_ctype_ctype_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17923,13 +23008,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_not_eq_ = -# 57 "standard.mly" - ( [] ) -# 17933 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_disj_ident__ = Obj.magic b in + let a : 'tv_disj_ident = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_disj_ident_disj_ident_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17941,19 +23039,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let x : 'tv_not_eq = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_not_eq_ = -# 59 "standard.mly" - ( x ) -# 17957 "parser_cocci_menhir.ml" + let b : 'tv_list_mzl_eexpr__ = Obj.magic b in + let a : 'tv_eexpr = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_eexpr_eexpr_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23061 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17964,13 +23068,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_not_eqe_ = -# 57 "standard.mly" - ( [] ) -# 17974 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_eexpr__ = Obj.magic b in + let a : 'tv_expr = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_expr_eexpr_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17982,19 +23099,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let x : 'tv_not_eqe = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_not_eqe_ = -# 59 "standard.mly" - ( x ) -# 17998 "parser_cocci_menhir.ml" + let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in + let a : 'tv_fun_after_stm = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18005,13 +23128,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_not_pos_ = -# 57 "standard.mly" - ( [] ) -# 18015 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_fun_start__ = Obj.magic b in + let a : 'tv_fun_start = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_fun_start_fun_start_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18023,19 +23159,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let x : 'tv_not_pos = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_not_pos_ = -# 59 "standard.mly" - ( x ) -# 18039 "parser_cocci_menhir.ml" + let b : 'tv_list_mzl_mctype__ = Obj.magic b in + let a : 'tv_mctype = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_mctype_mctype_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18046,13 +23188,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_loption_plus_start_ = -# 57 "standard.mly" - ( [] ) -# 18056 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in + let a : 'tv_rule_elem_statement = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18064,19 +23219,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let x : 'tv_plus_start = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_plus_start_ = -# 59 "standard.mly" - ( x ) -# 18080 "parser_cocci_menhir.ml" + let b : 'tv_list_mzl_statement__ = Obj.magic b in + let a : 'tv_statement = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_midzero_list_statement_statement_ = +# 2239 "parser_cocci_menhir.mly" + ( let (mids,code) = List.split b in (mids,(a::code)) ) +# 23241 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18088,19 +23249,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = f; + MenhirLib.EngineTypes.startp = _startpos_f_; + MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let t : 'tv_typedef_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_t_ in - let _v : 'tv_meta_exp_type = -# 453 "parser_cocci_menhir.mly" - ( [Ast0_cocci.ast0_type_to_type t] ) -# 18104 "parser_cocci_menhir.ml" + let b : 'tv_loption_minus_start_ = Obj.magic b in + let f : 'tv_loption_filespec_ = Obj.magic f in + let _startpos = _startpos_f_ in + let _endpos = _endpos_b_ in + let _v : 'tv_minus_body = +# 815 "parser_cocci_menhir.mly" + ( match f@b(*@ew*) with + [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") + | code -> Top_level.top_level code ) +# 23273 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18112,35 +23281,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = f; + MenhirLib.EngineTypes.startp = _startpos_f_; + MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_list_TMul_ = Obj.magic m in - let t : 'tv_comma_list_ctype_ = Obj.magic t in - let _startpos = _startpos__1_ in - let _endpos = _endpos_m_ in - let _v : 'tv_meta_exp_type = -# 455 "parser_cocci_menhir.mly" - ( List.map - (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) - t ) -# 18144 "parser_cocci_menhir.ml" + let b : 'tv_top_eexpr = Obj.magic b in + let f : 'tv_loption_filespec_ = Obj.magic f in + let _startpos = _startpos_f_ in + let _endpos = _endpos_b_ in + let _v : 'tv_minus_exp_body = +# 829 "parser_cocci_menhir.mly" + ( match f@[b](*@ew*) with + [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") + | code -> Top_level.top_level code ) +# 23305 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18152,33 +23313,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : 'tv_pure_ident = Obj.magic _3 in - let _1 : ( -# 47 "parser_cocci_menhir.mly" - (string) -# 18175 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _1 : 'tv_minus_exp_body = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_meta_ident = -# 1379 "parser_cocci_menhir.mly" - ( (Some _1,P.id2name _3) ) -# 18182 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : ( +# 207 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23333 "parser_cocci_menhir.ml" + ) = +# 247 "parser_cocci_menhir.mly" + ( _1 ) +# 23337 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18190,23 +23345,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let m : 'tv_metadec = Obj.magic m in + let m : 'tv_minus_exp_body = Obj.magic m in let _startpos = _startpos_m_ in - let _endpos = _endpos_m_ in + let _endpos = _endpos__2_ in let _v : ( -# 157 "parser_cocci_menhir.mly" - ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18206 "parser_cocci_menhir.ml" +# 207 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23365 "parser_cocci_menhir.ml" ) = -# 181 "parser_cocci_menhir.mly" - ( m (!Ast0.rule_name) ) -# 18210 "parser_cocci_menhir.ml" +# 247 "parser_cocci_menhir.mly" + ( m ) +# 23369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18218,48 +23377,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 318 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaParamDecl(arity,name)) in - !Data.add_param_meta name pure; tok) ) -# 18257 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18263 "parser_cocci_menhir.ml" + let m : 'tv_minus_exp_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 207 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23397 "parser_cocci_menhir.ml" + ) = +# 248 "parser_cocci_menhir.mly" + ( m ) +# 23401 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18271,52 +23409,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 322 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in - !Data.add_paramlist_meta name None pure; tok) ) -# 18314 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18320 "parser_cocci_menhir.ml" + let _1 : 'tv_minus_body = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 204 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23429 "parser_cocci_menhir.ml" + ) = +# 243 "parser_cocci_menhir.mly" + ( _1 ) +# 23433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18328,52 +23441,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 326 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in - !Data.add_explist_meta name None pure; tok) ) -# 18371 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18377 "parser_cocci_menhir.ml" + let m : 'tv_minus_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 204 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23461 "parser_cocci_menhir.ml" + ) = +# 243 "parser_cocci_menhir.mly" + ( m ) +# 23465 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18385,48 +23473,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 330 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in - !Data.add_type_meta name pure; tok) ) -# 18424 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18430 "parser_cocci_menhir.ml" + let m : 'tv_minus_body = Obj.magic m in + let _startpos = _startpos_m_ in + let _endpos = _endpos__2_ in + let _v : ( +# 204 "parser_cocci_menhir.mly" + (Ast0_cocci.rule) +# 23493 "parser_cocci_menhir.ml" + ) = +# 244 "parser_cocci_menhir.mly" + ( m ) +# 23497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18438,48 +23505,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 334 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaInitDecl(arity,name)) in - !Data.add_init_meta name pure; tok) ) -# 18477 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18483 "parser_cocci_menhir.ml" + let _1 : 'tv_fundecl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2064 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.DECL(_1))] ) +# 23521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18491,48 +23529,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 338 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaStmDecl(arity,name)) in - !Data.add_stm_meta name pure; tok) ) -# 18530 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18536 "parser_cocci_menhir.ml" + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_ctype = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2065 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) +# 23545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18544,52 +23553,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 342 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta -> - let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in - !Data.add_stmlist_meta name pure; tok) ) -# 18587 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18593 "parser_cocci_menhir.ml" + let _1 : 'tv_top_init = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2066 "parser_cocci_menhir.mly" + ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) +# 23569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18601,49 +23577,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 346 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_type_name name; []) - else raise (Semantic_cocci.Semantic "bad typedef")) ) -# 18641 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18647 "parser_cocci_menhir.ml" + let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_minus_start = +# 2068 "parser_cocci_menhir.mly" + ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) +# 23593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18655,53 +23601,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 351 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_declarer_name name; []) - else raise (Semantic_cocci.Semantic "bad declarer")) ) -# 18699 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18705 "parser_cocci_menhir.ml" + let b : 'tv_ctype = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23620 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_ctype_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23627 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18713,53 +23635,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 356 "parser_cocci_menhir.mly" - ( (fun arity (_,name) pure check_meta -> - if arity = Ast.NONE && pure = Ast0.Impure - then (!Data.add_iterator_name name; []) - else raise (Semantic_cocci.Semantic "bad iterator")) ) -# 18757 "parser_cocci_menhir.ml" - - in - -# 263 "parser_cocci_menhir.mly" - ( P.create_metadec ar ispure kindfn ids ) -# 18763 "parser_cocci_menhir.ml" + let b : 'tv_disj_ident = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23654 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_disj_ident_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18771,40 +23669,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in - let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : 'tv_metadec = let kindfn = - -# 312 "parser_cocci_menhir.mly" - ( (fun name check_meta seed -> - let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in - !Data.add_fresh_id_meta name; tok) ) -# 18802 "parser_cocci_menhir.ml" - - in - -# 266 "parser_cocci_menhir.mly" - ( P.create_fresh_metadec kindfn ids ) -# 18808 "parser_cocci_menhir.ml" + let b : 'tv_eexpr = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23688 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_eexpr_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18816,48 +23703,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 364 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaIdDecl(arity,name)) in - !Data.add_id_meta name constraints pure; tok) ) -# 18855 "parser_cocci_menhir.ml" - - in - -# 270 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 18861 "parser_cocci_menhir.ml" + let b : 'tv_fun_after_dots_or = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23722 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_fun_after_dots_or_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18869,48 +23737,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 368 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in - !Data.add_func_meta name constraints pure; tok) ) -# 18908 "parser_cocci_menhir.ml" - - in - -# 270 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 18914 "parser_cocci_menhir.ml" + let b : 'tv_fun_start = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23756 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_fun_start_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18922,53 +23771,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - -# 372 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in - !Data.add_local_func_meta name constraints pure; - tok) ) -# 18966 "parser_cocci_menhir.ml" - - in - -# 270 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 18972 "parser_cocci_menhir.ml" + let b : 'tv_mctype = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23790 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_mctype_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18980,48 +23805,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 377 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in - !Data.add_declarer_meta name constraints pure; tok) ) -# 19019 "parser_cocci_menhir.ml" - - in - -# 270 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19025 "parser_cocci_menhir.ml" + let b : 'tv_rule_elem_statement = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23824 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_rule_elem_statement_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23831 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19033,48 +23839,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 381 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in - !Data.add_iterator_meta name constraints pure; tok) ) -# 19072 "parser_cocci_menhir.ml" - - in - -# 270 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19078 "parser_cocci_menhir.ml" + let b : 'tv_statement = Obj.magic b in + let a : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23858 "parser_cocci_menhir.ml" + ) = Obj.magic a in + let _startpos = _startpos_a_ in + let _endpos = _endpos_b_ in + let _v : 'tv_mzl_statement_ = +# 2242 "parser_cocci_menhir.mly" + ( (P.clt2mcode "|" a, b) ) +# 23865 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19086,48 +23873,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 387 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaErrDecl(arity,name)) in - !Data.add_err_meta name constraints pure; tok) ) -# 19125 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19131 "parser_cocci_menhir.ml" + let _1 : 'tv_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_name_opt_decl = +# 1045 "parser_cocci_menhir.mly" + ( _1 ) +# 23889 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19139,67 +23897,80 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = rp1; + MenhirLib.EngineTypes.startp = _startpos_rp1_; + MenhirLib.EngineTypes.endp = _endpos_rp1_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = lp1; + MenhirLib.EngineTypes.startp = _startpos_lp1_; + MenhirLib.EngineTypes.endp = _endpos_lp1_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l0; - MenhirLib.EngineTypes.startp = _startpos_l0_; - MenhirLib.EngineTypes.endp = _endpos_l0_; + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let l0 : 'tv_option_TLocal_ = Obj.magic l0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - let l = l0 in - let ty = - -# 39 "standard.mly" - ( None ) -# 19184 "parser_cocci_menhir.ml" - - in - -# 391 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - match l with - None -> - !Data.add_idexp_meta ty name constraints pure; - check_meta(Ast.MetaIdExpDecl(arity,name,ty)) - | Some _ -> - !Data.add_local_idexp_meta ty name constraints pure; - check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19197 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19203 "parser_cocci_menhir.ml" + let rp1 : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23940 "parser_cocci_menhir.ml" + ) = Obj.magic rp1 in + let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in + let lp1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23946 "parser_cocci_menhir.ml" + ) = Obj.magic lp1 in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 23951 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let s : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 23956 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 23961 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let t : 'tv_ctype = Obj.magic t in + let _startpos = _startpos_t_ in + let _endpos = _endpos_rp1_ in + let _v : 'tv_name_opt_decl = +# 1048 "parser_cocci_menhir.mly" + ( let fnptr = + Ast0.wrap + (Ast0.FunctionPointer + (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, + P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in + Ast0.wrap(Ast0.Param(fnptr, None)) ) +# 23974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19211,75 +23982,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x00; - MenhirLib.EngineTypes.startp = _startpos_x00_; - MenhirLib.EngineTypes.endp = _endpos_x00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l0; - MenhirLib.EngineTypes.startp = _startpos_l0_; - MenhirLib.EngineTypes.endp = _endpos_l0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let x00 : 'tv_meta_exp_type = Obj.magic x00 in - let l0 : 'tv_option_TLocal_ = Obj.magic l0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__7_ in - let _v : 'tv_metadec = let kindfn = - let x0 = x00 in - let l = l0 in - let ty = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 19264 "parser_cocci_menhir.ml" - - in - -# 391 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - match l with - None -> - !Data.add_idexp_meta ty name constraints pure; - check_meta(Ast.MetaIdExpDecl(arity,name,ty)) - | Some _ -> - !Data.add_local_idexp_meta ty name constraints pure; - check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19277 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19283 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2184 "parser_cocci_menhir.mly" + (_1@_2) +# 24004 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19291,68 +24012,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = m0; - MenhirLib.EngineTypes.startp = _startpos_m0_; - MenhirLib.EngineTypes.endp = _endpos_m0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = l0; - MenhirLib.EngineTypes.startp = _startpos_l0_; - MenhirLib.EngineTypes.endp = _endpos_l0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in - let l0 : 'tv_option_TLocal_ = Obj.magic l0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__7_ in - let _v : 'tv_metadec = let kindfn = - let m = m0 in - let l = l0 in - -# 400 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in - match l with - None -> - !Data.add_idexp_meta ty name constraints pure; - check_meta(Ast.MetaIdExpDecl(arity,name,ty)) - | Some _ -> - !Data.add_local_idexp_meta ty name constraints pure; - check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19350 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19356 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2185 "parser_cocci_menhir.mly" + (_2) +# 24032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19364,56 +24040,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = m0; - MenhirLib.EngineTypes.startp = _startpos_m0_; - MenhirLib.EngineTypes.endp = _endpos_m0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - let m = m0 in - -# 410 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in - let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in - !Data.add_exp_meta ty name constraints pure; tok) ) -# 19411 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19417 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _1 : 'tv_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_dots = +# 2186 "parser_cocci_menhir.mly" + ((Ast0.wrap(Ast0.Exp(_1)))::_2) +# 24062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19424,61 +24069,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = vl0; - MenhirLib.EngineTypes.startp = _startpos_vl0_; - MenhirLib.EngineTypes.endp = _endpos_vl0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__7_ in - let _v : 'tv_metadec = let kindfn = - let vl = vl0 in - -# 415 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in - let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in - !Data.add_exp_meta ty name constraints pure; tok) ) -# 19476 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19482 "parser_cocci_menhir.ml" + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_nest_after_exp = +# 2194 "parser_cocci_menhir.mly" + ([]) +# 24079 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19490,55 +24087,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - let ty = - -# 39 "standard.mly" - ( None ) -# 19528 "parser_cocci_menhir.ml" - - in - -# 420 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in - !Data.add_const_meta ty name constraints pure; tok) ) -# 19536 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19542 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_exp = +# 2195 "parser_cocci_menhir.mly" + (_1::_2) +# 24109 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_nest_after_stm = +# 2189 "parser_cocci_menhir.mly" + ([]) +# 24126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19550,63 +24134,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = x00; - MenhirLib.EngineTypes.startp = _startpos_x00_; - MenhirLib.EngineTypes.endp = _endpos_x00_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic ids in - let x00 : 'tv_meta_exp_type = Obj.magic x00 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__6_ in - let _v : 'tv_metadec = let kindfn = - let x0 = x00 in - let ty = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 19596 "parser_cocci_menhir.ml" - - in - -# 420 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in - !Data.add_const_meta ty name constraints pure; tok) ) -# 19604 "parser_cocci_menhir.ml" - - in - -# 274 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19610 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_dots = Obj.magic _2 in + let _1 : 'tv_stm_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_stm = +# 2190 "parser_cocci_menhir.mly" + (_1::_2) +# 24156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19618,48 +24164,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic ids in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - -# 426 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in - !Data.add_exp_meta None name constraints pure; tok) ) -# 19657 "parser_cocci_menhir.ml" - - in - -# 278 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19663 "parser_cocci_menhir.ml" + let _2 : 'tv_nest_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nest_after_stm = +# 2191 "parser_cocci_menhir.mly" + (_1@_2) +# 24186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19671,67 +24194,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = vl0; - MenhirLib.EngineTypes.startp = _startpos_vl0_; - MenhirLib.EngineTypes.endp = _endpos_vl0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic ids in - let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = let kindfn = - let vl = vl0 in - -# 430 "parser_cocci_menhir.mly" - ( (fun arity name pure check_meta constraints -> - let ty = Some vl in - List.iter - (function c -> - match Ast0.unwrap c with - Ast0.Constant(_) -> - if not - (List.exists - (function - Type_cocci.BaseType(Type_cocci.IntType) -> true - | Type_cocci.BaseType(Type_cocci.ShortType) -> true - | Type_cocci.BaseType(Type_cocci.LongType) -> true - | _ -> false) - vl) - then failwith "metavariable with int constraint must be an int" - | _ -> ()) - constraints; - let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in - !Data.add_exp_meta ty name constraints pure; tok) ) -# 19729 "parser_cocci_menhir.ml" - - in - -# 278 "parser_cocci_menhir.mly" - ( P.create_metadec_ne ar ispure kindfn ids ) -# 19735 "parser_cocci_menhir.ml" + let c : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24217 "parser_cocci_menhir.ml" + ) = Obj.magic c in + let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in + let _1 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24223 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos_c_ in + let _v : 'tv_nest_expressions = +# 1424 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, + Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), + P.clt2mcode "...>" c, None, false)) ) +# 24232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19743,45 +24240,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic ids in - let a : 'tv_option_TPosAny_ = Obj.magic a in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__5_ in - let _v : 'tv_metadec = -# 284 "parser_cocci_menhir.mly" - ( (if !Data.in_generating - then failwith "position variables not allowed in a generated rule file"); - let kindfn arity name pure check_meta constraints = - let tok = check_meta(Ast.MetaPosDecl(arity,name)) in - let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in - !Data.add_pos_meta name constraints any; tok in - P.create_metadec_ne ar false kindfn ids ) -# 19785 "parser_cocci_menhir.ml" + let c : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24263 "parser_cocci_menhir.ml" + ) = Obj.magic c in + let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in + let _1 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24269 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos_c_ in + let _v : 'tv_nest_expressions = +# 1428 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, + Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), + P.clt2mcode "...+>" c, None, true)) ) +# 24278 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19793,62 +24286,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__9_; - MenhirLib.EngineTypes.endp = _endpos__9_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__9_ in - let _v : 'tv_metadec = -# 294 "parser_cocci_menhir.mly" - ( P.create_len_metadec ar ispure - (fun lenname arity name pure check_meta -> - let tok = - check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in - !Data.add_paramlist_meta name (Some lenname) pure; tok) - id ids ) -# 19852 "parser_cocci_menhir.ml" + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 24299 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nest_expressions = +# 1431 "parser_cocci_menhir.mly" + ( tmeta_to_exp _1 ) +# 24306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19860,62 +24314,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__9_; - MenhirLib.EngineTypes.endp = _endpos__9_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ids; - MenhirLib.EngineTypes.startp = _startpos_ids_; - MenhirLib.EngineTypes.endp = _endpos_ids_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = id; - MenhirLib.EngineTypes.startp = _startpos_id_; - MenhirLib.EngineTypes.endp = _endpos_id_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ispure; - MenhirLib.EngineTypes.startp = _startpos_ispure_; - MenhirLib.EngineTypes.endp = _endpos_ispure_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = ar; - MenhirLib.EngineTypes.startp = _startpos_ar_; - MenhirLib.EngineTypes.endp = _endpos_ar_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in - let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in - let ispure : 'tv_pure = Obj.magic ispure in - let ar : 'tv_arity = Obj.magic ar in - let _startpos = _startpos_ar_ in - let _endpos = _endpos__9_ in - let _v : 'tv_metadec = -# 303 "parser_cocci_menhir.mly" - ( P.create_len_metadec ar ispure - (fun lenname arity name pure check_meta -> - let tok = - check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in - !Data.add_explist_meta name (Some lenname) pure; tok) - id ids ) -# 19919 "parser_cocci_menhir.ml" + let _1 : 'tv_nest_after_dots = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nest_start = +# 2181 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1)) ) +# 24330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19927,25 +24338,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_ctype__ = Obj.magic b in - let a : 'tv_ctype = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_ctype_ctype_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 19949 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : ( +# 238 "parser_cocci_menhir.mly" + (unit) +# 24352 "parser_cocci_menhir.ml" + ) = +# 2309 "parser_cocci_menhir.mly" + ( () ) +# 24356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19957,25 +24364,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_eexpr__ = Obj.magic b in - let a : 'tv_eexpr = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 19979 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : ( +# 238 "parser_cocci_menhir.mly" + (unit) +# 24382 "parser_cocci_menhir.ml" + ) = +# 2310 "parser_cocci_menhir.mly" + ( () ) +# 24386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19987,25 +24394,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_eexpr__ = Obj.magic b in - let a : 'tv_expr = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_expr_eexpr_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20009 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : ( +# 238 "parser_cocci_menhir.mly" + (unit) +# 24408 "parser_cocci_menhir.ml" + ) = +# 2311 "parser_cocci_menhir.mly" + ( () ) +# 24412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20017,25 +24420,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = dg; + MenhirLib.EngineTypes.startp = _startpos_dg_; + MenhirLib.EngineTypes.endp = _endpos_dg_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = g; + MenhirLib.EngineTypes.startp = _startpos_g_; + MenhirLib.EngineTypes.endp = _endpos_g_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in - let a : 'tv_fun_after_stm = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20039 "parser_cocci_menhir.ml" + let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in + let g : 'tv_dexpr = Obj.magic g in + let _startpos = _startpos_g_ in + let _endpos = _endpos_dg_ in + let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = +# 1647 "parser_cocci_menhir.mly" + ( function dot_builder -> + g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) +# 24443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20047,25 +24451,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_fun_start__ = Obj.magic b in - let a : 'tv_fun_start = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20069 "parser_cocci_menhir.ml" + let x : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 24464 "parser_cocci_menhir.ml" + ) = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_nonempty_list_TMul_ = +# 124 "standard.mly" + ( [ x ] ) +# 24471 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20077,25 +24479,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in - let a : 'tv_rule_elem_statement = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20099 "parser_cocci_menhir.ml" + let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in + let x : ( +# 167 "parser_cocci_menhir.mly" + (Data.clt) +# 24498 "parser_cocci_menhir.ml" + ) = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_nonempty_list_TMul_ = +# 126 "standard.mly" + ( x :: xs ) +# 24505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20107,25 +24513,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_list_mzl_statement__ = Obj.magic b in - let a : 'tv_statement = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_midzero_list_statement_statement_ = -# 1819 "parser_cocci_menhir.mly" - ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20129 "parser_cocci_menhir.ml" + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20137,27 +24537,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = f; - MenhirLib.EngineTypes.startp = _startpos_f_; - MenhirLib.EngineTypes.endp = _endpos_f_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_loption_minus_start_ = Obj.magic b in - let f : 'tv_loption_filespec_ = Obj.magic f in - let _startpos = _startpos_f_ in - let _endpos = _endpos_b_ in - let _v : 'tv_minus_body = -# 597 "parser_cocci_menhir.mly" - ( match f@b(*@ew*) with - [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") - | code -> Top_level.top_level code ) -# 20161 "parser_cocci_menhir.ml" + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24555 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20169,27 +24572,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = f; - MenhirLib.EngineTypes.startp = _startpos_f_; - MenhirLib.EngineTypes.endp = _endpos_f_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_top_eexpr = Obj.magic b in - let f : 'tv_loption_filespec_ = Obj.magic f in - let _startpos = _startpos_f_ in - let _endpos = _endpos_b_ in - let _v : 'tv_minus_exp_body = -# 611 "parser_cocci_menhir.mly" - ( match f@[b](*@ew*) with - [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") - | code -> Top_level.top_level code ) -# 20193 "parser_cocci_menhir.ml" + let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24596 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_aexpr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20201,27 +24614,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _1 : 'tv_minus_exp_body = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 137 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20221 "parser_cocci_menhir.ml" - ) = -# 177 "parser_cocci_menhir.mly" - ( _1 ) -# 20225 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 24634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20233,27 +24642,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_minus_exp_body = Obj.magic m in - let _startpos = _startpos_m_ in - let _endpos = _endpos__2_ in - let _v : ( -# 137 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20253 "parser_cocci_menhir.ml" - ) = -# 177 "parser_cocci_menhir.mly" - ( m ) -# 20257 "parser_cocci_menhir.ml" + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24655 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24662 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20265,27 +24670,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_minus_exp_body = Obj.magic m in - let _startpos = _startpos_m_ in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24688 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24693 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in - let _v : ( -# 137 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20285 "parser_cocci_menhir.ml" - ) = -# 178 "parser_cocci_menhir.mly" - ( m ) -# 20289 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20297,27 +24709,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _1 : 'tv_minus_body = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : ( -# 134 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20317 "parser_cocci_menhir.ml" - ) = -# 173 "parser_cocci_menhir.mly" - ( _1 ) -# 20321 "parser_cocci_menhir.ml" + let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24733 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24738 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20329,27 +24756,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let m : 'tv_minus_body = Obj.magic m in - let _startpos = _startpos_m_ in - let _endpos = _endpos__2_ in - let _v : ( -# 134 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20349 "parser_cocci_menhir.ml" - ) = -# 173 "parser_cocci_menhir.mly" - ( m ) -# 20353 "parser_cocci_menhir.ml" + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 24772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20361,27 +24780,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = m; - MenhirLib.EngineTypes.startp = _startpos_m_; - MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let m : 'tv_minus_body = Obj.magic m in - let _startpos = _startpos_m_ in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24798 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in + let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 134 "parser_cocci_menhir.mly" - (Ast0_cocci.rule) -# 20381 "parser_cocci_menhir.ml" - ) = -# 174 "parser_cocci_menhir.mly" - ( m ) -# 20385 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20393,19 +24815,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in - let _1 : 'tv_fundecl = Obj.magic _1 in + let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24839 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_dparam = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1628 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.DECL(_1))] ) -# 20409 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 24849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20417,19 +24857,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_ctype = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1629 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 20433 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 24877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20442,18 +24886,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_top_init = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1630 "parser_cocci_menhir.mly" - ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 20457 "parser_cocci_menhir.ml" + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24898 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 24905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20465,19 +24913,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_minus_start = -# 1632 "parser_cocci_menhir.mly" - ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 20481 "parser_cocci_menhir.ml" + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 24931 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24936 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 24944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20489,29 +24952,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_ctype = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" + let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 20508 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_ctype_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20515 "parser_cocci_menhir.ml" +# 24976 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 24981 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 24991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20523,29 +24999,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_eexpr = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 20542 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_eexpr_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20549 "parser_cocci_menhir.ml" + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 25015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20557,29 +25023,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_fun_after_dots_or = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 20576 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_fun_after_dots_or_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20583 "parser_cocci_menhir.ml" +# 25041 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20591,29 +25058,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let b : 'tv_fun_start = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" + let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 20610 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_fun_start_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20617 "parser_cocci_menhir.ml" +# 25082 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_enum_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20625,29 +25100,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let b : 'tv_rule_elem_statement = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 20644 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_rule_elem_statement_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20651 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 25120 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20659,29 +25128,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let b : 'tv_statement = Obj.magic b in - let a : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 20678 "parser_cocci_menhir.ml" - ) = Obj.magic a in - let _startpos = _startpos_a_ in - let _endpos = _endpos_b_ in - let _v : 'tv_mzl_statement_ = -# 1822 "parser_cocci_menhir.mly" - ( (P.clt2mcode "|" a, b) ) -# 20685 "parser_cocci_menhir.ml" + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20693,19 +25152,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _1 : 'tv_decl = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_name_opt_decl = -# 818 "parser_cocci_menhir.mly" - ( _1 ) -# 20709 "parser_cocci_menhir.ml" + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25170 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25179 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20717,80 +25187,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = rp1; - MenhirLib.EngineTypes.startp = _startpos_rp1_; - MenhirLib.EngineTypes.endp = _endpos_rp1_; + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp1; - MenhirLib.EngineTypes.startp = _startpos_lp1_; - MenhirLib.EngineTypes.endp = _endpos_lp1_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = rp; - MenhirLib.EngineTypes.startp = _startpos_rp_; - MenhirLib.EngineTypes.endp = _endpos_rp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lp; - MenhirLib.EngineTypes.startp = _startpos_lp_; - MenhirLib.EngineTypes.endp = _endpos_lp_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = t; - MenhirLib.EngineTypes.startp = _startpos_t_; - MenhirLib.EngineTypes.endp = _endpos_t_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in - let rp1 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 20760 "parser_cocci_menhir.ml" - ) = Obj.magic rp1 in - let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in - let lp1 : ( -# 76 "parser_cocci_menhir.mly" - (Data.clt) -# 20766 "parser_cocci_menhir.ml" - ) = Obj.magic lp1 in - let rp : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 20771 "parser_cocci_menhir.ml" - ) = Obj.magic rp in - let s : ( -# 99 "parser_cocci_menhir.mly" - (Data.clt) -# 20776 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let lp : ( -# 76 "parser_cocci_menhir.mly" + let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 20781 "parser_cocci_menhir.ml" - ) = Obj.magic lp in - let t : 'tv_ctype = Obj.magic t in - let _startpos = _startpos_t_ in - let _endpos = _endpos_rp1_ in - let _v : 'tv_name_opt_decl = -# 821 "parser_cocci_menhir.mly" - ( let fnptr = - Ast0.wrap - (Ast0.FunctionPointer - (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, - P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in - Ast0.wrap(Ast0.Param(fnptr, None)) ) -# 20794 "parser_cocci_menhir.ml" +# 25211 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25222 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_initialize2 = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 25246 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20813,14 +25265,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25272 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1743 "parser_cocci_menhir.mly" - (_1@_2) -# 20824 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20832,23 +25289,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; } = _menhir_stack in - let _2 : 'tv_nest_after_exp = Obj.magic _2 in + let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25313 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1744 "parser_cocci_menhir.mly" - (_2) -# 20852 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25323 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20865,20 +25336,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_exp = Obj.magic _2 in - let _1 : 'tv_expr = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_dots = -# 1745 "parser_cocci_menhir.mly" - ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 20882 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 25351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20889,13 +25358,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_nest_after_exp = -# 1753 "parser_cocci_menhir.mly" - ([]) -# 20899 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25375 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20912,20 +25388,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in - let _startpos = _startpos__1_ in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25401 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_exp = -# 1754 "parser_cocci_menhir.mly" - (_1::_2) -# 20929 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20936,13 +25417,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in - let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in - let _endpos = _startpos in - let _v : 'tv_nest_after_stm = -# 1748 "parser_cocci_menhir.mly" - ([]) -# 20946 "parser_cocci_menhir.ml" + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25442 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20954,25 +25461,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _2 : 'tv_nest_after_dots = Obj.magic _2 in - let _1 : 'tv_stm_dots = Obj.magic _1 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_stm = -# 1749 "parser_cocci_menhir.mly" - (_1::_2) -# 20976 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 25477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20995,14 +25496,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_nest_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement = Obj.magic _1 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25503 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_nest_after_stm = -# 1750 "parser_cocci_menhir.mly" - (_1@_2) -# 21006 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21014,13 +25520,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; MenhirLib.EngineTypes.semv = _1; @@ -21030,25 +25536,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let c : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 21037 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in - let _1 : ( -# 73 "parser_cocci_menhir.mly" + let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21043 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in +# 25544 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos_c_ in - let _v : 'tv_nest_expressions = -# 1202 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, - Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), - P.clt2mcode "...>" c, None, false)) ) -# 21052 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25554 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21060,41 +25562,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = c; - MenhirLib.EngineTypes.startp = _startpos_c_; - MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let c : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 21083 "parser_cocci_menhir.ml" - ) = Obj.magic c in - let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in - let _1 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 21089 "parser_cocci_menhir.ml" - ) = Obj.magic _1 in + let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos_c_ in - let _v : 'tv_nest_expressions = -# 1206 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, - Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), - P.clt2mcode "...+>" c, None, true)) ) -# 21098 "parser_cocci_menhir.ml" + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 25582 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21107,18 +25591,108 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_nest_after_dots = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_nest_start = -# 1740 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 21122 "parser_cocci_menhir.ml" + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 25603 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25610 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25636 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 25641 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25649 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25681 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 25686 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25696 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21131,20 +25705,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : ( -# 168 "parser_cocci_menhir.mly" - (unit) -# 21144 "parser_cocci_menhir.ml" - ) = -# 1885 "parser_cocci_menhir.mly" - ( () ) -# 21148 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1991 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [_1] ) +# 25720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21156,25 +25728,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25746 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : ( -# 168 "parser_cocci_menhir.mly" - (unit) -# 21174 "parser_cocci_menhir.ml" - ) = -# 1886 "parser_cocci_menhir.mly" - ( () ) -# 21178 "parser_cocci_menhir.ml" + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1993 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21186,21 +25763,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25787 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : ( -# 168 "parser_cocci_menhir.mly" - (unit) -# 21200 "parser_cocci_menhir.ml" - ) = -# 1887 "parser_cocci_menhir.mly" - ( () ) -# 21204 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1996 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (_3 build_dots build_comma) ) +# 25797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21212,26 +25805,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = dg; - MenhirLib.EngineTypes.startp = _startpos_dg_; - MenhirLib.EngineTypes.endp = _endpos_dg_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = g; - MenhirLib.EngineTypes.startp = _startpos_g_; - MenhirLib.EngineTypes.endp = _endpos_g_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in - let g : 'tv_dexpr = Obj.magic g in - let _startpos = _startpos_g_ in - let _endpos = _endpos_dg_ in - let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1370 "parser_cocci_menhir.mly" - ( function dot_builder -> - g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 21235 "parser_cocci_menhir.ml" + let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 1999 "parser_cocci_menhir.mly" + ( _2 ) +# 25825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21244,22 +25834,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : ( -# 99 "parser_cocci_menhir.mly" + let d : ( +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 21256 "parser_cocci_menhir.ml" - ) = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_nonempty_list_TMul_ = -# 124 "standard.mly" - ( [ x ] ) -# 21263 "parser_cocci_menhir.ml" +# 25846 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_d_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 2000 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> [(build_dots "..." d)] ) +# 25853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21271,29 +25861,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in - let x : ( -# 99 "parser_cocci_menhir.mly" + let _2 : ( +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21290 "parser_cocci_menhir.ml" - ) = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_nonempty_list_TMul_ = -# 126 "standard.mly" - ( x :: xs ) -# 21297 "parser_cocci_menhir.ml" +# 25879 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 25884 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 2002 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] ) +# 25892 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in + let _2 : ( +# 175 "parser_cocci_menhir.mly" + (Data.clt) +# 25924 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in + let d : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 25929 "parser_cocci_menhir.ml" + ) = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = +# 2005 "parser_cocci_menhir.mly" + ( fun build_dots build_comma -> + (build_dots "..." d):: + (Ast0.wrap(build_comma(P.clt2mcode "," _2))):: + (r build_dots build_comma) ) +# 25939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21319,13 +25961,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1461 "parser_cocci_menhir.mly" +# 1828 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); [i] ) -# 21329 "parser_cocci_menhir.ml" +# 25971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21359,13 +26001,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1467 "parser_cocci_menhir.mly" +# 1834 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); l ) -# 21369 "parser_cocci_menhir.ml" +# 26011 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ceq; + MenhirLib.EngineTypes.startp = _startpos_ceq_; + MenhirLib.EngineTypes.endp = _endpos_ceq_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let ceq : 'tv_not_ceq = Obj.magic ceq in + let _startpos = _startpos_ceq_ in + let _endpos = _endpos_ceq_ in + let _v : 'tv_not_ceq_or_sub = +# 1804 "parser_cocci_menhir.mly" + (Ast0.NotExpCstrt ceq) +# 26035 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let s : 'tv_sub = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_s_ in + let _v : 'tv_not_ceq_or_sub = +# 1805 "parser_cocci_menhir.mly" + (Ast0.SubExpCstrt s) +# 26059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21390,16 +26080,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i : 'tv_pure_ident = Obj.magic i in let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in - let _v : 'tv_not_eq = -# 1428 "parser_cocci_menhir.mly" + let _v : 'tv_not_eqe = +# 1809 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating - (* pb: constraints not stored with metavars; too lazy to search for - them in the pattern *) then failwith "constraints not allowed in a generated rule file"); - [Ast0.wrap(Ast0.Id(P.id2mcode i))] ) -# 21403 "parser_cocci_menhir.ml" + [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))] + ) +# 26092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21432,14 +26121,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l : 'tv_comma_list_pure_ident_ = Obj.magic l in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in - let _v : 'tv_not_eq = -# 1436 "parser_cocci_menhir.mly" + let _v : 'tv_not_eqe = +# 1816 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); - List.map (function i -> Ast0.wrap(Ast0.Id(P.id2mcode i))) l ) -# 21443 "parser_cocci_menhir.ml" + List.map + (function i -> + Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) + l + ) +# 26136 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21461,17 +26154,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let i : 'tv_pure_ident = Obj.magic i in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in - let _v : 'tv_not_eqe = -# 1444 "parser_cocci_menhir.mly" + let _v : 'tv_not_eqid = +# 1766 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating + (* pb: constraints not stored with metavars; too lazy to search for + them in the pattern *) then failwith "constraints not allowed in a generated rule file"); - [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))] ) -# 21475 "parser_cocci_menhir.ml" + (match i with + (Some rn,id) -> + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in + Ast.IdNegIdSet([],[i]) + | (None,i) -> Ast.IdNegIdSet([i],[])) ) +# 26176 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21501,20 +26202,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let l : 'tv_comma_list_pure_ident_ = Obj.magic l in + let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in - let _v : 'tv_not_eqe = -# 1450 "parser_cocci_menhir.mly" + let _v : 'tv_not_eqid = +# 1780 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); - List.map - (function i -> - Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) - l ) -# 21518 "parser_cocci_menhir.ml" + let (str,meta) = + List.fold_left + (function (str,meta) -> + function + (Some rn,id) as i -> + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in + (str,i::meta) + | (None,i) -> (i::str,meta)) + ([],[]) l in + Ast.IdNegIdSet(str,meta) + ) +# 26228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21540,18 +26250,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1481 "parser_cocci_menhir.mly" +# 1872 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); - match i with - (None,_) -> failwith "constraint must be an inherited variable" - | (Some rule,name) -> - let i = (rule,name) in - P.check_meta(Ast.MetaPosDecl(Ast.NONE,i)); - [i] ) -# 21555 "parser_cocci_menhir.ml" + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in + [i] ) +# 26263 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21585,21 +26293,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1492 "parser_cocci_menhir.mly" +# 1881 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); List.map - (function - (None,_) -> - failwith "constraint must be an inherited variable" - | (Some rule,name) -> - let i = (rule,name) in - P.check_meta(Ast.MetaPosDecl(Ast.NONE,i)); - i) + (function i -> + P.check_inherited_constraint i + (function mv -> Ast.MetaPosDecl(Ast.NONE,mv))) l ) -# 21603 "parser_cocci_menhir.ml" +# 26307 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21621,9 +26325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1566 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _1 ) -# 21627 "parser_cocci_menhir.ml" +# 26331 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21642,22 +26346,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21648 "parser_cocci_menhir.ml" +# 26352 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1568 "parser_cocci_menhir.mly" +# 1968 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in - let lenname = - match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + let lenname = + match lenname with + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21661 "parser_cocci_menhir.ml" +# 26366 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21679,9 +26384,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1566 "parser_cocci_menhir.mly" +# 1966 "parser_cocci_menhir.mly" ( _1 ) -# 21685 "parser_cocci_menhir.ml" +# 26390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21700,22 +26405,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 133 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21706 "parser_cocci_menhir.ml" +# 26411 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1568 "parser_cocci_menhir.mly" +# 1968 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in - let lenname = - match lenname with - Some nm -> Some(P.clt2mcode nm clt) - | None -> None in + let lenname = + match lenname with + Ast.AnyLen -> Ast0.AnyListLen + | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) + | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21719 "parser_cocci_menhir.ml" +# 26425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21739,17 +26445,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21745 "parser_cocci_menhir.ml" +# 26451 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = -# 991 "parser_cocci_menhir.mly" +# 1225 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 21753 "parser_cocci_menhir.ml" +# 26459 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 26480 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_one_decl_var = +# 1226 "parser_cocci_menhir.mly" + ( P.meta_decl _1 ) +# 26487 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21778,9 +26512,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21784 "parser_cocci_menhir.ml" +# 26518 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -21790,14 +26524,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 21794 "parser_cocci_menhir.ml" +# 26528 "parser_cocci_menhir.ml" in -# 993 "parser_cocci_menhir.mly" +# 1228 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 21801 "parser_cocci_menhir.ml" +# 26535 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21831,9 +26565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21837 "parser_cocci_menhir.ml" +# 26571 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -21845,14 +26579,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 21849 "parser_cocci_menhir.ml" +# 26583 "parser_cocci_menhir.ml" in -# 993 "parser_cocci_menhir.mly" +# 1228 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 21856 "parser_cocci_menhir.ml" +# 26590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21874,9 +26608,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 995 "parser_cocci_menhir.mly" +# 1230 "parser_cocci_menhir.mly" ( f ) -# 21880 "parser_cocci_menhir.ml" +# 26614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21915,15 +26649,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21921 "parser_cocci_menhir.ml" +# 26655 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21927 "parser_cocci_menhir.ml" +# 26661 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -21933,14 +26667,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 21937 "parser_cocci_menhir.ml" +# 26671 "parser_cocci_menhir.ml" in -# 997 "parser_cocci_menhir.mly" +# 1232 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 21944 "parser_cocci_menhir.ml" +# 26678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21984,15 +26718,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21990 "parser_cocci_menhir.ml" +# 26724 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 21996 "parser_cocci_menhir.ml" +# 26730 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22004,14 +26738,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22008 "parser_cocci_menhir.ml" +# 26742 "parser_cocci_menhir.ml" in -# 997 "parser_cocci_menhir.mly" +# 1232 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22015 "parser_cocci_menhir.ml" +# 26749 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22040,9 +26774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22046 "parser_cocci_menhir.ml" +# 26780 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22052,22 +26786,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22056 "parser_cocci_menhir.ml" +# 26790 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22063 "parser_cocci_menhir.ml" +# 26797 "parser_cocci_menhir.ml" in -# 1002 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22071 "parser_cocci_menhir.ml" +# 26805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22101,9 +26835,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22107 "parser_cocci_menhir.ml" +# 26841 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22115,22 +26849,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22119 "parser_cocci_menhir.ml" +# 26853 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22126 "parser_cocci_menhir.ml" +# 26860 "parser_cocci_menhir.ml" in -# 1002 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22134 "parser_cocci_menhir.ml" +# 26868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22164,9 +26898,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22170 "parser_cocci_menhir.ml" +# 26904 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22177,7 +26911,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22181 "parser_cocci_menhir.ml" +# 26915 "parser_cocci_menhir.ml" in let s = @@ -22185,15 +26919,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22189 "parser_cocci_menhir.ml" +# 26923 "parser_cocci_menhir.ml" in -# 1002 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22197 "parser_cocci_menhir.ml" +# 26931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22232,9 +26966,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22238 "parser_cocci_menhir.ml" +# 26972 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22247,7 +26981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22251 "parser_cocci_menhir.ml" +# 26985 "parser_cocci_menhir.ml" in let s = @@ -22255,15 +26989,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22259 "parser_cocci_menhir.ml" +# 26993 "parser_cocci_menhir.ml" in -# 1002 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22267 "parser_cocci_menhir.ml" +# 27001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22302,15 +27036,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22308 "parser_cocci_menhir.ml" +# 27042 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22314 "parser_cocci_menhir.ml" +# 27048 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22320,24 +27054,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22324 "parser_cocci_menhir.ml" +# 27058 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22331 "parser_cocci_menhir.ml" +# 27065 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1242 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22341 "parser_cocci_menhir.ml" +# 27075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22381,15 +27115,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22387 "parser_cocci_menhir.ml" +# 27121 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22393 "parser_cocci_menhir.ml" +# 27127 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22401,24 +27135,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22405 "parser_cocci_menhir.ml" +# 27139 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22412 "parser_cocci_menhir.ml" +# 27146 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1242 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22422 "parser_cocci_menhir.ml" +# 27156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22462,15 +27196,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22468 "parser_cocci_menhir.ml" +# 27202 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22474 "parser_cocci_menhir.ml" +# 27208 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22481,7 +27215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22485 "parser_cocci_menhir.ml" +# 27219 "parser_cocci_menhir.ml" in let s = @@ -22489,17 +27223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22493 "parser_cocci_menhir.ml" +# 27227 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1242 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22503 "parser_cocci_menhir.ml" +# 27237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22548,15 +27282,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22554 "parser_cocci_menhir.ml" +# 27288 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22560 "parser_cocci_menhir.ml" +# 27294 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22569,7 +27303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22573 "parser_cocci_menhir.ml" +# 27307 "parser_cocci_menhir.ml" in let s = @@ -22577,17 +27311,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22581 "parser_cocci_menhir.ml" +# 27315 "parser_cocci_menhir.ml" in -# 1007 "parser_cocci_menhir.mly" +# 1242 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22591 "parser_cocci_menhir.ml" +# 27325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22646,36 +27380,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22652 "parser_cocci_menhir.ml" +# 27386 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22657 "parser_cocci_menhir.ml" +# 27391 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22663 "parser_cocci_menhir.ml" +# 27397 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22668 "parser_cocci_menhir.ml" +# 27402 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 22674 "parser_cocci_menhir.ml" +# 27408 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22679 "parser_cocci_menhir.ml" +# 27413 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -22684,11 +27418,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22688 "parser_cocci_menhir.ml" +# 27422 "parser_cocci_menhir.ml" in -# 1017 "parser_cocci_menhir.mly" +# 1252 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22696,7 +27430,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22700 "parser_cocci_menhir.ml" +# 27434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22760,36 +27494,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22766 "parser_cocci_menhir.ml" +# 27500 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22771 "parser_cocci_menhir.ml" +# 27505 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22777 "parser_cocci_menhir.ml" +# 27511 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22782 "parser_cocci_menhir.ml" +# 27516 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 22788 "parser_cocci_menhir.ml" +# 27522 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22793 "parser_cocci_menhir.ml" +# 27527 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -22800,11 +27534,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22804 "parser_cocci_menhir.ml" +# 27538 "parser_cocci_menhir.ml" in -# 1017 "parser_cocci_menhir.mly" +# 1252 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22812,7 +27546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22816 "parser_cocci_menhir.ml" +# 27550 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22851,29 +27585,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22857 "parser_cocci_menhir.ml" +# 27591 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22862 "parser_cocci_menhir.ml" +# 27596 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22868 "parser_cocci_menhir.ml" +# 27602 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1025 "parser_cocci_menhir.mly" +# 1260 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 22877 "parser_cocci_menhir.ml" +# 27611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22942,42 +27676,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22948 "parser_cocci_menhir.ml" +# 27682 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 22954 "parser_cocci_menhir.ml" +# 27688 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22959 "parser_cocci_menhir.ml" +# 27693 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22965 "parser_cocci_menhir.ml" +# 27699 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 22970 "parser_cocci_menhir.ml" +# 27704 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 22976 "parser_cocci_menhir.ml" +# 27710 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 22981 "parser_cocci_menhir.ml" +# 27715 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -22986,11 +27720,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22990 "parser_cocci_menhir.ml" +# 27724 "parser_cocci_menhir.ml" in -# 1031 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22998,7 +27732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23002 "parser_cocci_menhir.ml" +# 27736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23072,42 +27806,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 23078 "parser_cocci_menhir.ml" +# 27812 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 23084 "parser_cocci_menhir.ml" +# 27818 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 23089 "parser_cocci_menhir.ml" +# 27823 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23095 "parser_cocci_menhir.ml" +# 27829 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 23100 "parser_cocci_menhir.ml" +# 27834 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 23106 "parser_cocci_menhir.ml" +# 27840 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 23111 "parser_cocci_menhir.ml" +# 27845 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23118,11 +27852,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23122 "parser_cocci_menhir.ml" +# 27856 "parser_cocci_menhir.ml" in -# 1031 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23130,7 +27864,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23134 "parser_cocci_menhir.ml" +# 27868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23147,7 +27881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 23151 "parser_cocci_menhir.ml" +# 27885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23171,7 +27905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 23175 "parser_cocci_menhir.ml" +# 27909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23188,7 +27922,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 23192 "parser_cocci_menhir.ml" +# 27926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23212,7 +27946,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 23216 "parser_cocci_menhir.ml" +# 27950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23229,7 +27963,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 23233 "parser_cocci_menhir.ml" +# 27967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23253,7 +27987,130 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 23257 "parser_cocci_menhir.ml" +# 27991 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_option_not_ceq_or_sub_ = +# 29 "standard.mly" + ( None ) +# 28008 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_not_ceq_or_sub = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_option_not_ceq_or_sub_ = +# 31 "standard.mly" + ( Some x ) +# 28032 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_option_re_or_not_eqe_or_sub_ = +# 29 "standard.mly" + ( None ) +# 28049 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_option_re_or_not_eqe_or_sub_ = +# 31 "standard.mly" + ( Some x ) +# 28073 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_option_re_or_not_eqid_ = +# 29 "standard.mly" + ( None ) +# 28090 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_re_or_not_eqid = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_option_re_or_not_eqid_ = +# 31 "standard.mly" + ( Some x ) +# 28114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23268,9 +28125,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 1690 "parser_cocci_menhir.mly" +# 2131 "parser_cocci_menhir.mly" ([]) -# 23274 "parser_cocci_menhir.ml" +# 28131 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23296,9 +28153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1691 "parser_cocci_menhir.mly" +# 2132 "parser_cocci_menhir.mly" (_2) -# 23302 "parser_cocci_menhir.ml" +# 28159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23326,9 +28183,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1693 "parser_cocci_menhir.mly" +# 2134 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23332 "parser_cocci_menhir.ml" +# 28189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23356,9 +28213,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1694 "parser_cocci_menhir.mly" +# 2135 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23362 "parser_cocci_menhir.ml" +# 28219 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23386,9 +28243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1696 "parser_cocci_menhir.mly" +# 2137 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23392 "parser_cocci_menhir.ml" +# 28249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23403,9 +28260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 1686 "parser_cocci_menhir.mly" +# 2127 "parser_cocci_menhir.mly" ([]) -# 23409 "parser_cocci_menhir.ml" +# 28266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23433,9 +28290,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1687 "parser_cocci_menhir.mly" +# 2128 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23439 "parser_cocci_menhir.ml" +# 28296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23450,9 +28307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 1699 "parser_cocci_menhir.mly" +# 2140 "parser_cocci_menhir.mly" ([]) -# 23456 "parser_cocci_menhir.ml" +# 28313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23480,9 +28337,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1700 "parser_cocci_menhir.mly" +# 2141 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23486 "parser_cocci_menhir.ml" +# 28343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23510,9 +28367,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1701 "parser_cocci_menhir.mly" +# 2142 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23516 "parser_cocci_menhir.ml" +# 28373 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23540,9 +28397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1703 "parser_cocci_menhir.mly" +# 2144 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23546 "parser_cocci_menhir.ml" +# 28403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23570,9 +28427,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 605 "parser_cocci_menhir.mly" +# 823 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 23576 "parser_cocci_menhir.ml" +# 28433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23600,9 +28457,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 619 "parser_cocci_menhir.mly" +# 837 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 23606 "parser_cocci_menhir.ml" +# 28463 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23628,13 +28485,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23634 "parser_cocci_menhir.ml" +# 28491 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( _1 ) -# 23638 "parser_cocci_menhir.ml" +# 28495 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23660,13 +28517,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23666 "parser_cocci_menhir.ml" +# 28523 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( p ) -# 23670 "parser_cocci_menhir.ml" +# 28527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23692,13 +28549,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 143 "parser_cocci_menhir.mly" +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23698 "parser_cocci_menhir.ml" +# 28555 "parser_cocci_menhir.ml" ) = -# 180 "parser_cocci_menhir.mly" +# 250 "parser_cocci_menhir.mly" ( p ) -# 23702 "parser_cocci_menhir.ml" +# 28559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23724,13 +28581,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23730 "parser_cocci_menhir.ml" +# 28587 "parser_cocci_menhir.ml" ) = -# 175 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( _1 ) -# 23734 "parser_cocci_menhir.ml" +# 28591 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23756,13 +28613,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23762 "parser_cocci_menhir.ml" +# 28619 "parser_cocci_menhir.ml" ) = -# 175 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( p ) -# 23766 "parser_cocci_menhir.ml" +# 28623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23788,13 +28645,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 140 "parser_cocci_menhir.mly" +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23794 "parser_cocci_menhir.ml" +# 28651 "parser_cocci_menhir.ml" ) = -# 176 "parser_cocci_menhir.mly" +# 246 "parser_cocci_menhir.mly" ( p ) -# 23798 "parser_cocci_menhir.ml" +# 28655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23816,9 +28673,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1675 "parser_cocci_menhir.mly" +# 2116 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 23822 "parser_cocci_menhir.ml" +# 28679 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23840,9 +28697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1676 "parser_cocci_menhir.mly" +# 2117 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 23846 "parser_cocci_menhir.ml" +# 28703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23870,9 +28727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1678 "parser_cocci_menhir.mly" +# 2119 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23876 "parser_cocci_menhir.ml" +# 28733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23900,9 +28757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1680 "parser_cocci_menhir.mly" +# 2121 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23906 "parser_cocci_menhir.ml" +# 28763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23930,9 +28787,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1681 "parser_cocci_menhir.mly" +# 2122 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23936 "parser_cocci_menhir.ml" +# 28793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23960,9 +28817,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1683 "parser_cocci_menhir.mly" +# 2124 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23966 "parser_cocci_menhir.ml" +# 28823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23981,16 +28838,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 23987 "parser_cocci_menhir.ml" +# 28844 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 230 "parser_cocci_menhir.mly" +# 300 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 23994 "parser_cocci_menhir.ml" +# 28851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24013,16 +28870,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24019 "parser_cocci_menhir.ml" +# 28876 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 231 "parser_cocci_menhir.mly" +# 301 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) -# 24026 "parser_cocci_menhir.ml" +# 28883 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24045,16 +28902,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24051 "parser_cocci_menhir.ml" +# 28908 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 232 "parser_cocci_menhir.mly" +# 302 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) -# 24058 "parser_cocci_menhir.ml" +# 28915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24077,16 +28934,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 24083 "parser_cocci_menhir.ml" +# 28940 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 233 "parser_cocci_menhir.mly" +# 303 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 24090 "parser_cocci_menhir.ml" +# 28947 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24116,9 +28973,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 234 "parser_cocci_menhir.mly" +# 304 "parser_cocci_menhir.mly" ( _2 ) -# 24122 "parser_cocci_menhir.ml" +# 28979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24140,9 +28997,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1303 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( _1 ) -# 24146 "parser_cocci_menhir.ml" +# 29003 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24176,24 +29033,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24182 "parser_cocci_menhir.ml" +# 29039 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24188 "parser_cocci_menhir.ml" +# 29045 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1305 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24197 "parser_cocci_menhir.ml" +# 29054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24221,19 +29078,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 24229 "parser_cocci_menhir.ml" +# 29086 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1308 "parser_cocci_menhir.mly" +# 1585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24237 "parser_cocci_menhir.ml" +# 29094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24261,20 +29118,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) -# 24269 "parser_cocci_menhir.ml" +# 29126 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1310 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24278 "parser_cocci_menhir.ml" +# 29135 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24298,17 +29155,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24304 "parser_cocci_menhir.ml" +# 29161 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1590 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24312 "parser_cocci_menhir.ml" +# 29169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24332,17 +29189,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24338 "parser_cocci_menhir.ml" +# 29195 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1315 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24346 "parser_cocci_menhir.ml" +# 29203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24376,25 +29233,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 24382 "parser_cocci_menhir.ml" +# 29239 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 24388 "parser_cocci_menhir.ml" +# 29245 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1317 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24398 "parser_cocci_menhir.ml" +# 29255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24416,9 +29273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1303 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( _1 ) -# 24422 "parser_cocci_menhir.ml" +# 29279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24452,24 +29309,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24458 "parser_cocci_menhir.ml" +# 29315 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24464 "parser_cocci_menhir.ml" +# 29321 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1305 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24473 "parser_cocci_menhir.ml" +# 29330 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24497,19 +29354,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 24505 "parser_cocci_menhir.ml" +# 29362 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1308 "parser_cocci_menhir.mly" +# 1585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24513 "parser_cocci_menhir.ml" +# 29370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24537,20 +29394,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) -# 24545 "parser_cocci_menhir.ml" +# 29402 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1310 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24554 "parser_cocci_menhir.ml" +# 29411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24574,17 +29431,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24580 "parser_cocci_menhir.ml" +# 29437 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1590 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24588 "parser_cocci_menhir.ml" +# 29445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24608,17 +29465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24614 "parser_cocci_menhir.ml" +# 29471 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1315 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24622 "parser_cocci_menhir.ml" +# 29479 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24652,25 +29509,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 24658 "parser_cocci_menhir.ml" +# 29515 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 24664 "parser_cocci_menhir.ml" +# 29521 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1317 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24674 "parser_cocci_menhir.ml" +# 29531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24692,9 +29549,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1303 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( _1 ) -# 24698 "parser_cocci_menhir.ml" +# 29555 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24728,24 +29585,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24734 "parser_cocci_menhir.ml" +# 29591 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 24740 "parser_cocci_menhir.ml" +# 29597 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1305 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24749 "parser_cocci_menhir.ml" +# 29606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24773,19 +29630,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 24781 "parser_cocci_menhir.ml" +# 29638 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1308 "parser_cocci_menhir.mly" +# 1585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24789 "parser_cocci_menhir.ml" +# 29646 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24813,20 +29670,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) -# 24821 "parser_cocci_menhir.ml" +# 29678 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1310 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24830 "parser_cocci_menhir.ml" +# 29687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24850,17 +29707,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24856 "parser_cocci_menhir.ml" +# 29713 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1590 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24864 "parser_cocci_menhir.ml" +# 29721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24884,17 +29741,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 24890 "parser_cocci_menhir.ml" +# 29747 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1315 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24898 "parser_cocci_menhir.ml" +# 29755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24928,25 +29785,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 24934 "parser_cocci_menhir.ml" +# 29791 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 24940 "parser_cocci_menhir.ml" +# 29797 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1317 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24950 "parser_cocci_menhir.ml" +# 29807 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24968,9 +29825,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1303 "parser_cocci_menhir.mly" +# 1580 "parser_cocci_menhir.mly" ( _1 ) -# 24974 "parser_cocci_menhir.ml" +# 29831 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25004,24 +29861,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 25010 "parser_cocci_menhir.ml" +# 29867 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 170 "parser_cocci_menhir.mly" (Data.clt) -# 25016 "parser_cocci_menhir.ml" +# 29873 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1305 "parser_cocci_menhir.mly" +# 1582 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25025 "parser_cocci_menhir.ml" +# 29882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25049,19 +29906,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 25057 "parser_cocci_menhir.ml" +# 29914 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1308 "parser_cocci_menhir.mly" +# 1585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25065 "parser_cocci_menhir.ml" +# 29922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25089,20 +29946,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _3 : 'tv_ident = Obj.magic _3 in + let _3 : 'tv_disj_ident = Obj.magic _3 in let _2 : ( -# 104 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Data.clt) -# 25097 "parser_cocci_menhir.ml" +# 29954 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1310 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25106 "parser_cocci_menhir.ml" +# 29963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25126,17 +29983,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 25132 "parser_cocci_menhir.ml" +# 29989 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1590 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25140 "parser_cocci_menhir.ml" +# 29997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25160,17 +30017,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 25166 "parser_cocci_menhir.ml" +# 30023 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1315 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25174 "parser_cocci_menhir.ml" +# 30031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25204,25 +30061,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 25210 "parser_cocci_menhir.ml" +# 30067 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25216 "parser_cocci_menhir.ml" +# 30073 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1317 "parser_cocci_menhir.mly" +# 1594 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25226 "parser_cocci_menhir.ml" +# 30083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25244,9 +30101,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25250 "parser_cocci_menhir.ml" +# 30107 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25265,17 +30122,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25271 "parser_cocci_menhir.ml" +# 30128 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1324 "parser_cocci_menhir.mly" +# 1601 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25279 "parser_cocci_menhir.ml" +# 30136 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25294,17 +30151,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25300 "parser_cocci_menhir.ml" +# 30157 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1327 "parser_cocci_menhir.mly" +# 1604 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25308 "parser_cocci_menhir.ml" +# 30165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25323,17 +30180,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25329 "parser_cocci_menhir.ml" +# 30186 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1330 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25337 "parser_cocci_menhir.ml" +# 30194 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25352,17 +30209,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25358 "parser_cocci_menhir.ml" +# 30215 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1333 "parser_cocci_menhir.mly" +# 1610 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25366 "parser_cocci_menhir.ml" +# 30223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25381,18 +30238,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25387 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30244 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1336 "parser_cocci_menhir.mly" +# 1613 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 25396 "parser_cocci_menhir.ml" +# 30253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25411,17 +30268,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25417 "parser_cocci_menhir.ml" +# 30274 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1340 "parser_cocci_menhir.mly" +# 1617 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25425 "parser_cocci_menhir.ml" +# 30282 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25440,18 +30297,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25446 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30303 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1343 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 25455 "parser_cocci_menhir.ml" +# 30312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25470,18 +30327,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25476 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30333 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1347 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 25485 "parser_cocci_menhir.ml" +# 30342 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25500,18 +30357,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25506 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30363 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1351 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 25515 "parser_cocci_menhir.ml" +# 30372 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25540,23 +30397,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 25546 "parser_cocci_menhir.ml" +# 30403 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25552 "parser_cocci_menhir.ml" +# 30409 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1355 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 25560 "parser_cocci_menhir.ml" +# 30417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25585,25 +30442,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 25591 "parser_cocci_menhir.ml" +# 30448 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25597 "parser_cocci_menhir.ml" +# 30454 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1358 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 25607 "parser_cocci_menhir.ml" +# 30464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25625,9 +30482,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( _1 ) -# 25631 "parser_cocci_menhir.ml" +# 30488 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25649,9 +30506,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1322 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25655 "parser_cocci_menhir.ml" +# 30512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25670,17 +30527,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25676 "parser_cocci_menhir.ml" +# 30533 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1324 "parser_cocci_menhir.mly" +# 1601 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25684 "parser_cocci_menhir.ml" +# 30541 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25699,17 +30556,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25705 "parser_cocci_menhir.ml" +# 30562 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1327 "parser_cocci_menhir.mly" +# 1604 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25713 "parser_cocci_menhir.ml" +# 30570 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25728,17 +30585,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25734 "parser_cocci_menhir.ml" +# 30591 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1330 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25742 "parser_cocci_menhir.ml" +# 30599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25757,17 +30614,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 25763 "parser_cocci_menhir.ml" +# 30620 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1333 "parser_cocci_menhir.mly" +# 1610 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25771 "parser_cocci_menhir.ml" +# 30628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25786,18 +30643,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25792 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30649 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1336 "parser_cocci_menhir.mly" +# 1613 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 25801 "parser_cocci_menhir.ml" +# 30658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25816,17 +30673,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25822 "parser_cocci_menhir.ml" +# 30679 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1617 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25830 "parser_cocci_menhir.ml" +# 30687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25845,18 +30702,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25851 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30708 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1343 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 25860 "parser_cocci_menhir.ml" +# 30717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25875,18 +30732,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25881 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30738 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1347 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 25890 "parser_cocci_menhir.ml" +# 30747 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25905,18 +30762,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 25911 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 30768 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1351 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 25920 "parser_cocci_menhir.ml" +# 30777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25945,23 +30802,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 25951 "parser_cocci_menhir.ml" +# 30808 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 25957 "parser_cocci_menhir.ml" +# 30814 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1355 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 25965 "parser_cocci_menhir.ml" +# 30822 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25990,25 +30847,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 25996 "parser_cocci_menhir.ml" +# 30853 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26002 "parser_cocci_menhir.ml" +# 30859 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1358 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26012 "parser_cocci_menhir.ml" +# 30869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26030,9 +30887,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( _1 ) -# 26036 "parser_cocci_menhir.ml" +# 30893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26054,9 +30911,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1322 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26060 "parser_cocci_menhir.ml" +# 30917 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26075,17 +30932,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26081 "parser_cocci_menhir.ml" +# 30938 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1324 "parser_cocci_menhir.mly" +# 1601 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26089 "parser_cocci_menhir.ml" +# 30946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26104,17 +30961,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26110 "parser_cocci_menhir.ml" +# 30967 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1327 "parser_cocci_menhir.mly" +# 1604 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26118 "parser_cocci_menhir.ml" +# 30975 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26133,17 +30990,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26139 "parser_cocci_menhir.ml" +# 30996 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1330 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26147 "parser_cocci_menhir.ml" +# 31004 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26162,17 +31019,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26168 "parser_cocci_menhir.ml" +# 31025 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1333 "parser_cocci_menhir.mly" +# 1610 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26176 "parser_cocci_menhir.ml" +# 31033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26191,18 +31048,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26197 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31054 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1336 "parser_cocci_menhir.mly" +# 1613 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26206 "parser_cocci_menhir.ml" +# 31063 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26221,17 +31078,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26227 "parser_cocci_menhir.ml" +# 31084 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1340 "parser_cocci_menhir.mly" +# 1617 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26235 "parser_cocci_menhir.ml" +# 31092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26250,18 +31107,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26256 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31113 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1343 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26265 "parser_cocci_menhir.ml" +# 31122 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26280,18 +31137,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26286 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31143 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1347 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26295 "parser_cocci_menhir.ml" +# 31152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26310,18 +31167,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26316 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31173 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1351 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26325 "parser_cocci_menhir.ml" +# 31182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26350,23 +31207,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 26356 "parser_cocci_menhir.ml" +# 31213 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26362 "parser_cocci_menhir.ml" +# 31219 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1355 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26370 "parser_cocci_menhir.ml" +# 31227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26395,25 +31252,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 26401 "parser_cocci_menhir.ml" +# 31258 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26407 "parser_cocci_menhir.ml" +# 31264 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1358 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26417 "parser_cocci_menhir.ml" +# 31274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26435,9 +31292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( _1 ) -# 26441 "parser_cocci_menhir.ml" +# 31298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26459,9 +31316,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1322 "parser_cocci_menhir.mly" +# 1599 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26465 "parser_cocci_menhir.ml" +# 31322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26480,17 +31337,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26486 "parser_cocci_menhir.ml" +# 31343 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1324 "parser_cocci_menhir.mly" +# 1601 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26494 "parser_cocci_menhir.ml" +# 31351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26509,17 +31366,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26515 "parser_cocci_menhir.ml" +# 31372 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1327 "parser_cocci_menhir.mly" +# 1604 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26523 "parser_cocci_menhir.ml" +# 31380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26538,17 +31395,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26544 "parser_cocci_menhir.ml" +# 31401 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1330 "parser_cocci_menhir.mly" +# 1607 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26552 "parser_cocci_menhir.ml" +# 31409 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26567,17 +31424,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 26573 "parser_cocci_menhir.ml" +# 31430 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1333 "parser_cocci_menhir.mly" +# 1610 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26581 "parser_cocci_menhir.ml" +# 31438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26596,18 +31453,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26602 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31459 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1336 "parser_cocci_menhir.mly" +# 1613 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26611 "parser_cocci_menhir.ml" +# 31468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26626,17 +31483,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26632 "parser_cocci_menhir.ml" +# 31489 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1617 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26640 "parser_cocci_menhir.ml" +# 31497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26655,18 +31512,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26661 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31518 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1343 "parser_cocci_menhir.mly" +# 1620 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26670 "parser_cocci_menhir.ml" +# 31527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26685,18 +31542,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26691 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31548 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1347 "parser_cocci_menhir.mly" +# 1624 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26700 "parser_cocci_menhir.ml" +# 31557 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26715,18 +31572,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" - (Parse_aux.typed_info) -# 26721 "parser_cocci_menhir.ml" +# 135 "parser_cocci_menhir.mly" + (Parse_aux.typed_expinfo) +# 31578 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1351 "parser_cocci_menhir.mly" +# 1628 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26730 "parser_cocci_menhir.ml" +# 31587 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26755,23 +31612,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 26761 "parser_cocci_menhir.ml" +# 31618 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26767 "parser_cocci_menhir.ml" +# 31624 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1355 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26775 "parser_cocci_menhir.ml" +# 31632 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26800,25 +31657,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 26806 "parser_cocci_menhir.ml" +# 31663 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 26812 "parser_cocci_menhir.ml" +# 31669 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1358 "parser_cocci_menhir.mly" +# 1635 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26822 "parser_cocci_menhir.ml" +# 31679 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26840,9 +31697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1639 "parser_cocci_menhir.mly" ( _1 ) -# 26846 "parser_cocci_menhir.ml" +# 31703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26862,9 +31719,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 190 "parser_cocci_menhir.mly" +# 260 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 26868 "parser_cocci_menhir.ml" +# 31725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26884,9 +31741,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 191 "parser_cocci_menhir.mly" +# 261 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 26890 "parser_cocci_menhir.ml" +# 31747 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26910,9 +31767,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 192 "parser_cocci_menhir.mly" +# 262 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 26916 "parser_cocci_menhir.ml" +# 31773 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26936,9 +31793,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 193 "parser_cocci_menhir.mly" +# 263 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 26942 "parser_cocci_menhir.ml" +# 31799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26953,9 +31810,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_pure = -# 194 "parser_cocci_menhir.mly" +# 264 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 26959 "parser_cocci_menhir.ml" +# 31816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26974,16 +31831,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 26980 "parser_cocci_menhir.ml" +# 31837 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1376 "parser_cocci_menhir.mly" +# 1653 "parser_cocci_menhir.mly" ( _1 ) -# 26987 "parser_cocci_menhir.ml" +# 31844 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26996,18 +31853,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_pure_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1382 "parser_cocci_menhir.mly" - ( (None,P.id2name _1) ) -# 27011 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1656 "parser_cocci_menhir.mly" + ( "identifier" ) +# 31866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27020,18 +31875,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_meta_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1383 "parser_cocci_menhir.mly" - ( _1 ) -# 27035 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1657 "parser_cocci_menhir.mly" + ( "expression" ) +# 31888 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27050,10 +31903,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1384 "parser_cocci_menhir.mly" - ( (None, "identifier") ) -# 27057 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1658 "parser_cocci_menhir.mly" + ( "statement" ) +# 31910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27072,10 +31925,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1385 "parser_cocci_menhir.mly" - ( (None, "expression") ) -# 27079 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1659 "parser_cocci_menhir.mly" + ( "function" ) +# 31932 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27094,10 +31947,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1386 "parser_cocci_menhir.mly" - ( (None, "statement") ) -# 27101 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1660 "parser_cocci_menhir.mly" + ( "local" ) +# 31954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27116,10 +31969,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1387 "parser_cocci_menhir.mly" - ( (None, "function") ) -# 27123 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1661 "parser_cocci_menhir.mly" + ( "type" ) +# 31976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27138,10 +31991,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1388 "parser_cocci_menhir.mly" - ( (None, "local") ) -# 27145 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1662 "parser_cocci_menhir.mly" + ( "parameter" ) +# 31998 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27160,10 +32013,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1389 "parser_cocci_menhir.mly" - ( (None, "type") ) -# 27167 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1663 "parser_cocci_menhir.mly" + ( "idexpression" ) +# 32020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27182,10 +32035,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1390 "parser_cocci_menhir.mly" - ( (None, "parameter") ) -# 27189 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1664 "parser_cocci_menhir.mly" + ( "initialiser" ) +# 32042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27204,10 +32057,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1391 "parser_cocci_menhir.mly" - ( (None, "idexpression") ) -# 27211 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1665 "parser_cocci_menhir.mly" + ( "list" ) +# 32064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27226,10 +32079,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1392 "parser_cocci_menhir.mly" - ( (None, "initialiser") ) -# 27233 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1666 "parser_cocci_menhir.mly" + ( "fresh" ) +# 32086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27248,10 +32101,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1393 "parser_cocci_menhir.mly" - ( (None, "list") ) -# 27255 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1667 "parser_cocci_menhir.mly" + ( "constant" ) +# 32108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27270,10 +32123,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1394 "parser_cocci_menhir.mly" - ( (None, "fresh") ) -# 27277 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1668 "parser_cocci_menhir.mly" + ( "error" ) +# 32130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27292,10 +32145,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1395 "parser_cocci_menhir.mly" - ( (None, "constant") ) -# 27299 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1669 "parser_cocci_menhir.mly" + ( "words" ) +# 32152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27314,10 +32167,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1396 "parser_cocci_menhir.mly" - ( (None, "error") ) -# 27321 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_kwd = +# 1670 "parser_cocci_menhir.mly" + ( "pure" ) +# 32174 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27336,10 +32189,166 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1671 "parser_cocci_menhir.mly" + ( "context" ) +# 32196 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1672 "parser_cocci_menhir.mly" + ( "generated" ) +# 32218 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1673 "parser_cocci_menhir.mly" + ( "typedef" ) +# 32240 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1674 "parser_cocci_menhir.mly" + ( "declarer" ) +# 32262 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1675 "parser_cocci_menhir.mly" + ( "iterator" ) +# 32284 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1676 "parser_cocci_menhir.mly" + ( "name" ) +# 32306 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_pure_ident_kwd = +# 1677 "parser_cocci_menhir.mly" + ( "position" ) +# 32328 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_pure_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1397 "parser_cocci_menhir.mly" - ( (None, "words") ) -# 27343 "parser_cocci_menhir.ml" +# 1684 "parser_cocci_menhir.mly" + ( (None,P.id2name _1) ) +# 32352 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27352,16 +32361,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1398 "parser_cocci_menhir.mly" - ( (None, "pure") ) -# 27365 "parser_cocci_menhir.ml" +# 1685 "parser_cocci_menhir.mly" + ( (None,_1) ) +# 32376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27374,16 +32385,155 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_meta_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1399 "parser_cocci_menhir.mly" - ( (None, "context") ) -# 27387 "parser_cocci_menhir.ml" +# 1686 "parser_cocci_menhir.mly" + ( _1 ) +# 32400 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = optc; + MenhirLib.EngineTypes.startp = _startpos_optc_; + MenhirLib.EngineTypes.endp = _endpos_optc_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_optc_ in + let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = +# 1713 "parser_cocci_menhir.mly" + ( + match optc with + None -> (i, Ast0.NoConstraint) + | Some c -> (i, c) + ) +# 32434 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = optc; + MenhirLib.EngineTypes.startp = _startpos_optc_; + MenhirLib.EngineTypes.endp = _endpos_optc_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_optc_ in + let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = +# 1713 "parser_cocci_menhir.mly" + ( + match optc with + None -> (i, Ast0.NoConstraint) + | Some c -> (i, c) + ) +# 32468 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_c_ in + let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = +# 1738 "parser_cocci_menhir.mly" + ( + match c with + None -> (i, Ast.IdNoConstraint) + | Some constraint_ -> (i,constraint_) + ) +# 32502 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c; + MenhirLib.EngineTypes.startp = _startpos_c_; + MenhirLib.EngineTypes.endp = _endpos_c_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_c_ in + let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = +# 1721 "parser_cocci_menhir.mly" + ( + Common.Left + (match c with + None -> (i, Ast.IdNoConstraint) + | Some constraint_ -> (i,constraint_)) + ) +# 32537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27395,17 +32545,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_pure_ident = Obj.magic _3 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1400 "parser_cocci_menhir.mly" - ( (None, "generated") ) -# 27409 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = +# 1728 "parser_cocci_menhir.mly" + ( + let nm = P.id2name _3 in + Iteration.parsed_virtual_identifiers := + Common.union_set [nm] + !Iteration.parsed_virtual_identifiers; + Common.Right nm + ) +# 32575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27418,16 +32584,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1401 "parser_cocci_menhir.mly" - ( (None, "typedef") ) -# 27431 "parser_cocci_menhir.ml" + let _v : 'tv_pure_ident_or_meta_ident_with_seed = +# 1689 "parser_cocci_menhir.mly" + ( (_1,Ast.NoVal) ) +# 32599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27439,17 +32607,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; } = _menhir_stack in + let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in + let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1402 "parser_cocci_menhir.mly" - ( (None, "declarer") ) -# 27453 "parser_cocci_menhir.ml" + let _endpos = _endpos__3_ in + let _v : 'tv_pure_ident_or_meta_ident_with_seed = +# 1692 "parser_cocci_menhir.mly" + ( match _3 with + [Ast.SeedString s] -> (_1,Ast.StringSeed s) + | _ -> (_1,Ast.ListSeed _3) ) +# 32635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27461,17 +32643,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l; + MenhirLib.EngineTypes.startp = _startpos_l_; + MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1403 "parser_cocci_menhir.mly" - ( (None, "iterator") ) -# 27475 "parser_cocci_menhir.ml" + let l : 'tv_loption_not_pos_ = Obj.magic l in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_l_ in + let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = +# 1707 "parser_cocci_menhir.mly" + ( + (i, l) + ) +# 32667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27484,16 +32676,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = re; + MenhirLib.EngineTypes.startp = _startpos_re_; + MenhirLib.EngineTypes.endp = _endpos_re_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1404 "parser_cocci_menhir.mly" - ( (None, "name") ) -# 27497 "parser_cocci_menhir.ml" + let re : 'tv_regexp_eqid = Obj.magic re in + let _startpos = _startpos_re_ in + let _endpos = _endpos_re_ in + let _v : 'tv_re_or_not_eqe_or_sub = +# 1799 "parser_cocci_menhir.mly" + (Ast0.NotIdCstrt re) +# 32691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27506,16 +32700,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = ne; + MenhirLib.EngineTypes.startp = _startpos_ne_; + MenhirLib.EngineTypes.endp = _endpos_ne_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident = -# 1405 "parser_cocci_menhir.mly" - ( (None, "position") ) -# 27519 "parser_cocci_menhir.ml" + let ne : 'tv_not_eqe = Obj.magic ne in + let _startpos = _startpos_ne_ in + let _endpos = _endpos_ne_ in + let _v : 'tv_re_or_not_eqe_or_sub = +# 1800 "parser_cocci_menhir.mly" + (Ast0.NotExpCstrt ne) +# 32715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27527,25 +32723,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let l : 'tv_loption_not_ceq_ = Obj.magic l in - let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_l_ in - let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = -# 1424 "parser_cocci_menhir.mly" - ( (i,l) ) -# 27549 "parser_cocci_menhir.ml" + let s : 'tv_sub = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_s_ in + let _v : 'tv_re_or_not_eqe_or_sub = +# 1801 "parser_cocci_menhir.mly" + (Ast0.SubExpCstrt s) +# 32739 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27557,25 +32747,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = re; + MenhirLib.EngineTypes.startp = _startpos_re_; + MenhirLib.EngineTypes.endp = _endpos_re_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let l : 'tv_loption_not_eq_ = Obj.magic l in - let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_l_ in - let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = -# 1424 "parser_cocci_menhir.mly" - ( (i,l) ) -# 27579 "parser_cocci_menhir.ml" + let re : 'tv_regexp_eqid = Obj.magic re in + let _startpos = _startpos_re_ in + let _endpos = _endpos_re_ in + let _v : 'tv_re_or_not_eqid = +# 1745 "parser_cocci_menhir.mly" + (Ast.IdRegExpConstraint re) +# 32763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27587,25 +32771,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ne; + MenhirLib.EngineTypes.startp = _startpos_ne_; + MenhirLib.EngineTypes.endp = _endpos_ne_; + MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let l : 'tv_loption_not_eqe_ = Obj.magic l in - let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_l_ in - let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = -# 1424 "parser_cocci_menhir.mly" - ( (i,l) ) -# 27609 "parser_cocci_menhir.ml" + let ne : 'tv_not_eqid = Obj.magic ne in + let _startpos = _startpos_ne_ in + let _endpos = _endpos_ne_ in + let _v : 'tv_re_or_not_eqid = +# 1746 "parser_cocci_menhir.mly" + (ne) +# 32787 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27617,49 +32795,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = l; - MenhirLib.EngineTypes.startp = _startpos_l_; - MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.semv = re; + MenhirLib.EngineTypes.startp = _startpos_re_; + MenhirLib.EngineTypes.endp = _endpos_re_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let l : 'tv_loption_not_pos_ = Obj.magic l in - let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in - let _startpos = _startpos_i_ in - let _endpos = _endpos_l_ in - let _v : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ = -# 1424 "parser_cocci_menhir.mly" - ( (i,l) ) -# 27639 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in + let re : ( +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 32812 "parser_cocci_menhir.ml" + ) = Obj.magic re in let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1408 "parser_cocci_menhir.mly" - ( (_1,Ast.NoVal) ) -# 27663 "parser_cocci_menhir.ml" + let _endpos = _endpos_re_ in + let _v : 'tv_regexp_eqid = +# 1750 "parser_cocci_menhir.mly" + ( (if !Data.in_iso + then failwith "constraints not allowed in iso file"); + (if !Data.in_generating + then failwith "constraints not allowed in a generated rule file"); + let (s,_) = re in Ast.IdRegExp (s,Str.regexp s) + ) +# 32824 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27671,31 +32832,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = re; + MenhirLib.EngineTypes.startp = _startpos_re_; + MenhirLib.EngineTypes.endp = _endpos_re_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _3 : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = Obj.magic _3 in - let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in + let re : ( +# 155 "parser_cocci_menhir.mly" + (string * Data.clt) +# 32849 "parser_cocci_menhir.ml" + ) = Obj.magic re in let _startpos = _startpos__1_ in - let _endpos = _endpos__3_ in - let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1411 "parser_cocci_menhir.mly" - ( match _3 with - [Ast.SeedString s] -> (_1,Ast.StringSeed s) - | _ -> (_1,Ast.ListSeed _3) ) -# 27699 "parser_cocci_menhir.ml" + let _endpos = _endpos_re_ in + let _v : 'tv_regexp_eqid = +# 1757 "parser_cocci_menhir.mly" + ( (if !Data.in_iso + then failwith "constraints not allowed in iso file"); + (if !Data.in_generating + then failwith "constraints not allowed in a generated rule file"); + let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s) + ) +# 32861 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27710,13 +32872,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : ( -# 131 "parser_cocci_menhir.mly" +# 201 "parser_cocci_menhir.mly" (unit) -# 27716 "parser_cocci_menhir.ml" +# 32878 "parser_cocci_menhir.ml" ) = -# 172 "parser_cocci_menhir.mly" +# 242 "parser_cocci_menhir.mly" ( ) -# 27720 "parser_cocci_menhir.ml" +# 32882 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27738,9 +32900,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 893 "parser_cocci_menhir.mly" +# 1121 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 27744 "parser_cocci_menhir.ml" +# 32906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27764,17 +32926,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 27770 "parser_cocci_menhir.ml" +# 32932 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 894 "parser_cocci_menhir.mly" +# 1122 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 27778 "parser_cocci_menhir.ml" +# 32940 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27803,22 +32965,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 27809 "parser_cocci_menhir.ml" +# 32971 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 27815 "parser_cocci_menhir.ml" +# 32977 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 895 "parser_cocci_menhir.mly" +# 1123 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 27822 "parser_cocci_menhir.ml" +# 32984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27842,21 +33004,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 27848 "parser_cocci_menhir.ml" +# 33010 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 27853 "parser_cocci_menhir.ml" +# 33015 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 896 "parser_cocci_menhir.mly" +# 1124 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 27860 "parser_cocci_menhir.ml" +# 33022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27880,21 +33042,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 27886 "parser_cocci_menhir.ml" +# 33048 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 27891 "parser_cocci_menhir.ml" +# 33053 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 897 "parser_cocci_menhir.mly" +# 1125 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 27898 "parser_cocci_menhir.ml" +# 33060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27918,21 +33080,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 27924 "parser_cocci_menhir.ml" +# 33086 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 27929 "parser_cocci_menhir.ml" +# 33091 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 898 "parser_cocci_menhir.mly" +# 1126 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 27936 "parser_cocci_menhir.ml" +# 33098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27961,26 +33123,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 27967 "parser_cocci_menhir.ml" +# 33129 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 27973 "parser_cocci_menhir.ml" +# 33135 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 900 "parser_cocci_menhir.mly" +# 1128 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 27984 "parser_cocci_menhir.ml" +# 33146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28034,20 +33196,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 153 "parser_cocci_menhir.mly" +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28040 "parser_cocci_menhir.ml" +# 33202 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 28045 "parser_cocci_menhir.ml" +# 33207 "parser_cocci_menhir.ml" in -# 202 "parser_cocci_menhir.mly" +# 272 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28051 "parser_cocci_menhir.ml" +# 33213 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28098,30 +33260,369 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let ee : 'tv_is_expression = Obj.magic ee in - let e : 'tv_exists = Obj.magic e in - let a : 'tv_loption_disable_ = Obj.magic a in - let i : 'tv_loption_choose_iso_ = Obj.magic i in - let d : 'tv_depends = Obj.magic d in - let x0 : 'tv_pure_ident = Obj.magic x0 in - let _startpos = _startpos_x0_ in - let _endpos = _endpos__8_ in + let ee : 'tv_is_expression = Obj.magic ee in + let e : 'tv_exists = Obj.magic e in + let a : 'tv_loption_disable_ = Obj.magic a in + let i : 'tv_loption_choose_iso_ = Obj.magic i in + let d : 'tv_depends = Obj.magic d in + let x0 : 'tv_pure_ident = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos__8_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33275 "parser_cocci_menhir.ml" + ) = let nm = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 33281 "parser_cocci_menhir.ml" + + in + +# 272 "parser_cocci_menhir.mly" + ( P.make_cocci_rule_name_result nm d i a e ee ) +# 33287 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__8_; + MenhirLib.EngineTypes.endp = _endpos__8_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ee; + MenhirLib.EngineTypes.startp = _startpos_ee_; + MenhirLib.EngineTypes.endp = _endpos_ee_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = e; + MenhirLib.EngineTypes.startp = _startpos_e_; + MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = a; + MenhirLib.EngineTypes.startp = _startpos_a_; + MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let ee : 'tv_is_expression = Obj.magic ee in + let e : 'tv_exists = Obj.magic e in + let a : 'tv_loption_disable_ = Obj.magic a in + let i : 'tv_loption_choose_iso_ = Obj.magic i in + let d : 'tv_depends = Obj.magic d in + let _startpos = _startpos__1_ in + let _endpos = _endpos__8_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33347 "parser_cocci_menhir.ml" + ) = +# 277 "parser_cocci_menhir.mly" + ( P.make_generated_rule_name_result None d i a e ee ) +# 33351 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33393 "parser_cocci_menhir.ml" + ) = let nm = + +# 39 "standard.mly" + ( None ) +# 33398 "parser_cocci_menhir.ml" + + in + +# 279 "parser_cocci_menhir.mly" + ( P.make_script_rule_name_result lang nm d ) +# 33404 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let x0 : 'tv_pure_ident = Obj.magic x0 in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__6_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33452 "parser_cocci_menhir.ml" + ) = let nm = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 33458 "parser_cocci_menhir.ml" + + in + +# 279 "parser_cocci_menhir.mly" + ( P.make_script_rule_name_result lang nm d ) +# 33464 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33506 "parser_cocci_menhir.ml" + ) = +# 281 "parser_cocci_menhir.mly" + ( P.make_initial_script_rule_name_result lang d ) +# 33510 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lang; + MenhirLib.EngineTypes.startp = _startpos_lang_; + MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let d : 'tv_depends = Obj.magic d in + let lang : 'tv_pure_ident = Obj.magic lang in + let _startpos = _startpos__1_ in + let _endpos = _endpos__5_ in + let _v : ( +# 223 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 33552 "parser_cocci_menhir.ml" + ) = +# 283 "parser_cocci_menhir.mly" + ( P.make_final_script_rule_name_result lang d ) +# 33556 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = py; + MenhirLib.EngineTypes.startp = _startpos_py_; + MenhirLib.EngineTypes.endp = _endpos_py_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let py : 'tv_pure_ident = Obj.magic py in + let _startpos = _startpos_py_ in + let _endpos = _endpos__2_ in + let _v : ( +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33584 "parser_cocci_menhir.ml" + ) = +# 2315 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), None) ) +# 33588 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = py; + MenhirLib.EngineTypes.startp = _startpos_py_; + MenhirLib.EngineTypes.endp = _endpos_py_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _2 : 'tv_script_name_decl = Obj.magic _2 in + let py : 'tv_pure_ident = Obj.magic py in + let _startpos = _startpos_py_ in + let _endpos = _endpos__3_ in let _v : ( -# 153 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28113 "parser_cocci_menhir.ml" - ) = let nm = - let x = x0 in - -# 41 "standard.mly" - ( Some x ) -# 28119 "parser_cocci_menhir.ml" - - in - -# 202 "parser_cocci_menhir.mly" - ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28125 "parser_cocci_menhir.ml" +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33622 "parser_cocci_menhir.ml" + ) = +# 2317 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), Some _2) ) +# 33626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28133,37 +33634,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__8_; - MenhirLib.EngineTypes.endp = _endpos__8_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ee; - MenhirLib.EngineTypes.startp = _startpos_ee_; - MenhirLib.EngineTypes.endp = _endpos_ee_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = e; - MenhirLib.EngineTypes.startp = _startpos_e_; - MenhirLib.EngineTypes.endp = _endpos_e_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = a; - MenhirLib.EngineTypes.startp = _startpos_a_; - MenhirLib.EngineTypes.endp = _endpos_a_; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i; - MenhirLib.EngineTypes.startp = _startpos_i_; - MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -28171,21 +33665,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let ee : 'tv_is_expression = Obj.magic ee in - let e : 'tv_exists = Obj.magic e in - let a : 'tv_loption_disable_ = Obj.magic a in - let i : 'tv_loption_choose_iso_ = Obj.magic i in - let d : 'tv_depends = Obj.magic d in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let ast : 'tv_pure_ident = Obj.magic ast in let _startpos = _startpos__1_ in - let _endpos = _endpos__8_ in + let _endpos = _endpos__7_ in let _v : ( -# 153 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28185 "parser_cocci_menhir.ml" +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33676 "parser_cocci_menhir.ml" ) = -# 207 "parser_cocci_menhir.mly" - ( P.make_generated_rule_name_result None d i a e ee ) -# 28189 "parser_cocci_menhir.ml" +# 2319 "parser_cocci_menhir.mly" + ( ((None, Some (P.id2name ast)), Some _6) ) +# 33680 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28197,41 +33688,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; }; }; } = _menhir_stack in - let d : 'tv_depends = Obj.magic d in - let lang : 'tv_pure_ident = Obj.magic lang in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let str : 'tv_pure_ident = Obj.magic str in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in + let _endpos = _endpos__7_ in let _v : ( -# 153 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28231 "parser_cocci_menhir.ml" +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33730 "parser_cocci_menhir.ml" ) = -# 209 "parser_cocci_menhir.mly" - ( P.make_script_rule_name_result lang d ) -# 28235 "parser_cocci_menhir.ml" +# 2321 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), None), Some _6) ) +# 33734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28243,35 +33742,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; }; }; } = _menhir_stack in - let lang : 'tv_pure_ident = Obj.magic lang in + let _6 : 'tv_script_name_decl = Obj.magic _6 in + let ast : 'tv_pure_ident = Obj.magic ast in + let str : 'tv_pure_ident = Obj.magic str in let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in + let _endpos = _endpos__7_ in let _v : ( -# 153 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28271 "parser_cocci_menhir.ml" +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 33786 "parser_cocci_menhir.ml" ) = -# 211 "parser_cocci_menhir.mly" - ( P.make_initial_script_rule_name_result lang ) -# 28275 "parser_cocci_menhir.ml" +# 2323 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) +# 33790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28283,13 +33798,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = lang; - MenhirLib.EngineTypes.startp = _startpos_lang_; - MenhirLib.EngineTypes.endp = _endpos_lang_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { @@ -28301,17 +33817,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let lang : 'tv_pure_ident = Obj.magic lang in + let cocci : 'tv_pure_ident = Obj.magic cocci in + let _2 : ( +# 112 "parser_cocci_menhir.mly" + (string) +# 33825 "parser_cocci_menhir.ml" + ) = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos__4_ in - let _v : ( -# 153 "parser_cocci_menhir.mly" - (Ast_cocci.rulename) -# 28311 "parser_cocci_menhir.ml" - ) = -# 213 "parser_cocci_menhir.mly" - ( P.make_final_script_rule_name_result lang ) -# 28315 "parser_cocci_menhir.ml" + let _endpos = _endpos_cocci_ in + let _v : 'tv_script_name_decl = +# 2327 "parser_cocci_menhir.mly" + ( let nm = P.id2name cocci in + let mv = Parse_aux.lookup _2 nm in + ((_2, nm), mv) ) +# 33834 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28323,51 +33842,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = cocci; - MenhirLib.EngineTypes.startp = _startpos_cocci_; - MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = py; - MenhirLib.EngineTypes.startp = _startpos_py_; - MenhirLib.EngineTypes.endp = _endpos_py_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let cocci : 'tv_pure_ident = Obj.magic cocci in - let _3 : ( -# 47 "parser_cocci_menhir.mly" - (string) -# 28359 "parser_cocci_menhir.ml" - ) = Obj.magic _3 in - let py : 'tv_pure_ident = Obj.magic py in - let _startpos = _startpos_py_ in - let _endpos = _endpos__6_ in - let _v : ( -# 159 "parser_cocci_menhir.mly" - (string * (string * string)) -# 28367 "parser_cocci_menhir.ml" - ) = -# 1890 "parser_cocci_menhir.mly" - ( (P.id2name py, (_3, P.id2name cocci)) ) -# 28371 "parser_cocci_menhir.ml" + let _startpos = _startpos__1_ in + let _endpos = _endpos_cocci_ in + let _v : 'tv_script_name_decl = +# 2331 "parser_cocci_menhir.mly" + ( let nm = P.id2name cocci in + Iteration.parsed_virtual_identifiers := + Common.union_set [nm] + !Iteration.parsed_virtual_identifiers; + let name = ("virtual", nm) in + let mv = Ast.MetaIdDecl(Ast.NONE,name) in + (name,mv) ) +# 33876 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28386,16 +33891,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 28392 "parser_cocci_menhir.ml" +# 33897 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1416 "parser_cocci_menhir.mly" +# 1697 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 28399 "parser_cocci_menhir.ml" +# 33904 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28414,16 +33919,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 61 "parser_cocci_menhir.mly" +# 128 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 28420 "parser_cocci_menhir.ml" +# 33925 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1417 "parser_cocci_menhir.mly" +# 1698 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 28427 "parser_cocci_menhir.ml" +# 33932 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_seed_elem = +# 1699 "parser_cocci_menhir.mly" + (failwith "tmeta") +# 33954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28452,18 +33979,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident = Obj.magic _3 in let _1 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 28458 "parser_cocci_menhir.ml" +# 33985 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1419 "parser_cocci_menhir.mly" +# 1701 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 28467 "parser_cocci_menhir.ml" +# 33994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28482,16 +34009,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 28488 "parser_cocci_menhir.ml" +# 34015 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 144 "standard.mly" ( [ x ] ) -# 28495 "parser_cocci_menhir.ml" +# 34022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28520,16 +34047,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 87 "parser_cocci_menhir.mly" +# 155 "parser_cocci_menhir.mly" (string * Data.clt) -# 28526 "parser_cocci_menhir.ml" +# 34053 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 146 "standard.mly" ( x :: xs ) -# 28533 "parser_cocci_menhir.ml" +# 34060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28553,7 +34080,297 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 28557 "parser_cocci_menhir.ml" +# 34084 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in + let x : 'tv_any_strict = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = +# 146 "standard.mly" + ( x :: xs ) +# 34118 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_ctype = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_separated_nonempty_list_TComma_ctype_ = +# 144 "standard.mly" + ( [ x ] ) +# 34142 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in + let x : 'tv_ctype = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_separated_nonempty_list_TComma_ctype_ = +# 146 "standard.mly" + ( x :: xs ) +# 34176 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_d_ident = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = +# 144 "standard.mly" + ( [ x ] ) +# 34200 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in + let x : 'tv_d_ident = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = +# 146 "standard.mly" + ( x :: xs ) +# 34234 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_ident_or_const = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = +# 144 "standard.mly" + ( [ x ] ) +# 34258 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in + let x : 'tv_ident_or_const = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = +# 146 "standard.mly" + ( x :: xs ) +# 34292 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_meta_ident = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = +# 144 "standard.mly" + ( [ x ] ) +# 34316 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = xs; + MenhirLib.EngineTypes.startp = _startpos_xs_; + MenhirLib.EngineTypes.endp = _endpos_xs_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in + let x : 'tv_meta_ident = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_xs_ in + let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = +# 146 "standard.mly" + ( x :: xs ) +# 34350 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_pure_ident = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = +# 144 "standard.mly" + ( [ x ] ) +# 34374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28580,246 +34397,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic xs in - let x : 'tv_any_strict = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = -# 146 "standard.mly" - ( x :: xs ) -# 28591 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let x : 'tv_ctype = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_ctype_ = -# 144 "standard.mly" - ( [ x ] ) -# 28615 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic xs in - let x : 'tv_ctype = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_ctype_ = -# 146 "standard.mly" - ( x :: xs ) -# 28649 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let x : 'tv_d_ident = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = -# 144 "standard.mly" - ( [ x ] ) -# 28673 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic xs in - let x : 'tv_d_ident = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = -# 146 "standard.mly" - ( x :: xs ) -# 28707 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let x : 'tv_ident_or_const = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = -# 144 "standard.mly" - ( [ x ] ) -# 28731 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic xs in - let x : 'tv_ident_or_const = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = -# 146 "standard.mly" - ( x :: xs ) -# 28765 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let x : 'tv_meta_ident = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = -# 144 "standard.mly" - ( [ x ] ) -# 28789 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = xs; - MenhirLib.EngineTypes.startp = _startpos_xs_; - MenhirLib.EngineTypes.endp = _endpos_xs_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic xs in - let x : 'tv_meta_ident = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in + let x : 'tv_pure_ident = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 28823 "parser_cocci_menhir.ml" +# 34408 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28837,13 +34422,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 28847 "parser_cocci_menhir.ml" +# 34432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28870,14 +34455,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic xs in - let x : 'tv_pure_ident = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 28881 "parser_cocci_menhir.ml" +# 34466 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28895,13 +34480,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 28905 "parser_cocci_menhir.ml" +# 34490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28928,14 +34513,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 28939 "parser_cocci_menhir.ml" +# 34524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28953,13 +34538,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 28963 "parser_cocci_menhir.ml" +# 34548 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28986,14 +34571,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_ceq_ = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_ceq__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 28997 "parser_cocci_menhir.ml" +# 34582 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29011,13 +34596,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29021 "parser_cocci_menhir.ml" +# 34606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29044,14 +34629,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eq_ = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eq__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29055 "parser_cocci_menhir.ml" +# 34640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29069,13 +34654,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 29079 "parser_cocci_menhir.ml" +# 34664 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29102,14 +34687,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_eqe_ = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_eqe__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 29113 "parser_cocci_menhir.ml" +# 34698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29127,13 +34712,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 144 "standard.mly" ( [ x ] ) -# 29137 "parser_cocci_menhir.ml" +# 34722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29160,14 +34745,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident_with_not_eq_not_pos_ = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_not_eq_not_pos__ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 146 "standard.mly" ( x :: xs ) -# 29171 "parser_cocci_menhir.ml" +# 34756 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29185,13 +34770,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos_x_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in + let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 144 "standard.mly" ( [ x ] ) -# 29195 "parser_cocci_menhir.ml" +# 34780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29218,14 +34803,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in - let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in + let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic xs in + let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in - let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = + let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 146 "standard.mly" ( x :: xs ) -# 29229 "parser_cocci_menhir.ml" +# 34814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29249,7 +34834,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29253 "parser_cocci_menhir.ml" +# 34838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29283,7 +34868,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29287 "parser_cocci_menhir.ml" +# 34872 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29307,7 +34892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 29311 "parser_cocci_menhir.ml" +# 34896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29341,7 +34926,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 29345 "parser_cocci_menhir.ml" +# 34930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29363,9 +34948,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 908 "parser_cocci_menhir.mly" +# 1136 "parser_cocci_menhir.mly" ( _1 ) -# 29369 "parser_cocci_menhir.ml" +# 34954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29394,26 +34979,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29400 "parser_cocci_menhir.ml" +# 34985 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29406 "parser_cocci_menhir.ml" +# 34991 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 912 "parser_cocci_menhir.mly" +# 1140 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 29417 "parser_cocci_menhir.ml" +# 35002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29435,9 +35020,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 835 "parser_cocci_menhir.mly" +# 1062 "parser_cocci_menhir.mly" ( _1 ) -# 29441 "parser_cocci_menhir.ml" +# 35026 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29456,16 +35041,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 29462 "parser_cocci_menhir.ml" +# 35047 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 837 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" + ( tmeta_to_statement _1) +# 35054 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 35075 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_statement = +# 1065 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 29469 "parser_cocci_menhir.ml" +# 35082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29489,17 +35102,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 29495 "parser_cocci_menhir.ml" +# 35108 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 839 "parser_cocci_menhir.mly" +# 1067 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 29503 "parser_cocci_menhir.ml" +# 35116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29539,27 +35152,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29545 "parser_cocci_menhir.ml" +# 35158 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29551 "parser_cocci_menhir.ml" +# 35164 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29556 "parser_cocci_menhir.ml" +# 35169 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 841 "parser_cocci_menhir.mly" +# 1069 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 29563 "parser_cocci_menhir.ml" +# 35176 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29609,33 +35222,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _7 : 'tv_single_statement = Obj.magic _7 in let _6 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29615 "parser_cocci_menhir.ml" +# 35228 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29621 "parser_cocci_menhir.ml" +# 35234 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29627 "parser_cocci_menhir.ml" +# 35240 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29632 "parser_cocci_menhir.ml" +# 35245 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 843 "parser_cocci_menhir.mly" +# 1071 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 29639 "parser_cocci_menhir.ml" +# 35252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29695,39 +35308,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29701 "parser_cocci_menhir.ml" +# 35314 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 29707 "parser_cocci_menhir.ml" +# 35320 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 29713 "parser_cocci_menhir.ml" +# 35326 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29719 "parser_cocci_menhir.ml" +# 35332 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29724 "parser_cocci_menhir.ml" +# 35337 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 846 "parser_cocci_menhir.mly" +# 1074 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 29731 "parser_cocci_menhir.ml" +# 35344 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29767,27 +35380,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29773 "parser_cocci_menhir.ml" +# 35386 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29779 "parser_cocci_menhir.ml" +# 35392 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29784 "parser_cocci_menhir.ml" +# 35397 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 848 "parser_cocci_menhir.mly" +# 1076 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 29791 "parser_cocci_menhir.ml" +# 35404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29836,38 +35449,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 29842 "parser_cocci_menhir.ml" +# 35455 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29847 "parser_cocci_menhir.ml" +# 35460 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29853 "parser_cocci_menhir.ml" +# 35466 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29858 "parser_cocci_menhir.ml" +# 35471 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 29864 "parser_cocci_menhir.ml" +# 35477 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 850 "parser_cocci_menhir.mly" +# 1078 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 29871 "parser_cocci_menhir.ml" +# 35484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29907,23 +35520,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29913 "parser_cocci_menhir.ml" +# 35526 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29919 "parser_cocci_menhir.ml" +# 35532 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_iter_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 852 "parser_cocci_menhir.mly" +# 1080 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 29927 "parser_cocci_menhir.ml" +# 35540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29935,35 +35548,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _7; - MenhirLib.EngineTypes.startp = _startpos__7_; - MenhirLib.EngineTypes.endp = _endpos__7_; + MenhirLib.EngineTypes.semv = _8; + MenhirLib.EngineTypes.startp = _startpos__8_; + MenhirLib.EngineTypes.endp = _endpos__8_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _6; - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.semv = _7; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _5; - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.semv = _5; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -29971,39 +35589,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let _7 : ( -# 101 "parser_cocci_menhir.mly" + let _8 : ( +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 29978 "parser_cocci_menhir.ml" - ) = Obj.magic _7 in - let _6 : 'tv_list_case_line_ = Obj.magic _6 in +# 35596 "parser_cocci_menhir.ml" + ) = Obj.magic _8 in + let _7 : 'tv_list_case_line_ = Obj.magic _7 in + let _6 : 'tv_list_decl_var_ = Obj.magic _6 in let _5 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 29984 "parser_cocci_menhir.ml" +# 35603 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 29989 "parser_cocci_menhir.ml" +# 35608 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 29995 "parser_cocci_menhir.ml" +# 35614 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30000 "parser_cocci_menhir.ml" +# 35619 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__7_ in + let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 854 "parser_cocci_menhir.mly" - ( P.switch _1 _2 _3 _4 _5 _6 _7 ) -# 30007 "parser_cocci_menhir.ml" +# 1082 "parser_cocci_menhir.mly" + ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) +# 35626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30032,22 +35651,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30038 "parser_cocci_menhir.ml" +# 35657 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30044 "parser_cocci_menhir.ml" +# 35663 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 855 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 30051 "parser_cocci_menhir.ml" +# 35670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30071,21 +35690,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30077 "parser_cocci_menhir.ml" +# 35696 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 123 "parser_cocci_menhir.mly" (Data.clt) -# 30082 "parser_cocci_menhir.ml" +# 35701 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 856 "parser_cocci_menhir.mly" +# 1084 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 30089 "parser_cocci_menhir.ml" +# 35708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30109,21 +35728,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30115 "parser_cocci_menhir.ml" +# 35734 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30120 "parser_cocci_menhir.ml" +# 35739 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 857 "parser_cocci_menhir.mly" +# 1085 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 30127 "parser_cocci_menhir.ml" +# 35746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30147,21 +35766,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30153 "parser_cocci_menhir.ml" +# 35772 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30158 "parser_cocci_menhir.ml" +# 35777 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 858 "parser_cocci_menhir.mly" +# 1086 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 30165 "parser_cocci_menhir.ml" +# 35784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30185,17 +35804,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30191 "parser_cocci_menhir.ml" +# 35810 "parser_cocci_menhir.ml" ) = Obj.magic _2 in - let _1 : 'tv_ident = Obj.magic _1 in + let _1 : 'tv_mident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 859 "parser_cocci_menhir.mly" - ( P.label _1 _2 ) -# 30199 "parser_cocci_menhir.ml" +# 1087 "parser_cocci_menhir.mly" + ( P.label _1 _2 ) +# 35818 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30224,22 +35843,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30230 "parser_cocci_menhir.ml" +# 35849 "parser_cocci_menhir.ml" ) = Obj.magic _3 in - let _2 : 'tv_ident = Obj.magic _2 in + let _2 : 'tv_disj_ident = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30236 "parser_cocci_menhir.ml" +# 35855 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 860 "parser_cocci_menhir.mly" - ( P.goto _1 _2 _3 ) -# 30243 "parser_cocci_menhir.ml" +# 1088 "parser_cocci_menhir.mly" + ( P.goto _1 _2 _3 ) +# 35862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30268,22 +35887,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 30274 "parser_cocci_menhir.ml" +# 35893 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 30280 "parser_cocci_menhir.ml" +# 35899 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 862 "parser_cocci_menhir.mly" +# 1090 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 30287 "parser_cocci_menhir.ml" +# 35906 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30308,16 +35927,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 30314 "parser_cocci_menhir.ml" +# 35933 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 866 "parser_cocci_menhir.mly" +# 1094 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 30321 "parser_cocci_menhir.ml" +# 35940 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30351,24 +35970,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 30357 "parser_cocci_menhir.ml" +# 35976 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 30364 "parser_cocci_menhir.ml" +# 35983 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 868 "parser_cocci_menhir.mly" +# 1096 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 30372 "parser_cocci_menhir.ml" +# 35991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30402,24 +36021,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 30408 "parser_cocci_menhir.ml" +# 36027 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 73 "parser_cocci_menhir.mly" +# 141 "parser_cocci_menhir.mly" (Data.clt) -# 30415 "parser_cocci_menhir.ml" +# 36034 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 871 "parser_cocci_menhir.mly" +# 1099 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 30423 "parser_cocci_menhir.ml" +# 36042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30438,16 +36057,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 30444 "parser_cocci_menhir.ml" +# 36063 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 797 "parser_cocci_menhir.mly" +# 1023 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 30451 "parser_cocci_menhir.ml" +# 36070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30466,16 +36085,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 30472 "parser_cocci_menhir.ml" +# 36091 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 798 "parser_cocci_menhir.mly" +# 1024 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 30479 "parser_cocci_menhir.ml" +# 36098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30494,16 +36113,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 30500 "parser_cocci_menhir.ml" +# 36119 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 799 "parser_cocci_menhir.mly" +# 1025 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 30507 "parser_cocci_menhir.ml" +# 36126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30522,16 +36141,226 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Data.clt) -# 30528 "parser_cocci_menhir.ml" +# 36147 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 800 "parser_cocci_menhir.mly" +# 1026 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 30535 "parser_cocci_menhir.ml" +# 36154 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl = +# 732 "parser_cocci_menhir.mly" + ( [] ) +# 36176 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_struct_decl_one = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl = +# 733 "parser_cocci_menhir.mly" + ( [_1] ) +# 36200 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_list = +# 757 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.DOTS(_1)) ) +# 36224 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_list_start = +# 760 "parser_cocci_menhir.mly" + ( _1 ) +# 36248 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in + let _1 : 'tv_struct_decl = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_struct_decl_list_start = +# 761 "parser_cocci_menhir.mly" + ( _1@_2 ) +# 36278 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = r; + MenhirLib.EngineTypes.startp = _startpos_r_; + MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let r : 'tv_continue_struct_decl_list = Obj.magic r in + let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos_r_ in + let _v : 'tv_struct_decl_list_start = +# 763 "parser_cocci_menhir.mly" + ( (P.mkddots_one "..." d)::r ) +# 36308 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 36329 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_one = +# 736 "parser_cocci_menhir.mly" + ( P.meta_field _1 ) +# 36336 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 134 "parser_cocci_menhir.mly" + (Parse_aux.list_info) +# 36357 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl_one = +# 737 "parser_cocci_menhir.mly" + ( P.meta_field_list _1 ) +# 36364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30544,16 +36373,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 36385 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_struct_decl = -# 555 "parser_cocci_menhir.mly" - ( [] ) -# 30557 "parser_cocci_menhir.ml" + let _v : 'tv_struct_decl_one = +# 738 "parser_cocci_menhir.mly" + ( tmeta_to_field _1 ) +# 36392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30582,19 +36417,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30588 "parser_cocci_menhir.ml" +# 36423 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = -# 557 "parser_cocci_menhir.mly" + let _v : 'tv_struct_decl_one = +# 740 "parser_cocci_menhir.mly" ( let (id,fn) = d in - [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 30598 "parser_cocci_menhir.ml" + Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) +# 36433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30653,50 +36488,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30659 "parser_cocci_menhir.ml" +# 36494 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 30664 "parser_cocci_menhir.ml" +# 36499 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30670 "parser_cocci_menhir.ml" +# 36505 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 30675 "parser_cocci_menhir.ml" +# 36510 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 30681 "parser_cocci_menhir.ml" +# 36516 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 30686 "parser_cocci_menhir.ml" +# 36521 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = -# 561 "parser_cocci_menhir.mly" + let _v : 'tv_struct_decl_one = +# 744 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap (Ast0.FunctionPointer (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in - [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 30700 "parser_cocci_menhir.ml" + Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) ) +# 36535 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30725,27 +36560,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30731 "parser_cocci_menhir.ml" +# 36566 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = let cv = + let _v : 'tv_struct_decl_one = let cv = # 39 "standard.mly" ( None ) -# 30741 "parser_cocci_menhir.ml" +# 36576 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 752 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in - [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 30749 "parser_cocci_menhir.ml" + Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) +# 36584 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30779,29 +36614,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 107 "parser_cocci_menhir.mly" +# 175 "parser_cocci_menhir.mly" (Data.clt) -# 30785 "parser_cocci_menhir.ml" +# 36620 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_pv_ in - let _v : 'tv_struct_decl = let cv = + let _v : 'tv_struct_decl_one = let cv = let x = x0 in # 41 "standard.mly" ( Some x ) -# 30797 "parser_cocci_menhir.ml" +# 36632 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 752 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in - [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 30805 "parser_cocci_menhir.ml" + Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) ) +# 36640 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30814,18 +36649,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_struct_decl_list = -# 574 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 30829 "parser_cocci_menhir.ml" + let s : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 36661 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_s_ in + let _v : 'tv_struct_or_union = +# 728 "parser_cocci_menhir.mly" + ( P.clt2mcode Ast.Struct s ) +# 36668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30838,18 +36677,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.semv = u; + MenhirLib.EngineTypes.startp = _startpos_u_; + MenhirLib.EngineTypes.endp = _endpos_u_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in - let _1 : 'tv_struct_decl = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_struct_decl_list_start = -# 577 "parser_cocci_menhir.mly" - ( _1 ) -# 30853 "parser_cocci_menhir.ml" + let u : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 36689 "parser_cocci_menhir.ml" + ) = Obj.magic u in + let _startpos = _startpos_u_ in + let _endpos = _endpos_u_ in + let _v : 'tv_struct_or_union = +# 729 "parser_cocci_menhir.mly" + ( P.clt2mcode Ast.Union u ) +# 36696 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30861,25 +36704,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; MenhirLib.EngineTypes.next = { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; MenhirLib.EngineTypes.startp = _startpos__1_; MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in - let _1 : 'tv_struct_decl = Obj.magic _1 in + let i : 'tv_meta_ident = Obj.magic i in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_struct_decl_list_start = -# 578 "parser_cocci_menhir.mly" - ( _1@_2 ) -# 30883 "parser_cocci_menhir.ml" + let _endpos = _endpos_i_ in + let _v : 'tv_sub = +# 1845 "parser_cocci_menhir.mly" + ( (if !Data.in_iso + then failwith "constraints not allowed in iso file"); + (if !Data.in_generating + then failwith "constraints not allowed in a generated rule file"); + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in + [i] ) +# 36731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30891,81 +36739,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = r; - MenhirLib.EngineTypes.startp = _startpos_r_; - MenhirLib.EngineTypes.endp = _endpos_r_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = d; - MenhirLib.EngineTypes.startp = _startpos_d_; - MenhirLib.EngineTypes.endp = _endpos_d_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l; + MenhirLib.EngineTypes.startp = _startpos_l_; + MenhirLib.EngineTypes.endp = _endpos_l_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; } = _menhir_stack in - let r : 'tv_continue_struct_decl_list = Obj.magic r in - let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in - let _startpos = _startpos_d_ in - let _endpos = _endpos_r_ in - let _v : 'tv_struct_decl_list_start = -# 580 "parser_cocci_menhir.mly" - ( (P.mkddots "..." d)::r ) -# 30913 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s; - MenhirLib.EngineTypes.startp = _startpos_s_; - MenhirLib.EngineTypes.endp = _endpos_s_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let s : ( -# 50 "parser_cocci_menhir.mly" - (Data.clt) -# 30934 "parser_cocci_menhir.ml" - ) = Obj.magic s in - let _startpos = _startpos_s_ in - let _endpos = _endpos_s_ in - let _v : 'tv_struct_or_union = -# 551 "parser_cocci_menhir.mly" - ( P.clt2mcode Ast.Struct s ) -# 30941 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = u; - MenhirLib.EngineTypes.startp = _startpos_u_; - MenhirLib.EngineTypes.endp = _endpos_u_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let u : ( -# 50 "parser_cocci_menhir.mly" - (Data.clt) -# 30962 "parser_cocci_menhir.ml" - ) = Obj.magic u in - let _startpos = _startpos_u_ in - let _endpos = _endpos_u_ in - let _v : 'tv_struct_or_union = -# 552 "parser_cocci_menhir.mly" - ( P.clt2mcode Ast.Union u ) -# 30969 "parser_cocci_menhir.ml" + let l : 'tv_comma_list_meta_ident_ = Obj.magic l in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_sub = +# 1854 "parser_cocci_menhir.mly" + ( (if !Data.in_iso + then failwith "constraints not allowed in iso file"); + (if !Data.in_generating + then failwith "constraints not allowed in a generated rule file"); + List.map + (function i -> + P.check_inherited_constraint i + (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None))) + l) +# 36775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30987,9 +36793,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1190 "parser_cocci_menhir.mly" +# 1412 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 30993 "parser_cocci_menhir.ml" +# 36799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31018,22 +36824,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 31024 "parser_cocci_menhir.ml" +# 36830 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 31030 "parser_cocci_menhir.ml" +# 36836 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1668 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 31037 "parser_cocci_menhir.ml" +# 2104 "parser_cocci_menhir.mly" + ( if P.struct_initializer _2 + then + let il = P.drop_dot_commas _2 in + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false)) + else + Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) ) +# 36848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31048,9 +36859,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 1656 "parser_cocci_menhir.mly" +# 2092 "parser_cocci_menhir.mly" ([]) -# 31054 "parser_cocci_menhir.ml" +# 36865 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31076,9 +36887,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1657 "parser_cocci_menhir.mly" +# 2093 "parser_cocci_menhir.mly" (_2) -# 31082 "parser_cocci_menhir.ml" +# 36893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31106,9 +36917,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1658 "parser_cocci_menhir.mly" +# 2094 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31112 "parser_cocci_menhir.ml" +# 36923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31136,9 +36947,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1659 "parser_cocci_menhir.mly" +# 2095 "parser_cocci_menhir.mly" (_1@_2) -# 31142 "parser_cocci_menhir.ml" +# 36953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31164,9 +36975,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1647 "parser_cocci_menhir.mly" +# 2083 "parser_cocci_menhir.mly" (_2) -# 31170 "parser_cocci_menhir.ml" +# 36981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31194,9 +37005,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1648 "parser_cocci_menhir.mly" +# 2084 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31200 "parser_cocci_menhir.ml" +# 37011 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31224,9 +37035,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1649 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" (_1@_2) -# 31230 "parser_cocci_menhir.ml" +# 37041 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31241,9 +37052,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 1652 "parser_cocci_menhir.mly" +# 2088 "parser_cocci_menhir.mly" ([]) -# 31247 "parser_cocci_menhir.ml" +# 37058 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31271,9 +37082,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1653 "parser_cocci_menhir.mly" +# 2089 "parser_cocci_menhir.mly" (_1::_2) -# 31277 "parser_cocci_menhir.ml" +# 37088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31288,9 +37099,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 1662 "parser_cocci_menhir.mly" +# 2098 "parser_cocci_menhir.mly" ([]) -# 31294 "parser_cocci_menhir.ml" +# 37105 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31318,9 +37129,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1663 "parser_cocci_menhir.mly" +# 2099 "parser_cocci_menhir.mly" (_1::_2) -# 31324 "parser_cocci_menhir.ml" +# 37135 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31348,9 +37159,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1664 "parser_cocci_menhir.mly" +# 2100 "parser_cocci_menhir.mly" (_1@_2) -# 31354 "parser_cocci_menhir.ml" +# 37165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31378,9 +37189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1642 "parser_cocci_menhir.mly" +# 2078 "parser_cocci_menhir.mly" ( _1::_2 ) -# 31384 "parser_cocci_menhir.ml" +# 37195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31408,9 +37219,378 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1643 "parser_cocci_menhir.mly" +# 2079 "parser_cocci_menhir.mly" + ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) +# 37225 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in + let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = +# 2080 "parser_cocci_menhir.mly" + ( _1@_2 ) +# 37255 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w0; + MenhirLib.EngineTypes.startp = _startpos_w0_; + MenhirLib.EngineTypes.endp = _endpos_w0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a0; + MenhirLib.EngineTypes.startp = _startpos_a0_; + MenhirLib.EngineTypes.endp = _endpos_a0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let b : 'tv_toplevel_after_dots_init = Obj.magic b in + let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in + let a0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37288 "parser_cocci_menhir.ml" + ) = Obj.magic a0 in + let _startpos = _startpos_a0_ in + let _endpos = _endpos_b_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = + let w = w0 in + let a = a0 in + +# 1104 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) +# 37298 "parser_cocci_menhir.ml" + + in + +# 2071 "parser_cocci_menhir.mly" + ( a::b ) +# 37304 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = c0; + MenhirLib.EngineTypes.startp = _startpos_c0_; + MenhirLib.EngineTypes.endp = _endpos_c0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = b0; + MenhirLib.EngineTypes.startp = _startpos_b0_; + MenhirLib.EngineTypes.endp = _endpos_b0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w0; + MenhirLib.EngineTypes.startp = _startpos_w0_; + MenhirLib.EngineTypes.endp = _endpos_w0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a0; + MenhirLib.EngineTypes.startp = _startpos_a0_; + MenhirLib.EngineTypes.endp = _endpos_a0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let b : 'tv_toplevel_after_dots_init = Obj.magic b in + let c0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37346 "parser_cocci_menhir.ml" + ) = Obj.magic c0 in + let b0 : 'tv_nest_start = Obj.magic b0 in + let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in + let a0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37353 "parser_cocci_menhir.ml" + ) = Obj.magic a0 in + let _startpos = _startpos_a0_ in + let _endpos = _endpos_b_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = + let c = c0 in + let b = b0 in + let w = w0 in + let a = a0 in + +# 1108 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, + P.clt2mcode "...>" c, List.concat w, false)) ) +# 37366 "parser_cocci_menhir.ml" + + in + +# 2072 "parser_cocci_menhir.mly" + ( a::b ) +# 37372 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = b; + MenhirLib.EngineTypes.startp = _startpos_b_; + MenhirLib.EngineTypes.endp = _endpos_b_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = c0; + MenhirLib.EngineTypes.startp = _startpos_c0_; + MenhirLib.EngineTypes.endp = _endpos_c0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = b0; + MenhirLib.EngineTypes.startp = _startpos_b0_; + MenhirLib.EngineTypes.endp = _endpos_b0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w0; + MenhirLib.EngineTypes.startp = _startpos_w0_; + MenhirLib.EngineTypes.endp = _endpos_w0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a0; + MenhirLib.EngineTypes.startp = _startpos_a0_; + MenhirLib.EngineTypes.endp = _endpos_a0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let b : 'tv_toplevel_after_dots_init = Obj.magic b in + let c0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37414 "parser_cocci_menhir.ml" + ) = Obj.magic c0 in + let b0 : 'tv_nest_start = Obj.magic b0 in + let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in + let a0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37421 "parser_cocci_menhir.ml" + ) = Obj.magic a0 in + let _startpos = _startpos_a0_ in + let _endpos = _endpos_b_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = + let c = c0 in + let b = b0 in + let w = w0 in + let a = a0 in + +# 1111 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, + P.clt2mcode "...+>" c, List.concat w, true)) ) +# 37434 "parser_cocci_menhir.ml" + + in + +# 2072 "parser_cocci_menhir.mly" + ( a::b ) +# 37440 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c0; + MenhirLib.EngineTypes.startp = _startpos_c0_; + MenhirLib.EngineTypes.endp = _endpos_c0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = b0; + MenhirLib.EngineTypes.startp = _startpos_b0_; + MenhirLib.EngineTypes.endp = _endpos_b0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w0; + MenhirLib.EngineTypes.startp = _startpos_w0_; + MenhirLib.EngineTypes.endp = _endpos_w0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a0; + MenhirLib.EngineTypes.startp = _startpos_a0_; + MenhirLib.EngineTypes.endp = _endpos_a0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let c0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37476 "parser_cocci_menhir.ml" + ) = Obj.magic c0 in + let b0 : 'tv_nest_start = Obj.magic b0 in + let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in + let a0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37483 "parser_cocci_menhir.ml" + ) = Obj.magic a0 in + let _startpos = _startpos_a0_ in + let _endpos = _endpos_c0_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = + let c = c0 in + let b = b0 in + let w = w0 in + let a = a0 in + +# 1108 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, + P.clt2mcode "...>" c, List.concat w, false)) ) +# 37496 "parser_cocci_menhir.ml" + + in + +# 2073 "parser_cocci_menhir.mly" + ( [a] ) +# 37502 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = c0; + MenhirLib.EngineTypes.startp = _startpos_c0_; + MenhirLib.EngineTypes.endp = _endpos_c0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = b0; + MenhirLib.EngineTypes.startp = _startpos_b0_; + MenhirLib.EngineTypes.endp = _endpos_b0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = w0; + MenhirLib.EngineTypes.startp = _startpos_w0_; + MenhirLib.EngineTypes.endp = _endpos_w0_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = a0; + MenhirLib.EngineTypes.startp = _startpos_a0_; + MenhirLib.EngineTypes.endp = _endpos_a0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let c0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37538 "parser_cocci_menhir.ml" + ) = Obj.magic c0 in + let b0 : 'tv_nest_start = Obj.magic b0 in + let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in + let a0 : ( +# 141 "parser_cocci_menhir.mly" + (Data.clt) +# 37545 "parser_cocci_menhir.ml" + ) = Obj.magic a0 in + let _startpos = _startpos_a0_ in + let _endpos = _endpos_c0_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = + let c = c0 in + let b = b0 in + let w = w0 in + let a = a0 in + +# 1111 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, + P.clt2mcode "...+>" c, List.concat w, true)) ) +# 37558 "parser_cocci_menhir.ml" + + in + +# 2073 "parser_cocci_menhir.mly" + ( [a] ) +# 37564 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in + let _1 : 'tv_expr = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = +# 2074 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 31414 "parser_cocci_menhir.ml" +# 37594 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31437,195 +37617,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : 'tv_decl_statement_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in - let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1644 "parser_cocci_menhir.mly" + let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = +# 2075 "parser_cocci_menhir.mly" ( _1@_2 ) -# 31444 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w0; - MenhirLib.EngineTypes.startp = _startpos_w0_; - MenhirLib.EngineTypes.endp = _endpos_w0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a0; - MenhirLib.EngineTypes.startp = _startpos_a0_; - MenhirLib.EngineTypes.endp = _endpos_a0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - } = _menhir_stack in - let b : 'tv_toplevel_after_dots_init = Obj.magic b in - let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in - let a0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31477 "parser_cocci_menhir.ml" - ) = Obj.magic a0 in - let _startpos = _startpos_a0_ in - let _endpos = _endpos_b_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = - let w = w0 in - let a = a0 in - -# 876 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 31487 "parser_cocci_menhir.ml" - - in - -# 1635 "parser_cocci_menhir.mly" - ( a::b ) -# 31493 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c0; - MenhirLib.EngineTypes.startp = _startpos_c0_; - MenhirLib.EngineTypes.endp = _endpos_c0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b0; - MenhirLib.EngineTypes.startp = _startpos_b0_; - MenhirLib.EngineTypes.endp = _endpos_b0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w0; - MenhirLib.EngineTypes.startp = _startpos_w0_; - MenhirLib.EngineTypes.endp = _endpos_w0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a0; - MenhirLib.EngineTypes.startp = _startpos_a0_; - MenhirLib.EngineTypes.endp = _endpos_a0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - } = _menhir_stack in - let b : 'tv_toplevel_after_dots_init = Obj.magic b in - let c0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31535 "parser_cocci_menhir.ml" - ) = Obj.magic c0 in - let b0 : 'tv_nest_start = Obj.magic b0 in - let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in - let a0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31542 "parser_cocci_menhir.ml" - ) = Obj.magic a0 in - let _startpos = _startpos_a0_ in - let _endpos = _endpos_b_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = - let c = c0 in - let b = b0 in - let w = w0 in - let a = a0 in - -# 880 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, - P.clt2mcode "...>" c, List.concat w, false)) ) -# 31555 "parser_cocci_menhir.ml" - - in - -# 1636 "parser_cocci_menhir.mly" - ( a::b ) -# 31561 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = b; - MenhirLib.EngineTypes.startp = _startpos_b_; - MenhirLib.EngineTypes.endp = _endpos_b_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = c0; - MenhirLib.EngineTypes.startp = _startpos_c0_; - MenhirLib.EngineTypes.endp = _endpos_c0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b0; - MenhirLib.EngineTypes.startp = _startpos_b0_; - MenhirLib.EngineTypes.endp = _endpos_b0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w0; - MenhirLib.EngineTypes.startp = _startpos_w0_; - MenhirLib.EngineTypes.endp = _endpos_w0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a0; - MenhirLib.EngineTypes.startp = _startpos_a0_; - MenhirLib.EngineTypes.endp = _endpos_a0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - }; - } = _menhir_stack in - let b : 'tv_toplevel_after_dots_init = Obj.magic b in - let c0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31603 "parser_cocci_menhir.ml" - ) = Obj.magic c0 in - let b0 : 'tv_nest_start = Obj.magic b0 in - let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in - let a0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31610 "parser_cocci_menhir.ml" - ) = Obj.magic a0 in - let _startpos = _startpos_a0_ in - let _endpos = _endpos_b_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = - let c = c0 in - let b = b0 in - let w = w0 in - let a = a0 in - -# 883 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, - P.clt2mcode "...+>" c, List.concat w, true)) ) -# 31623 "parser_cocci_menhir.ml" - - in - -# 1636 "parser_cocci_menhir.mly" - ( a::b ) -# 31629 "parser_cocci_menhir.ml" +# 37624 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31637,119 +37632,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = c0; - MenhirLib.EngineTypes.startp = _startpos_c0_; - MenhirLib.EngineTypes.endp = _endpos_c0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b0; - MenhirLib.EngineTypes.startp = _startpos_b0_; - MenhirLib.EngineTypes.endp = _endpos_b0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w0; - MenhirLib.EngineTypes.startp = _startpos_w0_; - MenhirLib.EngineTypes.endp = _endpos_w0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a0; - MenhirLib.EngineTypes.startp = _startpos_a0_; - MenhirLib.EngineTypes.endp = _endpos_a0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let c0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31665 "parser_cocci_menhir.ml" - ) = Obj.magic c0 in - let b0 : 'tv_nest_start = Obj.magic b0 in - let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in - let a0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31672 "parser_cocci_menhir.ml" - ) = Obj.magic a0 in - let _startpos = _startpos_a0_ in - let _endpos = _endpos_c0_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = - let c = c0 in - let b = b0 in - let w = w0 in - let a = a0 in - -# 880 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, - P.clt2mcode "...>" c, List.concat w, false)) ) -# 31685 "parser_cocci_menhir.ml" - - in - -# 1637 "parser_cocci_menhir.mly" - ( [a] ) -# 31691 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = c0; - MenhirLib.EngineTypes.startp = _startpos_c0_; - MenhirLib.EngineTypes.endp = _endpos_c0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = b0; - MenhirLib.EngineTypes.startp = _startpos_b0_; - MenhirLib.EngineTypes.endp = _endpos_b0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = w0; - MenhirLib.EngineTypes.startp = _startpos_w0_; - MenhirLib.EngineTypes.endp = _endpos_w0_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = a0; - MenhirLib.EngineTypes.startp = _startpos_a0_; - MenhirLib.EngineTypes.endp = _endpos_a0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; } = _menhir_stack in - let c0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31727 "parser_cocci_menhir.ml" - ) = Obj.magic c0 in - let b0 : 'tv_nest_start = Obj.magic b0 in - let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in - let a0 : ( -# 73 "parser_cocci_menhir.mly" - (Data.clt) -# 31734 "parser_cocci_menhir.ml" - ) = Obj.magic a0 in - let _startpos = _startpos_a0_ in - let _endpos = _endpos_c0_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a = - let c = c0 in - let b = b0 in - let w = w0 in - let a = a0 in - -# 883 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, - P.clt2mcode "...+>" c, List.concat w, true)) ) -# 31747 "parser_cocci_menhir.ml" - - in - -# 1637 "parser_cocci_menhir.mly" - ( [a] ) -# 31753 "parser_cocci_menhir.ml" + let _1 : 'tv_disj_ident = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_type_ident = +# 1929 "parser_cocci_menhir.mly" + ( _1 ) +# 37648 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31761,55 +37656,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - } = _menhir_stack in - let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in - let _1 : 'tv_expr = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1638 "parser_cocci_menhir.mly" - ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 31783 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; } = _menhir_stack in - let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in - let _1 : 'tv_decl_statement_expr = Obj.magic _1 in + let _1 : ( +# 125 "parser_cocci_menhir.mly" + (string * Data.clt) +# 37669 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in let _startpos = _startpos__1_ in - let _endpos = _endpos__2_ in - let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1639 "parser_cocci_menhir.mly" - ( _1@_2 ) -# 31813 "parser_cocci_menhir.ml" + let _endpos = _endpos__1_ in + let _v : 'tv_type_ident = +# 1931 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) +# 37676 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31839,14 +37702,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 31845 "parser_cocci_menhir.ml" +# 37708 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 31850 "parser_cocci_menhir.ml" +# 37713 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -31856,28 +37719,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 31862 "parser_cocci_menhir.ml" +# 37725 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 31868 "parser_cocci_menhir.ml" +# 37731 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 31875 "parser_cocci_menhir.ml" +# 37738 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 31881 "parser_cocci_menhir.ml" +# 37744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31907,14 +37770,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 31913 "parser_cocci_menhir.ml" +# 37776 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 31918 "parser_cocci_menhir.ml" +# 37781 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -31924,28 +37787,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 31930 "parser_cocci_menhir.ml" +# 37793 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 31936 "parser_cocci_menhir.ml" +# 37799 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 31943 "parser_cocci_menhir.ml" +# 37806 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 31949 "parser_cocci_menhir.ml" +# 37812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31975,14 +37838,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 31981 "parser_cocci_menhir.ml" +# 37844 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 31986 "parser_cocci_menhir.ml" +# 37849 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -31992,28 +37855,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 31998 "parser_cocci_menhir.ml" +# 37861 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32004 "parser_cocci_menhir.ml" +# 37867 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32011 "parser_cocci_menhir.ml" +# 37874 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32017 "parser_cocci_menhir.ml" +# 37880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32043,14 +37906,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 32049 "parser_cocci_menhir.ml" +# 37912 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32054 "parser_cocci_menhir.ml" +# 37917 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32060,29 +37923,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 32067 "parser_cocci_menhir.ml" +# 37930 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32073 "parser_cocci_menhir.ml" +# 37936 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32080 "parser_cocci_menhir.ml" +# 37943 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32086 "parser_cocci_menhir.ml" +# 37949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32121,19 +37984,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 32127 "parser_cocci_menhir.ml" +# 37990 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 32132 "parser_cocci_menhir.ml" +# 37995 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32137 "parser_cocci_menhir.ml" +# 38000 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -32145,33 +38008,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 32156 "parser_cocci_menhir.ml" +# 38019 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32162 "parser_cocci_menhir.ml" +# 38025 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32169 "parser_cocci_menhir.ml" +# 38032 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32175 "parser_cocci_menhir.ml" +# 38038 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32201,14 +38064,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32207 "parser_cocci_menhir.ml" +# 38070 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32212 "parser_cocci_menhir.ml" +# 38075 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32218,28 +38081,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 32224 "parser_cocci_menhir.ml" +# 38087 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32230 "parser_cocci_menhir.ml" +# 38093 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32237 "parser_cocci_menhir.ml" +# 38100 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32243 "parser_cocci_menhir.ml" +# 38106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32274,19 +38137,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32280 "parser_cocci_menhir.ml" +# 38143 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32285 "parser_cocci_menhir.ml" +# 38148 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32290 "parser_cocci_menhir.ml" +# 38153 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32298,31 +38161,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 32307 "parser_cocci_menhir.ml" +# 38170 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32313 "parser_cocci_menhir.ml" +# 38176 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32320 "parser_cocci_menhir.ml" +# 38183 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32326 "parser_cocci_menhir.ml" +# 38189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32352,14 +38215,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32358 "parser_cocci_menhir.ml" +# 38221 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32363 "parser_cocci_menhir.ml" +# 38226 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32369,28 +38232,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32375 "parser_cocci_menhir.ml" +# 38238 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32381 "parser_cocci_menhir.ml" +# 38244 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32388 "parser_cocci_menhir.ml" +# 38251 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32394 "parser_cocci_menhir.ml" +# 38257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32420,14 +38283,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32426 "parser_cocci_menhir.ml" +# 38289 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32431 "parser_cocci_menhir.ml" +# 38294 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32437,28 +38300,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 32443 "parser_cocci_menhir.ml" +# 38306 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32449 "parser_cocci_menhir.ml" +# 38312 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32456 "parser_cocci_menhir.ml" +# 38319 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32462 "parser_cocci_menhir.ml" +# 38325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32488,14 +38351,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32494 "parser_cocci_menhir.ml" +# 38357 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32499 "parser_cocci_menhir.ml" +# 38362 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32505,28 +38368,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 32511 "parser_cocci_menhir.ml" +# 38374 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32517 "parser_cocci_menhir.ml" +# 38380 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32524 "parser_cocci_menhir.ml" +# 38387 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32530 "parser_cocci_menhir.ml" +# 38393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32556,14 +38419,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 32562 "parser_cocci_menhir.ml" +# 38425 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32567 "parser_cocci_menhir.ml" +# 38430 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32573,29 +38436,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 32580 "parser_cocci_menhir.ml" +# 38443 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32586 "parser_cocci_menhir.ml" +# 38449 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32593 "parser_cocci_menhir.ml" +# 38456 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32599 "parser_cocci_menhir.ml" +# 38462 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32634,19 +38497,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 32640 "parser_cocci_menhir.ml" +# 38503 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 32645 "parser_cocci_menhir.ml" +# 38508 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32650 "parser_cocci_menhir.ml" +# 38513 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -32658,33 +38521,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 32669 "parser_cocci_menhir.ml" +# 38532 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32675 "parser_cocci_menhir.ml" +# 38538 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32682 "parser_cocci_menhir.ml" +# 38545 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32688 "parser_cocci_menhir.ml" +# 38551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32714,14 +38577,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32720 "parser_cocci_menhir.ml" +# 38583 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32725 "parser_cocci_menhir.ml" +# 38588 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32731,28 +38594,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 32737 "parser_cocci_menhir.ml" +# 38600 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32743 "parser_cocci_menhir.ml" +# 38606 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32750 "parser_cocci_menhir.ml" +# 38613 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32756 "parser_cocci_menhir.ml" +# 38619 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32787,19 +38650,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32793 "parser_cocci_menhir.ml" +# 38656 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32798 "parser_cocci_menhir.ml" +# 38661 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 32803 "parser_cocci_menhir.ml" +# 38666 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32811,31 +38674,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 32820 "parser_cocci_menhir.ml" +# 38683 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 32826 "parser_cocci_menhir.ml" +# 38689 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32833 "parser_cocci_menhir.ml" +# 38696 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32839 "parser_cocci_menhir.ml" +# 38702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32860,9 +38723,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32866 "parser_cocci_menhir.ml" +# 38729 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -32871,28 +38734,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32877 "parser_cocci_menhir.ml" +# 38740 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 32883 "parser_cocci_menhir.ml" +# 38746 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32890 "parser_cocci_menhir.ml" +# 38753 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32896 "parser_cocci_menhir.ml" +# 38759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32917,9 +38780,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32923 "parser_cocci_menhir.ml" +# 38786 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -32928,28 +38791,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 32934 "parser_cocci_menhir.ml" +# 38797 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 32940 "parser_cocci_menhir.ml" +# 38803 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32947 "parser_cocci_menhir.ml" +# 38810 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32953 "parser_cocci_menhir.ml" +# 38816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32974,9 +38837,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 32980 "parser_cocci_menhir.ml" +# 38843 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -32985,28 +38848,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 32991 "parser_cocci_menhir.ml" +# 38854 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 32997 "parser_cocci_menhir.ml" +# 38860 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33004 "parser_cocci_menhir.ml" +# 38867 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33010 "parser_cocci_menhir.ml" +# 38873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33031,9 +38894,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33037 "parser_cocci_menhir.ml" +# 38900 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -33042,29 +38905,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33049 "parser_cocci_menhir.ml" +# 38912 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 33055 "parser_cocci_menhir.ml" +# 38918 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33062 "parser_cocci_menhir.ml" +# 38925 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33068 "parser_cocci_menhir.ml" +# 38931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33098,14 +38961,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 33104 "parser_cocci_menhir.ml" +# 38967 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 33109 "parser_cocci_menhir.ml" +# 38972 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -33116,33 +38979,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 33127 "parser_cocci_menhir.ml" +# 38990 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 33133 "parser_cocci_menhir.ml" +# 38996 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33140 "parser_cocci_menhir.ml" +# 39003 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33146 "parser_cocci_menhir.ml" +# 39009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33167,9 +39030,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33173 "parser_cocci_menhir.ml" +# 39036 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33178,28 +39041,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33184 "parser_cocci_menhir.ml" +# 39047 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 33190 "parser_cocci_menhir.ml" +# 39053 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33197 "parser_cocci_menhir.ml" +# 39060 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33203 "parser_cocci_menhir.ml" +# 39066 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33229,14 +39092,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33235 "parser_cocci_menhir.ml" +# 39098 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33240 "parser_cocci_menhir.ml" +# 39103 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -33247,31 +39110,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33256 "parser_cocci_menhir.ml" +# 39119 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 33262 "parser_cocci_menhir.ml" +# 39125 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33269 "parser_cocci_menhir.ml" +# 39132 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33275 "parser_cocci_menhir.ml" +# 39138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33296,9 +39159,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 33302 "parser_cocci_menhir.ml" +# 39165 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33307,28 +39170,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 495 "parser_cocci_menhir.mly" +# 656 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 33313 "parser_cocci_menhir.ml" +# 39176 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33319 "parser_cocci_menhir.ml" +# 39182 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33326 "parser_cocci_menhir.ml" +# 39189 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33332 "parser_cocci_menhir.ml" +# 39195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33353,9 +39216,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33359 "parser_cocci_menhir.ml" +# 39222 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33364,28 +39227,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 497 "parser_cocci_menhir.mly" +# 658 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 33370 "parser_cocci_menhir.ml" +# 39233 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33376 "parser_cocci_menhir.ml" +# 39239 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33383 "parser_cocci_menhir.ml" +# 39246 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33389 "parser_cocci_menhir.ml" +# 39252 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33410,9 +39273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33416 "parser_cocci_menhir.ml" +# 39279 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33421,28 +39284,363 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 499 "parser_cocci_menhir.mly" +# 660 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 33427 "parser_cocci_menhir.ml" +# 39290 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 39296 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39303 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39309 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 39336 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 662 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 39347 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 39353 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39360 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39366 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 39393 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 664 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 39404 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 39410 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39417 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39423 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 115 "parser_cocci_menhir.mly" + (Data.clt) +# 39450 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let _startpos = _startpos_ty00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 39461 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 39467 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39474 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39480 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 39513 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let i0 = i00 in + let s0 = s00 in + let ty = + let i = i0 in + let s = s0 in + +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 39526 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 39532 "parser_cocci_menhir.ml" + + in + let cv = + +# 39 "standard.mly" + ( None ) +# 39539 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 39545 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 39587 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 39593 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 39598 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let _startpos = _startpos_s00_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 39616 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 39625 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33433 "parser_cocci_menhir.ml" +# 39631 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33440 "parser_cocci_menhir.ml" +# 39638 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33446 "parser_cocci_menhir.ml" +# 39644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33458,56 +39656,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 39691 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 39697 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 33479 "parser_cocci_menhir.ml" +# 39703 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let i0 = i00 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in let s0 = s00 in let ty = - let i = i0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 39724 "parser_cocci_menhir.ml" + + in -# 501 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 33492 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 39733 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33498 "parser_cocci_menhir.ml" +# 39739 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33505 "parser_cocci_menhir.ml" +# 39746 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33511 "parser_cocci_menhir.ml" +# 39752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33536,7 +39777,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let i00 : 'tv_type_ident = Obj.magic i00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -33547,28 +39788,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 503 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 33553 "parser_cocci_menhir.ml" +# 39794 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33559 "parser_cocci_menhir.ml" +# 39800 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33566 "parser_cocci_menhir.ml" +# 39807 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33572 "parser_cocci_menhir.ml" +# 39813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33608,15 +39849,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33614 "parser_cocci_menhir.ml" +# 39855 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33620 "parser_cocci_menhir.ml" +# 39861 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -33635,36 +39876,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 33639 "parser_cocci_menhir.ml" +# 39880 "parser_cocci_menhir.ml" in -# 506 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 33649 "parser_cocci_menhir.ml" +# 39890 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33655 "parser_cocci_menhir.ml" +# 39896 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33662 "parser_cocci_menhir.ml" +# 39903 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33668 "parser_cocci_menhir.ml" +# 39909 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33709,17 +39950,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33715 "parser_cocci_menhir.ml" +# 39956 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33721 "parser_cocci_menhir.ml" +# 39962 "parser_cocci_menhir.ml" ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in + let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -33740,36 +39981,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 33744 "parser_cocci_menhir.ml" +# 39985 "parser_cocci_menhir.ml" in -# 506 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 33754 "parser_cocci_menhir.ml" +# 39995 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33760 "parser_cocci_menhir.ml" +# 40001 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33767 "parser_cocci_menhir.ml" +# 40008 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33773 "parser_cocci_menhir.ml" +# 40014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33809,20 +40050,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33815 "parser_cocci_menhir.ml" +# 40056 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 33821 "parser_cocci_menhir.ml" +# 40062 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33826 "parser_cocci_menhir.ml" +# 40067 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -33837,30 +40078,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 512 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 33845 "parser_cocci_menhir.ml" +# 40086 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33851 "parser_cocci_menhir.ml" +# 40092 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33858 "parser_cocci_menhir.ml" +# 40099 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33864 "parser_cocci_menhir.ml" +# 40105 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33885,9 +40126,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 33891 "parser_cocci_menhir.ml" +# 40132 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -33896,28 +40137,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 516 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 33902 "parser_cocci_menhir.ml" +# 40143 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 33908 "parser_cocci_menhir.ml" +# 40149 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33915 "parser_cocci_menhir.ml" +# 40156 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33921 "parser_cocci_menhir.ml" +# 40162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33952,14 +40193,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 33958 "parser_cocci_menhir.ml" +# 40199 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 33963 "parser_cocci_menhir.ml" +# 40204 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -33970,15 +40211,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33976 "parser_cocci_menhir.ml" +# 40217 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33982 "parser_cocci_menhir.ml" +# 40223 "parser_cocci_menhir.ml" in let cv = @@ -33986,13 +40227,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 33990 "parser_cocci_menhir.ml" +# 40231 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33996 "parser_cocci_menhir.ml" +# 40237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34027,14 +40268,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34033 "parser_cocci_menhir.ml" +# 40274 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34038 "parser_cocci_menhir.ml" +# 40279 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34045,15 +40286,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34051 "parser_cocci_menhir.ml" +# 40292 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34057 "parser_cocci_menhir.ml" +# 40298 "parser_cocci_menhir.ml" in let cv = @@ -34061,13 +40302,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34065 "parser_cocci_menhir.ml" +# 40306 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34071 "parser_cocci_menhir.ml" +# 40312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34102,14 +40343,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34108 "parser_cocci_menhir.ml" +# 40349 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34113 "parser_cocci_menhir.ml" +# 40354 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34120,15 +40361,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34126 "parser_cocci_menhir.ml" +# 40367 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34132 "parser_cocci_menhir.ml" +# 40373 "parser_cocci_menhir.ml" in let cv = @@ -34136,13 +40377,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34140 "parser_cocci_menhir.ml" +# 40381 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34146 "parser_cocci_menhir.ml" +# 40387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34177,14 +40418,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34183 "parser_cocci_menhir.ml" +# 40424 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34188 "parser_cocci_menhir.ml" +# 40429 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34195,16 +40436,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 34202 "parser_cocci_menhir.ml" +# 40443 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34208 "parser_cocci_menhir.ml" +# 40449 "parser_cocci_menhir.ml" in let cv = @@ -34212,13 +40453,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34216 "parser_cocci_menhir.ml" +# 40457 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34222 "parser_cocci_menhir.ml" +# 40463 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34262,19 +40503,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 34268 "parser_cocci_menhir.ml" +# 40509 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 34273 "parser_cocci_menhir.ml" +# 40514 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34278 "parser_cocci_menhir.ml" +# 40519 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34287,20 +40528,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 34298 "parser_cocci_menhir.ml" +# 40539 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34304 "parser_cocci_menhir.ml" +# 40545 "parser_cocci_menhir.ml" in let cv = @@ -34308,13 +40549,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34312 "parser_cocci_menhir.ml" +# 40553 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34318 "parser_cocci_menhir.ml" +# 40559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34349,14 +40590,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34355 "parser_cocci_menhir.ml" +# 40596 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34360 "parser_cocci_menhir.ml" +# 40601 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34367,15 +40608,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 34373 "parser_cocci_menhir.ml" +# 40614 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34379 "parser_cocci_menhir.ml" +# 40620 "parser_cocci_menhir.ml" in let cv = @@ -34383,13 +40624,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34387 "parser_cocci_menhir.ml" +# 40628 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34393 "parser_cocci_menhir.ml" +# 40634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34429,19 +40670,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34435 "parser_cocci_menhir.ml" +# 40676 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34440 "parser_cocci_menhir.ml" +# 40681 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34445 "parser_cocci_menhir.ml" +# 40686 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34454,18 +40695,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 34463 "parser_cocci_menhir.ml" +# 40704 "parser_cocci_menhir.ml" in -# 521 "parser_cocci_menhir.mly" +# 693 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34469 "parser_cocci_menhir.ml" +# 40710 "parser_cocci_menhir.ml" in let cv = @@ -34473,13 +40714,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34477 "parser_cocci_menhir.ml" +# 40718 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34483 "parser_cocci_menhir.ml" +# 40724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34514,14 +40755,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34520 "parser_cocci_menhir.ml" +# 40761 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34525 "parser_cocci_menhir.ml" +# 40766 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34532,15 +40773,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 34538 "parser_cocci_menhir.ml" +# 40779 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34544 "parser_cocci_menhir.ml" +# 40785 "parser_cocci_menhir.ml" in let cv = @@ -34548,13 +40789,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34552 "parser_cocci_menhir.ml" +# 40793 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34558 "parser_cocci_menhir.ml" +# 40799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34589,14 +40830,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34595 "parser_cocci_menhir.ml" +# 40836 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34600 "parser_cocci_menhir.ml" +# 40841 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34607,15 +40848,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34613 "parser_cocci_menhir.ml" +# 40854 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34619 "parser_cocci_menhir.ml" +# 40860 "parser_cocci_menhir.ml" in let cv = @@ -34623,13 +40864,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34627 "parser_cocci_menhir.ml" +# 40868 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34633 "parser_cocci_menhir.ml" +# 40874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34664,14 +40905,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34670 "parser_cocci_menhir.ml" +# 40911 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34675 "parser_cocci_menhir.ml" +# 40916 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34682,15 +40923,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34688 "parser_cocci_menhir.ml" +# 40929 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34694 "parser_cocci_menhir.ml" +# 40935 "parser_cocci_menhir.ml" in let cv = @@ -34698,13 +40939,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34702 "parser_cocci_menhir.ml" +# 40943 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34708 "parser_cocci_menhir.ml" +# 40949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34739,14 +40980,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34745 "parser_cocci_menhir.ml" +# 40986 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34750 "parser_cocci_menhir.ml" +# 40991 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34757,16 +40998,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 34764 "parser_cocci_menhir.ml" +# 41005 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34770 "parser_cocci_menhir.ml" +# 41011 "parser_cocci_menhir.ml" in let cv = @@ -34774,13 +41015,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34778 "parser_cocci_menhir.ml" +# 41019 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34784 "parser_cocci_menhir.ml" +# 41025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34824,19 +41065,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 34830 "parser_cocci_menhir.ml" +# 41071 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 34835 "parser_cocci_menhir.ml" +# 41076 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34840 "parser_cocci_menhir.ml" +# 41081 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34849,20 +41090,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 34860 "parser_cocci_menhir.ml" +# 41101 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34866 "parser_cocci_menhir.ml" +# 41107 "parser_cocci_menhir.ml" in let cv = @@ -34870,13 +41111,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34874 "parser_cocci_menhir.ml" +# 41115 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34880 "parser_cocci_menhir.ml" +# 41121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34911,14 +41152,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34917 "parser_cocci_menhir.ml" +# 41158 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 34922 "parser_cocci_menhir.ml" +# 41163 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34929,15 +41170,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 34935 "parser_cocci_menhir.ml" +# 41176 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 34941 "parser_cocci_menhir.ml" +# 41182 "parser_cocci_menhir.ml" in let cv = @@ -34945,13 +41186,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34949 "parser_cocci_menhir.ml" +# 41190 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34955 "parser_cocci_menhir.ml" +# 41196 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34991,19 +41232,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 34997 "parser_cocci_menhir.ml" +# 41238 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35002 "parser_cocci_menhir.ml" +# 41243 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 35007 "parser_cocci_menhir.ml" +# 41248 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35016,18 +41257,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 487 "parser_cocci_menhir.mly" +# 648 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35025 "parser_cocci_menhir.ml" +# 41266 "parser_cocci_menhir.ml" in -# 523 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35031 "parser_cocci_menhir.ml" +# 41272 "parser_cocci_menhir.ml" in let cv = @@ -35035,13 +41276,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35039 "parser_cocci_menhir.ml" +# 41280 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35045 "parser_cocci_menhir.ml" +# 41286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35071,9 +41312,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35077 "parser_cocci_menhir.ml" +# 41318 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35083,15 +41324,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 469 "parser_cocci_menhir.mly" +# 630 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35089 "parser_cocci_menhir.ml" +# 41330 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35095 "parser_cocci_menhir.ml" +# 41336 "parser_cocci_menhir.ml" in let cv = @@ -35099,13 +41340,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35103 "parser_cocci_menhir.ml" +# 41344 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35109 "parser_cocci_menhir.ml" +# 41350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35135,9 +41376,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35141 "parser_cocci_menhir.ml" +# 41382 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35147,15 +41388,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 471 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35153 "parser_cocci_menhir.ml" +# 41394 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35159 "parser_cocci_menhir.ml" +# 41400 "parser_cocci_menhir.ml" in let cv = @@ -35163,13 +41404,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35167 "parser_cocci_menhir.ml" +# 41408 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35173 "parser_cocci_menhir.ml" +# 41414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35199,9 +41440,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35205 "parser_cocci_menhir.ml" +# 41446 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35211,15 +41452,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 473 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35217 "parser_cocci_menhir.ml" +# 41458 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35223 "parser_cocci_menhir.ml" +# 41464 "parser_cocci_menhir.ml" in let cv = @@ -35227,13 +41468,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35231 "parser_cocci_menhir.ml" +# 41472 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35237 "parser_cocci_menhir.ml" +# 41478 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35263,9 +41504,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35269 "parser_cocci_menhir.ml" +# 41510 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35275,16 +41516,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 475 "parser_cocci_menhir.mly" +# 636 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35282 "parser_cocci_menhir.ml" +# 41523 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35288 "parser_cocci_menhir.ml" +# 41529 "parser_cocci_menhir.ml" in let cv = @@ -35292,13 +41533,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35296 "parser_cocci_menhir.ml" +# 41537 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35302 "parser_cocci_menhir.ml" +# 41543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35337,14 +41578,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 35343 "parser_cocci_menhir.ml" +# 41584 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (string) -# 35348 "parser_cocci_menhir.ml" +# 41589 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35356,20 +41597,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 478 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 35367 "parser_cocci_menhir.ml" +# 41608 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35373 "parser_cocci_menhir.ml" +# 41614 "parser_cocci_menhir.ml" in let cv = @@ -35377,13 +41618,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35381 "parser_cocci_menhir.ml" +# 41622 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35387 "parser_cocci_menhir.ml" +# 41628 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35413,9 +41654,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 35419 "parser_cocci_menhir.ml" +# 41660 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35425,15 +41666,286 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 485 "parser_cocci_menhir.mly" +# 646 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35431 "parser_cocci_menhir.ml" +# 41672 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" +# 696 "parser_cocci_menhir.mly" ( ty ) -# 35437 "parser_cocci_menhir.ml" +# 41678 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 41686 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 41692 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty200; + MenhirLib.EngineTypes.startp = _startpos_ty200_; + MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty100; + MenhirLib.EngineTypes.startp = _startpos_ty100_; + MenhirLib.EngineTypes.endp = _endpos_ty100_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty200 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 41729 "parser_cocci_menhir.ml" + ) = Obj.magic ty200 in + let ty100 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 41734 "parser_cocci_menhir.ml" + ) = Obj.magic ty100 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty20 = ty200 in + let ty10 = ty100 in + let ty = + let ty2 = ty20 in + let ty1 = ty10 in + +# 648 "parser_cocci_menhir.mly" + ( Ast0.wrap + (Ast0.BaseType + (Ast.LongLongType, + [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) +# 41751 "parser_cocci_menhir.ml" + + in + +# 696 "parser_cocci_menhir.mly" + ( ty ) +# 41757 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 41765 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 41771 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 41803 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 656 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) +# 41815 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 41821 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 41829 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 41835 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 41867 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 658 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) +# 41879 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 41885 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 41893 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 41899 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let ty00 : ( +# 114 "parser_cocci_menhir.mly" + (Data.clt) +# 41931 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let ty0 = ty00 in + let ty = + let ty = ty0 in + +# 660 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) +# 41943 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 41949 "parser_cocci_menhir.ml" in let cv = @@ -35441,13 +41953,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35445 "parser_cocci_menhir.ml" +# 41957 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35451 "parser_cocci_menhir.ml" +# 41963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35463,56 +41975,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty200; - MenhirLib.EngineTypes.startp = _startpos_ty200_; - MenhirLib.EngineTypes.endp = _endpos_ty200_; + MenhirLib.EngineTypes.semv = ty00; + MenhirLib.EngineTypes.startp = _startpos_ty00_; + MenhirLib.EngineTypes.endp = _endpos_ty00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty100; - MenhirLib.EngineTypes.startp = _startpos_ty100_; - MenhirLib.EngineTypes.endp = _endpos_ty100_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty200 : ( -# 49 "parser_cocci_menhir.mly" - (Data.clt) -# 35488 "parser_cocci_menhir.ml" - ) = Obj.magic ty200 in - let ty100 : ( -# 49 "parser_cocci_menhir.mly" + let ty00 : ( +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 35493 "parser_cocci_menhir.ml" - ) = Obj.magic ty100 in +# 41995 "parser_cocci_menhir.ml" + ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty20 = ty200 in - let ty10 = ty100 in + let ty0 = ty00 in let ty = - let ty2 = ty20 in - let ty1 = ty10 in + let ty = ty0 in -# 487 "parser_cocci_menhir.mly" - ( Ast0.wrap - (Ast0.BaseType - (Ast.LongLongType, - [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35510 "parser_cocci_menhir.ml" +# 662 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) ) +# 42007 "parser_cocci_menhir.ml" in -# 524 "parser_cocci_menhir.mly" - ( ty ) -# 35516 "parser_cocci_menhir.ml" +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 42013 "parser_cocci_menhir.ml" in let cv = @@ -35520,13 +42017,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35524 "parser_cocci_menhir.ml" +# 42021 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35530 "parser_cocci_menhir.ml" +# 42027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35556,9 +42053,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 50 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 35562 "parser_cocci_menhir.ml" +# 42059 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35568,15 +42065,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 495 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 35574 "parser_cocci_menhir.ml" +# 664 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) ) +# 42071 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35580 "parser_cocci_menhir.ml" +# 42077 "parser_cocci_menhir.ml" in let cv = @@ -35584,13 +42081,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35588 "parser_cocci_menhir.ml" +# 42085 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35594 "parser_cocci_menhir.ml" +# 42091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35620,9 +42117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty00 : ( -# 49 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 35626 "parser_cocci_menhir.ml" +# 42123 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35632,15 +42129,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 497 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 35638 "parser_cocci_menhir.ml" +# 666 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) ) +# 42135 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35644 "parser_cocci_menhir.ml" +# 42141 "parser_cocci_menhir.ml" in let cv = @@ -35648,13 +42145,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35652 "parser_cocci_menhir.ml" +# 42149 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35658 "parser_cocci_menhir.ml" +# 42155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35670,41 +42167,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ty00; - MenhirLib.EngineTypes.startp = _startpos_ty00_; - MenhirLib.EngineTypes.endp = _endpos_ty00_; + MenhirLib.EngineTypes.semv = i00; + MenhirLib.EngineTypes.startp = _startpos_i00_; + MenhirLib.EngineTypes.endp = _endpos_i00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let ty00 : ( -# 49 "parser_cocci_menhir.mly" + let i00 : 'tv_ident = Obj.magic i00 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 35690 "parser_cocci_menhir.ml" - ) = Obj.magic ty00 in +# 42193 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let ty0 = ty00 in + let i0 = i00 in + let s0 = s00 in let ty = - let ty = ty0 in + let i = i0 in + let s = s0 in -# 499 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 35702 "parser_cocci_menhir.ml" +# 668 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) ) +# 42207 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35708 "parser_cocci_menhir.ml" +# 42213 "parser_cocci_menhir.ml" in let cv = @@ -35712,13 +42217,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35716 "parser_cocci_menhir.ml" +# 42221 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35722 "parser_cocci_menhir.ml" +# 42227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35734,49 +42239,198 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.startp = _startpos_m_; MenhirLib.EngineTypes.endp = _endpos_m_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = i00; - MenhirLib.EngineTypes.startp = _startpos_i00_; - MenhirLib.EngineTypes.endp = _endpos_i00_; + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = s00; - MenhirLib.EngineTypes.startp = _startpos_s00_; - MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x0; - MenhirLib.EngineTypes.startp = _startpos_x0_; - MenhirLib.EngineTypes.endp = _endpos_x0_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; }; }; }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 42274 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 42280 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 35760 "parser_cocci_menhir.ml" +# 42285 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in let _endpos = _endpos_m_ in let _v : 'tv_typedef_ctype = let ty = - let i0 = i00 in + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in let s0 = s00 in let ty = - let i = i0 in + let r = r0 in + let ids = ids0 in + let l = l0 in + let s = s0 in + let i = + +# 39 "standard.mly" + ( None ) +# 42304 "parser_cocci_menhir.ml" + + in + +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 42313 "parser_cocci_menhir.ml" + + in + +# 697 "parser_cocci_menhir.mly" + ( ty ) +# 42319 "parser_cocci_menhir.ml" + + in + let cv = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 42327 "parser_cocci_menhir.ml" + + in + +# 718 "parser_cocci_menhir.mly" + ( P.pointerify (P.make_cv cv ty) m ) +# 42333 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = m; + MenhirLib.EngineTypes.startp = _startpos_m_; + MenhirLib.EngineTypes.endp = _endpos_m_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = r00; + MenhirLib.EngineTypes.startp = _startpos_r00_; + MenhirLib.EngineTypes.endp = _endpos_r00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = ids00; + MenhirLib.EngineTypes.startp = _startpos_ids00_; + MenhirLib.EngineTypes.endp = _endpos_ids00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = l00; + MenhirLib.EngineTypes.startp = _startpos_l00_; + MenhirLib.EngineTypes.endp = _endpos_l00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = x000; + MenhirLib.EngineTypes.startp = _startpos_x000_; + MenhirLib.EngineTypes.endp = _endpos_x000_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = s00; + MenhirLib.EngineTypes.startp = _startpos_s00_; + MenhirLib.EngineTypes.endp = _endpos_s00_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x0; + MenhirLib.EngineTypes.startp = _startpos_x0_; + MenhirLib.EngineTypes.endp = _endpos_x0_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + }; + }; + }; + } = _menhir_stack in + let m : 'tv_list_TMul_ = Obj.magic m in + let r00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 42385 "parser_cocci_menhir.ml" + ) = Obj.magic r00 in + let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in + let l00 : ( +# 169 "parser_cocci_menhir.mly" + (Data.clt) +# 42391 "parser_cocci_menhir.ml" + ) = Obj.magic l00 in + let x000 : 'tv_ident = Obj.magic x000 in + let s00 : ( +# 116 "parser_cocci_menhir.mly" + (Data.clt) +# 42397 "parser_cocci_menhir.ml" + ) = Obj.magic s00 in + let x0 : 'tv_const_vol = Obj.magic x0 in + let _startpos = _startpos_x0_ in + let _endpos = _endpos_m_ in + let _v : 'tv_typedef_ctype = let ty = + let r0 = r00 in + let ids0 = ids00 in + let l0 = l00 in + let x00 = x000 in + let s0 = s00 in + let ty = + let r = r0 in + let ids = ids0 in + let l = l0 in + let x0 = x00 in let s = s0 in + let i = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 42419 "parser_cocci_menhir.ml" + + in -# 501 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 35774 "parser_cocci_menhir.ml" +# 670 "parser_cocci_menhir.mly" + ( (if i = None && !Data.in_iso + then failwith "enums must be named in the iso file"); + Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)), + P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) ) +# 42428 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35780 "parser_cocci_menhir.ml" +# 42434 "parser_cocci_menhir.ml" in let cv = @@ -35784,13 +42438,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35788 "parser_cocci_menhir.ml" +# 42442 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35794 "parser_cocci_menhir.ml" +# 42448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35824,7 +42478,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in - let i00 : 'tv_ident = Obj.magic i00 in + let i00 : 'tv_type_ident = Obj.magic i00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35836,15 +42490,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 503 "parser_cocci_menhir.mly" +# 675 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 35842 "parser_cocci_menhir.ml" +# 42496 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35848 "parser_cocci_menhir.ml" +# 42502 "parser_cocci_menhir.ml" in let cv = @@ -35852,13 +42506,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35856 "parser_cocci_menhir.ml" +# 42510 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35862 "parser_cocci_menhir.ml" +# 42516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35903,15 +42557,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 35909 "parser_cocci_menhir.ml" +# 42563 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 35915 "parser_cocci_menhir.ml" +# 42569 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in @@ -35931,23 +42585,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 35935 "parser_cocci_menhir.ml" +# 42589 "parser_cocci_menhir.ml" in -# 506 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 35945 "parser_cocci_menhir.ml" +# 42599 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 35951 "parser_cocci_menhir.ml" +# 42605 "parser_cocci_menhir.ml" in let cv = @@ -35955,13 +42609,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35959 "parser_cocci_menhir.ml" +# 42613 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35965 "parser_cocci_menhir.ml" +# 42619 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36011,17 +42665,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 36017 "parser_cocci_menhir.ml" +# 42671 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 36023 "parser_cocci_menhir.ml" +# 42677 "parser_cocci_menhir.ml" ) = Obj.magic l00 in - let x000 : 'tv_ident = Obj.magic x000 in + let x000 : 'tv_type_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36043,23 +42697,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36047 "parser_cocci_menhir.ml" +# 42701 "parser_cocci_menhir.ml" in -# 506 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 36057 "parser_cocci_menhir.ml" +# 42711 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 36063 "parser_cocci_menhir.ml" +# 42717 "parser_cocci_menhir.ml" in let cv = @@ -36067,13 +42721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36071 "parser_cocci_menhir.ml" +# 42725 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36077 "parser_cocci_menhir.ml" +# 42731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36118,20 +42772,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 36124 "parser_cocci_menhir.ml" +# 42778 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 101 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.clt) -# 36130 "parser_cocci_menhir.ml" +# 42784 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 64 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36135 "parser_cocci_menhir.ml" +# 42789 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36147,17 +42801,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 512 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 36155 "parser_cocci_menhir.ml" +# 42809 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 36161 "parser_cocci_menhir.ml" +# 42815 "parser_cocci_menhir.ml" in let cv = @@ -36165,13 +42819,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36169 "parser_cocci_menhir.ml" +# 42823 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36175 "parser_cocci_menhir.ml" +# 42829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36201,9 +42855,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (string * Data.clt) -# 36207 "parser_cocci_menhir.ml" +# 42861 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36213,15 +42867,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 516 "parser_cocci_menhir.mly" +# 688 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 36219 "parser_cocci_menhir.ml" +# 42873 "parser_cocci_menhir.ml" in -# 525 "parser_cocci_menhir.mly" +# 697 "parser_cocci_menhir.mly" ( ty ) -# 36225 "parser_cocci_menhir.ml" +# 42879 "parser_cocci_menhir.ml" in let cv = @@ -36229,13 +42883,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36233 "parser_cocci_menhir.ml" +# 42887 "parser_cocci_menhir.ml" in -# 542 "parser_cocci_menhir.mly" +# 718 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36239 "parser_cocci_menhir.ml" +# 42893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36264,24 +42918,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 36270 "parser_cocci_menhir.ml" +# 42924 "parser_cocci_menhir.ml" ) = Obj.magic rp in - let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in + let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36276 "parser_cocci_menhir.ml" +# 42930 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 544 "parser_cocci_menhir.mly" +# 720 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 36285 "parser_cocci_menhir.ml" +# 42939 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 132 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 42960 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_typedef_ctype = +# 723 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 42967 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36303,9 +42985,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1541 "parser_cocci_menhir.mly" +# 1949 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 36309 "parser_cocci_menhir.ml" +# 42991 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36324,17 +43006,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 132 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36330 "parser_cocci_menhir.ml" +# 43012 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1543 "parser_cocci_menhir.mly" +# 1950 "parser_cocci_menhir.mly" + ( tmeta_to_type _1 ) +# 43019 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 131 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 43040 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_typedef_ident = +# 1952 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36338 "parser_cocci_menhir.ml" +# 43048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36356,9 +43066,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1279 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" ( _1 ) -# 36362 "parser_cocci_menhir.ml" +# 43072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36381,18 +43091,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36389 "parser_cocci_menhir.ml" +# 43099 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1281 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 36396 "parser_cocci_menhir.ml" +# 43106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36415,18 +43125,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36423 "parser_cocci_menhir.ml" +# 43133 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1283 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 36430 "parser_cocci_menhir.ml" +# 43140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36454,9 +43164,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1285 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36460 "parser_cocci_menhir.ml" +# 43170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36479,19 +43189,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36487 "parser_cocci_menhir.ml" +# 43197 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1287 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36495 "parser_cocci_menhir.ml" +# 43205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36514,18 +43224,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36522 "parser_cocci_menhir.ml" +# 43232 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1290 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 36529 "parser_cocci_menhir.ml" +# 43239 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36559,29 +43269,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 36565 "parser_cocci_menhir.ml" +# 43275 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36571 "parser_cocci_menhir.ml" +# 43281 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36576 "parser_cocci_menhir.ml" +# 43286 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1292 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 36585 "parser_cocci_menhir.ml" +# 43295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36603,9 +43313,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1279 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" ( _1 ) -# 36609 "parser_cocci_menhir.ml" +# 43319 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36628,18 +43338,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36636 "parser_cocci_menhir.ml" +# 43346 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1281 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 36643 "parser_cocci_menhir.ml" +# 43353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36662,18 +43372,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36670 "parser_cocci_menhir.ml" +# 43380 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1283 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 36677 "parser_cocci_menhir.ml" +# 43387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36701,9 +43411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1285 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36707 "parser_cocci_menhir.ml" +# 43417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36726,19 +43436,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36734 "parser_cocci_menhir.ml" +# 43444 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1287 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36742 "parser_cocci_menhir.ml" +# 43452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36761,18 +43471,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36769 "parser_cocci_menhir.ml" +# 43479 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1290 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 36776 "parser_cocci_menhir.ml" +# 43486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36806,29 +43516,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 36812 "parser_cocci_menhir.ml" +# 43522 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36818 "parser_cocci_menhir.ml" +# 43528 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36823 "parser_cocci_menhir.ml" +# 43533 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1292 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 36832 "parser_cocci_menhir.ml" +# 43542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36850,9 +43560,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1279 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" ( _1 ) -# 36856 "parser_cocci_menhir.ml" +# 43566 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36875,18 +43585,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36883 "parser_cocci_menhir.ml" +# 43593 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1281 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 36890 "parser_cocci_menhir.ml" +# 43600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36909,18 +43619,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 36917 "parser_cocci_menhir.ml" +# 43627 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1283 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 36924 "parser_cocci_menhir.ml" +# 43634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36948,9 +43658,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1285 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36954 "parser_cocci_menhir.ml" +# 43664 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36973,19 +43683,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 36981 "parser_cocci_menhir.ml" +# 43691 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1287 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 36989 "parser_cocci_menhir.ml" +# 43699 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37008,18 +43718,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37016 "parser_cocci_menhir.ml" +# 43726 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1290 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37023 "parser_cocci_menhir.ml" +# 43733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37053,29 +43763,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 37059 "parser_cocci_menhir.ml" +# 43769 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37065 "parser_cocci_menhir.ml" +# 43775 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37070 "parser_cocci_menhir.ml" +# 43780 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1292 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37079 "parser_cocci_menhir.ml" +# 43789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37097,9 +43807,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1279 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" ( _1 ) -# 37103 "parser_cocci_menhir.ml" +# 43813 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37122,18 +43832,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 37130 "parser_cocci_menhir.ml" +# 43840 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1281 "parser_cocci_menhir.mly" +# 1539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37137 "parser_cocci_menhir.ml" +# 43847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37156,18 +43866,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 85 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 37164 "parser_cocci_menhir.ml" +# 43874 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1283 "parser_cocci_menhir.mly" +# 1541 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37171 "parser_cocci_menhir.ml" +# 43881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37195,9 +43905,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1285 "parser_cocci_menhir.mly" +# 1543 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37201 "parser_cocci_menhir.ml" +# 43911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37220,19 +43930,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37228 "parser_cocci_menhir.ml" +# 43938 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1287 "parser_cocci_menhir.mly" +# 1545 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37236 "parser_cocci_menhir.ml" +# 43946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37255,18 +43965,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37263 "parser_cocci_menhir.ml" +# 43973 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1290 "parser_cocci_menhir.mly" +# 1548 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37270 "parser_cocci_menhir.ml" +# 43980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37300,29 +44010,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 77 "parser_cocci_menhir.mly" +# 145 "parser_cocci_menhir.mly" (Data.clt) -# 37306 "parser_cocci_menhir.ml" +# 44016 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 76 "parser_cocci_menhir.mly" +# 144 "parser_cocci_menhir.mly" (Data.clt) -# 37312 "parser_cocci_menhir.ml" +# 44022 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 37317 "parser_cocci_menhir.ml" +# 44027 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1292 "parser_cocci_menhir.mly" +# 1550 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37326 "parser_cocci_menhir.ml" +# 44036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37340,17 +44050,264 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.endp = _endpos__1_; MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in + let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_unary_expr_bis = +# 1556 "parser_cocci_menhir.mly" + ( _1 ) +# 44060 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in let _1 : ( -# 93 "parser_cocci_menhir.mly" +# 153 "parser_cocci_menhir.mly" (Data.clt) -# 37347 "parser_cocci_menhir.ml" +# 44087 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1558 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) +# 44094 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 153 "parser_cocci_menhir.mly" + (Data.clt) +# 44121 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1560 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) +# 44128 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in + let _1 : 'tv_unary_op = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1562 "parser_cocci_menhir.mly" + ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 44158 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 44185 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1564 "parser_cocci_menhir.mly" + ( let mcode = P.clt2mcode Ast.Not _1 in + Ast0.wrap(Ast0.Unary(_2, mcode)) ) +# 44193 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let _2 : 'tv_unary_expr_bis = Obj.magic _2 in + let _1 : ( +# 124 "parser_cocci_menhir.mly" + (Data.clt) +# 44220 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__2_ in + let _v : 'tv_unary_expr_bis = +# 1567 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) +# 44227 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = rp; + MenhirLib.EngineTypes.startp = _startpos_rp_; + MenhirLib.EngineTypes.endp = _endpos_rp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = t; + MenhirLib.EngineTypes.startp = _startpos_t_; + MenhirLib.EngineTypes.endp = _endpos_t_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = lp; + MenhirLib.EngineTypes.startp = _startpos_lp_; + MenhirLib.EngineTypes.endp = _endpos_lp_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = s; + MenhirLib.EngineTypes.startp = _startpos_s_; + MenhirLib.EngineTypes.endp = _endpos_s_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let rp : ( +# 145 "parser_cocci_menhir.mly" + (Data.clt) +# 44263 "parser_cocci_menhir.ml" + ) = Obj.magic rp in + let t : 'tv_ctype = Obj.magic t in + let lp : ( +# 144 "parser_cocci_menhir.mly" + (Data.clt) +# 44269 "parser_cocci_menhir.ml" + ) = Obj.magic lp in + let s : ( +# 124 "parser_cocci_menhir.mly" + (Data.clt) +# 44274 "parser_cocci_menhir.ml" + ) = Obj.magic s in + let _startpos = _startpos_s_ in + let _endpos = _endpos_rp_ in + let _v : 'tv_unary_expr_bis = +# 1569 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, + P.clt2mcode "(" lp,t, + P.clt2mcode ")" rp)) ) +# 44283 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 161 "parser_cocci_menhir.mly" + (Data.clt) +# 44304 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1296 "parser_cocci_menhir.mly" +# 1573 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 37354 "parser_cocci_menhir.ml" +# 44311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37369,16 +44326,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 37375 "parser_cocci_menhir.ml" +# 44332 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1297 "parser_cocci_menhir.mly" +# 1574 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 37382 "parser_cocci_menhir.ml" +# 44339 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37397,16 +44354,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 37403 "parser_cocci_menhir.ml" +# 44360 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1298 "parser_cocci_menhir.mly" +# 1575 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 37410 "parser_cocci_menhir.ml" +# 44367 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37425,16 +44382,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 98 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Data.clt) -# 37431 "parser_cocci_menhir.ml" +# 44388 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1299 "parser_cocci_menhir.mly" +# 1576 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 37438 "parser_cocci_menhir.ml" +# 44395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37453,16 +44410,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 167 "parser_cocci_menhir.mly" (Data.clt) -# 37459 "parser_cocci_menhir.ml" +# 44416 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1300 "parser_cocci_menhir.mly" +# 1577 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 37466 "parser_cocci_menhir.ml" +# 44423 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37490,9 +44447,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1761 "parser_cocci_menhir.mly" +# 2202 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 37496 "parser_cocci_menhir.ml" +# 44453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37520,9 +44477,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1763 "parser_cocci_menhir.mly" +# 2204 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 37526 "parser_cocci_menhir.ml" +# 44483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37544,9 +44501,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 887 "parser_cocci_menhir.mly" +# 1115 "parser_cocci_menhir.mly" ( w ) -# 37550 "parser_cocci_menhir.ml" +# 44507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37580,9 +44537,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1829 "parser_cocci_menhir.mly" +# 2249 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 37586 "parser_cocci_menhir.ml" +# 44543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37616,9 +44573,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1830 "parser_cocci_menhir.mly" +# 2250 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 37622 "parser_cocci_menhir.ml" +# 44579 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37648,9 +44605,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1832 "parser_cocci_menhir.mly" +# 2252 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 37654 "parser_cocci_menhir.ml" +# 44611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37684,9 +44641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1833 "parser_cocci_menhir.mly" +# 2253 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 37690 "parser_cocci_menhir.ml" +# 44647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37720,9 +44677,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1834 "parser_cocci_menhir.mly" +# 2254 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 37726 "parser_cocci_menhir.ml" +# 44683 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37743,106 +44700,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1781 lexer lexbuf) : ( -# 159 "parser_cocci_menhir.mly" - (string * (string * string)) -# 37750 "parser_cocci_menhir.ml" + (Obj.magic (MenhirInterpreter.entry 2048 lexer lexbuf) : ( +# 229 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 44707 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1711 lexer lexbuf) : ( -# 153 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1973 lexer lexbuf) : ( +# 223 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 37758 "parser_cocci_menhir.ml" +# 44715 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1709 lexer lexbuf) : ( -# 131 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1971 lexer lexbuf) : ( +# 201 "parser_cocci_menhir.mly" (unit) -# 37766 "parser_cocci_menhir.ml" +# 44723 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1673 lexer lexbuf) : ( -# 140 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1935 lexer lexbuf) : ( +# 210 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 37774 "parser_cocci_menhir.ml" +# 44731 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1665 lexer lexbuf) : ( -# 143 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1927 lexer lexbuf) : ( +# 213 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 37782 "parser_cocci_menhir.ml" +# 44739 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1659 lexer lexbuf) : ( -# 168 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1921 lexer lexbuf) : ( +# 238 "parser_cocci_menhir.mly" (unit) -# 37790 "parser_cocci_menhir.ml" +# 44747 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1579 lexer lexbuf) : ( -# 134 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1836 lexer lexbuf) : ( +# 204 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 37798 "parser_cocci_menhir.ml" +# 44755 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1567 lexer lexbuf) : ( -# 137 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1824 lexer lexbuf) : ( +# 207 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 37806 "parser_cocci_menhir.ml" +# 44763 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1564 lexer lexbuf) : ( -# 157 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1821 lexer lexbuf) : ( +# 227 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 37814 "parser_cocci_menhir.ml" +# 44771 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1560 lexer lexbuf) : ( -# 149 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1817 lexer lexbuf) : ( +# 219 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 37822 "parser_cocci_menhir.ml" +# 44779 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1329 lexer lexbuf) : ( -# 165 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1530 lexer lexbuf) : ( +# 235 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 37830 "parser_cocci_menhir.ml" +# 44787 "parser_cocci_menhir.ml" )) and iso_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 11 lexer lexbuf) : ( -# 162 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( +# 232 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 37838 "parser_cocci_menhir.ml" +# 44795 "parser_cocci_menhir.ml" )) and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 146 "parser_cocci_menhir.mly" +# 216 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 37846 "parser_cocci_menhir.ml" +# 44803 "parser_cocci_menhir.ml" ))