Coccinelle release 0.2.5-rc8
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
index 56b9e6f..ae5bd84 100644 (file)
@@ -2,435 +2,488 @@ 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)
-# 149 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
 )
   | TType
   | TTildeExclEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 155 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
 )
   | TTildeEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 160 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
 )
   | TTilde of (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
 )
   | TSwitch of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 170 "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)
-# 175 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
 )
   | TStrict of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 180 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
 )
   | TStatement
   | TSizeof of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 186 "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)
-# 191 "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)
-# 196 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
 )
   | TScript
   | TRuleName of (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 202 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
 )
   | TRightIso
   | TReturn of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 208 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
 )
   | TPure
   | TPtrOp of (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 214 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
 )
   | TPtVirg of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 219 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
 )
   | TPragma of (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 224 "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)
-# 231 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
 )
   | TPlus0
   | TPlus of (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 237 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
 )
   | TPathIsoFile of (
-# 79 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string)
-# 242 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
 )
   | TParameter
   | TPOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 248 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
 )
   | TPCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 253 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
 )
   | TPArob
   | TOrLog of (
-# 89 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 259 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
 )
   | TOr of (
-# 91 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 264 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
 )
   | TOn
   | TOPar0 of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 270 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
 )
   | TOPar of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 275 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
 )
   | TOInit of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 280 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
 )
   | TOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 285 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
 )
   | TOCro of (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 290 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
 )
   | TOBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 295 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
 )
   | TNothing
   | TNotEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 301 "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)
-# 308 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
 )
   | TMinusFile of (
-# 83 "parser_cocci_menhir.mly"
+# 151 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 313 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
 )
   | TMinus of (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 318 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
 )
   | TMid0 of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 323 "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)
-# 328 "parser_cocci_menhir.ml"
+# 360 "parser_cocci_menhir.ml"
 )
   | TMetaStmList of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 333 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.ml"
 )
   | TMetaStm of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 338 "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)
-# 343 "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)
-# 348 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
 )
   | TMetaParam of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 353 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
 )
   | TMetaLocalIdExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 358 "parser_cocci_menhir.ml"
+# 390 "parser_cocci_menhir.ml"
 )
   | TMetaLocalFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 363 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
 )
   | TMetaIterator of (
-# 62 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 368 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
 )
   | TMetaInit of (
-# 65 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 373 "parser_cocci_menhir.ml"
+# 405 "parser_cocci_menhir.ml"
 )
   | TMetaIdExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 378 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
 )
   | TMetaId of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 383 "parser_cocci_menhir.ml"
+# 415 "parser_cocci_menhir.ml"
 )
   | TMetaFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 388 "parser_cocci_menhir.ml"
+# 420 "parser_cocci_menhir.ml"
+)
+  | TMetaFieldList of (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.list_info)
+# 425 "parser_cocci_menhir.ml"
+)
+  | TMetaField of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 430 "parser_cocci_menhir.ml"
 )
   | TMetaExpList of (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 393 "parser_cocci_menhir.ml"
+# 435 "parser_cocci_menhir.ml"
 )
   | TMetaExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 398 "parser_cocci_menhir.ml"
+# 440 "parser_cocci_menhir.ml"
 )
   | TMetaErr of (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 403 "parser_cocci_menhir.ml"
+# 445 "parser_cocci_menhir.ml"
 )
   | TMetaDeclarer of (
-# 62 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 408 "parser_cocci_menhir.ml"
+# 450 "parser_cocci_menhir.ml"
+)
+  | TMetaDecl of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 455 "parser_cocci_menhir.ml"
 )
   | TMetaConst of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 413 "parser_cocci_menhir.ml"
+# 460 "parser_cocci_menhir.ml"
+)
+  | TMeta of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 465 "parser_cocci_menhir.ml"
 )
   | TMPtVirg
   | TLogOp of (
-# 95 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 419 "parser_cocci_menhir.ml"
+# 471 "parser_cocci_menhir.ml"
 )
   | TLocal
   | TLineEnd of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 425 "parser_cocci_menhir.ml"
+# 477 "parser_cocci_menhir.ml"
 )
   | TIteratorId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 430 "parser_cocci_menhir.ml"
+# 482 "parser_cocci_menhir.ml"
 )
   | TIterator
   | TIsoType
   | TIsoTopLevel
+  | TIsoToTestExpression
   | TIsoTestExpression
   | TIsoStatement
   | TIsoExpression
@@ -439,224 +492,226 @@ type token =
   | TIso
   | TInvalid
   | TInt of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 445 "parser_cocci_menhir.ml"
+# 498 "parser_cocci_menhir.ml"
 )
   | TInitialize
   | TInitialiser
   | TIncludeNL of (
-# 80 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 452 "parser_cocci_menhir.ml"
+# 505 "parser_cocci_menhir.ml"
 )
   | TIncludeL of (
-# 80 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 457 "parser_cocci_menhir.ml"
+# 510 "parser_cocci_menhir.ml"
 )
   | TInc of (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 462 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
 )
   | TIf of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 467 "parser_cocci_menhir.ml"
+# 520 "parser_cocci_menhir.ml"
 )
   | TIdentifier
   | TIdent of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 473 "parser_cocci_menhir.ml"
+# 526 "parser_cocci_menhir.ml"
 )
   | TIdExpression
   | TGoto of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 479 "parser_cocci_menhir.ml"
+# 532 "parser_cocci_menhir.ml"
 )
   | TGenerated
   | TFunction
   | TFunDecl of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 486 "parser_cocci_menhir.ml"
+# 539 "parser_cocci_menhir.ml"
 )
   | TFresh
   | TForall
   | TFor of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 493 "parser_cocci_menhir.ml"
+# 546 "parser_cocci_menhir.ml"
 )
   | TFloat of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 498 "parser_cocci_menhir.ml"
+# 551 "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)
-# 509 "parser_cocci_menhir.ml"
+# 563 "parser_cocci_menhir.ml"
 )
   | TEq of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 514 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.ml"
 )
   | TElse of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 519 "parser_cocci_menhir.ml"
+# 573 "parser_cocci_menhir.ml"
 )
   | TEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 524 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
 )
   | TDotDot of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 529 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
 )
   | TDot of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 534 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
 )
   | TDo of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 539 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
 )
   | TDmOp of (
-# 97 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 544 "parser_cocci_menhir.ml"
+# 598 "parser_cocci_menhir.ml"
 )
   | TDisable
   | TDepends
   | TDefineParam of (
-# 82 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 551 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.ml"
 )
   | TDefine of (
-# 81 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 556 "parser_cocci_menhir.ml"
+# 610 "parser_cocci_menhir.ml"
 )
   | TDefault of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 561 "parser_cocci_menhir.ml"
+# 615 "parser_cocci_menhir.ml"
 )
   | TDeclarerId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 566 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
 )
   | TDeclarer
+  | TDeclaration
   | TDec of (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 572 "parser_cocci_menhir.ml"
+# 627 "parser_cocci_menhir.ml"
 )
   | TCppConcatOp
   | TContinue of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 578 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.ml"
 )
   | TContext
   | TConstant
   | TComma of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 585 "parser_cocci_menhir.ml"
+# 640 "parser_cocci_menhir.ml"
 )
   | TChar of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 590 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.ml"
 )
   | TCase of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 595 "parser_cocci_menhir.ml"
+# 650 "parser_cocci_menhir.ml"
 )
   | TCPar0 of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 600 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
 )
   | TCPar of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 605 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
 )
   | TCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 610 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
 )
   | TCCro of (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 615 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
 )
   | TCBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 620 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
 )
   | TBreak of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 625 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
 )
   | TBang0
   | TBang of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 631 "parser_cocci_menhir.ml"
+# 686 "parser_cocci_menhir.ml"
 )
   | TAssign of (
-# 108 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
        (Ast_cocci.assignOp * Data.clt)
-# 636 "parser_cocci_menhir.ml"
+# 691 "parser_cocci_menhir.ml"
 )
   | TArobArob
   | TArob
   | TAny of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 643 "parser_cocci_menhir.ml"
+# 698 "parser_cocci_menhir.ml"
 )
   | TAndLog of (
-# 90 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 648 "parser_cocci_menhir.ml"
+# 703 "parser_cocci_menhir.ml"
 )
   | TAnd of (
-# 93 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 653 "parser_cocci_menhir.ml"
+# 708 "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
@@ -671,7 +726,70 @@ module Ast0 = Ast0_cocci
 module Ast = Ast_cocci
 module P = Parse_aux
 
-# 675 "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))
+
+# 793 "parser_cocci_menhir.ml"
 let _eRR =
   Error
 
@@ -685,340 +803,370 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
     fun _tok ->
       match _tok with
       | EOF ->
-          175
+          190
       | TAnd _ ->
-          174
+          189
       | TAndLog _ ->
-          173
+          188
       | TAny _ ->
-          172
+          187
       | TArob ->
-          171
+          186
       | TArobArob ->
-          170
+          185
       | TAssign _ ->
-          169
+          184
       | TBang _ ->
-          168
+          183
       | TBang0 ->
-          167
+          182
       | TBreak _ ->
-          166
+          181
       | TCBrace _ ->
-          165
+          180
       | TCCro _ ->
-          164
+          179
       | TCEllipsis _ ->
-          163
+          178
       | TCPar _ ->
-          162
+          177
       | TCPar0 _ ->
-          161
+          176
       | TCase _ ->
-          160
+          175
       | TChar _ ->
-          159
+          174
       | TComma _ ->
-          158
+          173
       | TConstant ->
-          157
+          172
       | TContext ->
-          156
+          171
       | TContinue _ ->
-          155
+          170
       | TCppConcatOp ->
-          154
+          169
       | TDec _ ->
-          153
+          168
+      | TDeclaration ->
+          167
       | TDeclarer ->
-          152
+          166
       | TDeclarerId _ ->
-          151
+          165
       | TDefault _ ->
-          150
+          164
       | TDefine _ ->
-          149
+          163
       | TDefineParam _ ->
-          148
+          162
       | TDepends ->
-          147
+          161
       | TDisable ->
-          146
+          160
       | TDmOp _ ->
-          145
+          159
       | TDo _ ->
-          144
+          158
       | TDot _ ->
-          143
+          157
       | TDotDot _ ->
-          142
+          156
       | TEllipsis _ ->
-          141
+          155
       | TElse _ ->
-          140
+          154
       | TEq _ ->
-          139
+          153
       | TEqEq _ ->
-          138
+          152
       | TError ->
-          137
+          151
       | TEver ->
-          136
+          150
       | TExists ->
-          135
+          149
       | TExpression ->
-          134
+          148
       | TExtends ->
-          133
+          147
+      | TField ->
+          146
       | TFinalize ->
-          132
+          145
       | TFloat _ ->
-          131
+          144
       | TFor _ ->
-          130
+          143
       | TForall ->
-          129
+          142
       | TFresh ->
-          128
+          141
       | TFunDecl _ ->
-          127
+          140
       | TFunction ->
-          126
+          139
       | TGenerated ->
-          125
+          138
       | TGoto _ ->
-          124
+          137
       | TIdExpression ->
-          123
+          136
       | TIdent _ ->
-          122
+          135
       | TIdentifier ->
-          121
+          134
       | TIf _ ->
-          120
+          133
       | TInc _ ->
-          119
+          132
       | TIncludeL _ ->
-          118
+          131
       | TIncludeNL _ ->
-          117
+          130
       | TInitialiser ->
-          116
+          129
       | TInitialize ->
-          115
+          128
       | TInt _ ->
-          114
+          127
       | TInvalid ->
-          113
+          126
       | TIso ->
-          112
+          125
       | TIsoArgExpression ->
-          111
+          124
       | TIsoDeclaration ->
-          110
+          123
       | TIsoExpression ->
-          109
+          122
       | TIsoStatement ->
-          108
+          121
       | TIsoTestExpression ->
-          107
+          120
+      | TIsoToTestExpression ->
+          119
       | TIsoTopLevel ->
-          106
+          118
       | TIsoType ->
-          105
+          117
       | TIterator ->
-          104
+          116
       | TIteratorId _ ->
-          103
+          115
       | TLineEnd _ ->
-          102
+          114
       | TLocal ->
-          101
+          113
       | TLogOp _ ->
-          100
+          112
       | TMPtVirg ->
-          99
+          111
+      | TMeta _ ->
+          110
       | TMetaConst _ ->
-          98
+          109
+      | TMetaDecl _ ->
+          108
       | TMetaDeclarer _ ->
-          97
+          107
       | TMetaErr _ ->
-          96
+          106
       | TMetaExp _ ->
-          95
+          105
       | TMetaExpList _ ->
-          94
+          104
+      | TMetaField _ ->
+          103
+      | TMetaFieldList _ ->
+          102
       | TMetaFunc _ ->
-          93
+          101
       | TMetaId _ ->
-          92
+          100
       | TMetaIdExp _ ->
-          91
+          99
       | TMetaInit _ ->
-          90
+          98
       | TMetaIterator _ ->
-          89
+          97
       | TMetaLocalFunc _ ->
-          88
+          96
       | TMetaLocalIdExp _ ->
-          87
+          95
       | TMetaParam _ ->
-          86
+          94
       | TMetaParamList _ ->
-          85
+          93
       | TMetaPos _ ->
-          84
+          92
       | TMetaStm _ ->
-          83
+          91
       | TMetaStmList _ ->
-          82
+          90
       | TMetaType _ ->
-          81
+          89
+      | TMetavariable ->
+          88
       | TMid0 _ ->
-          80
+          87
       | TMinus _ ->
-          79
+          86
       | TMinusFile _ ->
-          78
+          85
       | TMul _ ->
-          77
+          84
       | TName ->
-          76
+          83
       | TNever ->
-          75
+          82
       | TNotEq _ ->
-          74
+          81
       | TNothing ->
-          73
+          80
       | TOBrace _ ->
-          72
+          79
       | TOCro _ ->
-          71
+          78
       | TOEllipsis _ ->
-          70
+          77
       | TOInit _ ->
-          69
+          76
       | TOPar _ ->
-          68
+          75
       | TOPar0 _ ->
-          67
+          74
       | TOn ->
-          66
+          73
       | TOr _ ->
-          65
+          72
       | TOrLog _ ->
-          64
+          71
       | TPArob ->
-          63
+          70
       | TPCEllipsis _ ->
-          62
+          69
       | TPOEllipsis _ ->
-          61
+          68
       | TParameter ->
-          60
+          67
       | TPathIsoFile _ ->
-          59
+          66
       | TPlus _ ->
-          58
+          65
       | TPlus0 ->
-          57
+          64
       | TPlusFile _ ->
-          56
+          63
       | TPosAny ->
-          55
+          62
       | TPosition ->
-          54
+          61
       | TPragma _ ->
-          53
+          60
       | TPtVirg _ ->
-          52
+          59
       | TPtrOp _ ->
-          51
+          58
       | TPure ->
-          50
+          57
       | TReturn _ ->
-          49
+          56
       | TRightIso ->
-          48
+          55
       | TRuleName _ ->
-          47
+          54
       | TScript ->
-          46
+          53
       | TScriptData _ ->
+          52
+      | TShLOp _ ->
+          51
+      | TShROp _ ->
+          50
+      | TSizeof _ ->
+          49
+      | TStatement ->
+          48
+      | TStrict _ ->
+          47
+      | TString _ ->
+          46
+      | TSub _ ->
           45
-      | TShOp _ ->
+      | TSwitch _ ->
           44
-      | TSizeof _ ->
+      | TTilde _ ->
           43
-      | TStatement ->
+      | TTildeEq _ ->
           42
-      | TStrict _ ->
+      | TTildeExclEq _ ->
           41
-      | TString _ ->
+      | TType ->
           40
-      | TSwitch _ ->
+      | TTypeId _ ->
           39
-      | TTilde _ ->
+      | TTypedef ->
           38
-      | TTildeEq _ ->
+      | TUndef _ ->
           37
-      | TTildeExclEq _ ->
+      | TUnderscore ->
           36
-      | TType ->
+      | TUsing ->
           35
-      | TTypeId _ ->
+      | TVirtual ->
           34
-      | TTypedef ->
+      | TWhen _ ->
           33
-      | TUsing ->
+      | TWhenFalse _ ->
           32
-      | TVirtual ->
+      | 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
@@ -1087,6 +1235,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TDec _v ->
           Obj.repr _v
+      | TDeclaration ->
+          Obj.repr ()
       | TDeclarer ->
           Obj.repr ()
       | TDeclarerId _v ->
@@ -1127,6 +1277,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TExtends ->
           Obj.repr ()
+      | TField ->
+          Obj.repr ()
       | TFinalize ->
           Obj.repr ()
       | TFloat _v ->
@@ -1179,6 +1331,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TIsoTestExpression ->
           Obj.repr ()
+      | TIsoToTestExpression ->
+          Obj.repr ()
       | TIsoTopLevel ->
           Obj.repr ()
       | TIsoType ->
@@ -1195,8 +1349,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 ->
@@ -1205,6 +1363,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 ->
@@ -1231,6 +1393,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 ->
@@ -1303,7 +1467,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
@@ -1313,6 +1479,8 @@ 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 ->
@@ -1327,6 +1495,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TTypedef ->
           Obj.repr ()
+      | TUndef _v ->
+          Obj.repr _v
+      | TUnderscore ->
+          Obj.repr ()
       | TUsing ->
           Obj.repr ()
       | TVirtual ->
@@ -1371,12 +1543,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 ->
@@ -1393,19 +1571,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
   
   let default_reduction =
-    (16, "\000\000\000\000\002\154\000z\000\000\000\000\002\226\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\135\000\000\000\000\000\138\000\000\000\000\001w\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\025\003\024\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\015\000\000\000\000\000\000\000\000\000\000\003\020\000\000\000\000\000\168\000\000\003\022\000\000\000\000\000\000\003\145\002d\000\000\003\143\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\144\002j\001?\002i\001=\001>\002h\002g\002f\002b\000\000\000\000\002c\001\012\000\000\002e\000\000\003\141\000\000\000c\001<\002E\000\000\000\000\002H\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002a\002m\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\132\002\"\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002K\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\209\000\000\000\000\000n\000o\002\008\001\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\236\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\127\000\000\000\000\003\017\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\019\003\023\000\189\000\000\000\000\001\027\000\000\000\000\002F\002I\000\000\002G\002J\003t\003u\003s\000\000\002k\003r\000\000\002\133\000\000\000\000\002\132\002\131\002\130\002\129\002\128\002|\000\000\000\000\002}\000\000\002\127\000\000\000\000\000g\002S\000\000\000\000\002V\000\000\000\000\002Y\000\000\000\000\002T\002W\000\000\002U\002X\002\135\002{\003\130\003\131\003\129\003\128\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\245\000\000\000\000\000\000\000\000\000\000\001\017\001\251\000\000\000\000\001\159\000U\0001\001\n\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\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002l\000\000\000\204\000\000\000\000\001\230\000\000\001\149\001\211\000\000\000\000\001\229\000\000\001\147\001\210\000\000\000\000\000d\000\000\002\134\000\000\000\000\003\133\003\132\000\000\001\246\000\000\000\000\003w\003v\000\000\000Q\000\205\000\000\001y\000\000\003\018\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001b\000\000\001a\000\000\001o\000\000\001\137\000\000\000\000\000\000\003G\000\000\000\000\003:\000\000\000\000\003?\003>\000\000\003;\000\000\0039\000\000\000\000\000\000\003=\000\000\003<\000\000\000\000\0033\000\000\000\000\0038\0037\000\000\0034\000\000\0032\000\000\000\000\000\000\0036\000\000\0035\000\000\003A\000\000\000\000\003F\003E\000\000\003B\000\000\003I\000\000\000\000\003J\000\000\003H\000\000\003@\000\000\003O\000\000\000\000\000\000\003D\000\000\000\000\003n\000\000\000\000\000\000\000\000\003N\003C\000\000\003p\000\000\000\000\002\242\003o\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003L\000\000\000\000\000\000\000\000\003M\003K\000\000\000\000\003e\000\000\000\000\003X\000\000\000\000\003]\003\\\000\000\003Y\000\000\003W\000\000\000\000\000\000\003[\000\000\003Z\000\000\000\000\003Q\000\000\000\000\003V\003U\000\000\003R\000\000\003P\000\000\000\000\000\000\003T\000\000\003S\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003g\000\000\000\000\003h\000\000\003f\000\000\003^\000\000\003m\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\003l\003a\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\000\003k\003i\003\011\003\013\003\014\003\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002q\000\000\000\000\000\000\002y\000\000\000\000\002x\000\000\003~\002w\002v\002u\002t\002s\001^\002o\000\000\000\000\002p\000\000\002r\000\000\000\000\000\000\000\000\000\000\000e\002L\000\000\000\000\002O\000\000\000\000\002R\000\000\000\000\002M\002P\000\000\002N\002Q\002z\002n\000f\003{\003|\003z\003y\003}\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001T\000\000\001\019\001Q\000\000\001\007\001W\000\000\000\000\000\000\001X\000\000\000\000\001Y\000\000\001\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\001Z\000\000\001V\000\000\000\000\001\\\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001]\001S\000\000\001R\000\000\000\242\000\000\002\220\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\139\000\000\000\000\000\000\000\000\002\146\000\000\000\000\002\145\002\144\002\143\002\142\002\141\002\137\000\000\000\000\002\138\000\000\002\140\000\000\000\000\000i\002Z\000\000\000\000\002]\000\000\000\000\002`\000\000\000\000\002[\002^\000\000\002\\\002_\002\148\002\136\003\137\003\138\003\136\003\135\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\147\000\000\001\212\000X\000?\001\031\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\140\003\139\000\000\003\002\000\000\003\001\000\000\000\000\000\000\000\000\003\152\000\000\000\000\000\000\003\153\000\000\000\018\000\000\000\000\000\000\003\148\000\000\001\161\000\000\000\000\000\000\000\222\002\248\001u\001t\001N\001M\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\014\001\015\000\255\000\000\001\133\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\004\000\000\003\003\002\245\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\002\255\002\247\000\000\003\005\000\000\002\249\000\000\000\226\000\000\003\008\000\000\001P\000\000\000\000\003\029\000\000\003$\000\228\000\000\000\233\000\000\003\030\000\227\000\000\003\031\000\000\003&\000\000\000\000\000\000\000\000\000\246\000\000\000\230\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\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003'\003(\000\000\003)\000\000\003*\000\000\001O\002\252\000\000\000\000\001\234\000\000\001\157\001\216\000\000\002\246\000\000\000\000\000\000\002\251\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\007\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\231\000\000\0013\000\000\0014\000\000\001\151\001\213\000\000\000\000\000\000\001\241\000\000\001\239\000\000\000\000\001\243\001\237\000\000\001\244\001\238\000\000\003\t\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\153\001\214\000\000\003\149\000\000\003\146\000\000\003\147\000\019\000\020\000\000\000\000\002\198\000\000\002\197\000\000\000\000\002\200\000\000\002\199\000\000\000\000\000\000\002\018\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\002\028\000\000\002\012\000\000\000\000\002\015\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\000\000\001\233\000\000\000\000\002\016\000\000\000\000\002\020\002\195\002\013\000\000\002\196\000\000\000\000\000\000\000\000\002\026\000\000\002\n\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\017\000\000\000\000\002\021\000\000\001\155\001\215\000\000\002\201\000\000\000\000\000\000\003\150\000\017\000u\000\000\003\151\000\000\000\000\002\216\000\000\000\000\003\n\000a\000\000\000\000\000\000\000b\000\000\003\000\000\000\001{\000\000\001\129\002\253\000\000\000\000\001h\000\000\001g\000\000\001p\000\000\001\143\000\000\000\000\000\000\001f\000\000\001e\000\000\001m\000\000\001\141\000\000\000\000\000\000\001j\000\000\001i\000\000\001n\000\000\001\145\000\000\000\000\000\000\001k\000\000\000\000\000\000\001d\000\000\001c\000\000\001q\000\000\001\139\000\000\000\000\000\000\001l\000\002\000\000\000N\000O\000\000\000\000\002\164\002\168\002\172\002\160\002\157\000\000\000\000\002\169\002\176\002\161\002\175\002\159\002\174\002\163\002\155\002\162\002\171\002\158\002\165\002\156\002\167\002\173\002\170\002\166\001\179\001\178\000\127\000\000\000\000\002\236\000\000\000\000\002\210\000\000\000\000\002\212\002\211\002\185\000\000\000\000\002\244\002\178\002\177\002\179\000\000\001\191\000M\001r\000\003\000\000\000\000\002\151\000\000\002 \000\000\000\129\000\000\000\000\002\240\000\000\000\000\000\000\000y\000\000\000\000\002\224\000\000\002\005\002\004\001\173\002\187\000\000\001\207\000\000\002\152\000\000\000\000\000{\000\000\000\000\002\228\000\000\001\188\000\000\000\000\001\184\000\000\000\000\000\000\001\187\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\181\000\000\000v\000\000\000\000\002\218\000\000\000\000\001\177\000\000\000\000\000}\000\000\000\000\002\232\000\000\000\000\002\193\000\000\002\192\000\000\000\000\000\000\002\003\002\002\002\190\002&\002\181\002\191\000\000\001\194\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\001\185\000\000\000\000\000\000\002\183\000~\000\000\000\000\002\234\000\000\002\182\000\000\001\192\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\253\000\128\000\000\000\000\002\238\000\000\000\000\000\000\001F\000x\001E\000\000\000\000\002\222\000\000\001\255\001\254\001\171\002\186\000\000\000|\000\000\000\000\002\230\000\000\000\000\000\000\000\000\002\001\002\000\002\188\002$\002\180\002\189\000\000\001\201\000\000\001\205\000\000\000\000\001\197\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\200\000\000\000\000\001\199\000\000\001\198\000\000\000\000\000\000\000\000\001\202\000\000\001\206\000\000\000\000\001s\000\004\000\000\001\180\000\005\000\000\000\000\001#\000\006\000\000\001\220\001\221\001\219\000\000\001\218\003\026\001\167\000\000\000\007\000\000\001\223\001\224\001\222\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 \003-\000\000\003!\000\000\003\"\000\000\000\000\003\027\000\000\000\000\000\000\000\000\003,\000\000\000\000\003+\001\228\001\227\000\000\000\000\001\169\001\217\001\225\000\000\000\000\000\000\000\000\002\007\000\000\000\000\000l\000m\002\006\000\000\000\000\000\000\000\218\000\000\001}\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0030\000\000\0031\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0025\0026\0024\000\000\0023\000\000\000\n\000\000\0028\0029\0027\000\000\002;\000\000\000\000\000\000\002-\000\000\000\000\002/\000\000\002)\000\000\002+\000\000\0020\000\000\0021\000\000\002*\002(\002<\001\175\0022\000\000\002>\000\000\002=\000\000\002?\000\000\002\194\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\002C\000\000\002B\000\000\002A\001\002\000\000\000\000\000\000\000\000\001\003\002D\000\000\000\000\002\205\000\000\000\000\000\000\002\206\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\214\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001`\000\000\002\204\001\165\001\163\000\000\000\000\000\000\002\207\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\203\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\209\000\000\000\000\000\000\002\208")
+    (16, "\000\000\000\000\003\012\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\183\000\000\000\000\000\147\000\000\000\000\001\173\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\152\003\151\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\015\002\014\002\r\000\000\001-\001,\000\000\000\000\002&\000\000\001\197\002\017\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002R\000\000\000\000\002Q\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002U\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\138\003\145\003\144\003\146\000\000\000\000\000\000\000\000\003\180\000\000\003\139\003\140\000\000\000\000\000\206\000\000\003\142\000\000\000\000\000\000\004'\002\214\000\000\000\000\004%\000\000\002\240\000\000\000\000\000\000\000\000\000\000\000\000\004$\004&\002\220\001w\002\219\001v\002\218\002\217\002\216\0029\002\212\000\000\000\000\002\213\001.\000\000\000\000\000\000\002\215\000\000\004#\000\000\000\000\004\004\002\183\000\000\000\000\002\186\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\211\002\223\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\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\184\002\187\000\000\002\185\002\188\004\003\000\000\002\248\000\000\000\247\000\000\000\000\002'\000\000\001\199\002\018\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\002x\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002f\002w\002-\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\002.\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\175\000\171\000\000\000\000\000\170\002j\002g\000\000\000\000\003\148\000\000\003\147\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\179\000\000\000\000\003\150\003\143\000\227\000\000\001\195\002\016\000\000\000\000\002\247\000\000\000\000\002\246\002\245\002\244\002\243\002\242\002\238\000\000\004\015\002\239\000\000\004\016\002\241\000\000\004\018\000\000\000y\002\197\000\000\000\000\002\200\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\249\002\237\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\002C\002G\000\000\000\000\000\150\002D\001<\001:\000\000\002\203\000\000\000\000\002\198\002\201\000\000\002\199\002\202\004\017\000z\000\000\002\189\004\031\004 \004\030\004\029\004\002\000\000\002\221\004\001\001R\000\000\0027\000\000\000\000\000\000\000\000\000\000\0012\002>\000\000\000\000\001\211\000\000\002\222\000\000\000\000\000v\000\000\000\000\004\020\004\019\000\000\0028\000\000\000\000\004\"\004!\000\000\000\000\004\006\004\005\000\000\000c\000\248\000\000\003\149\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\151\000\000\001\150\000\000\001\165\000\000\001\185\000\000\000\000\000\000\003\202\000\000\000\000\003\189\000\000\000\000\003\194\003\193\000\000\003\190\000\000\003\188\000\000\000\000\000\000\003\192\000\000\003\191\000\000\003\206\000\000\003\205\000\000\000\000\003\182\000\000\000\000\003\187\003\186\000\000\003\183\000\000\003\181\000\000\000\000\000\000\003\185\000\000\003\184\000\000\003\196\000\000\003\207\000\000\000\000\003\201\003\200\000\000\003\197\000\000\003\204\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\210\003\208\000\000\003\203\000\000\003\195\000\000\003\215\000\000\000\000\000\000\003\199\000\000\001\228\000\000\003\251\000\000\000\000\002*\001\229\000\000\001\205\002\022\000\000\000\000\000\000\000\000\003\214\003\198\003\252\000\000\003\255\003\254\000\000\000\000\003l\003\253\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\212\000\000\000\000\000\000\000\000\003\213\003\211\000\000\000\000\003\237\000\000\000\000\003\224\000\000\000\000\003\229\003\228\000\000\003\225\000\000\003\223\000\000\000\000\000\000\003\227\000\000\003\226\000\000\003\241\000\000\003\240\000\000\000\000\003\217\000\000\000\000\003\222\003\221\000\000\003\218\000\000\003\216\000\000\000\000\000\000\003\220\000\000\003\219\000\000\003\231\000\000\003\242\000\000\000\000\003\236\003\235\000\000\003\232\000\000\003\239\000\000\000\000\000\000\000\000\003\244\000\000\000\000\000\000\000\000\003\245\003\243\000\000\003\238\000\000\003\230\000\000\003\250\000\000\000\000\000\000\003\234\000\000\000\000\000\000\000\000\003\249\003\233\000\000\000\000\000\000\000\000\003\247\000\000\000\000\000\000\000\000\003\248\003\246\003\134\003\136\003\137\003\135\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\227\000\000\000\000\000\000\004\r\004\012\000\000\000\000\002\235\000\000\000\000\002\234\000\000\000\000\002\233\002\232\002\231\002\230\002\229\001\147\002\225\000\000\004\b\002\226\000\000\004\t\002\228\000\000\004\011\000\000\000w\002\190\000\000\000\000\002\193\000\000\000\000\002\196\000\000\000\000\002\191\002\194\000\000\002\192\002\195\002\236\002\224\004\n\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002Y\000\000\000\000\000\000\000\000\001\144\000\000\001\181\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002X\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002\\\001@\000\000\001\143\001\146\000\000\001\140\000\000\001\023\000\000\003V\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\002\253\000\000\000\000\000\000\004\027\004\026\000\000\003}\000\000\003|\000\000\000\000\000\000\000\000\004.\000\000\000\000\000\000\004/\000\000\000\018\000\000\000\000\000\000\000\000\003\004\000\000\000\000\000\000\003\003\003\002\003\001\003\000\002\255\002\251\000\000\004\022\002\252\000\000\004\023\002\254\000\000\004\025\000\000\000{\002\204\000\000\000\000\002\207\000\000\000\000\002\210\000\000\000\000\002\205\002\208\000\000\002\206\002\209\003\006\002\250\004\024\000\000\000\000\000l\000\000\000k\000\000\003\005\000\000\002\019\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\213\000\000\000\000\000\000\001\002\003s\001\171\000\000\001\170\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\000\155\0010\000\000\000\000\002J\000\000\000\000\000\154\002N\002K\001>\001\031\000\000\001!\001 \000\000\003\127\000\000\003~\003o\000\000\000\000\000\000\000\000\000\000\003y\000\000\003\128\000\000\000\000\000\000\000\000\003z\003q\000\000\003t\000\000\001\006\001\136\000\000\003\131\000\000\001\138\000\000\000\000\003\158\000\000\003\165\001\b\000\000\001\014\000\000\003\159\001\007\000\000\003\160\000\000\003\167\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\168\003\169\000\000\003\170\000\000\003\171\000\000\001\137\003w\000\000\000\000\002,\000\000\001\209\002\024\000\000\003p\000\000\000\000\000\000\003v\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\130\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\201\002\020\000\000\000\000\000\000\0023\000\000\0021\000\000\000\000\0025\002/\000\000\0026\0020\000\000\003\132\002:\000\000\001\005\000\000\000\000\002)\000\000\001\203\002\021\000\000\004+\000\000\004(\000\000\004)\000\019\000\020\000\000\000\000\0039\000\000\0038\000\000\002z\000\000\003;\000\000\003:\000\000\000\000\000\000\002\130\000\000\000\000\002\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\137\000\000\000\000\002\140\000\000\002|\000\000\000\000\002\127\000\000\000\000\000\000\002\131\000\000\000\000\002\135\000\000\000\000\002+\000\000\000\000\002\128\000\000\000\000\002\132\0036\002}\000\000\0037\000\000\000\000\000\000\000\000\002\138\000\000\002y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\136\000\000\000\000\002\139\000\000\002{\000\000\000\000\002~\000\000\000\000\000\000\002\129\000\000\000\000\002\133\000\000\001\207\002\023\000\000\003<\000\000\000\000\000\000\004,\000\017\000~\000\000\004-\000\000\000\000\003R\000\000\000\000\003\133\000s\000\000\000\000\000\000\000t\000\000\003{\000\000\001\177\000\000\001\179\003x\000\000\000\000\001\157\000\000\001\156\000\000\001\166\000\000\001\191\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\163\000\000\001\189\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\159\000\000\001\158\000\000\001\164\000\000\001\193\000\000\000\000\000\000\001\160\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\001\161\000\002\000\000\000`\000a\000\000\000\000\003\022\003\026\003\030\003\018\003\015\000\000\000\000\003\027\003\"\003\019\003!\003\017\003 \003\021\003\r\003\020\003\029\003\016\003\023\003\014\003\025\003\031\003\028\003\024\001\234\001\233\000\137\000\000\000\000\003h\000\000\000\000\003K\000\000\000\000\003N\003L\003M\003,\000\000\000\000\003n\003$\003#\003%\000\000\001\250\000_\001\168\000\003\000\000\000\000\003\t\000\000\002\144\000\000\000\138\000\000\000\000\003j\000\000\000\000\000\000\000\130\000\000\000\000\003Z\000\000\002t\002s\001\225\003-\000\000\002\t\000\000\003\n\000\000\000\000\000\132\000\000\000\000\003^\000\000\001\247\000\000\000\000\001\240\000\000\000\000\000\000\001\246\000\000\001\242\000\000\000\000\000\000\001\215\001\214\000\000\000\000\000\000\002\n\000\000\001\238\000\000\001\237\000\000\000\127\000\000\000\000\003T\000\000\000\000\001\232\000\000\000\000\001\236\000\000\000\000\000\135\000\000\000\000\003d\000\000\000\000\0034\000\000\0033\000\000\000\000\000\000\002r\002q\0031\002\152\003(\0032\000\000\001\253\000\000\000\000\000\000\001\249\000\000\001\255\000\000\000\000\001\241\000\000\000\000\000\000\003*\000\136\000\000\000\000\003f\000\000\003)\000\000\001\251\000\000\000\000\001\252\000\000\000\000\000\000\000\000\000\000\000\000\002\012\000\000\001\245\000\000\001\244\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\011\000\000\001\239\000\000\001T\000\000\002@\000\133\000\000\000\000\003`\000\000\000\000\000\000\000\000\003\154\003\153\000\000\000\000\001~\000\129\001}\000\000\000\000\003X\000\000\002l\002k\002n\003&\002\148\002m\001S\000\000\000\134\000\000\000\000\003b\000\000\000\000\000\000\000\000\002p\002o\0030\003.\002\150\003'\003/\000\000\002\004\000\000\002\007\000\000\000\000\002\000\000\000\000\000\000\000\001\248\000\000\001\254\000\000\000\000\001\243\000\000\000\000\000\000\000\000\000\000\000\000\001\231\000\000\000\000\002\006\000\000\002\005\000\000\000\000\000\000\000\000\002\003\000\000\000\000\002\002\000\000\002\001\000\000\000\000\002\b\000\000\000\000\001\169\000\004\000\000\001\235\000\005\000\000\000\000\001Y\000\006\000\000\002\028\002\029\002\027\000\000\002\026\003\155\001\221\000\000\000\007\000\000\002\031\002 \002\030\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\161\003\174\000\000\003\162\000\000\003\163\000\000\000\000\003\156\000\000\000\000\000\000\000\000\003\173\000\000\000\000\003\172\002$\002#\000\000\000\000\001\223\002\025\002!\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\002_\002u\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002c\002`\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\177\000\000\003\178\000\000\000\000\002=\002;\000\000\002<\000\b\000\000\000\t\000\000\002\167\002\168\002\166\000\000\002\165\000\000\000\n\000\000\002\170\002\171\002\169\000\000\002\173\000\000\000\000\000\000\002\159\000\000\000\000\002\161\000\000\002\155\000\000\002\157\000\000\002\162\000\000\002\163\000\000\002\156\002\154\002\174\001\227\002\164\000\000\002\176\000\000\002\175\000\000\002\177\000\000\0035\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\178\000\000\000\000\002\181\000\000\002\180\000\000\002\179\001\"\000\000\000\000\000\000\000\000\001#\002\182\000\000\000\000\000\000\003A\000\000\003@\000\000\000\000\000\000\000\000\003B\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003P\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\149\000\000\003?\001\219\001\217\000\000\000\000\000\000\000\000\003C\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003>\000\000\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\000\000\003J\000\000\000\000\003I\000\000\003F\000\000\000\000\000\000\000\000\000\000\003G\000\000\000\000\000\000\003H\000\r\000\000\003D\000\000\003E")
   
   let error =
-    (176, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\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\001\128\000\000\000\000\000\000\000\000\000\002\000C\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\128\000\000\000\000\000\000\000\000\000\002\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\127\000\000\000\000\000\000\000\000z\213x\000 \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\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001*\134\128P!\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\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\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\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \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\000z\213x\002 \001\000\000\016@@\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\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \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\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\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\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\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\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\008\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130z\213x\000\"\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\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\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\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\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\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\001 \000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\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\000z\213x\000\"\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\000\000\000\000\000\001 \000\008\008 \192%\128\000\n\000\000\000\0006@\002hw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0006@\002xw\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\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\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\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\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\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\001\"\134\000\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\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\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\000\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\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\001\"\134\000\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\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\001\"\134\000\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\001\"\134\000\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\001\"\134\000\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\001\"\134\000\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\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\001\"\134\000\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \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\004\000\001\"\134\000\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\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\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\008\000\000\008\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\000\000\000 \000\000\000\002 \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\008\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\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\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\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:\213h\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \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\004\000\001\"\134\000\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \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\004\000\001\"\134\000\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\000\000\000\000\000\000\000\000\000\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\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\002 \000z\213x\000\"\145\000$\026\005A\159\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\144\"\201%\000\000\008\000\129\000\0005@@\016G\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\000z\213x\000\"\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\000 \000\000\000\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\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\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\000\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\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\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\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\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\002\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\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\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\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\128\000\000\000\000\000\000\000\000\000@\000z\213x\000 \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\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\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\000z\213x\000\"\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\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\000z\213x\000\"\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\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\008\000\001\000\000\000\000\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\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\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \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\004\000\001\"\134\000\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\000\000\000\000\000\000\000\000\000\000\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\004\000\001\"\134\000\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\000\000\000\000\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\001z\213x\000 \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\000z\213x\000 \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\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\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\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\008\000\128P!\"\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\000z\213x\000 \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\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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\000\000\000\000\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\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\008\000\128P!\"\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\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\008\000\128P!\"\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\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\008\000\128P!\"\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \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\004\000\000\008\000\128P!\"\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\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\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\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\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\000z\213x\000 \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\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\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\000z\213x\000\"\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\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\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\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016 \201%\000\000\008\000\001\000\000!@B\000\006\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\000z\213x\000\"\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\000 \000\000\000\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\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\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\000\000\000\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\004\000\000\008\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\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\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@BPw\000\000\000\002\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\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\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\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\001 \000\008\024 \201%\128\000\008\000\001\000\0003@B@F\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\002\144\000 \025\133\001\157\160\000a \016\017\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\002\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\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\001\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\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\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\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\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\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\002\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\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\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\004\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\002\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\008\000\000\140\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\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 \001\000\000\016\000F\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\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\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:\213h\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\008\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\002\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\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\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\008\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\002\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\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\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\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0005@@Pw\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\000z\213x\000\"\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\000 \000\000\000\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\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\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\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0004@\000Pw\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\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\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\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\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\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\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\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7z\213x\000\"\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\002\144\008$\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\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\127\245\252\030#\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\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\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\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\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\000A\016\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\127\245\252\016#\145@ \024\133q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\030#\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\000\000\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\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#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\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\002\144\000$\026\005\001\157\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\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\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\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\008\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\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\000 \000\000\000\000\016\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\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\000\000\000\000\000\000\000\000\000\000\000\000\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#\145@$\026\133q\221\225\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\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\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\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\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\130\000\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\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\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\001 \000\008\152&\203%\128\008\n\000\129 \0007@@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\008\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\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#\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\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\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\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\008\000\008\000\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\004\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\008\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\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:\213h\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\008\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\002\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\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\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\127\245\252\016#\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\000\000\000\000\000\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\002\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\127\245\252\016#\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\000\008\000\008\000\000\140\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\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\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\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\127\247\254\016#\145\192&\026\133\241\221\227\000\231\1690\012\143Q\214\179\000\000\000\016\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\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\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\008\004\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\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\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#\145@$\026\133\241\221\225\000g\1680\004\143Q\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\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\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\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\008\004\002\000\128\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\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\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\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\008\000\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016#\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\000\000\000\000\000\000\000\000\136\006\002\000\000\000\000\000\128\000\000\004\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\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\127\245\252\016#\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\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#\145\192&\026\133q\221\225\000\231\1680\004\141Q\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\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\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\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\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\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\008\004\002\000\000\000\002\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\127\245\252\016#\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\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\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{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\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\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\000z\213x\000 \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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\008\000\000\140\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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:\213h\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\128\000\000\000\000\000\000\000\000\000@\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\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\001 \000\008\024 \201%\128\008\008\000\001 \0001@@@F\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\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\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\008\000\008\000\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\004\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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:\213h\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\008\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\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\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\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\008\000\000\000\128\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\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\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\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000A\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\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\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\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\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\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\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\002\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\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\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\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#\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\000\000\127\245\252\016#\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\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\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\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\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\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\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\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\016\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\016\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\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\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\000 \001\000\000\016\000@\000@\000\000 \000\000\001\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\127\245\252\000 \001\000\000\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\127\245\252\000 \001\000\000\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\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\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\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\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\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\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\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\000\000\008\000\128P!\"\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P \"\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\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\000\000\000\000\016\000\000\000\000\016\000\002\000\000\000\000\000\000\000\129\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\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\016\000\000\000\000\000\000\"\000\000\000\000\000\000\000\129\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\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\000z\213x\000p!\"\008\016\128@\000\004\128\008R\002@\000\140\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\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\008\000\128P!#\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\008\000\128P!\"\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\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\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\000 \000\000\016\000\000\000\000\000\000\002\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\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\002\004\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\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\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\000z\213x\000p! \008\016\128@\000\004\128\008R\002@\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\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\132\000\000\000\008\000\128P!\"\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\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\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\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\008\000\128P!\"\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\020\128\008v\130@\000\142\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\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\008\000\000\008\000\128P!\"\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\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\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\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\000z\213x\000 \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\000\002\004\000z\213x\000 \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\000\000\004\000\000\008\000\128P!\"\008\001\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\018\000\000\000\000\000\000\000\008\000\128P!\"\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\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\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\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\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\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\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\008\000\128P!\"\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\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\008\000\129P!\"\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\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\016\000\000\000\000\000\000\002\000\000\000\008\000\129P!\"\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\012\000\000\000\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\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\008\000\128P!\"\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\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\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001(\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\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\008\000\000\008\000\128P!\"\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\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\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\008\000\128P!\"\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\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\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\000 \000\000\016\000\000\000\000\000\000\002\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\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\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\008\000\128P!\"\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\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\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\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\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\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\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\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\008\000\128P!\"\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\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\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\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\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\000z\221x\128p!\"\008\016\136@\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\001\000\000\000\000\000\008\000\128P \"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000,\000\000\020\128\008v\130@\000\142\000\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\128P!\"\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\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\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\016\000\000\000\000\000\000z\221x\128p!\"\008\016\140@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\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\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\008\000\128P!\"\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\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\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\008\000\128P!\"\008\001\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\008\000\000\008\000\128P!\"\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\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\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\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\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\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\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\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\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\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\127\247\254\016#\145@$\030\135q\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\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\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\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\001\"\134\000\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\001\000\000\000\000\000\000\001\"\134\000\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\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\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\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\000\000\000\000\000\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\000\127\245\252\016#\145@$\026\133q\221\225\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\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\000\130\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\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\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\016\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\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#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \001\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\001\"\134\000\000\000\000\000\008\000\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\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\140\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\000z\213x\000 \001\000\000\016\000F\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\002 \000z\213x\000 \001\000\000\016\000F\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\008\000\000\008\000\000\000 \000\000\000\002 \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\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\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\002 \000z\213x\000 \001\000\000\016\000F\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\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\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\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\000\127\245\252\016#\145@$\026\133q\221\225\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\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\004\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\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\002\144\000$\026\007\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\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\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\127\247\254\016#\145@$\030\135q\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\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\127\247\254\016#\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\000\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\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\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\000\127\247\254\016#\145@$\026\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\000\127\247\254\016#\145@$\026\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\000\127\247\254\016#\145@$\026\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\000\001\"\134\000\000\000\008\000\008\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\247\254\016#\145@$\026\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\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\000\127\247\254\016#\145@$\026\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\000\001\"\134\000\000\000\008\000\008\000\000\140\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\128\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\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\016\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\001\000\000\008\016\000\000\000\000\000\000\000\128\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\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\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\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\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\128\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000 \020\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\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\128\000\000\000\128\000\000\000\000\000\000\000C\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\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\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\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\128\000\000\000\000\000\000\000\000\000\000\000G\0000\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\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\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\000C\000 \002\000\016\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\000C\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\000C\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\002\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\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\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\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\000G\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\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\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\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\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\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\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\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\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\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\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")
+    (191, "\000\000\000\0000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000\000\000\000\000\001\000 \192\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\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\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\031\224\000\000\000\000\000\000\000\003\215\181x\000\b\000\016\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!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@BT4\000\160 \213\004\012\134P#\000\154\001\016\239\002@\000\1352\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\0025\163\128\000\000\006 \000`\002\129\024\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\016\165\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\000\000\000L\134 !\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\000\000\000\000\000\000\000\000\000\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\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\001\026\209\192\000\000\003\016\0000\001@\140\002 \004\001\b\000\000\000\004\200b\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\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\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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\132(`\000\000\000\136\000\024\004\128F\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\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\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\016\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\002\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\002\b\000\000\128 \000\000\016\000\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\129\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\016\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\128\000\000\000\001\000\000\016 \000\000\000\000\000\000\000\000\000\000\000\000\000\1940\000\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\016@\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\b\016\000\000\000\000\000\000\000\000\000\000\130\000\000 \b\000\000\004\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\004\000\000@\016\000\000\b\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\129\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\000\000@\000\004\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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!\n\024\000\000\000\"\000\006! \017\128D\000\128!\000\000\000\000\153\012@\000\000\000\000\000\000\000\000\b \000\002\000\128\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\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\000\000\000\000\000\000\000\000\000\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\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\b\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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^\213\224\b \000@\000\004\016\b\000`@\000\000 \000\000\000\000\001\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={W\128\000\128\001\000\000\016\000 \001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\b\002\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\235\218\188\000\004\000\b\000\000\130\001\000\012\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\001\000\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\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\128\000\000 \b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\002\000\000\"\000\000\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b!\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\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\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\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\000 \128A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\000\000\130\001\004\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\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\002H\000\t\006\129@3\140\192\000! \016\002\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\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\000\000\000\000\002\000\000\000\128 \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\030\189\171\192\000D\144\128\018\r\"\144g9\128\000B@ \004\000 \144A={W\128\000\137!\000$\026\005 \2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\144\000\000\196\1936Y,\000\000\002\128\016 \000\003t\002\019\227\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\r\144\000O\014\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\0006@\001<;\128\000\000\000\000\t \000$\026\005\000\2063\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\018\000\000\024\136&\194%\128\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001>\027\128\000\000\000\000\t \000$\026\005\000\2063\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\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\193\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\248n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002d\000\019\225\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\134\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\153\000\004\240n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\144\000O\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000&@\001<\027\128\000\000\000\000\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\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\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\016\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\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\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\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\004\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\016\000\030\189\171\192\000@\000\128\000\b\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:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\148\b\000\000\000\016\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\000B\1480\000\000\000D\000\012\002@#\000\136\001\000B\000\000\000\0012\024\128\132(`\000\000\000\136\000\024\004\128F\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\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\001\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\140\002 \004\001\b\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\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\000B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bR\134\000\000\000\b\128\001\128H\004`\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\000\000\000\000\000\132(`\000\000\000\136\000\024\004\128F\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\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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\132(`\000\000\000\136\000\024\004\128F\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\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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!J\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\012\002@#\000\136\001\000B\000\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\000\000\000\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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\001\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b \000\002\000\128\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\000\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\136\000\000\000\000\000\000\000\000\001\004\000\000@\016\000\000\b\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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\001\bP\192\000\000\001\016\0000\t\000\140\002 \004\001\b\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\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\016\133\012\000\000\000\017\000\003\000\144\b\192\"\000@\016\128\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\001\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\140\002 \004\001\b\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\004!C\000\000\000\004@\000\196$\0020\b\128\016\004 \000\000\000\019!\139\215\181x\000\b\000\016\000\001\004\002\000\024\016\000\000\b\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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={W\128\000\128\001\000\000\016@ \001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\001\000\000\016\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\192\000\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\002\000\000\000\128 \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\b\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={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\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\000D\000\015^\213\224\000 \000@\000\004\016\b\192\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000\128\000\b \017\128\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\002 \000z\246\175\000\001\000\002\000\000 \128F\000\002\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\003\000\000\000\128 \000\000\016\000\000\000\000D\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\b\000\000\002\000\128\000\000@\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\002\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\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\b\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={W\128\000\128\001\000\000\016@#\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\b\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\001\000\000 \000\000\000\000\000\000\000\000\004\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\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\002\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\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\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\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\132\000\000 \b\000\000\004\000\000\000\000\000\000\003\215\181x\000\b\000\016\000\001\004\002\000\024\016\000\000\b\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\128\000!\n\024\000\000\000\"\000\006\001 \017\128D\000\128!\000\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\132(`\000\000\000\136\000\024\132\128F\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\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\016\000\004!C\000\000\000\004@\000\192$\0020\b\128\016\004 \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\000\000\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\002\000\128\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\000\000\000\000\000\000\000\000\000\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\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\030\189\171\192\000D\144\128\018\r\002\144g\025\128\000B@ \004\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\128\000\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000\000\002\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \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\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000\000\001\004\002\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\002@\000\003\002\004Y$\160\000\000\b\000\000\128\000\rP\bF\b\192\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={W\128\000\137!\000$\026E \206s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\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\017\000\003\215\181x\000\b\146\016\002A\164R\012\2310\000\bH\004\000\000\004\018\b'\175j\240\000\017$ \004\131H\164\025\206`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\026 \000\140\017\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\018@\000H4\n\001\156f\000\001\t\000\128\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \006\000 \128A\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\156f\000\001\t\000\128\016\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\018\000\000\024\000\"\192%\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\128\000\006\000\b\176\t@\000\000\016\000\000\000\000\018 \000\140\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000H\000\000`\000\139\000\148\000\000\001\000\000\000\000\001\"\000\b\192\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001 \000\001\128\002,\002P\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \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\004@\000\245\237^\000\002$\132\000\144i\020\1319\204\000\002\018\001\000 \001\004\130\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\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\018@\000H4\n\001\156f\000\001\t\000\128\016\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\002\000\000\000\128 \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\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\000\000\000\000 \t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\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\002H\000\t\006\129@3\140\192\000! \016\000\000\016@ \128\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\004\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\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\001\000\000\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015^\213\224\000\"H@\t\006\129H3\140\192\000! \016\002\000\016@ \128\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\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\003\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \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={W\128\000\137!\000$\026\005 \2063\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\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\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\001\bP\192\000\000\001\016\0001\t\000\140\002 \004\001\b\000\000\000\004\200b\245\237^\000\002\000\004\000\000A\000\128\006\004\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\bB\134\000\000\000\b\128\001\128H\004`\017\000 \b@\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\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\b\000\002\016\161\128\000\000\002 \000`\018\001\024\004@\b\002\016\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\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/^\213\224\000 \000@\000\004\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={W\128\000\128\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\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\b\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\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\158\189\171\192\000@\000\128\000\b\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \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%\002\000\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\004\160@\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\b\001@A\"\b\001\012 \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\006\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\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\b\001@A\"\b\001\012 \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\b\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\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\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\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\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\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\b\000\000\128 \000\000\016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\002H\000C\180\t\000\002\024\000\000\000\000\000\000\000\000\000\000\000A\000\000\016\004\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\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000z\246\175\000\001\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\b\000\015^\213\224\000 \000@\000\004\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\001\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\b\000\128\020\004\018 \128\024\194\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\0000 \000\000\016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\016\000\000\128 \000\000\016\000\000\000\000\000\000\015^\213\224\000 \000@\000\004\016\b\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\002\000\000\000\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\029{V\128\000\128\001\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\002H\000C\180\t\000\002\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\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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`\002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\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 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\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\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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\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\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\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\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\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@\128\000\000\001\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\002H\000C\180\t\000\002\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\012\000@\n\002\t\016@\ba\000\000\t \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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@\004\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\016\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\000\160 \145\004\000\134\016\000\000\146\000\016\237\002@\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\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\0000\001\000(\b$A\000!\132\000\000$\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000C\b\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002H\000C\180\t\000\002\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\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\016\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\016\000\001\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\002\000\000\000\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\130\000\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0040\128\000\004\144\000\135h\018\000\0040\000\000\000\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\128\020\004\018 \128\016\194\000\000\018@\002\029\160H\000\016\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\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\128\b\001@A\"\b\001\012 \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\002\000 \005\001\004\136 \0060\128\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\012\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\016\001\000(\b$A\000!\132\000\000$\128\004;@\144\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\128\000\000\000\016\128\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\003\002\000\000\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\016\000\000\004\000@\n\002\t\016@\ba\000\000\t \001\014\208$\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\016\001\000(\b$A\0001\132\000\000$\128\004;@\144\000!\128\000\015^\213\224\000 \000@\000\004\016\b\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\002\000\000\000\128\b\001@A\"\b\001\012 \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000$\026\005\000\2063\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\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\b\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\024\000\000\001\000\000\000\012\001\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\007\175j\240\000\016\000 \000\002\000\004\000\000\000\000\000\016\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\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188f\000\001\t\000\128\016\000\130\001\004\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\168\001\004\018\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\164\025\198`\000\016\144\b\001\000\b \016@\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@\000H4\n\001\156f\000\001\t\000\128\016\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\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\003\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \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\016\000\000\000\000\000\000\t \000 \024\005\000\2062\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\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\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\000\000\000\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\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\t \000 \024\005\000\2062\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\128\000\000\192\129\006I(\000\000\002\000\000 \000\002\020\002\016 0\000\000\000\000\000\000\000\000\001\000\000\000@\016\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\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\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\018@\000H4\n\001\156f\000\001\t\000\128\016\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\002\000\000\000\128 \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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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$\128\000\128g\020\0038\204\000\006\018\001\000\168\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\004\016\000\000\001 \000\001\137\130l\178X\000\000\005\000 @\000\006\232\004%Gp\000\000\000\004\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\rB\128o\025\128\000B@ \004\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\001\000\000\000@\016\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\004\128\000\006\006\b2I`\000\000\016\000\001\000\000\025\160\016\145\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\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\156f\000\003\t\000\128D\000\130\001\004\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\000I\000\001\000\204(\006q\152\000\012$\002\001\016\002\b\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\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\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\000 \128A\000\000\000\016\000\000\024\000 \192%\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\198`\000\016\144\b\001\000\b \016@\000\000\004\000\000\006\000\b0\t@\000\000\016\000\000\000\000\016 \000\129\001\128\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\018@\000H4\n\001\156f\000\001\t\000\128\016\000\130\001\004\000\000\000@\000\000`\000\131\000\148\000\000\001\000\000\000\000\001\002\000\b\016\024\000\000\000\000\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\016\000\000\001\000\000\001\128\002\012\002P\000\000\004\000\000\000\000\004\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\129\000\000\000\000\000\000\004\144\000\016\012\226\128g\025\128\000\194@ \021\000 \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\b\000\000\000\000\000\000$\128\000\128g\020\0038\204\000\006\018\001\000\136\001\004\018\b\000\000\000\000\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b\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@\128\000\000\000\000\000\002H\000\b\006q@3\140\192\000a \016\n\128\016A \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\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\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\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\b\002\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\016\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\006\000\000\017\128@\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\016\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\001\235\218\188\000\004\000\b\000\000\130\001\024\000\b\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\002\000\000\000\000\000\000\000\000\001\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\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\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\000\000\000\000\000\000\000\000\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\007\175j\240\000\016\000 \000\002\b\004`\000 \000\000\000\000\001\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\b\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\016\000\018\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\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\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\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\029{V\128\000\128\001\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\b\002\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\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\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\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\016\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\004\000\000\000\000\000\000\000$\128\000\144j\020\003x\204\000\002\018\001\000 \001\004\002\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\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\002\000B\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\220~\016\003=A\128\018<\163\r\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\004\019\215\181x\000\b\146\016\002A\160R\012\2270\000\bH\004\000\128\004\016\b \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\t \b$\026\005\000\2063\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\003\255\245\252\030(\210\020\002\001\140S\142\227\240\128\025\234\012\000\017\165\016( \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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\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\016\000\000\000\004\000\000\000\000\000\000\000 D\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\031\255\175\224\129F\144\160\016\012B\156w\031\132\000\207P`\000\141(\129A?\255_\193\002\141!@$\026\133\184\238?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\156f\000\001\t\000\128\016\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\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\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \016@\000\000\000\000\002H\000\b\006\001@3\140\128\000a \016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\131@\160\025\198`\000\016\144\b\001\000\b \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\t \000$\026\005\000\2063\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\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\001$\000\004\003\000\160\025\198@\0000\144\b\000\000\b \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\018\000\000\024\152&\203%\128\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\b\002\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\235\218\188\000\004I\b\001 \210)\006s\152\000\004$\002\000@\002\t\004\016\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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\016\004\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\018\000\000\024\136&\194%\128\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\000I\000\001 \208(\006q\152\000\004$\002\000@\002\b\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\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\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\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\b\000\000\000\000\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000\160\004\000\000\000\145\000\000\160n\000\000\000\000\000$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000(\001\000\000\000$@\000(\027\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\002\128\016\000\000\002D\000\002\129\184\000\000\000\000\000\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\n\000@\000\000\t\016\000\n\006\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\175\224\241F\144\160\016\012b\156w\031\132\000\207P`\000\141(\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\127\254\255\195\197\026B\128@1\139q\220~0\003=I\128\002<\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\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020('\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J \208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\220~0\007=I\128:<\163\173f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\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\001\002\r @ \024\133\b\2383\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\220f\016\003=A\128\0020\162\005\004\000\000\000\000\000\000\000\000\000@\000\000\016\004\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\002\t\006\129@3\140\192\000! \016\002\000\016@ \128\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\t \b$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\130\b\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\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \000\000\000 A\164\b\004\003\016\161\029\198a\0003\212\024\000#\n P@\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\000\000\b\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\128\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\128\000\b\002\000\000\001\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\000\000\016\004\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\000D\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000@\000\000 \000\002\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\002\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156f\000\001\t\000\128\016\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\137!\000$\026E \206s\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\004\b4\129\000\128b\020#\184\204 \006z\131\000\004aD\n\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\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\031\255\175\224\129F\144\160\018\rB\156w\031\140\000\207P`\004\141(\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\255\253\255\135\1384\133\000\128c\022\227\184\252`\006z\147\000\004yG\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\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\015\255\215\240@\163HP\b\0061N;\143\198\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\002\001\000\000\000\000\b\000\000\000\000\004\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\127\254\191\130\005\026B\128@1\138q\220~0\003=A\128\0024\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\000\001 \000\001\137\130m\178X\000@\021\000 H\000\006\232\004\005\007p\000\000\000\000\000\000\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\004\000\000\000\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\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\001\255\250\254\b\020i\n\001\000\198)\199q\248\192\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000\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\015^\213\224\000\"H@\t\006\145H3\156\192\000! \016\002\000\016H \128\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\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\001\024\004\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\000\000\000\128 \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\b\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={W\128\000\128\001\000\000\016@#\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\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\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000={W\128\000\128\001\000\000\016@#\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\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \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\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\000u\237Z\000\002\000\004\000\000\000\000\128\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \b\000\000\004\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\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\198`\000\016\144\b\001\000\b \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\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\003\255\245\252\016(\210\020\002A\168S\142\227\241\128\025\234\012\000\145\165\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\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\b\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\127\254\191\130\005\026B\128H5\nq\220~0\003=A\128\0184\162\005\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\192\000\0020\b\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\000\000\000\000\000\016\000\000\000\000\000\129\006\144 \016\012B\132w\025\132\000\207P`\000\140(\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\001\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\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\002\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\031\255\191\240\129F\144\224\019\rB\220w\031\140\001\207R`\012\143(\235Y\128\000\000\001\002\r @ \024\133\b\2383\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\255\253\127\004\n4\133\000\128c\022\227\184\252 \006z\131\000\004yG\026\b\000\000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\000@\000\000\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\229\028h \000\000\000\000\000\000\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\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?\255_\193\002\141!@$\026\133\184\238?\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\255\253\127\004\n4\133\000\144j\022\227\184\252 \006z\131\000$yG\026\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\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\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\004\000\000\000\000\000\000\000\000\000\000\002\000\003\255\245\252\016(\210\020\002\001\140[\142\227\240\128\025\234\012\000\017\165\020( \000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\001\000\000\b\000\015\255\215\240@\163HP\b\0061n;\143\194\000g\1680\000F\148P\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 \016\b\002\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\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\0000\001\000\140\002\000\000\001\000\000\000\000\000\128\000\000\000\000\000\000\000\002\000\024\b\000\000\000\000\000\b\000\000\000 \000\000@\005\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\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\017\000\192@\000\000\000\000\000@\000\000\001\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\031\255\175\224\129F\144\224\019\rB\156w\031\132\001\207P`\004\141(\137A\191\255_\193\002\141!@ \024\1978\238?\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\255\250\254\b\020i\014\0010\212)\199q\248@\028\245\006\000H\210\136\148\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\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\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\004\000\000\000\000\000\000\000\000\000\000\002\000\003\255\245\252\016(\210\020\002A\168[\142\227\240\128\025\234\012\000\145\165\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@ \016\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\007\255\235\248 Q\164(\004\131P\167\029\199\227\0003\212\024\001#J 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\000\000\000\000\000\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\156|\000\003\t\000\128\000\004\162\005\004\000\000\000\000\000$\128 \144h\020\0038\204\000\002\018\001\000 \001\004\002\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\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\015\127\215\240\000\"HP\b\006\001H3\143\128\000a \016\000\000\148@\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\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\003\215\181x\000\b\000\016\000\001\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \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\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\t \000$\026\133\000\2223\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\192\000\0020\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\002\000\000\000\128 \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\b\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={W\128\000\128\001\000\000\016@#\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\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\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \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\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\018@\000H5\n\001\188f\000\001\t\000\128\016\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\001\215\181h\000\b\000\016\000\000\000\002\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\128 \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\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\t \000$\026\133\000\2223\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\004\000\000\000\000\000\000\000\000\000\000\002\000\003\223\245\252\000\b\146\020\002\001\128R\012\227\224\000\024H\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\004\128\000\006\006\b6I`\001\000P\000\001 \000\024\160\016\016\017\128\000\000\000\000\000\000\004\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\018@\000H5\n\001\188f\000\001\t\000\128\016\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\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\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\156\230\000\001\t\000\128\016\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\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\001\000\003\000\000\b\192 \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\002\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\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\001\235\218\188\000\004\000\b\000\000\130\001\024\000\b\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\002\000\000\000\000\000\000\000\000\001\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\004\144\000\018\rB\128o\025\128\000B@ \004\000 \128A\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\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\146\000\002A\168P\r\2270\000\bH\004\000\128\004\016\b \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\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\000I\000\001 \212(\006\241\152\000\004$\002\000@\002\b\004\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\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\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\004\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\128\001\128\b\004`\016\000\000\b\000\000\000\000\004\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\000\000\000\000\000\000\000\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\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\016 \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\015\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\128\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\003\255\245\252\016(\210\020\002A\168S\142\227\240\128\025\234\012\000\145\229\024h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\024\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\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000/\255\215\240@\163HP\b\0061N;\143\194\000g\1680\000F\148@\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?\255_\193\002\141!@ \024\1978\238?\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\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\b\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\t \000$\026\005\000\2063\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$\128\000\144h\020\0038\204\000\002\018\001\000 \001\004\002\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\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\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\t \000$\026\005\000\2063\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\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\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\016 \210\004\002\001\136P\142\2270\128\025\234\012\000\017\133\016( \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@\131H\016\b\006!B;\140\194\000g\1680\000F\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\001\002\r @ \024\133\b\2383\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\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\b\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\002H\000\t\006\129@3\140\192\000! \016\002\000\016@ \128\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\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\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\255\253\127\000\002\000\004\000\000@\000\128\0000\000\000\002\000\000\000\b\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\011\255\245\252\000\b\000\016\000\001\000\002\000\000\192\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\015\255\215\240\000 \000@\000\004\000\b\000\003\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\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\b\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \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\000z\246\175\b\003\128\130D\144!\000\192\000\002H\000B\148)\000\003\024\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\016\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\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\016\000\000\000\000\000\b\000\128\020\004\002 \128\000\128\000\000\002@\002\029\160H\000\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\001\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\016\000\000\000\000\000\000\004@\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\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={W\128\001\192A\"\b\016\128`\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\002H\000B\144)\000\003\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\004\000@\n\002\t\024@\000@\000\000\001 \001\014\208$\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\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\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\001\000\000\000\000\128\b\001@A\"\b\000\b\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\128\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\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\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\129\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\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={W\128\001\192A \b\016\128`\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\000\245\237^\000\007\001\004\000 B\001\128\000\004\144\000\133 R\000\006\016\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\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\016\000\000\000\000\000\000\000@\128\000\000 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\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\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\000!\128\000\000\000 \002\000P\016H\130\000\002\000\000\000)\000\bv\129 \000C\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\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\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\000\000\000\b\000\128\020\004\018 \128\016\128\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\020;@\144\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\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\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\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={W\128\000\128\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\000\000\000\000\000\000\b\016\001\235\218\188\000\004\000\b\000\000\128\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\128\000\000 \002\000P\016H\130\000\003\000\000\000\t\000\bv\129 \000C\000\000\000\000\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\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\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\002@\000\000\000\000\000\000\000\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\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\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\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\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\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\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 \002\000P\016H\130\000\"\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\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\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\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\193\004\136 \000\160\000\000\002\144\000\135h\018\000\0048\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\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@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\000\134\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\002\000 E\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\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\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\001\000\000\000\000\128\b\017@A\"\b\000\b\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\192\000\000\000\000\128\000\000\002\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\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 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\001\004\136 \004 \000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\000@\000\000\001 \005\014\208$\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\128\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000P\b@\128\020\004\018 \128\000\192\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\128\000\000\004\128\004;@\144\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\000\160 \145\004\000\006\000\000\000\018\000\016\237\002@\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\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\001H\000C\180\t\000\002\028\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\002\135h\018\000\0040\000\000\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\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\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\001\000\016\002\128\130D\016\000\024\000\000\000H\000C\180\t\000\002\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\004\000@\n\002\t\016@\000`\000\000\001 \001\014\208$\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\128\000\000\000@\004\000\160 \145\004\000\004\000\000\000\018\000\016\237\002@\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\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\001\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\004\000\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\160 \145\004\000\004\000\000\000\018\000\016\237\002@\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\004\000\000\000\002\000 \005\001\004\136 \000 \000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\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\000\000\002\000\000\000\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000@\n\002\t\016@\000@\000\000\001 \001\014\208$\000\b`\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 \002\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\184 \145\004\000\020\000\000\000R\000\016\237\002@\000\135\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\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\b\000\128\020\004\018 \128\000\128\000\000\002@\002\029\160H\000\016\192\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\030\189\235\196\000\224 \145\004\bD\016\000\000\146\000\016\237\002@\000\134\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\000H\000C\180\t\000\002\024\000\000\000\002\000 \005\201\004\136 \004\176\000\000\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\b@\000\000\001 \001\014\208$\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\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\000P\016H\130\000\002\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\000\000\000\003\215\189x\128\028\004\018 \129\b\194\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\000\000\000\004\128\004;@\144\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\b\001@A\"\b\000\b\000\000\000$\000!\218\004\128\001\012\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\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\000(\b$A\000\001\000\000\000\004\128\004;@\144\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\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\003\215\181x@\028\004\018$\129\b\006\000\000\018@\002\020\161H\000\024\192\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\004\144\000\018\r\003\128g\025\128\000B@ \004\000 \128A\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\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g\025\128\000B@ \004\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\001\255\251\255\b\020i\n\001 \2449\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\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\220~\016\003=I\128\0184\162\005f\247\253\255\128\002\000\004\000\000@\000\128\000\000\000\000\000\016\000\000\000\000\000\001\239\251\255\000\004\000\b\000\000\128\001\000\000\000\000\000\000 \000\000\000\000\000\003\223\247\254\000\b\000\016\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!\n\024\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000B\0200\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\132(`\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\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?\255_\193\226\141!@ \024\1978\238?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\220~\016\003=A\128\0024\162\005\004\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\021\152\000\000\000\000\000\000\000\000@ \000\000\000\000\000\000\000\000\000\128\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\004\002\001\000\000\000\000\000\000\000\000\000\004\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\127\254\191\130\005\026B\128H5\nq\220~\016\003=A\128\0184\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\000I\000\001\000\206(\006q\152\000\012$\002\001P\002\b$\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\015\255\215\240x\163HP\b\0061N;\143\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\016\012b\156w\031\132\000\207P`\000\141(\129A\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\220~\016\003=A\128\0024\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\001\255\250\254\015\020i\n\001\000\198)\199q\248@\012\245\006\000\b\210\136\020\019\255\245\252\016(\210\020\002\001\140S\142\227\240\128\025\234\012\000\017\165\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=\255\127\224\000\128\001\000\000\016\000 \000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\140\002\000\000\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\017\128@\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={W\128\000\128\001\000\000\016@#\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\002\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\017\000\003\215\181x\000\b\000\016\000\001\004\0020\000\016\000\000\000\000\000\000\000\002\000\007\175j\240\000\016\000 \000\002\b\004`\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\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\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\016\004\000\000\002\000\000\000\000\b\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\001\000\000\000@\016\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\136\000\030\189\171\192\000@\000\128\000\b \017\128\000\128\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\000\000\000\000\000\000\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\031\255\175\224\129F\144\160\018\rB\156w\031\132\000\207P`\004\141(\131A\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\000\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\000\000\007\255\235\248 Q\164(\004\131P\167\029\199\225\0003\212\024\001#J V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000B\0200\000\000\000\004\000\012\000\000#\000\128\000\000B\000\000\000\000\000\024\128\000\000\000\000\000\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\t\006\129\1923\140\192\000! \016\002\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\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\146\000\002A\160P\012\2270\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\255\223\248@\163HP\t\007\161\206;\143\194\000g\1690\002F\148@\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\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\003\255\247\254\016(\210\020\002A\232S\142\227\240\128\025\234L\000\145\165\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\015\255\223\248@\163HP\b\0061N;\143\194\000g\1690\000F\148@\172\192\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\004\000\000\000\024\191\255\127\225\002\141!@ \024\1978\238?\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\255\253\255\132\n4\133\000\144j\020\227\184\252 \006z\147\000$iD\n\205\255\251\255\b\020i\n\001\000\198)\199q\248@\012\245&\000\b\210\136\021\152\000\000\000\000\000\000\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\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\128\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\220~\016\003=I\128\0184\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\001\255\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\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\133\012\000\000\000\001\000\003\000\000\b\192 \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\251\255\b\020i\n\001 \212)\199q\248@\012\245&\000H\210\136\021\152\000\000\000\000\000\000\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\001\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\rB\156w\031\132\000\207R`\004\141(\129Y\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\bP\192\000\000\000\016\0000\000\000\140\002\000\000\001\b\000\000\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\t\018\224\006\000\000\001\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\016\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\002\000\000\016 \000\000\000\000\000\000\000\002\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\b\000\000@\128\000\000\000\000\000\000\000\b\000\000\000\004\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\001\000 \000\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\000\016\000\000\000\b\000\000\000\000\001\000\000\000\000\016\000\000\000\000\000\000\000\000 \192\b\000\004\002\128\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\000\000\000\000\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\002\012\000\128\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\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\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\016\224\006\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\131\0000\000\000\b\000\000\000\000\b\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\004\024\001\000\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\016\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\002\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\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\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\b\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\002\012\000\192\000\000 \000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\002\000\000\000\128\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\000\000\000\000\000\000\000\000\000\000\000\128\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\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\b\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\002\012\000\128\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b0\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\001\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\004\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\000\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\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\128\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\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\004\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\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\128\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\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\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\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\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\226\000\201\000\000\000\000\000\220\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\226\000\000\001\146.\160\000\000\018\174\018\174\000\000\000\000*\236\018\174\000\000;*\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000W\000X\018\174\000\000\018\174\000\000\000\000\000\000+R\018\174\000\000;\158\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000:\000\152\018\174\000\000\018\174\000\000\018\174\000\000;\172\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\000\000\000\000\018\174\000\000\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000\188\000\232\018\174\000\000.\160;^?\140\000\000G\142\001d.\160\000F?\140\000\000\001\014\018\174\000\000G\212\000\000\000c\004\024.\128\000\000\000\00094\000\000<r\000\000<\232.\128.\128\020\012\020\012<r\020\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\170.\128\000\000\000\0009\170\000\0009\170\000\000.\128\000\000\000\000\000\000\023z\000c\000\000\020\012\000\000/|.\128\0286.\128\000\000\000\000\000\000\000\000\000\000\000\000\031\n.\128 \002.\128 p.\128!h.\128\000\000.\128\000\000.\128!\214.\128\"\206.\128#<.\128$4.\128$\162.\128\001B.\128\000\000\000\000\000\000\000\000\000\000.\128%\154.\128&\008.\128'\000.\128\000\000\000\000.\128\000\000\000\000\001\226\000\000\000\000\000\000\000\000\018\012\018\174\000\000\003\182\018\174\000\000=h\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002d\002\166\018\174\000\000\018\174\000\000\005\166\018\174\000\000=\168\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002\142\002\188\018\174\000\000\018\174\000\000\018\174\000\000=\202\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\018\174\000\000\018\174\000\000\018\174\000\000\018\174\000\000\002\152\002\250\018\174\000\000;\158?\140\002\184\018\174\000\000H\254H\000\000\000\001\164\003\208\000c\003F\004\012HF\000\000\000\000\000bI*\000\000\000\000\000\000\000\000\005V\0042\001\164\004bHF\000\134HF\000\000\000\000\003\186\000\000\003\242\004\196HF\004J\000\000\000\000\000\000\000b\000\000\004f\005L\000\000\005N\000\000\018\012\001\164?\140\004\146\018\174\000\000;\172?\140\005\030\018\174\000\000\000\000\000c\006\004\000\000\000\000\000\000\000\156\020\012\000\000.\128\005*\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\005J\000\000\000\000\005n\000\000\005v<r\000\000\000\000\000\000\000\000\000\000\000\000>\144.\128\000\000>\144\000\000>\144<r\000\000\000\0000(\000c\000\000\020\012\005\168\000\000.\128\005\192\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\146.\128\000\000.\128\000\000\000\000\005\198\000\000\000\021: \006\128.\128\006h\000\000\000\000<r\000\021\000\000\000\000\000\000\000\000\000\000I\182<rJ\018<rJB<rJ\182<r\000\000<r\000\000<rK\018<rK\132<rK\246<rLR<rL\196.\128\006\028<r\000\000<rM6<rM\146<rN\004\005\248\000\000\005\252\000\000\000o.\128\000\000\000o\000\000\000\000\002z.\160\000\000\002z\000\000\000\000\005\252.\128\000\000\006\002\000\000\020\012\006\002\000\000\000\000\006\206\000\000\020\012\006\008\000\000\000\000\006\n\000\000\000\000\004\024\000\000\006\236\000\000=h?\140\006\020\018\174\000\000\000\000\006\154\000\000\006 \018\174\000\000\000\000\000\t.\160\000\000.\160\000\000\006\"\000\000\000\t\000\000\016f\031\n\018\158\000\000\006p\018\158\000\000\018\158\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006j\006\156\018\158\000\000\018\158\000\000\007\004\018\158\000\000\018\174\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006~\006\170\018\158\000\000\018\158\000\000\018\158\000\000\018\178\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006\138\006\182\018\158\000\000.\160\006j\000\000\018\158?\140\006d\018\158\000\000\000\000\000m\000\000\003\024\000m\000\000\000\000\000\000\007H\000\000\001\194?\140\006h\018\158\000\000\018\174?\140\006r\018\158\000\000\000\000\024\024\018\158\000\000\007V\018\158\000\000\018\188\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006\168\006\218\018\158\000\000\018\158\000\000\007\206\018\158\000\0000\200\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006\178\006\224\018\158\000\000\018\158\000\000\018\158\000\0000\220\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006\184\006\232\018\158\000\000\018\178?\140\006\156\018\158\000\000\000\000\002\152?\140\006\168\018\158\000\0000\200?\140\006\176\018\158\000\000\000\000\000\000\000\000\000\000\000\000\007\128.\128\006\200\021\160\007\134.\128\006\204\007\136.\160\000\000\000\000.\160\000c\000\000\000\007.\128(\028\000\000?|.\128\006\216\000\000\020\012\006\216\000\000\006\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\242.\128\000\000?\242\000\000?\242@h\020\012\006\234@h\000\000\000\000NH\000c\000\000\020\012\007\026\000\000.\128\007\024\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\128\000,.\128\007\026\000\000\000\000(\208\025\216'L\007\208.\128\000\000\007\154\000\000\000\000\000c\000\000\000\000\024\216\007T(\028\000\000\007P(\028\000\000\0018\000\000\000\000\n\014@h\012\202@h\014(@h\015\134@h\000\000@h\000\000@h\0264@h\028\160@hD\246@hF\028@hJ\134@hKR@hL\146@hN\160\000\000\007*\000\000\007<)\132\000\000*8\007@*8,\028\007H*8\000\000\000\000\000\000\000\000\000\000\007@\000\000\008$\000\000\000c\000\000\000\007\0080\000\000\000s\008\000\000c\007X\008\026HF\007`\000\003\000\000.\128\008B\000\000\006\180\006\200\008(HF\007x\008X\000\000\002\208.\128\008\\\000\000\008^\000\000\018\012\000c\003Z.\128\008`\000\000\008f\000\000\000c\003p.\128\008j\000\000\008t\000\000\000\177\007\194\006\212\000\000@\222AT\020\012\007\162\000\000\007\170AT\000\000\000\000\000\000\000\000\000\000\000\000A\202.\128\000\000A\202\000\000A\202AT\000\000\000\000\026\216\000c\000\000\020\012\007\180\000\000.\128\007\178\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\196.\128\000\000.\128\000\000\007\192\000\000\000o\000\000\000\000\000\000\000\000\000\0001\176AT2\012AT2\168AT3\004AT\000\000AT\000\000AT3\160AT3\252AT4\152AT4\244AT5\144.\128\007\232AT\000\000AT5\236AT6\136AT6\228\020\012\007\196\000\000\000\000.\128\000\000\008\162\000\000\001\\\008x.\128\008B\000\000\008|.\128\008N\000\000\000\174\000\000\006\212\006\212\001\\\000\000\001\\\000\000\016f\006\212\006\212\000\000\000\000\000\000\000\000\000\000\000\000\008\156.\128\007\234\021\160\022\140\000c\008\200\000\000\008\1707\170\008\2187\170\008\220.\128\008\002\021\160\021\160\003\168\001P\002z\000\000\000\000\000\000\001P\000\000\002J\003\148\000\000\000\000\008\004\000\000\000\000\000\000\008\226\000\000\008\230\000\000\000\000\t\026\008\204.\128\008\026\008\250\000\000\008\222\020\012\008&\021\160\000\000\000\000\008P\000\000\000\015\000\000\005v\000\000\001\\\000\000\008\162\000\000\012L\000M\000\000\012L\000\000\000\000\024\216\000\000\002\170\000\000\000\000\t\144\000\000\012L\000\000\008\234\020\012\0080\t\014\000\000\000%\000\000\008\224\000c\0088\008\248HF\008@\002(\000\000.\128\t\030\000\000\t\002HF\008H\t@\000\000\003x.\128\tT\000\000\tV\000\000\018\012\000c\004\246.\128\tX\000\000\tZ\000\000\000\000\000\000\t\144\000\000\000\000\001(\000\000\006\212\000\000\000%\000\000\000\000\002\144\022\140\000\000\002\144\000\000\000\000\008\130\000\000\0012\000\003\021\160\000\000\004\024\000M\004\024\000\000\000\015\000\000\006\212\000\000\006\212\000\000\000\000\000\000\008~\000\000\000\000\008\136\000\000\002\168\005v\002\194\004\024\000\000\000\000\000\000\002\194\000\000\006\212\000\000\002\168\000\000\000\000\007\230\000\015\016f\000\000\000\015\000\000\0082\016f\000\000\000\000\0082\000\000\000\000\008\136\000\000\000\000\008\142\000\000\003V\006\212\000\000\003V\000\000\000\000\t\006\000\000\001(\000\000\006\212\000\000\000\000\000\000\017\1848 \000\000\tn\000\000\017\184\tp\000\000\tr\000\000.\160\000c\004\\\000\000.\128\tz\000\000\001\028\tN\000c\008\166\tdHF\008\172\004\186\000\000.\128\t\142\000\000\004\204\000\000.\128\t\144\000\000\018\012\000c\005@\000\000.\128\t\146\000\000\003\222\017\184\000\000\024\216\005r\000\000.\128\t\152\000\000\000\000\000\000\003\250\000\000\tz\020\012\008\194\t\160\000\000\0072\000\000\tr\000c\008\202\t\136HF\008\206\005\134\000\000.\128\t\172\000\000\005\144\000\000.\128\t\178\000\000\018\012\000c\005\186\000\000.\128\t\182\000\000\003\222\000\000\000\000\008\224\000\000\003\250\tD\tX\000\000\000\000\000\000\tZ\000\000\002\154\000\174\000\000\016f\t\172\000\000\000\000.\128\t\016\006\212\000\000\008\230\000\000\000\177\000\000.\160\000\000\000\000\001\194\016f\000\000\016f\000\000\008\220\000\000\001\194\000\000<r\003\146<r\000\000<r\000\000\008\230\000\000\003\146\000\000\021\160\005\000\021\160\000\000\021\160\000\000\008\238\000\000\005\000\000\000<r\003\146\008\248\000\000.\160\005^.\160\000\000.\160\000\000\008\250\000\000\005^\000\000<r\003\146\008\252\000\000\000\000\024\216\000\000\000\000\tn/B\000\000\000\000\000\000\000\000\000\000\tD\004\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\200/B\000\000\001h\002\162\000\000\tF\000\201\000\000\000\000\000\000\000\139\002\162\000\000\000\000\000\000\000\000\t\162\000\000\000\000\000\000\000\000\0286\029\148\000\000B\134\000\000/B\000\000\003\132/B\000\000\003\188\003:\003:\000\000\004\214\003:\000\000\t \000\000\000\000\000\000\000\000\t\166\000\000\030\012\000\000\031\n/B\000\000\005X/B\000\000\t\168\000\000/B\t\170\000\000D\1468\164\t\176\000\000\t\178\000\000D\220:\164/B\tB/B\t\198\000\000\t\204\000\000\t\210\000\000.\160\000\000\0054.\160\000\000\tP\018\158\000\000\000\141/B\000\000\005\136/B\000\000\003\178\nL\000\000\nN\000\000\005\\\000\201\tV\000\000\000\000\000\000\000\000\000\000\000\000\t\222\000\000E\152/B\t\224\000\000\t\232\000\000/B\t\236\000\000/B\t\150\000\201\000\000\000\000\005\198/B\000\000\003\178\000\000\t\240\000\000/B\t\246\000\000B\2088\164/B\tx/B\t\254\000\000\n\002\000\000C\140\000\000\000\000\006@/B\000\000\005\016\002\016\002\016\000\000\000\000\000\000\005f\002\016\000\000\t\128\000\000\000\000\000\000\000\000/B\000\000\006h/B\000\000\004\170\005\182\000\201\t\130\000\000\000\000\000\000\000\000\000\000\000\000\n\n\000\000\n\012\000\000/B\n\014\000\000E\226/B\n\018\000\000\n\020\000\000\021\018\t\192FT-d\000\000/B\n\028\000\000\n\"\000\000\t\244\021\018/B\n@\000\000/B\nV\000\000\nX\000\000C\214\t\216/B\n`\000\000\nb\000\000\000\201\t\212\000\000\000\000\024\216\000\000\000\000\002^\n\188\000\000\000\000\000b\000\000\000\000\000\000.\128\000\000\000\000\000\000\002\186\000\000\001\152\000\000\000\000\000\000\004\024?\140?\140?\140\000\000\003v\003v\003v\003v\000\000\000\000\000\000\000\000\000\000\000\000\001\\\016f\n\178\013\170\000M\000\000\000\000\001\"\000\000\t\144\000\000(\028\t\234\000\000\001\\\016f\t\240\015\008\000\000\001\\\013\170\000\000\000\000\000\000?\140\011\220\000\000\000\000\000\000\n:\000\129\n\184H\254\000\000\002\138I\214\000\000\000\000\000\000\007\194\n\168\000c\000\000\002\138\000\000\005rH\254\000\000\000\000\n\002\n\184\006\212\n\004\000\000\001\"\000\000\t\144\000\000\020\148\002\024\000\000\000\000\n\170\000\000\000\000\002^\000\000\004\254\000\000\000\000\000\000.\128\000\000\002\186\000\000\005\"\000\000\000\000\000\000\005v\000\000\n\238\005j\n\238\000\000\006\212\n\238\000\000\005j\000\000\006\212\000\000\006\212\000\000\006\212\000\000\020\148\000\000\000\000\000\000\000\000\000\000\006\212\000\000\005j\000\000\006\212\000\000\023\012\000\000\000\000\0082\n8\000\201\004\020\n\210\002\164\000\000\002\164\n\250\000\000\n\252\000\000\n\254\000\000\000\000\003\214\002\164\004\230\002\164\000\000\000\000\003\210\n\008\000\000\nD\000\201\n\014\000\000\004\164\011\008\000\000\006\002\000\228\011\028\000I\011\028\000\000\000\000\007\166\000\201\000\000\000)\000\000\000\000\000g\000\000\n\024\000\000\000\000\000\000\nT\000\201\n\028\000\000\000\000\004\164\006\002\000\228\007\166\000)\000g\n\"\000\000\006\002\000\228\007\166\000)\000g\n$\000\000\000\201\000\000\011$\001\230\nd\000\201\n\190\000\000\nh\000\201\n\196\000\000"), (16, "\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\012\182\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\011\229\000\n\014\218\001\230\006\222\011\229\008\210\001\238\001\242\011\201\001\230\015\014\011\229\016\134\012\226\001\242\011\229\011\229\011\229\000&\007\189\011\229\001\"\007\150\016\022\011\229\011\229\011\229\011i\016\138\012\210\006u\008u\014\218\007\189\022\190\011\229\000\n\000*\011\229\011\229\013V\015\014\012\137\000\n\011\229\011\229\000\n\011\229\001\230\011\229\019\254\000\n\012\226\001\242\011\229\005\229\011\229\011\229\011\229\011\229\011\229\027\210\017*\021\154\011\229\011\229\011\229\011\201\011\229\011\229\011\229\011Q\011\229\011\229\011\229\011\229\011Q\011Q\000\150\011\229\011\229\016\"\000\n\007\189\006M\001~\007\158\027\198\011Q\011\229\011\229\011\229\004u\027\202\011\229\011\229\011\229\011\229\005y\011\229\027\170\011\229\0007\000;\011\229\001\"\015\002\011\229\011\229\006\026\012\137\012\137\016\"\011Q\n\158\012\137\012\214\017Z\011\229\011\129\011\129\011\229\000\006\000\"\027\162\011\229\011\229\011\229\011\229\004u\011\229\006u\011\229\012\158\007\189\000\n\011\229\011\229\011\229\015\006\011\229\011v\011\229\011\229\000\154\011\229\007\189\011\229\011\229\006\029\000\226\011\229\011\229\006}\006}\006}\006}\006}\006}\006}\006}\006}\006}\006}\011\130\006}\006}\006}\006}\006}\006}\006}\006}\006}\006}\016\022\000\230\011\169\016\022\006}\014\222\014\238\014\254\016\022\014\218\004^\006}\014\218\018\166\005\245\006}\006}\006}\015\014\018V\006}\015\014\024\243\024\247\006}\018Z\006}\024\251\004\138\018^\011n\011\129\003i\001\230\000.\006}\006\222\012\226\001\242\005\030\001R\001V\011\129\004e\006}\006}\006\133\011\129\011\129\006}\006}\006\133\006\133\012\137\006}\001v\006}\006}\006}\006}\006}\021n\019\210\006\133\006}\006}\006}\000\n\006}\006}\006}\000\022\006}\006}\006}\006}\020.\028F\011\129\006}\006}\004>\n\221\011\129\011\129\004\222\006\021\006\021\006\133\016\"\006}\006}\016\"\028V\006}\006}\006}\006}\006\005\006}\008\246\006}\011\170\001\138\006}\001\"\002\206\006}\006}\000N\007\182\020N\020v\020\158\020\174\020\214\026S\006M\012\137\012\137\001\"\006}\021z\012\137\026W\006}\006}\006}\006}\015\142\006}\016\166\006}\006\013\026Z\000\n\006}\006}\006}\023\182\0206\n\221\006}\006}\006\149\006}\006\149\006}\006}\006\149\000\n\006}\006}\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\004~\006\149\025\027\025\031\006\149\021~\023\186\025#\006\149\024\226\006\149\006\149\021\130\0276\000\n\006\149\006\149\006\149\006\149\006\149\006\149\016\022\006\149\006\149\006\149\006\246\006\149\006\149\0065\006\149\014\218\003\026\n*\016\022\027:\006\149\0176\001\"\006\149\015\014\011i\027>\014\218\016\170\006\149\006\149\006\149\006\149\017\170\006\149\006\149\015\014\001\"\006\149\006\149\024\226\006\149\021\142\006\149\006\149\006\149\004\213\006\149\011Y\006\149\006\149\006\149\000\n\006\149\006\149\006\149\012\137\006\149\006\149\006\149\006\149\011\193\003f\nR\015\170\006\149\nV\000\n\003\241\006\149\025>\015\146\nZ\021\018\003j\006\149\006\149\n^\025B\006\149\006\149\006\149\006\149\003\170\006\149\003\174\006\149\027F\004\014\006\149\006\149\006E\006\149\006\149\011i\016\"\025\238\003:\021\242\003B\005\237\003R\006m\006\149\019\230\011i\006\149\016\"\003Z\011i\006\149\006\149\013\002\006\149\006U\006\149\004\018\006\149\020V\027N\018*\006\149\022\214\022\222\012\137\012\137\004&\004\213\006\149\012\137\006\149\012\158\006\149\006\149\004\021\003b\006\149\006\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\020\254\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\022\230\021\002\011\185\001\"\nb\021\238\027^\008\218\027^\003r\021\006\001F\021\n\001\"\0192\001\166\nr\013^\004B\021\014\013b\013\"\020^\004\161\001N\008\145\014\202\021\026\019\006\005\221\006\173\021\030\013>\000\n\004J\001\178\016\206\021\"\025b\004N\012\158\006]\006\222\000\n\015\"\013j\025\142\025\154\001\162\015&\017f\012\158\015\138\021&\001\218\012\158\001\222\004\177\001b\016\030\015.\021\226\015\138\018\146\013~\001\230\0152\004z\013\130\011\138\001\242\004\021\013\134\013\138\n\134\013\142\004\021\004\021\021*\004\129\0156\021.\004\130\003\237\008\145\006-\022\214\022\222\004\021\006\173\n\226\013\146\004\154\0212\015:\015>\013\150\015B\0216\000\n\021:\015V\021>\021B\004\141\021F\027n\015b\013\158\006e\018\194\021J\004\013\004\021\021N\027f\005\221\027f\025\174\018\214\004\162\015\130\027.\006M\023\254\015\134\015\194\004\177\n\138\021R\013\162\004\166\015\198\021V\021Z\005\221\013\166\004\177\004\177\005\221\011i\020~\004\177\015\206\004\013\013\170\004\017\006\157\006\157\008\137\018\150\002\"\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\004\174\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\023\178\004\129\018\242\004\198\nb\027\146\004\129\004\129\004\202\004\210\003~\001F\003\134\020\182\003\150\001\166\nr\013^\004\129\004\129\013b\003\158\018\198\016\022\001N\006\165\014\202\019\022\004\230\004v\020\134\018\218\014\218\008\137\004\013\001\178\022\234\019n\014\218\004\013\004\013\015\014\019\130\004\129\015\"\013j\025\142\015\014\003\166\015&\017\174\004\013\016\238\001\"\001\218\021\254\001\222\004\193\001b\016\030\015.\011\137\011y\019\158\013~\001\230\0152\004\013\013\130\011\138\001\242\012\158\013\134\013\138\n\134\013\142\004\013\020\190\027f\004\017\0156\024\002\003\182\000\n\006\165\011\153\000\n\026s\026w\018\246\n\226\013\146\026{\006=\015:\015>\013\150\015B\004\250\000\n\005\014\015V\022\166\005.\004\141\026\147\026\151\015b\013\158\011a\026\155\007\202\016\"\007\210\019\026\007\226\011\161\005R\016\"\0039\022:\015\130\007\234\0039\019r\015\134\015\194\023\202\n\138\019\134\013\162\000\n\015\198\026\026\011q\005^\013\166\003]\004\193\005f\006%\008\173\008\173\015\206\022\202\013\170\008\173\006\181\006\181\007\242\019\162\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\186\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\023N\004\017\011\177\005\198\nb\006\018\004\017\004\017\008\002\006\"\008\014\001F\008\022\005\013\008&\001\166\nr\013^\004\017\027.\013b\008.\011\145\005\t\001N\006*\014\202\006\170\006\206\004\241\006\214\007\014\005\013\007\026\007&\001\178\0072\007>\014\218\004\237\007J\007^\005\t\004\017\015\n\013j\007n\015\014\0086\015&\007~\t.\007\134\t6\001\218\tF\001\222\004\221\001b\015*\015.\023\166\tN\007\171\013~\001\230\0152\007\246\013\130\011\138\001\242\007\250\013\134\013\138\n\134\013\142\019N\008:\008>\012\145\0156\023\242\008F\008\158\008\162\008\178\008\194\008\238\008\254\tV\n\226\013\146\019R\t\018\015:\015>\013\150\015B\tZ\000\n\005\013\015V\t^\t\158\004\141\t\162\n\002\015b\013\158\n\006\005\t\tr\001\230\tz\n\026\t\138\012\226\001\242\016\"\005\013\n2\015\130\t\146\tf\nF\015\134\015\194\004\221\n\138\005\t\013\162\nf\015\198\nn\nv\n~\013\166\004\221\004\221\n\130\n\182\n\194\004\221\015\206\n\202\013\170\000\n\008\181\008\181\t\154\011\014\002\"\008\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\026\002\001\014\016\134\001\022\nZ\001\030\0012\001:\001>\n^\011.\011:\011~\011\150\011\162\nb\011\190\011\202\016\138\t\170\004\129\012R\001F\012Z\001\"\012j\001\166\nr\013^\012v\006\246\013b\012\146\012\154\027\"\001N\007\197\014\202\001\230\012\174\012\186\012\194\012\226\001\242\012\198\012\206\001\178\006\141\012\222\014\218\007\197\012\238\006\141\006\141\000\n\015\n\013j\012\246\015\014\012\250\015&\013\n\013\018\013*\027\186\001\218\0132\001\222\013F\001b\015*\015.\000\n\013N\013Z\013~\001\230\0152\013r\013\130\011\138\001\242\013z\013\134\013\138\n\134\013\142\013\206\013\218\006\141\0039\0156\014\"\014\154\0039\014\194\014\214\014\226\014\234\014\242\007\197\n\226\013\146\027~\014\250\015:\015>\013\150\015B\015F\000\n\006E\015V\027\142\015N\015^\015f\004\129\015b\013\158\027\230\027\146\004\129\004\129\015n\015v\015~\015\186\015\202\016\"\015\210\015\222\015\130\015\226\004\129\004\129\015\134\015\194\015\234\n\138\015\238\013\162\015\246\015\198\015\254\016\014\016.\013\166\016r\016z\016~\007\197\016\142\016\150\015\206\016\154\013\170\016\162\016\178\004\129\016\186\016\194\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\198\001\014\019N\001\022\nZ\001\030\0012\001:\001>\n^\016\214\016\222\016\246\016\254\017N\nb\017\150\017\162\019R\018\022\018\"\018B\001F\018n\018z\018\130\001\166\nr\013^\018\158\006\246\013b\018\170\018\178\018\182\001N\018\190\014\202\001\230\018\206\018\226\018\254\012\226\001\242\019\"\019:\001\178\019B\019F\014\218\019V\019^\019b\019j\019z\015\n\013j\019\142\015\014\019\170\015&\019\190\019\206\019\222\019\246\001\218\020\006\001\222\020\018\001b\015*\015.\000\n\020C\011\226\013~\001\230\0152\020k\013\130\011\138\001\242\020\147\013\134\013\138\n\134\013\142\020\171\020\203\020\227\012\145\0156\020\250\021\022\021\134\011\234\021\179\022\n\022\031\022G\022S\n\226\013\146\022c\022k\015:\015>\013\150\015B\011\242\000\n\006E\015V\022~\022\135\0122\012:\022\143\015b\013\158\022\151\022\178\022\218\022\226\022\242\012\018\023\015\023\031\011\250\016\"\012\n\023'\015\130\0233\023>\023c\015\134\015\194\023o\n\138\023\130\013\162\023\139\015\198\023\147\023\214\024\n\013\166\024'\024/\024;\012\026\024K\024S\015\206\024^\013\170\024s\012\145\012\145\024{\024\130\002\"\012\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\024\143\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\024\155\024\163\024\174\012\"\nb\024\183\024\191\024\203\024\230\025n\012\002\001F\025\150\025\166\025\218\001\166\nr\013^\025\226\026\006\013b\026*\026.\005Q\001N\0266\014\202\026_\027&\0272\027B\027J\027R\027{\027\130\001\178\027\139\027\150\012B\012*\027\166\027\219\027\234\027\243\015\"\013j\028\023\0283\028B\015&\026\170\028J\028S\028Z\001\218\028c\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\nR\004\141\000\000\nV\015b\013\158\000\000\025>\000\000\nZ\000\000\000\000\000\000\000\000\n^\025B\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\153\008\153\000\000\000\000\002\"\008\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\001\230\000\000\001F\000\000\012\226\001\242\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\015\"\013j\000\000\000\000\004\161\015&\0166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\181\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012m\0156\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\181\000\181\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\000\000\015\206\000\000\013\170\000\000\012m\012m\000\000\000\000\002\"\012m\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\012\"\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\181\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\181\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025r\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\157\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\157\000\157\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\157\000\000\000\000\015\206\000\000\013\170\000\000\012\185\012\185\000\000\000\000\002\"\012\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\157\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\157\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025r\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\149\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\149\000\n\000\000\015V\000\000\000\000\000\149\000\149\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\011\250\000\000\000\149\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\149\000\000\000\000\015\206\000\000\013\170\000\000\012\181\012\181\000\000\000\000\002\"\012\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\149\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\149\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\149\000\149\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\226\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\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\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\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\001F\000\000\000\000\000\000\001\166\000\000\013^\000\000\000\000\013b\003.\0036\000\170\001N\000\174\018b\003z\003\190\000\000\003\198\000\000\003\214\000\000\003\222\001\178\003\230\003\242\000\000\003\250\000\000\000\000\000\000\000\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\004\n\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\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\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\004\026\000\000\000\000\007\214\005\213\000\000\000\000\005\213\013\158\000\000\005\213\008\026\005\213\008Z\005\213\000\000\005\213\000\000\t:\005\213\000\000\005\213\005\213\000\000\005\213\005\213\005\213\005\213\n\138\000\000\013\162\005\213\018v\005\213\005\213\005\213\013\166\005\213\000\000\005\213\005\213\000\n\005\213\018~\005\213\013\170\005\213\005\213\005\213\005\213\005\213\002\"\005\213\000\000\005\213\000\000\005\213\005\213\000\000\000\000\005\213\005\213\005\213\005\213\008\186\000\000\000\000\005\213\005\213\000Z\000\000\005\213\t\n\005\213\n\018\000\000\005\213\000Z\005\213\000Z\005\213\005\213\000\000\005\213\000Z\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\005\213\005\213\005\213\000\000\005\213\005\213\005\213\005\213\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\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\001F\000\000\000\000\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\nR\000\000\001\218\nV\001\222\000\000\001b\025>\000\000\nZ\000\000\000\000\001\226\001\230\n^\025B\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\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\002\002\000\000\000\000\000\000\000\000\002\006\016\134\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\016\138\000\174\000\000\008\n\008N\002\018\008V\020\254\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\002\001\230\000\000\000\000\002\026\012\226\001\242\004a\000\000\021\006\008\146\021\n\000\000\002\030\000\000\000\000\000\000\000\000\021\014\002\"\000\000\000\000\000\000\024Z\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\n\021\"\000\000\000\000\000\000\004\161\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\154\000\000\000\000\000\000\021&\023\150\000\000\000\000\000\000\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\021*\000\000\000\000\021.\000\000\000\000\007\133\007\133\001\166\nr\013^\007\133\000\000\013b\000\000\0212\000\000\000\000\000\000\014\202\0216\000\n\021:\000\000\021>\021B\000\000\021F\001\178\000\000\000\000\000\000\000\000\021J\000\000\000\000\021N\015R\013j\000\000\000\000\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\021R\000\000\015.\000\000\021V\021Z\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\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\130\nb\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\001\166\nr\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\015\206\014\202\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013f\013j\000\000\000\000\nR\015&\000\000\nV\000\000\000\000\001\218\025>\001\222\nZ\000\000\000\000\015.\000\000\n^\025B\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\016\134\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\000\000\015\130\013\193\000\000\000\000\015\134\015\194\000\000\000\000\001\230\013\162\000\000\015\198\012\226\001\242\000\000\013\166\000\000\000\000\000\000\013\193\000\000\000\000\015\206\013\193\013\170\000\000\002:\013\193\000\000\000\000\002\"\000\000\000\000\013\193\000\000\000\000\013\193\013\193\000\000\013\193\013\193\000\000\000\n\002B\000\000\013\193\005&\004\161\000\000\013\193\000\000\000\000\013\193\000\000\013\193\013\193\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\000\000\t\202\000\000\t\210\000\000\t\218\t\230\000\000\t\238\013\193\000\000\013\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\t\246\000\000\008\229\008\229\000\000\000\000\0052\008\229\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\193\013\193\000\000\013\193\013\193\0056\000\000\013\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\193\000\000\n\014\013\193\013\193\013\193\013\193\000\000\000\000\000\000\000\000\013\193\013\193\013\193\000\000\013\193\013\193\013\193\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\237\000\000\020\238\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\020\242\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\001=\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\004\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\020\246\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\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\004\241\001=\004\237\004\241\000\000\001=\001=\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\182\000\000\004\237\004\237\004\237\004\241\004\237\004\237\004\237\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\000\153\004\241\004\241\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\004\241\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\004\241\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\153\000\000\000\000\011\250\000\000\000\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\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\000\153\000\000\000\000\000\000\000\000\014\021\000\000\004\241\014\021\000\000\000\000\000\000\004\241\000\000\000\000\004\241\000\000\004\241\000\000\000\000\000\000\000\000\000\000\004\241\004\241\004\241\014\021\004\241\004\241\004\241\014\021\000\000\000\000\013\190\014\021\000\000\000\000\000\000\000\153\000\000\014\021\000\000\000\000\014\021\014\021\012\002\014\021\014\021\000\000\000\000\013\198\000\000\014\021\013\210\000\000\000\000\014\021\000\000\000\153\014\021\000\000\014\021\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\000\000\000\000\000\000\000\000\000\000\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\021\014\021\000\000\014\021\000\000\013\226\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\021\000\000\014\021\000\000\000\000\000\000\000\000\000\000\014\021\014\021\014\021\000\000\014\021\014\021\014\021\na\na\na\na\000\000\na\000\000\na\na\000\000\na\000\000\na\000\000\na\000\000\na\na\na\na\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\001\137\000\000\000\000\na\001\137\000\000\021\198\000\000\001\137\000\000\021\206\000\000\000\000\000\000\001\137\000\000\na\001\137\001\137\000\000\001\137\001\137\000\000\na\000\000\000\000\001\137\000\000\na\000\000\001\137\000\000\000\169\001\137\000\000\001\137\001\137\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\000\000\001\137\na\001\137\000\000\na\000\000\000\000\000\000\000\000\000\000\000\000\011\242\001\137\000\000\000\000\000\000\na\000\169\000\169\000\000\000\000\na\000\000\na\000\000\000\000\na\000\169\000\000\000\000\011\250\000\000\012\n\000\000\na\000\000\000\000\na\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\na\012\026\000\000\000\000\022\"\na\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nQ\nQ\nQ\nQ\000\000\nQ\000\000\nQ\nQ\000\000\nQ\000\000\nQ\000\000\nQ\000\169\nQ\nQ\nQ\nQ\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\nQ\nQ\000\169\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\nU\nU\nU\nU\000\000\nU\nQ\nU\nU\000\000\nU\nQ\nU\000\000\nU\000\000\nU\nU\nU\nU\nQ\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\nU\nU\000\000\000\000\000\000\000\000\000\000\nQ\nU\000\000\nQ\000\000\000\000\nU\000\000\000\000\022&\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\nU\nQ\000\000\nQ\000\000\000\000\nQ\nU\000\000\000\000\000\000\000\000\nU\000\000\nQ\000\000\000\000\nQ\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nQ\000\000\000\000\000\000\021\202\nQ\000\000\000\000\000\000\nU\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\nU\000\000\nU\000\000\000\000\nU\000\000\000R\007\190\007\198\000\170\000\000\000\174\nU\008\n\008N\nU\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\nU\002\198\000\000\000\000\000\000\nU\000\000\000\000\022.\008\146\022J\000\000\000\000\000\000\000\000\000\000\000\000\022V\000\000\002~\000\000\000\000\008\154\002\t\000\000\000\000\000\000\002\t\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022n\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\154\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\t\008\182\000\000\000\000\000\000\000\000\000\000\000\000\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\174\022\186\002\t\000\000\023\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000\000\023*\000\000\000\000\000\000\000\000\0236\000\000\008q\000\000\000\000\023f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023r\000\000\000\000\0242\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\000\000\024>\000\000\000\000\000\000\000\000\024V\002\t\000\000\000\000\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\000\000\002\t\002\t\000}\002\246\002\190\002\t\000}\000\000\000\000\000\000\000\000\000\000\002\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\002\166\000\000\000\000\002\142\000e\002\158\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\000\000\000\000e\002\174\000\000\000}\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\002\134\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\002\142\000\000\002\158\000e\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\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\000e\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\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\000\000\000e\000e\000\000\000\000\002\150\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]\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\002\142\000a\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\000\000\000\000\000\000\000\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000a\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\002\142\000\000\000a\000a\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000a\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\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\000\000\000\000\002\150\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\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\002\142\000i\002\158\000q\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\002~\002\174\000\000\000q\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\002\134\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\002\142\000\000\002\158\000i\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000i\000\000\000\000\000q\000q\000\000\000q\000q\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\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\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\002\142\000u\002\158\000m\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~\002\174\000\000\000m\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\002\134\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\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000u\000\000\000\000\000m\000m\000\000\000m\000m\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\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\002v\002\158\000\133\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~\002\174\000\000\000\133\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\133\002\134\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\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\002\174\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000y\001\153\000\000\000\133\000\133\001\153\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\001\153\000\000\002\150\001\153\002v\001\153\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\001\153\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\001\153\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004E\002\142\004E\002\158\000\129\004E\000\000\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\001\153\004E\004E\000\000\000\129\000\000\006\002\004E\000\000\004E\001\153\001\153\001\153\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\001\178\000\000\000\000\004E\000\000\000\000\004E\000\000\000\000\n\174\011\006\000\000\004E\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\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\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\012\138\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\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\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\011\178\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\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\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\005\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\005i\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\003)\n\222\000j\003)\000r\000\000\000\130\003)\000\000\003)\000\000\000\000\000\000\000\138\003)\003)\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\005\000\000\011\142\003)\011\170\000\000\000\000\000\000\000\000\003%\000\000\000\182\003%\000\190\n\246\000\206\003%\000\000\003%\003)\n\250\000\000\000\214\003%\003%\000\000\001\189\000\000\000\000\n\254\000\000\003)\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\222\003%\000\000\000\000\003)\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\003%\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\003)\000\000\000\000\003)\003)\003%\000\000\003)\000\000\000\000\000\000\000\000\003)\003)\000\000\003%\000\000\003)\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\000\000\000\000\n\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\000\000\003%\001\178\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\n\174\011\006\003%\003%\011n\011\134\000\000\003%\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\005\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\213\000\000\005\213\ne\ne\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\000\000\000\000\001\161\014\014\005\213\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\005\213\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\000\000\000\000\000\000\ne\000\000\005\213\000\000\000\000\005\213\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\000\000\000\005\213\005\213\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\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\005\213\000\000\000\000\000\000\005\213\005\213\ne\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\014\206\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\001j\011\154\001\234\001\238\001\242\000\000\001\246\001\250\001b\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\254\000\000\000\000\000\000\n\134\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\002\000\n\000\000\000\000\000\000\000\000\000\000\023:\000\000\021\006\002\014\021\n\n\185\n\185\000\000\000\000\000\000\000\n\021\014\000\000\002\018\008\129\000\000\021\018\000\000\000\000\021\026\000\000\001\137\000\000\021\030\001\137\002\022\000\000\000\000\000\000\021\"\000\000\002\026\000\000\000\000\008\129\000\000\008\129\000\000\005\253\n\138\002\030\000\000\001\137\n\185\000\000\021&\002\"\000\000\005\253\000\000\001\137\000\000\000\000\005\253\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\n\185\000\000\021*\000\000\001\137\021.\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\001\137\000\000\001\137\000\000\000\000\021J\000\000\000\000\021N\013\249\000\000\000\000\013\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\n\185\013\249\000\000\000\000\000\000\013\249\000\000\000\000\005\170\001\137\002N\000\000\001\137\001\137\000\000\013\249\001\137\000\000\000\000\013\249\000\000\013\249\013\249\000\000\000\000\005\178\000\000\000\000\005\190\001\137\000\000\013\249\001\137\001\137\013\249\001\137\013\249\000\000\000\000\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\000\000\t~\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\249\t\190\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\249\005\213\005\213\005\213\000\000\000\000\000\000\005\202\000\000\000\000\005\213\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\000\000\000\000\005\213\013\249\013\249\005\213\013\249\000\000\005\206\005\213\013\249\000\000\000\000\000\000\000\000\005\213\005\213\n>\005\214\000\000\000\000\005\213\000Z\000\000\000\000\000\000\005\213\000\000\013\249\000\000\000\000\005\213\000Z\000\000\013\249\000\000\005\213\000\000\013\249\013\249\013\249\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\005\213\005\213\005\213\005\213\005\213\005\213\005\213\005\213\014B\000\000\000\000\014\146\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\014J\000\000\005\213\000\000\002\025\000\000\005\213\005\213\002\025\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\000\000\001%\002\025\000\000\001%\000\000\014r\000\000\000\000\014Z\000\000\014j\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014J\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\014z\000\000\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\002\025\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\014z\001\013\001%\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\025\000\000\002\025\000\000\000\000\000\000\000\000\001\013\000\000\002\025\002\025\001\013\014\178\014\138\002\025\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001\013\001\013\001%\001\013\001\013\000\000\014b\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\014Z\000\000\014j\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%\014\138\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\014Z\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\014b\001\005\001\t\001\005\000\000\001\t\000\000\000\000\000\000\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\014b\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\014Z\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\014J\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\014R\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\014Z\000\000\014j\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\014b\014z\001\017\001\025\000\000\001\017\000\000\000\000\000\000\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\014J\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\014R\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\014b\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\014Z\000\000\014j\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\014J\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\014R\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\014Z\000\000\014j\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\014b\014z\001\029\001\021\000\000\001\029\000\000\000\000\000\000\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\014J\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\014R\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\014b\000\000\014B\001\029\000\000\001-\000\000\014r\000\000\000\000\014Z\000\000\014j\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\014J\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\014z\000\000\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\014z\014B\001-\000\000\001!\000\000\000\000\000\000\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\014J\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001!\001!\001-\001!\001!\000\000\014b\000\000\014B\001!\000\000\001)\000\000\014r\000\000\000\000\014Z\000\000\014j\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\014J\000\000\001-\001-\001)\014\178\014\138\001-\001)\000\000\014z\000\000\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\014z\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!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\014\130\001\170\000\000\001)\001\174\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\001)\000\000\001)\000\000\000\000\001\198\001\202\000\000\001\210\001)\001)\000\000\001)\014\138\001)\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018f\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\020\254\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\000\000\021\002\001\234\001\238\001\242\002\022\001\246\001\250\000\000\001\254\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\002\002\002\"\021\026\000\000\000\000\002\006\021\030\000\000\000\n\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\023z\000\000\000\000\n\141\002\018\021&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\n\141\000\000\021*\002\030\000\000\021.\000\000\000\000\000\000\002\"\000\000\001\166\000\000\001\170\000\000\000\000\001\174\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\000\000\001\178\000\000\000\000\001\182\021J\000\000\000\000\021N\000\000\001\198\0076\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021R\000\000\000\000\000\000\021V\021Z\n\141\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\006\030\000\000\001\234\001\238\001\242\002\022\001\246\001\250\004=\001\254\004=\002\026\000\000\004=\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\002\002\002\"\000\000\004=\000\000\002\006\004=\000\000\000\n\000\000\000\000\000\000\004=\004=\000\000\004=\000\000\002\014\000\000\000\000\000\000\000\000\004=\020\254\004=\000\000\000\000\002\018\000\000\000\000\000\000\000\000\004=\004=\000\000\021\002\004=\004=\004=\002\022\004=\004=\000\000\004=\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\004=\002\"\021\026\000\000\000\000\004=\021\030\000\000\004=\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\022v\000\000\000\000\005\213\000\000\021&\005\213\000v\000\000\000\000\005\213\000\000\005\213\000\000\000\000\000\000\004=\005\213\005\213\000\000\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\n\141\005\213\021*\004=\005\213\021.\000\000\000\000\005\213\004=\005\213\000\000\000\000\000\000\000\000\005\213\005\213\0212\000\000\000\000\005\213\000\000\0216\000\n\021:\000\000\021>\021B\000\000\021F\000\000\000\000\000\000\005\213\000\000\021J\005\213\000\194\021N\000\000\005\213\000\000\005\213\005\213\001\002\000Z\005\213\005\213\005\213\005\213\000\000\000\000\000\000\021R\005\213\005\213\005\213\021V\021Z\n\141\005\213\005\213\005\213\000\000\000\000\000\000\001f\000\000\000\000\000\000\005\213\000Z\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\005\213\005\213\005\213\000\000\000\000\005\213\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\005\213\000\000\004\030\000\000\000\000\005\213\000\000\000Z\000\000\004\242\005\213\000\000\000\000\000\000\000Z\000\000\000\000\005\213\005\213\000\000\005\213\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\005\213\000\000\000\000\005\213\000\000\005\213\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\001\166\000\000\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\005\213\000\000\001\178\005\213\000\000\001\182\005\213\005\213\005\213\005\213\005\213\001\194\001\214\005\213\001\210\005\213\005\213\000\000\000\000\000\000\005\213\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\001\166\005z\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\001\178\000\000\005\130\001\182\000\000\000\n\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\213\005\138\000\000\005\213\003F\000\000\001\218\005\213\001\222\005\213\000\000\000\000\000\000\000\000\005\213\005\213\005j\001\230\000\000\000\000\005n\001\238\001\242\005\142\005r\005v\000\000\005z\000\000\005\146\000\000\000\000\005\213\000\000\000\000\005\213\003\138\000\000\005\150\005\213\000\000\005\213\000\000\005~\002\"\005\213\005\213\005\213\005\130\005\213\000\000\000\n\005\213\003\202\000\000\000\000\005\213\000\000\005\213\000\000\005\138\005\213\000\000\005\213\005\213\007f\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\213\000\000\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\142\000\000\000\000\005\213\005\213\000\000\005\146\000\000\005\213\000\000\000\000\005\213\005\213\005\213\000\000\005\150\000\000\000\000\000\000\000\000\000Z\002\"\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\005\213\000\000\005\213\005\213\000Z\005\213\000\000\005\213\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\005\213\000\000\000\000\000\000\005\213\005\213\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\005\213\005\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\001\186\000\000\005\213\001\190\000\000\005\213\005\213\000\000\000\000\005\213\000\000\000\000\000\000\000\000\005\213\005\213\000\000\000\000\001\178\005\213\000\000\001\182\005\213\005\213\000\000\000\000\005\213\001\194\005\134\000\000\001\210\005\213\005\213\000\000\000\000\000\000\005\213\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\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\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\005\138\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025*\001\022\nZ\001\030\0012\001:\001>\n^\025.\000\000\000\000\000\000\000\000\005\142\000\000\000\000\001\166\000\000\n\166\005\146\001F\n\170\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\000\000\000\000\000\000\001N\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001\218\000\000\001\222\000\000\001j\000\000\000\000\000\000\000\000\000\000\n\206\001\230\001b\000\000\n\210\001\238\001\242\000\000\n\214\n\218\001\166\n\222\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\n\238\000\000\000\000\000\n\n\242\000\000\000\000\000\000\004\141\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\001n\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\n\166\n\250\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\n\246\013\134\013\138\001\166\013\142\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013j\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\001\166\013\142\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013\154\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\000\000\013\142\000\000\013\166\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\000\000\008y\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\008y\000\000\008y\000\000\013\158\000\000\000\000\000\000\000\000\008y\000\000\000\000\000\000\000\000\008y\000\000\023v\008y\000\000\000\000\000\000\008y\021\210\000\000\000\000\000\000\013\162\008y\021\002\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\013\170\000\000\008y\000\000\000\000\021\014\002\"\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008y\000\000\000\000\008y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021&\023\150\000\000\008y\000\000\000\000\000\000\000\000\008y\008y\008y\000\000\008y\008y\000\000\008y\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\008y\021*\000\000\000\000\021.\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008y\0212\000\000\007\237\008y\008y\0216\000\n\021:\000\000\021>\021B\007\237\021F\007\237\000\000\000\000\000\000\000\000\021J\000\000\007\237\021N\000\000\000\000\000\000\007\237\000\000\020\254\007\237\000\000\000\000\000\000\007\237\000\000\000\000\000\000\021R\000\000\007\237\021\002\021V\021Z\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\007\237\023\150\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\000\000\000\000\024\170\000\000\000\000\000\000\000\000\021&\000\000\000\000\007\237\000\000\000\000\000\000\000\000\007\237\007\237\007\237\000\000\007\237\007\237\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\007\237\021*\000\000\000\000\021.\000\000\022Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\237\0212\000\000\021\002\007\237\007\237\0216\000\n\021:\000\000\021>\021B\021\006\021F\021\n\000\000\000\000\000\000\000\000\021J\000\000\021\014\021N\000\000\000\000\000\000\021\018\000\000\022r\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\000\021R\000\000\021\"\021\002\021V\021Z\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\161\000\000\000\000\021&\000\000\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\000\000\000\021\030\000\000\000\000\011\234\000\000\000\000\021\"\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\021&\000\161\000\161\0212\000\000\000\000\000\000\000\000\0216\000\n\021:\000\161\021>\021B\011\250\021F\012\n\000\000\000\000\000\000\000\000\021J\000\000\000\000\021N\021*\000\000\000\000\021.\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\021R\0212\000\000\021\002\021V\021Z\0216\000\n\021:\000\000\021>\021B\021\006\021F\021\n\000\000\000\000\000\000\000\000\021J\000\000\021\014\021N\000\000\000\000\000\000\021\018\000\000\020\254\021\026\000\000\000\000\000\000\021\030\000\000\000\000\000\161\021R\000\000\021\"\021\002\021V\021Z\012\002\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\023\022\000\161\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\026\000\000\000\165\000\000\021\030\000\161\000\161\000\000\000\000\000\000\021\"\000\000\000\000\000\000\021*\000\000\000\000\021.\000\000\020\254\000\000\000\000\000\000\011\234\000\000\000\000\024B\000\000\000\000\0212\000\000\021\002\000\000\000\000\0216\000\n\021:\011\242\021>\021B\021\006\021F\021\n\000\165\000\165\000\000\000\000\021J\000\000\021\014\021N\021*\000\000\000\165\021.\000\000\011\250\021\026\012\n\000\000\000\000\021\030\000\000\000\000\000\000\021R\0212\021\"\000\000\021V\021Z\0216\000\n\021:\000\000\021>\021B\000\000\021F\012\026\000\000\000\000\000\000\021&\021J\000\000\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\021*\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\0212\012\002\000\000\000\000\000\000\0216\024b\021:\000\000\021>\021B\000\000\021F\000\000\000\165\000\000\000\000\000\000\021J\000\000\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\021V\021Z\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\000\000\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\004M\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004M\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\004M\000\254\001F\001\014\000\000\001\022\004M\001\030\0012\001:\001>\000\000\000\000\000\000\004M\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\004M\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\001N\000\000\000\000\000\000\000\000\000\000\000\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\001^\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\004R\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012Q\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\0021\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\004Z\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\003U\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\025\230\004V\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\001b\000\000\000\000\000\000\004R\004V\000R\000V\000f\000\170\000\000\000\174\006R\000\178\000\246\006\162\000\254\000\000\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\002\017\025\234\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\001N\006\178\006\186\000\000\000\000\000\000\000\237\003M\004b\000\237\002)\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\213\000\237\000\000\000\213\001b\000\000\000\000\006\138\025\230\004V\000\000\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\002\017\000\000\000\213\000\000\000\000\000\000\000\213\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\173\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006\146\000\000\000\000\002\017\000\000\000\000\000\213\006r\006\138\006j\011\234\006z\000\000\000\205\000\000\000\000\000\205\000\000\000\000\025\242\000\237\000\000\000\000\000\000\011\242\002\017\000\000\000\000\000\000\000\000\000\173\000\173\000\213\000\000\000\205\006\194\006\154\002\017\000\205\000\000\012\018\000\000\000\000\011\250\000\213\012\n\006\146\000\000\000\205\000\237\000\000\000\000\000\205\006r\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\012\026\006j\000\000\000\205\000\213\000\237\000\000\000\213\000\000\000\000\000\000\006r\000\000\000\000\000\209\000\237\006\154\000\237\000\209\000\000\000\000\000\000\000\000\000\000\000\205\011\226\000\000\000\000\000\209\000\213\000\000\000\000\000\209\000\000\000\209\000\209\000\205\000\000\012\"\000\213\000\213\000\213\000\000\000\000\000\209\012\002\011\234\006j\000\000\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\173\000\000\011\242\000\000\000\205\000\000\000\000\000\205\000\189\012:\000\000\006r\000\209\006Z\000\000\000\173\000\173\000\225\012\018\000\000\000\000\011\250\000\000\012\n\000\209\000\000\000\000\006b\000\000\000\205\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\205\000\205\000\000\000\225\012\026\000\000\006j\000\000\006z\000\217\000\209\000\000\000\217\000\209\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\000\000\006\138\006Z\000\000\000\000\000\000\000\217\000\209\000\000\000\000\000\000\000\000\000\000\000\225\012\"\000\000\006b\000\209\000\209\000\209\000\217\012\002\000\217\000\217\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\217\000\000\000\189\006j\000\000\006z\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006r\000\000\006Z\012B\012*\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\011\226\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\000\000\221\000\221\000\217\000\000\000\000\000\000\000\225\000\225\000\225\000\000\000\221\000\000\011\234\006j\000\000\006z\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\217\000\000\000\000\000\217\000\177\000\177\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\229\012\018\000\000\000\000\011\250\000\000\012\n\000\221\000\000\000\000\006b\000\000\000\217\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\006\130\012\026\000\000\006j\000\000\006z\006R\000\221\000\000\000\245\000\221\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\000\000\006\138\006Z\000\000\000\000\000\000\000\245\000\221\000\000\000\000\000\000\000\000\000\000\000\229\012\"\000\000\006b\000\221\000\221\000\221\000\245\012\002\000\245\006\186\000\000\000\000\000\000\006R\000\000\000\000\000\233\000\000\006\130\000\000\000\177\006j\000\000\006z\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\000\000\006Z\000\177\012*\000\000\000\233\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\000\000\006b\000\000\000\229\000\000\000\233\000\000\000\233\000\233\000\245\000\000\000\000\000\000\000\229\000\229\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\006R\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\013\221\006b\000\000\000\245\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\006\194\006\154\000\245\000\000\006\130\000\000\000\000\006j\013\221\006z\000\000\006\146\000\000\000\000\000\233\011\030\000\000\000\000\006r\000\000\000\000\000\000\013\221\000\000\000\000\000\000\000\000\000\000\013\221\013\221\006\138\011\226\011&\000\000\000\000\0112\000\233\000\000\013\221\000\000\000\000\013\221\000\241\013\221\000\000\000\000\000\233\006\154\000\233\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\011\242\000\000\006\146\000\000\000\000\000\241\000\185\012:\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\012\018\011>\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\241\006\154\000\241\000\000\011B\012\026\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\221\000\000\000\000\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\221\013\221\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\000\000\012\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\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\012*"))
+    ((16, "\003\160\000\243\000\000\000\000\024\030\000\243\000\000\000\000\002L\000\000\000\000\000\000\001#\000\000\000\000\000\000\003\160\000\000\000{<\146\000\000\021\006\021\172\000\000\000\000?\000\021\006\000\000\021\006\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\221\000\171\021\006\000\000\021\006\000\000\000\000\000\000\021\006\000\000\021\006\000\000?\138\021\006\000\000P:\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\177\000h\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000P\162\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000m\002\180\000/\000\000\000\000\000\000\000X\000\000\000\000\001Z\000/\000\000\001Z\000\000\000\000\002\180\000b\001,\000/\001&\000\000\001\226\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\246\002\180\000\000\004H\000R\002\180\000\000\004J\004d\000\000\000\000\000\000\000\182\021\006\000\000@\244\002\180\001\000\021\006\000\000\000\000\021\006\000\000\000\000\021\006\000\000\021\006\000\000\001Z\001\158\021\006\000\000<\146A*R\140\000\000\000\000\000\000\000\000Q\190\0020<\146\000R\000\000R\140\000\000\000\000\001\194\021\006\000\000R\140\000\000\000/\000\148B\024\000\000\000\000R\130SB\000\000Y\134\000\000S\236B\024\028\142\028\142Y\134B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150B\024\000\000\000\000T\150T\150T\150\000\000T\150\000\000B\024T\150\000\000\000\000\"\030\000/\000\000\023(\028\142B\024\000\000#hB\024)\218B\024)\242B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\142B\024\000\0003\150B\024+\014B\024+rB\024\000\000B\024\000\000B\024,zB\024,\222B\024-\230B\024.JB\024/RB\024/\182B\024\002(B\024\000\000\000\000\000\000\000\000\000\000B\0243\250B\0245\002B\0245fB\0246nB\0240\190B\0241\"B\0242*B\0246\210B\0247\218B\024\000\000B\0248>B\0249FB\0249\170B\024\000\000B\024:\178B\024;\022B\024\000\000\000\000B\024\000\000\002\028\000\000\000\000\000/\000\000\000\000\000\000\0028\000\000\002N\000\000\002\194B\024\000\000\002\194\000\000\000\000\003\002<\146\000\000\023X\021\006\000\000\000*\021\006\000\000P\190\021\006\000\000\000\000\021\006\000\000\021\006\000\000\002\204\003\n\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000\003r\021\006\000\000U`\021\006\000\000\000\000\021\006\000\000\021\006\000\000\003z\003\238\021\006\000\000\021\006\000\000\021\006\000\000\021\006\000\000U\138\021\006\000\000\000\000\021\006\000\000\021\006\000\000\000\015\002\180\003\206\021\006\000\000C\250\002\180\003\242\021\006\000\000\000\000\021\006\000\000\021\006\000\000\021\006\000\000\004&\004V\021\006\000\000P:R\140\004>\021\006\000\000Z\152V\138\000\000\000/\005,\000/\004\230\005\226Z\246Z\246\000\000\000\000\000\000\000\015_(Z\246\000\158[\180\000\000\000\000\000\000\002\234\006\020\001\004\006|Z\246\000\000\000\000\005\178\000\000\005\204\006\170Z\246\005\238\000\000\000\148\000\000\000\148\000\000\000\000\004f\\r\000\000\000\000\000\000\005\240\006\240\000\000\007(\000\000\023X\001\206R\140\0068\021\006\000\000P\162R\140\006:\021\006\000\000\000\000\000\000\000/\007x\000\000\000\000\000\000\003\002\000\000\000\000\028\142\006\146\000\000\006\152Y\134\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000Y\134\000\000\000\000V\218\000/\000\000\023(\023(\000\000\004|\027x\023(\029DB\024\000\000B\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025JB\024\026\186B\024\006\216B\024\000\000B\024\030`B\024%<B\024L|B\024d\190B\024e\030B\024e\164B\024\000\000B\024f\016B\024fhB\024f\180B\024\000\000B\024f\244B\024g\186\004\250\024\152\000\000\000\000\005\b\026\b\000\000\000\000\000\000\000\000\006\192\000\000B\024\006\208\000\000\000\000\000/\000\000\000\000\000\000\000\000\006\214\000\000\000\000\000\000\000\000\000\000\000\000\006\216\000\000\000\000\000\000\006\228\000\000\001|Wf\007\168B\024\007h\000\000\000\000Y\134\001|\000\000\006\242\000\000\006\244B\024\000\000\028\142\006\246\000\000\000\000\007\212\000\000\028\142\007\002\000\000\000\000\028\142\007\020\000\000\000\000\007\020\000\000\000\000\b\b\000\000P\190R\140\007\024\021\006\000\000\000\000\007\160\000\000\007&\021\006\000\000\000\000\000\232<\146\000\000<\146\000\000\007\020\000\000\000\232\000\000\019J(\210\021\134\000\000\007\184\021\134\000\000\021\134\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007Z\007\138\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\bv\021\134\000\000\021\150\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007`\007\144\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000@\216\021\134\000\000\000\000\021\134\000\000\021\134\000\000\000J\002\180\007:\021\134\000\000\021\166\002\180\007D\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007|\007\170\021\134\000\000Pr\000\000\007\\\000\000\004jPr\000\000\000\000\004j\000\000\000\000\021\172R\140\007X\021\134\000\000\000\000\000\000\001n\000\000\000\000\000C\001n\000\000\000\000\000\000\bL\000\000\001\220R\140\007\\\021\134\000\000@\216R\140\007d\021\134\000\000\000\000(\006\021\134\000\000\b\178\021\134\000\000C\006\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\150\007\200\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000\tJ\021\134\000\000C8\021\134\000\000\000\000\021\134\000\000\021\134\000\000\007\160\007\246\021\134\000\000\021\134\000\000\021\134\000\000\021\134\000\000CT\021\134\000\000\000\000\021\134\000\000\021\134\000\000\002\030\002\180\007\178\021\134\000\000C8\002\180\007\180\021\134\000\000\000\000\021\134\000\000\021\134\000\000\021\134\000\000\007\230\b\022\021\134\000\000CTR\140\007\190\021\134\000\000\000\000\003XR\140\007\196\021\134\000\000CXR\140\007\198\021\134\000\000\000\000\000\000\000\000\000\000\000\000\b\156B\024\007\216\031\208\b\\\000\000\b\174B\024\007\228\b\172<\146\000\000\000\000\000\000<\146\000/\000\000\002\020B\024<x\000\000X\016\028\142\007\234\000\000\000\000B\024\007\240\000\000\028\142\007\242\000\000\007\250_\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000_\212\000\000\000\000\023\218\000/\000\000\023(\007\252\000\000B\024\007\252\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000\000\000B\024\004\236B\024\b\006\000\000\000\000<x<x'V\002\004\b\208B\024\000\000\b\144\000\000\000\000\000/\000\000$\130\000\000\b><x\bL<x\000\000\0018\000\000\000\000\025\028B\024\026\140B\024gXB\024h,B\024h\202B\024h\210B\024i\030B\024iTB\024\000\000B\024i\196B\024i\242B\024i\250B\024\000\000B\024jFB\024j\134\000\000\005\n=`\000\000\005\020@\020<x\000\000\0056>\022\000\000\000\000\000\000\b \000\000\000\000\b\"\000\000\t\026\000\000\000/\000\000\002\020\t \000\000\000`\b\246\000/\b@\t\020Z\246\bP\001\190\000\000B\024\t>\000\000\000\000\000\000\t.Z\246\bd\tR\000\000\004Z\002*B\024\tX\000\000\t^\000\000\023X\000/\003^B\024\t`\000\000\tb\000\000\000/\003xB\024\td\000\000\tf\000\000\000\150\b\166\b\230\000\000X\186\028\142\b~\000\000\000\000B\024\000\000\tp\000\000\002\246\tFB\024\t\014\000\000\tTB\024\t\022\000\000\000\200\000\000\b\230\b\230\028\142\b\158\000\000\b\160`T`T\000\000\000\000\000\000\000\000\000\000\000\000T\150\000\000\000\000T\150\000\000\000\000T\150\000\000`T\000\000\000\000(\210\000/\000\000\023(\b\166\000\000B\024\b\164\000\000\000\000\000/\000\000\000\000\000\000\000\000\000\000A\208B\024\000\000B\024\000\000\b\172\000\000\002\194\000\000\000\000\000\000\000\000\000\000DXB\024D\188B\024\b\214B\024\000\000B\024E\196B\024F(B\024G0B\024G\148B\024H\156B\024I\000B\024\000\000B\024J\bB\024JlB\024KtB\024\000\000B\024K\216B\024L\224\000\000\002\246\000\000\002\246\000\000\019J\b\230\b\230\000\000\000\000\000\000\000\003\000\000\000\000\000\000\tzB\024\b\176\031\208 \174\000/\t\158\000\000\t\128M(\t\164M(\t\170B\024\b\194\031\208\031\208\002\142\002\142\005x\001\206\002\142\000\000\000\000\005~\t\248\000\000\005\132\0114\000\000\000\000\000\000\000\000\000\000\b\198\000\000\000\000\t\188\000\000\t\190\000\000\000\000\t\252\t\166B\024\b\220\t\202\000\000\t\016\000\000\t\180\023(\b\234\031\208\000\000\000\000\000\182\000\000\007j\000\000\000\000\002\246\000\000\tn\000\000\014\214\005\166\000\000\014\214\000\000\000\000$\130\000\000\0076\000\000\000\000\011\222\000\000\014\214\000\000\t\192\023(\b\250\t\232\000\000\r,\000\000\t\216\000/\t\"\t\254Z\246\t4\001\192\000\000B\024\n$\000\000\n\006Z\246\t>\n,\000\000\003\180B\024\n.\000\000\n4\000\000\023X\000/\004:B\024\n8\000\000\n@\000\000\000\000\000\000\011\222\000\000\000\000\0076\000\000\b\230\000\000\r\180\000\000\000\000\004\208 \174\000\000\004\208\000\000\000\000\t\\\000\000\002\200\001z\031\208\000\000\005\238\000M\005\238\000\000\000\182\000\000\b\230\000\000\b\230\000\000\000\000\000\000\tZ\000\000\000\000\tf\000\000\005\132\007j\000M\005\238\000\000\000\000\000\000\000\182\000\000\b\230\000\000\005\132\000\000\000\000\r,\000\182\019J\000\000\000\182\000\000\nb\019J\000\000\000\000\nb\000\000\000\000\td\000\000\000\000\tv\000\000\005\204\b\230\000\000\005\204\000\000\000\000\t\244\000\000\0076\000\000\b\230\000\000\000\000\000\000\020\186M\244\000\000\nd\000\000\020\186\000\000\nf\000\000\nh\000\000<\146\000/\004P\000\000B\024\nj\000\000\001\198\n:\000/\t\132\nRZ\246\t\140\004\244\000\000B\024\nz\000\000\0054\000\000B\024\n|\000\000\023X\000/\006\"\000\000B\024\n~\000\000\005\208\020\186\000\000$\130\006V\000\000B\024\n\132\000\000\000\000\000\000\002\204\000\000\nn\023(\t\166\n\150\000\000\014\168\000\000\nh\000/\t\176\n\132Z\246\t\186\006x\000\000B\024\n\168\000\000\006\170\000\000B\024\n\176\000\000\023X\000/\006\176\000\000B\024\n\186\000\000\005\208\000\000\000\000\t\210\000\000\002\204\014\168\n\\\000\000\000\000\000\000\n^\000\000\000\202\000\200\000\000\019J\n\186\000\000\000\000B\024\n\014\b\230\000\000\t\226\000\000\000\150\000\000<\146\000\000\000\000\003,\019J\000\000\019J\000\000\t\208\000\000\003,\000\000B\024\003\224B\024\000\000B\024\000\000\t\210\000\000\003\224\000\000B\024\003\224\t\212\000\000\031\208\003\234\031\208\000\000\031\208\000\000\t\214\000\000\003\234\000\000B\024\003\224\t\216\000\000<\146\004H<\146\000\000<\146\000\000\t\218\000\000\004H\000\000B\024\003\224\t\220\000\000\000\000\029\254\000\000\000\000\nXN\186\000\000\000\000\000\000\000\000\000\000\n4\005\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\005dN\186\000\000\000\017\001\236\000\000\n8\000\243\000\000\000\000\000\000\000\000\002\220\001\236\000\000\000\000\000\000\000\000\n\154\000\000\000\000\000\000\000\000\"\030%\254\000\000a\014\000\000N\186\000\000\006\nN\186\000\000\000\150\006\158\006\158\000\000\005\182\006\158\000\000\n\018\000\000\000\000\000\000\000\000\n\158\000\000'V\000\000(\210N\186\000\000\003dN\186\000\000\n\168\000\000N\186\n\176\000\000b~O\024\n\178\000\000\n\180\000\000b\222\\^N\186\000\000\000\000\n.N\186\n\184\000\000\n\188\000\000\n\190\000\000<\146\000\000\006N<\146\000\000\n8\021\134\000\000N\186\n\204\000\000\000\217N\186\000\000\006jN\186\000\000\006\004\011R\000\000\011T\000\000N\186N\186\nL\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000c6N\186\n\220\000\000\n\222\000\000N\186\n\226\000\000N\186\n\136\000\243\000\000\000\000\007\000N\186\000\000\006\004\000\000\n\230\000\000N\186\n\234\000\000c\150\\\176N\186\ndN\186\n\240\000\000\n\244\000\000\n\250\000\000X\234\021\134\000\000\021\134\000\000O\024N\186\ntN\186\011\"\000\000\0114\000\000\021\134\000\000af\000\000\000\000\007\002N\186\000\000\004`\006\188\006\158\n\174\000\000\000\000\004\144\001\206\000\000\000\000\000\000\006\142\001\206\000\000\n\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\186\000\000\007\006N\186\000\000\003\142\000\000\000\243\n\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011@\000\000\011F\000\000N\186\011H\000\000dNN\186\011L\000\000\011P\000\000N\186\011R\000\000\031\\\n\248d\174@\216a\198\n\214\000\000N\186\011`\000\000\011f\000\000\0116\031\\N\186\011j\000\000N\186\011n\000\000\011r\000\000N\186\011v\000\000\000\243\n\226\000\000\000\000\029\254\000\000\000\000\004\024\011\218\000\000\000\000\000\241\000\000\000\000\000\000B\024\000\000\000\000\000\000\004r\000\000\001*\000\000\000\000\000\000\005\238PrPrPr\000\000\003B\003B\003B\003B\000\000\000\000\000\000\000\000\000\000\000\000\002\246\019J\011\208\016R\004f\000\000\000\000\004f\000\000\011\222\000\000<x\n\244\000\000\002\246\019J\n\250\017\206\000\000\002\246\016R\000\000\000\000\000\000Pr\003B\000\000\000\000\000\000\011J\000`\011\206^\n^\n\000\000\006\150_\230^\n\006\178^:\000\000\000\000\b\196\011\192\000/\000\000\006\204^\248\000\000\000\000\000\000\000\000\000\000\011\012\011\210\b\230\011\014\000\000\000\000\004f\000\000\011\222\000\000=\142\003\208\000\000\000\000\011\194\000\000\000\000\004\024\000\000\002\158\000\000\000\000\000\000B\024\000\000\004r\000\000\004$\000\000\000\000\000\000\007j\000\000\rZ\0056\rZ\000\000\b\230\rZ\000\000\0056\000\000\b\230\000\000\b\230\000\000\b\230\000\000#\150\000\000\000\000\000\000\000\000\000\000\b\230\000\000\0056\000\000\b\230\000\000hP\000\000\000\000\nb\011F\000\243\004\020\011\238\004\190\000\000\004\190\012\022\000\000\012\024\000\000\012\028\000\000\000\000\004p\004\190\b\014\004\190\000\000\000\000\t\138\004\020\011\024\000\000\011\026\000\000\011`\000\243\004\020\011&\000\000\000\152\0126\000\000\006\136\005\012\012N\n\248\012N\000\000\000\000\006\146\000\243\000\000\000\231\000\000\000\000\002\018\000\000\0118\000\000\000\000\000\000\011v\000\243\004\020\011H\000\000\000\000\000\152\006\136\005\012\006\146\000\231\002\018\011J\000\000\006\136\005\012\006\146\000\231\002\018\011L\000\000\007T\000`\011l\000\243\011f\007\168\006N\011\144\000\243\000\000\011\146\000\243\000\000\011\240\000\000\011v\000\164\011p\007\168\011\246\000\000\011t\007\168\011\250\000\000\000\000\007\168\000\000\012\000\000\000"), (16, "\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\000\n\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\r\197\001:\r\169\031f\n5\r\197\016N\025\206\004\242\005=\031j\004\250\r\197\005\n\r\197\017\218\0007\000;\r\197\r\197\005\018\r\197\001\150\000\150\r\197\005\185\000\154\001>\006.\r\197\r\197\r\197\000N\t\214\0236\023^\023n\023\150\023\166\023\206\r\197\028o\028s\r\197\r\197\000\242\028w\005=\005\186\r\197\r\197\005\026\r\197\001B\r\197\027v\002f\000\n\001z\r\197\031\226\r\197\r\197\001F\r\197\r\197\r\197\001\146\001\150\001\150\r\197\r\197\r\197\001\154\r\197\r\197\r\197\001\158\001\162\012\169\r\197\r\197\r\197\r\197\r\197\r\197\005*\005Y\000\n\r\197\r\197\001>\n\178\019\006 \030\001\166\002j\001\206\001>\015z\r\197\r\197\r\197\000\n\000\n\r\197\r\197\r\197\r\197\006\181\r\197\000\n\r\197\001\150\005\185\r\197\011Z\001B\r\197\r\197\015\166\024r\b\197\016v\001B\015\170\018\246\001F\002\146\r\197\r\197\b5\024\234\r\197\001F\016N\b\197\r\197\r\197\r\197\r\197\012\169\006V\r\197\017\218\r\197\t\157\t\182\000\n\r\197\r\197\r\197\000\n\r\197\005\185\r\197\r\197\016z\r\197\000\n\r\197\r\197\007}\000\246\r\197\r\197\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\001>\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\r\209\rA\b\197\000\n\005Y\r\209\001R\tM\004\201\0312\005Y\005Y\r\209\006\181\r\209\004\201\001B\001~\r\209\r\209\014.\r\209\005Y\005Y\r\209\016\030\001F\t\190\021:\r\209\r\209\r\209\019\006\006\181\007}\021>\022\230\006\181\006b\021B\r\209\006\189\t\141\r\209\r\209\007E\001^\001\134\005Y\r\209\r\209\000\n\r\209\005\185\r\209\b\197\002f\001\238\011N\r\209\022\206\r\209\r\209\002f\r\209\r\209\r\209\b\197\015\150\019\138\r\209\r\209\r\209\022\186\r\209\r\209\r\209\014V\024v\011R\r\209\r\209\r\209\r\209\r\209\r\209\024z\001>\021\142\r\209\r\209\001>\006\221\006~\002\002\006\205\006\238\018f\001>\014n\r\209\r\209\r\209\011v\000\n\r\209\r\209\r\209\r\209\015\166\r\209\rQ\r\209\001B\015\170\r\209\002.\001B\r\209\r\209\028\151\028\155\rQ\001F\001B\028\159\000&\001F\0022\020>\r\209\b\254\024\134\r\209\001F\007\r\012v\r\209\r\209\r\209\r\209\005\021\024\138\r\209\027\"\r\209\000*\002^\000\n\r\209\r\209\r\209\000\n\r\209\007E\r\209\r\209\001\150\r\209\000\n\r\209\r\209\015\154\019\142\r\209\r\209\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\001\142\007M\007M\007M\007M\007M\007M\007M\007M\007M\007M\002z\000\n\018Z\t1\007M\016R\016b\016r\031r\005\021\018\246\007M\022\026\007M\rb\001>\005\021\007M\007M\r\n\007M\001r\001B\007M\r\014\015\202\004\209\003\230\007M\028\186\007M\r\018\001F\004\209\015b\004\194\r\022\028\190\004\194\007M\004\194\001B\001>\006v\004\150\015b\006M\005F\007M\007M\005N\001F\005^\007M\007M\004\178\023\022\000\n\007M\005f\007M\007M\002f\007M\007M\007M\004\186\004\218\001B\007M\007M\007M\r\177\007M\007M\007M\000\n\018^\001F\007M\007M\007M\007M\007M\007M\rQ\001>\015z\007M\007M\005n\025\230\025\238\000\006\000\"\027\006\001v\001>\rQ\004\241\007M\007M\012\226\000\n\007M\007M\007M\007M\015\166\007M\005\030\007M\001B\015\170\007M\030\003\030\007\007M\007M\005\"\030\011\t=\001F\001B\007\021\005~\023\030\007\021\rQ\007\021\024\150\027r\007M\001F\r\177\029\227\007M\007M\007M\007M\rq\003\229\007M\029\231\007M\003\229\023>\000\n\007M\007M\007M\023v\005\133\029\234\007M\007M\007\005\007M\000\n\007M\007M\nQ\007m\007M\007M\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\015\234\007m\007m\007m\007m\007m\007m\007m\007m\007m\007m\000.\006\245\016\006\007m\007m\rQ\007m\005r\023\174\015b\027\006\007m\0256\007m\028^\007m\021z\007m\007m\rq\007m\006\181\015b\007m\007m\007m\023F\018\246\007m\007m\007m\023~\019\178\nQ\007m\007m\016N\005e\007m\007m\002\146\001>\007m\005v\030\238\017\218\027\026\001r\007m\007m\007m\007m\015b\007m\006\213\006\213\007m\011\022\007m\028^\007m\007m\000\n\007m\007m\007m\030\198\001B\027\030\007m\007m\007m\005\194\007m\007m\007m\nI\001F\023\182\007m\007m\007m\007m\007m\007m\001\190\031B\030\202\030\190\007m\005\214\006\237\t9\005\254\030\206\006\002\006\253\007m\021\170\019\210\007m\007m\000\n\007m\007m\007m\007m\007m\020\026\007m\021~\007m\007m\004\145\007m\006\181\027\"\007m\007m\015b\030#\030'\001v\019\006\000\n\030+\001\202\001\218\006\022\007m\021\190\018\246\007m\tI\002m\006\181\007m\007m\nI\007m\016N\006\194\007m\006\229\007m\002\157\007-\002q\007m\017\218\030\254\0062\007\174\014\141\014\141\007m\t\017\007m\014\141\007m\007m\030\246\030\214\007m\007m\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\246\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\0146\023\250\021\174\007]\r\026\030\222\016N\007=\020\142\007]\007]\r*\023\254\002\"\024\002\017\218\r\153\002\150\r2\006:\016&\007]\024\006\016*\014B\bv\025\230\025\238\002*\t\001\016>\024\018\b\134\015\026\021\194\024\022\002M\019\006\015&\002\166\tU\024\026\028\222\006>\021\014\te\021\238\007]\017\238\016\130\029\n\029\022\014\141\017\242\020J\0156\031\246\024\030\002\202\021\218\002\206\005\149\002}\002>\018\254\017\250\025\246\nu\nu\016\154\002\214\017\254\nu\016\158\014N\002\222 \002\006z\024f\016\162\016\166\rF\rJ\016\170\018\002\021\254\004\145\024\"\018b\018\006\024&\018v\t-\019\006\018\130\t\029\nY\007\029\002]\r\161\r\182\016\174\022V\024*\018\n\018\014\016\178\018\018\024.\000\n\0242\018&\0246\024:\005q\024>\024\n\0182\016\186\024\250\006\130\006\146\024B\014\141\014\141\024F\ra\022j\014\141\029*\022\134\024\n\018R\007%\006\154\0075\018V\018\162\005\149\rN\024J\024\238\016\190\006\158\018\166\024N\024R\r\137\016\198\005\149\005\149\006\166\006\214\021\222\005\149\018\174\027\n\016\202\nY\007u\007u\024\222\006\218\003\026\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\022\002\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\006\226\006\246\007\n\004\145\r\026\025\170\022Z\018\246\007e\004\145\004\145\r*\rI\002\"\007e\007e\016N\002\150\r2\025\218\016&\004\145\030\190\016*\t\234\017\218\031Z\t\242\002*\n\002\016>\022n\r\145\ry\022\138\r\129\n\n\0272\031\222\002\166\007\"\029n\016N\007B\rY\t\129\007J\004\145\017\238\016\130\029\n\017\218\007e\017\242\020\146\029z\031\242\b\002\002\202\tq\002\206\005\165\014\141\002>\018\254\017\250\b\158\n\018\029\154\016\154\002\214\017\254\002\141\016\158\014N\002\222\b\170\b\202\b\230\016\162\016\166\rF\rJ\016\170\018\002\b\246\t\006\t\014\019\002\018\006\t&\004\141\t.\t>\026^\026\250\tJ\027f\000\n\tV\r\182\016\174\n\"\019\006\018\n\018\014\016\178\018\018\tf\000\n\tr\018&\t~\t\142\005q\t\158 G\0182\016\186\n>\t\166\t\203\nF\n\022\nV\n\026\nj\004\141\nn\019\006\n\186\n^\018R\014\141\014\141\n\206\018V\018\162\014\141\rN\n\246\n\250\016\190\011\014\018\166\011:\011n\011~\016\198\011\174\005\165\011\146\011\182\011\218\011\198\018\174\011\222\016\202\012.\007\133\007\133\011\206\nf\003\026\007\133\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\0122\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\012~\012\146\011\214\012\186\r\026\012\190\012\210\nv\004\141\012\234\012\254\r*\r\030\002\"\004\141\004\141\r&\002\150\r2\r.\016&\r6\r>\016*\rB\rz\004\141\r\138\002*\r\150\016>\001>\029\138\r\158\r\254\012\002\014\n\011\230\012\n\002\166\012\026\014>\016N\004\141\014Z\014f\014\130\012\"\016~\016\130\014\138\017\218\004\141\017\242\030\246\015J\015V\001B\002\202\015^\002\206\005\193\015r\002>\017\246\017\250\015~\001F\015\134\016\154\002\214\017\254\015\138\016\158\014N\002\222\015\146\015\162\012*\016\162\016\166\rF\rJ\016\170\018\002\015\178\015\186\015\190\014\149\018\006\015\210\004\149\000\n\015\218\015\242\015\250\016\014\016\022\016\"\0166\r\182\016\174\016J\016V\018\n\018\014\016\178\018\018\016^\000\n\016f\018&\016n\012:\005q\016\138\016\146\0182\016\186\016\242\016\254\0176\017f\018\022\018\030\018.\0186\030\238\018>\019\006\003\229\018F\018R\018N\003\229\018\158\018V\018\162\005\193\rN\018\170\018\178\016\190\018\190\018\166\018\194\018\202\018\206\016\198\005\193\005\193\018\214\018\222\018\230\005\193\018\174\019\018\016\202\019V\n}\n}\019^\019b\003\026\n}\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\019r\001&\019z\001.\r\018\0016\002\014\002\022\002\026\r\022\019~\019\134\018Z\019\150\019\158\r\026\019\166\019\170\019\186\004\149\005Y\019\194\r*\019\218\002\"\004\149\004\149\019\226\002\150\r2\0202\016&\001B\020z\016*\020\134\020\250\004\149\030\178\002*\b\205\016>\001F\021\006\021&\021R\021b\021j\021\134\021\146\002\166\021\154\021\158\016N\b\205\021\166\021\182\021\202\021\230\016~\016\130\022\n\017\218\004\149\017\242\030\246\022\"\000\n\022*\002\202\022.\002\206\022>\022F\002>\017\246\017\250\022J\022R\022b\016\154\002\214\017\254\022v\016\158\014N\002\222\018^\022\146\022\166\016\162\016\166\rF\rJ\016\170\018\002\022\182\022\198\022\222\022\238\018\006\022\250\023+\023S\023k\023\139\023\163\023\195\023\219\t!\b\205\r\182\016\174\031\026\023\242\018\n\018\014\016\178\018\018\024\014\000\n\024~\018&\031.\024\175\025\006\025\027\005Y\0182\016\186\031\134\025C\0312\005Y\005Y\025O\025_\025g\025\130\025\139\019\006\025\147\025\155\018R\025\182\005Y\005Y\018V\018\162\025\199\rN\025\234\025\242\016\190\026\002\018\166\026\031\026/\0267\016\198\026C\026N\026s\b\205\026\127\026\146\018\174\026\155\016\202\026\163\018Z\005Y\026\171\026\206\003\026\b\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\001B\001&\026\215\001.\r\018\0016\002\014\002\022\002\026\r\022\001F\026\223\r9\027\018\027>\r\026\027~\027\159\r9\r9\027\167\027\179\r*\027\195\002\"\027\203\027\215\027\226\002\150\r2\r9\016&\027\242\027\255\016*\000\n\028\007\028\014\028\027\002*\028'\016>\028/\031J\028;\028G\028b\028\234\029\018\029\"\002\166\029V\029^\016N\029\142\018^\r9\029\182\029\186\016~\016\130\029\194\017\218\029\239\017\242\030\182\030\194\030\210\030\218\002\202\030\226\002\206\031\015\031\023\002>\017\246\017\250\002a\031\030\031+\016\154\002\214\017\254\0316\016\158\014N\002\222\031F\031{\031\138\016\162\016\166\rF\rJ\016\170\018\002\031\151\031\187\031\215\014\149\018\006\031\230\031\238\031\250 \006 \019 \026 \" + 2 ;\r\182\016\174 O\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\006\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\149\014\149\000\000\000\000\003\026\014\149\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\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\019j\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\019n\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\030:\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\019j\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\000\000\018\006\000\000\000\000\000\000\001>\019n\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\005q\015\166\000\000\0182\016\186\001B\015\170\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\001F\000\000\000\000\018R\020\014\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\n\018\174\000\000\016\202\000\000\na\na\000\000\000\000\003\026\na\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\0226\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\001>\022:\000\000\002*\000\000\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\218\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\166\017\238\016\130\000\000\001B\015\170\017\242\019\026\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\n\000\000\014q\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\005\000\000\000\000\000\000\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014q\014q\000\000\000\000\003\026\014q\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\016*\000\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\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\189\014\189\000\000\000\000\003\026\014\189\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\016*\000\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\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\028\238\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\014\185\014\185\000\000\000\000\003\026\014\185\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\016*\000\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\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\238\016\130\000\000\000\000\000\000\017\242\020\198\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\018\254\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\rF\rJ\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\rN\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\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\000\000\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\002\150\000\000\006\173\016&\000\000\000\000\016*\006\173\000\000\000v\000\000\002*\006\173\021F\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\016\130\000\000\000\000\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\000\006\173\000\000\016\154\002\214\006\173\000\000\016\158\001\150\002\222\000\000\000\000\000\000\016\162\016\166\rF\021Z\016\170\000\000\000\000\006\173\006\173\000\000\000\000\t\246\006\173\000\000\000\000\000\000\000\000\000Z\000\000\nJ\006\173\r\182\016\174\006\173\006\173\000\000\000\000\016\178\006\173\006\173\000\n\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\016\186\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\rN\006\173\006\173\016\190\006\173\021^\006\173\006\173\006\173\016\198\006\173\006\173\006\173\006\173\006\173\006\173\021f\006\173\016\202\000\000\006\173\000Z\000\000\006\173\003\026\000\000\006\173\000\000\006\173\000Z\006\173\006\173\n\198\000\000\006\173\0112\006\173\000Z\000\000\006\173\000Z\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\006\173\000\000\006\173\000\000\000\000\006\173\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\000\000\006\173\006\173\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\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\000\000\000\000\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\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\006\n\000\000\016\025\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\016\025\016\025\000\000\000\000\000\000\007n\000\000\000\000\r\238\000\000\000\000\000\000\000\000\000\000\000\000\016\025\007\170\000\000\ri\ri\000\n\016\025\016\025\000\000\000\000\r\246\000\000\000\000\014\002\007r\000\000\016\025\000\000\000\000\016\025\007z\016\025\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\000\001\014\001\022\000\000\001&\016\025\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\014\014\000\000\002\"\000\000\000\000\000\000\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\000\016\025\000\000\000\000\000\000\000\000\014\018\000\000\016\025\002\166\000\000\000\000\002\170\000\000\ri\000\000\000\000\014\026\003>\007:\000\000\002\194\016\025\000\000\007\162\ri\000\000\000\000\002\202\016\025\002\206\ri\ri\002>\000\000\000\000\014\162\016\025\016\025\007N\002\214\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\022\000\000\000\000\007\242\014\170\014\178\007\250\ri\000\000\000\000\000\000\000\000\ri\ri\000\000\007b\000\000\000\000\000\000\014\186\007f\000\000\000\000\000\n\000\000\014\194\014\202\b\n\b\018\000\000\000\000\000\000\007n\000\000\000\000\014\210\000\000\000\000\014\218\000\000\014\226\000\000\b\026\007\170\000\000\000\000\0025\000\000\b\"\b*\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\b2\000\000\000\000\b:\007z\bB\000\000\t\005\014\234\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\000\000\001&\bJ\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\014\242\000\000\000\000\000\000\000\000\002\"\000\000\014\250\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\0065\000\000\bR\000\000\000\000\0025\000\000\0065\000\000\bZ\002\166\000\000\000\000\002\170\000\000\015\002\015\n\000\000\000\000\003>\007:\000\000\002\194\0025\000\000\007\162\000\000\0025\0025\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\189\bb\bj\007N\002\214\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\249\003\142\003\182\000\249\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\003\142\003\182\000\000\000\000\000\000\007n\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\000\003\150\007\170\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\003\190\000\000\000\000\003\158\007z\003\174\000\000\002Q\003\198\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\000\000\001&\003\198\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\000\000\000\000\002\"\000\000\003\166\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\189\000\000\003\206\000\000\000\000\000\249\000\000\000\189\000\000\003\166\002\166\000\000\000\000\002\170\000\000\000\189\003\214\000\000\000\000\003>\007:\000\000\002\194\000\249\000\000\007\178\000\000\000\249\000\249\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\249\003\214\007N\002\214\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\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\000R\000V\000f\000\170\007n\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\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\t\021\002\"\000\000\000\000\000\000\002\150\007~\000\000\002\154\000\000\000\000\002\158\003\026\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\002\166\000\000\000\000\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\000\000\000\000\000\002\210\002\214\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\000\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\225\001\225\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\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\001\225\000\000\003\018\001\225\000\000\001\225\000\000\000\000\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\001\225\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\001\133\000\000\000\000\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\000\001\133\000\000\001\225\007\186\001\133\001\225\000\000\023\234\000\000\001\225\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\000\225\001\133\001\225\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\001\133\000\000\007\194\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\003\150\000\000\001\133\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\225\000\000\000\000\003\158\001\133\003\174\001\133\000\000\000\000\001\133\000\000\023\238\000\000\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\225\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\222\t\230\000\170\000\000\000\174\024\178\n*\n2\n:\n~\000\000\n\134\n\142\023\246\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\000\225\023\250\000\000\000\225\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\023\254\n\234\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\225\024\006\000\000\000\000\000\225\000\225\000\000\027\222\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\225\000\225\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\000\000\000\025\158\000\000\000\000\000\000\024\030\026\234\000\000\000\000\000\000\r\026\011.\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\000\000\000\000\016*\000\000\000\000\011F\000\000\000\000\024\"\016>\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\024*\000\000\000\000\018\"\016\130\024.\000\n\0242\017\242\0246\024:\000\000\024>\002\202\000\000\002\206\000\000\000\000\000\000\024B\017\250\000\000\024F\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\024J\016\170\018\002\000\000\000\000\024N\024R\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\r\026\000\000\0182\016\186\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016&\018R\000\000\016*\000\000\018V\018\162\000\000\000\000\000\000\016>\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\002\166\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\016\150\016\130\000\000\000\000\003\026\017\242\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\017\250\000\000\000\000\000\000\016\154\002\214\017\254\000\000\016\158\014N\002\222\000\000\000\000\000\000\016\162\016\166\000\000\000\000\016\170\018\002\000\000\000\000\000\000\000\000\018\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\174\000\000\000\000\018\n\018\014\016\178\018\018\000\000\000\n\000\000\018&\000\000\000\000\000\000\000\000\000\000\0182\016\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\000\000\018R\000\000\000\000\000\000\018V\018\162\000\000\000\000\000\000\000\000\016\190\000\000\018\166\000\000\000\000\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\018\174\000\000\016\202\000\000\012)\012)\012)\012)\003\026\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\016m\000\000\000\000\016m\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\016m\016m\000\000\000\000\012)\016m\000\000\024\194\0032\016m\000\000\024\202\000\000\000\000\000\000\016m\000\000\012)\016m\016m\000\000\016m\016m\000\000\012)\003:\000\000\016m\003N\012)\000\000\016m\000\000\000\000\016m\000\000\016m\016m\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\012)\000\000\016m\012)\016m\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016m\000\000\000\000\000\000\012)\000\000\000\000\004\154\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)\016m\016m\000\000\016m\016m\004\158\000\000\016m\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\004\166\000\000\000\000\025\030\012)\016m\000\000\000\000\016m\016m\016m\016m\016m\000\000\000\000\000\000\016m\016m\016m\000\000\016m\016m\016m\015\253\000\000\000\000\015\253\r\n\000\000\000\000\000\000\000\000\r\014\000\000\000\000\000\000\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\015\253\015\253\000\000\000\000\000\000\015\253\000\000\000\000\0032\015\253\000\000\000\000\000\000\000\000\000\000\015\253\000\000\000\000\015\253\015\253\000\000\015\253\015\253\000\000\000\000\003:\000\000\015\253\003N\000\000\000\000\015\253\019j\000\000\015\253\000\000\015\253\015\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\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\253\000\000\015\253\000\000\000\000\000\000\000\000\015\166\000\000\000\000\000\000\001B\015\170\015\253\000\000\000\000\000\000\000\000\000\000\000\000\004\154\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\000\000\000\000\000\000\015\253\015\253\000\000\015\253\015\253\004\158\000\n\015\253\000\000\000\000\000\000\005\133\000\000\000\000\000\000\005\233\004\166\000\000\005\233\000\000\000\000\015\253\000\000\000\000\015\253\015\253\015\253\015\253\015\253\000\000\000\000\000\000\015\253\015\253\015\253\000\000\015\253\015\253\015\253\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\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\221\000\000\000\000\000\221\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\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\b1\005\233\003\150\005\233\000\000\000\000\000\221\000\000\000\221\000\221\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\221\000\000\005\233\003\158\005\233\003\174\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012\025\012\025\012\025\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\025\000\000\012\025\012\025\000\221\012\025\000\000\012\025\000\000\012\025\012\025\012\025\012\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\012\025\012\025\012\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\012\025\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\000\221\000\000\000\000\012\025\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\012\025\012\025\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\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\025\000\000\000\000\012\025\000\000\000\000\012\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\012\025\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\025\000\000\000\000\000\000\000\000\000\000\000\000\012\025\000\000\012\025\000\000\000\000\012\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\012\025\012\025\000\000\000\000\000\000\024\198\012\025\012\029\012\029\012\029\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\000\000\012\029\012\029\000\000\012\029\000\000\012\029\000\000\012\029\012\029\012\029\012\029\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\029\012\029\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\029\000\000\005\237\005\237\000\000\000\000\012\029\005\237\000\000\025\"\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\029\005\237\005\237\000\000\005\237\005\237\000\000\012\029\005\237\000\000\005\237\005\237\012\029\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012\029\012\029\011\162\011\170\000\170\000\000\000\174\000\000\011\238\011\246\011\254\012B\000\000\012J\012R\000\000\012b\000\000\012j\000\000\012r\012\158\012\029\012\166\005\237\012\029\005\237\000\000\012\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012\174\000\000\012\029\000\000\000\000\005\237\000\000\012\029\000\000\012\029\000\000\000\000\012\029\000\000\000\000\012\182\000\000\000\000\000\000\012\029\000\000\012\029\000\000\000\000\012\029\005\237\005\237\000\000\005\237\b9\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012\029\012\029\005\237\000\000\000\000\000\000\012\029\005\237\000\000\000\000\005\237\012\198\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\016Q\000\000\000\000\016Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025*\n\234\025F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025R\000\000\016Q\016Q\000\000\000\000\n\242\016Q\000\000\000\000\016\226\016Q\000\000\000\000\000\000\000\000\000\000\016Q\000\000\025j\016Q\016Q\000\000\016Q\016Q\000\000\011\002\016\234\000\000\016Q\016\246\025\158\000\000\016Q\000\000\000\000\016Q\000\000\016Q\016Q\025\190\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\011F\000\000\016Q\025\202\016Q\000\000\026\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016Q\000\000\000\000\000\000\026:\000\000\000\000\017\002\000\000\026F\000\000\n1\000\000\000\000\026v\000\000\000\000\000\000\000\000\000\000\000\000\026\130\000\000\026\174\000\000\000\000\027\170\016Q\016Q\000\000\016Q\000\000\017\006\001\209\016Q\000\000\001\209\000\000\000\000\000\000\000\000\027\182\027\206\017\014\000\000\001\209\000\000\027\218\001\209\000\000\000\000\016Q\000\000\016Q\000\000\000\000\000\000\001\209\001\209\016Q\016Q\016Q\001\209\016Q\016Q\016Q\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\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\001Y\000\000\000\000\001Y\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\000\000\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\000\000\001M\001Y\000\000\001M\000\000\001Y\000\000\000\000\003\158\000\000\003\174\001Y\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\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\001Y\000\000\001Y\001M\000\000\000\000\001M\001M\000\000\001M\001M\000\000\000\000\001Y\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\000\000\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003\166\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\001M\001Y\001Y\001Y\001Y\001Y\000\000\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\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\000\000\001M\001M\000\000\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\000\000\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\000\000\001U\001Q\000\000\001U\000\000\001Q\000\000\000\000\003\158\000\000\001Q\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\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\001Q\000\000\001Q\003\150\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\001Q\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\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003\166\000\000\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001U\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\000\000\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\001U\001U\000\000\001e\003\166\000\000\001e\000\000\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\001U\001U\001U\001U\001U\000\000\003\142\003\182\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\000\000\001]\001e\000\000\001]\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\000\003\142\003\182\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\198\000\000\001e\003\150\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001e\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003\166\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\001]\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\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\001i\001a\000\000\001i\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\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\198\000\000\001a\003\150\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\001a\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\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\001i\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\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\001i\001i\000\000\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\000\000\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\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\000\000\004\030\001q\000\000\001m\000\000\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\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\003\198\000\000\001q\003\150\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001q\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\003\206\000\000\000\000\001q\001q\000\000\000\000\003\166\000\000\000\000\003\198\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\001m\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\214\001q\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\001m\001m\000\000\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\000\000\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\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001u\001u\000\000\001u\004&\000\000\000\000\000\000\003\130\001u\000\000\003\222\000\000\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\000\000\000\000\000\000\003\254\004\006\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\000\000\000\000\003\198\000\000\001u\004\014\000\000\000\000\002-\002-\000\000\004\022\0046\000\000\000\000\001u\000\000\002-\000\000\000\000\000\000\004>\000\000\000\000\004F\000\000\004N\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\003\206\000\000\000\000\001u\001u\000\000\000\000\003\166\000\000\000\000\004V\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\002-\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\214\001u\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\002-\002-\000\000\000\129\004f\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\002-\000\000\000\000\002-\002-\002-\002-\000\000\000\000\003\142\003\182\000\000\002-\002-\000\129\004n\004v\002-\000\129\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\198\000\000\000\129\003\150\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\129\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003\158\000\000\003\174\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\003\206\000\000\000\000\000\129\000\129\000\000\000\000\003\166\000\000\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000i\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003\214\000\129\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\000\000\000e\003\166\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\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000e\000e\000\000\000i\000i\000e\000i\000i\000i\000e\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000]\000e\000\000\000]\000\000\000e\000\000\000\000\003\158\000\000\003\174\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\000e\000\000\000e\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\003\158\000\000\000]\000]\000\000\000\000\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\000\000\000e\000e\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\000e\000\000\000]\000e\000e\000e\000e\000\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\004\030\003\166\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\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]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\137\000\137\000\000\000\137\004&\000\000\000\000\000\000\004\030\000\137\000\000\000}\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000\137\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\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\003\198\000\000\000\137\003\150\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\137\000\000\000}\000\000\000\000\000\000\003\190\000\000\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\000\000\003\206\000\000\000\000\000\137\000\137\000\000\000\000\003\166\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\137\000\000\000}\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\004.\003\214\000\137\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}\000\000\000u\003\166\000\000\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\000\003\142\003\182\000\000\000}\000}\000u\000}\003\214\000}\000u\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000a\000u\000\000\000a\000\000\000u\000\000\000\000\003\158\000\000\003\174\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\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\198\000\000\000u\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000u\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003\158\000\000\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\000u\000\000\000\000\000u\000u\000\000\000\000\003\166\000\000\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000a\000u\000u\000u\000u\000\000\000\000\000\000\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\000a\000\000\000\000\000a\000a\000\000\000m\003\166\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\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\003\142\003\182\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\003\158\000\000\003\174\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\003\142\003\182\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\000m\000\000\000m\003\150\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000m\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003\158\000\000\003\174\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\000m\000\000\000\000\000m\000m\000\000\000\000\003\166\000\000\000\000\003\198\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000q\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\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\004\030\003\166\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\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\003\142\003\182\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\133\000\133\000\000\000\133\004&\000\000\000\000\000\000\000y\000\133\000\000\000y\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\003\142\003\182\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\198\000\000\000\133\003\150\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\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\003\206\000\000\000\000\000\133\000\133\000\000\000\000\003\166\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\133\000\000\000y\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003\214\000\133\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\000y\000y\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\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\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\002\150\000\000\000\000\rj\000\000\000\000\rn\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\002\166\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\002:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\000\000\r\166\014N\002\222\002>\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\002J\002N\000\000\000\000\000\000\rF\rJ\000\000\002R\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\r\n\000\000\000\n\000\000\000\000\r\014\000\000\006\205\000\000\014R\028\186\014n\r\018\002\150\000\000\000\000\rj\r\022\028\190\rn\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\006\197\rN\000\000\004\249\002\166\000\000\r\214\000\000\000\000\000\000\000\000\006\197\003\026\r\130\r\142\000\000\006\197\014.\014F\014J\000\000\019j\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\001>\019n\r\166\014N\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\015\166\000\000\000\000\000\000\001B\015\170\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\001F\002\150\000\n\000\000\rj\000\000\000\000\rn\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\205\000\000\014R\002\166\014n\000\n\000\000\000\000\000\000\000\000\005\133\000\000\r\130\r\142\000\000\r\202\014.\014F\014J\000\000\000\000\r\210\002\202\000\000\002\206\000\000\000\000\tY\000\000\000\000\r\214\000\000\000\000\r\162\002\214\000\000\003\026\r\166\014N\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\b\133\b\133\000\000\000\000\000\000\b\133\000\000\003\213\000\000\r\182\r\186\000j\003\213\000\000\000r\r\190\000\130\003\213\000\n\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\205\000\000\014R\000\000\014n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\146\003\213\000\000\r\210\000\000\003\213\000\000\000\000\000\000\002\129\000\000\000\000\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\003\213\003\213\003\209\000\000\000\000\000\000\000\198\003\209\000\000\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\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\238\003\209\003\213\000\000\000\000\003\209\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\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\003\209\003\213\002\150\000\000\003\209\rj\003\213\003\213\rn\000\000\000\000\003\213\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\003\209\000\000\000\000\000\000\000\000\003\209\000\000\000\000\r\130\r\142\000\000\000\000\014.\014F\015*\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\000\000\r\166\014N\002\222\000\000\000\000\003\209\r\170\r\174\003\209\003\209\r\178\001F\003\209\n\146\006\173\000\000\000\000\003\209\003\209\000\000\006\173\000\000\003\209\000\000\000\000\006\173\006\173\r\182\r\186\000\000\006\173\000\000\006\173\r\190\000\000\000\000\000\n\006\173\006\173\006\173\012-\012-\000\000\000\000\012-\r\198\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\205\000\000\006\173\006\173\014n\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\r\202\000\000\000\000\006\173\000\000\000\000\r\210\000\000\006\173\011\138\000\000\012-\ti\006\173\000Z\r\214\000\000\000\000\006\173\006\173\000\000\003\026\000\000\001\250\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\012-\000\000\006\173\006\173\006\173\006\173\000\000\000\000\000\000\002B\000\000\000\000\000\000\006\173\000Z\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\006\173\006\173\001\233\006\173\000\000\001\233\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\012-\001\233\001\233\006\173\000\000\000\000\001\233\000\000\006\173\000\000\001\233\000\000\000\000\000\000\006\173\000\000\001\233\006\173\006\173\001\233\001\233\006\173\001\233\001\233\000\000\000\000\006\173\006\173\001\233\000\000\002\150\006\173\001\233\002\154\000\000\001\233\002\158\001\233\001\233\000\000\000\000\006\173\000\000\000\000\006\173\006\173\016B\000\000\006\173\000\000\000\000\000\000\002\166\006\173\006\173\002\170\000\000\000\000\006\173\000\000\000\000\002\182\002\186\001\233\002\194\001\233\rf\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\014^\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\001\233\017\"\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\000\000\002\242\000\000\000\000\000\000\000\000\002\246\011\186\006\173\000\n\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\002\254\000\000\006\173\000\000\017*\001\233\001\233\000\000\001\233\001\233\001\233\003\002\nA\006\173\012\014\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\003\006\000\000\000\000\006\173\012V\006\173\003\018\006\173\006\173\nA\000\000\nA\006\173\000\000\006\173\003\"\006\173\006\173\006\173\006\173\000\000\003\026\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\006\173\000Z\000\000\006\173\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\012\138\000\000\006\173\000\000\006\173\000Z\006\173\000\000\000\000\006\173\006\173\000\000\006\173\006\173\012\202\006\173\012\246\000\000\006\173\000Z\006\173\000Z\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\006\173\006\173\000\000\006\173\006\173\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\006\173\006\173\006\173\006\173\000\000\000\000\017V\006\173\006\173\017^\000\000\000\000\005\206\000\000\000\000\000\000\006\173\000Z\006\173\000\000\006\173\006\173\006\173\006\173\006\173\000\000\000\000\000\000\000\000\006\173\017n\017v\000\000\006\173\006\173\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\006\173\000\000\017~\000\000\006\173\002=\002=\000\000\017\134\017\142\000\000\000\000\000\000\0015\002=\006\173\0015\000\000\017\150\000\000\000\000\017\158\000\000\017\166\002=\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\000\000\017\174\000\000\002=\003\150\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\002=\006\173\0015\000\000\006\173\006\173\003\190\000\000\006\173\003\158\000\000\003\174\0015\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\182\000\000\000\000\002=\000\000\000\000\000\000\017\190\000\000\000\000\003\198\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017\198\017\206\002=\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\0015\000\000\000\000\001\029\003\166\000\000\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\0015\000\000\0015\000\000\000\000\000\000\001\029\001\029\000\000\0015\0015\001\029\0015\003\214\0015\001\029\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\001\025\001\029\000\000\001\025\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\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\001\029\000\000\001\029\003\150\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\029\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\158\000\000\003\174\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\000\000\001\029\000\000\000\000\000\000\003\166\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003\166\000\000\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\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\004\030\001\017\000\000\001=\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\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\000\001\017\000\000\001\017\003\150\000\000\000\000\001=\001=\000\000\001=\004&\000\000\000\000\001\017\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\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\003\166\000\000\000\000\003\198\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\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\001=\000\000\000\000\004\030\003\166\000\000\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\001=\000\000\001=\000\000\000\000\000\000\003\142\003\182\000\000\001=\001=\0011\004.\003\214\001=\0011\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\000\000\001)\0011\000\000\001)\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\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\198\000\000\0011\003\150\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\0011\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\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\000\000\003\166\000\000\000\000\003\198\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\214\0011\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\001\021\003\166\000\000\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\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\001!\001\021\000\000\001!\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\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\001\021\000\000\001\021\003\150\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\001\021\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\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\000\000\003\166\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\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!\000\000\000\000\001!\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!\000\000\001!\000\000\000\000\000\000\003\142\003\182\000\000\001!\001!\001%\001!\001!\001!\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\004\030\001%\000\000\0019\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\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\003\198\000\000\001%\003\150\000\000\000\000\0019\0019\000\000\0019\004&\000\000\000\000\001%\000\000\0019\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\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\000\000\001%\000\000\000\000\000\213\003\166\000\000\000\213\003\198\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\001%\000\000\001%\000\000\000\000\000\000\000\213\000\213\000\000\001%\001%\000\000\001%\001%\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\003\206\000\213\000\213\0019\000\000\000\000\001-\003\166\000\000\001-\000\000\000\213\000\000\000\000\003\158\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\003\142\003\182\000\000\0019\0019\001-\0019\003\214\0019\001-\000\000\000\000\000\213\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\002\150\000\000\003\190\002\154\000\000\003\158\002\158\003\174\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nA\000\000\000\000\000\000\000\000\000\000\002\166\000\213\000\000\002\170\000\213\000\000\000\000\000\000\003\166\002\182\002\186\003\198\002\194\001-\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\213\000\000\001-\000\000\000\213\000\213\000\000\000\000\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\213\000\213\000\000\002\226\002\230\000\000\000\000\002\234\002\238\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\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\002\254\002\150\000\000\000\000\002\154\001-\001-\002\158\001-\001-\001-\003\002\000\000\000\000\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\002\166\003\006\000\000\002\170\000\000\000\000\000\000\003\018\000\000\002\182\002\186\000\000\002\194\000\000\000\000\000\000\003\"\000\000\000\000\002\202\000\000\002\206\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\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\023\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\002\242\000\000\000\000\000\000\000\000\002\246\026J\000\000\000\n\000\000\023\254\000\000\024\002\012\129\012\129\000\000\000\000\002\254\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\003\002\024\018\000\000\000\000\000\000\024\022\023\246\000\000\000\000\000\000\000\000\024\026\000\000\003\006\000\000\000\000\000\000\000\000\023\250\003\018\000\000\000\000\000\000\025\250\000\000\012\129\000\000\024\030\003\"\023\254\000\000\024\002\000\000\000\000\003\026\000\000\012U\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\000\000\000\000\024\022\000\000\000\000\012\129\000\000\024\"\024\026\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\198\000\000\025v\012U\024*\024\030\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012\129\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\210\000\000\000\000\006\173\000\000\006\173\000\000\024J\000\000\000\000\006\173\006\173\024N\024R\012U\000R\000V\000f\000\170\000\000\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\166\001.\r\018\0016\002\014\002\022\002\026\r\022\028\170\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\001\026\002\"\000\000\006\173\000\000\006\173\000\000\006\173\006\173\006\173\006\173\006\173\006\173\006\014\004\254\000\000\002*\006\173\000Z\006\173\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\002:\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\002>\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\000\000\007\002\000\000\000\000\000\000\006\173\000Z\000\000\011\006\006\173\006\173\006\173\000\000\000\000\000\000\t\134\000\000\000\000\006\173\000\000\000Z\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\n\000\000\000\000\006\173\006\173\005q\000\000\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\006\173\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\006\173\004\217\004\217\004\217\004\217\006\173\004\217\004\217\000\000\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\002Z\006\173\006\173\000\000\000\000\006\173\004\217\000\000\000\000\000\000\006\173\006\173\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\004\217\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\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\004\217\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\004\217\004\217\000R\000V\000f\000\170\000\000\000\174\004\217\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\004\217\000\000\000\000\000\000\000\000\000\000\002\150\002\"\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\002*\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\t^\000\000\002\194\000\000\002:\000\000\000\000\004\217\000\000\002\202\002F\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\002\210\002\214\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\002J\002N\002\234\002\238\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\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\002\150\000\n\000\000\002\154\000\000\002\254\002\162\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\002V\002\166\000\000\000\000\002\170\000\000\000\000\000\000\003\014\000\000\002\182\tN\000\000\002\194\003\018\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\003\022\000\000\0141\000\000\000\000\000\000\003\026\000\000\002\210\002\214\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\t6\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\000\000\002\234\002\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\002\242\002\150\000\000\000\000\002\154\003\n\000\000\002\162\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\003\002\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\000\000\000\000\000\000\000\000\003\014\002\202\000\000\002\206\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\000\000\006\173\002\234\002\238\000\000\000\000\006\173\000\000\005R\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\002\242\000\000\006\173\000\000\000\000\003\n\000\000\006\173\000\n\005\154\000\000\000\000\006\173\000\000\006\173\000\000\000\000\002\254\000\000\006\173\006\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\006\173\000\000\000\000\000\000\006\173\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\006\173\006\173\006\173\000\000\000\000\000\000\006\173\000\000\003\022\000\000\000Z\000\000\000\000\006\173\003\026\000\000\000\000\000\000\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\000\000\000Z\000\000\000\000\006\173\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\000\000\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000\000\000\000\006\173\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\173\000\178\000\186\000\194\001\006\006\173\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\000\000\000\000\000\000\006\173\006\173\000\000\002\"\000\000\006\173\000\000\000\000\000\000\006\173\000\000\000\000\006\173\006\173\000\000\000\000\006\173\000\000\002*\000\000\000\000\006\173\006\173\000\000\000\000\000\000\006\173\000\000\000\000\000\000\0165\000\000\000\000\0165\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\007\150\000\000\000\000\000\000\002J\002N\000\000\0165\000\000\000\000\000\000\0165\002R\0165\0165\000\000\000\000\007\158\000\000\000\000\b\162\000\000\000\000\0165\000\000\000\000\0165\000\000\0165\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\t\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0165\004\193\000\000\002V\004\193\000\000\000\000\004\193\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\174\000\000\000\000\004\193\000\000\000\000\004\193\000\000\002\181\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\0165\0165\004\193\0165\004\193\b\178\000\000\0165\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\b\186\004\193\004\193\004\193\000\000\0165\000\000\004\193\004\193\0165\0165\004\193\004\193\000\000\000\000\000\000\0165\000\000\000\000\000\000\0165\0165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\002\150\000\000\000\000\002\154\004\193\000\000\002\162\004\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\rr\000\000\002\194\000\000\000\000\000\000\000\000\000\000\004\193\002\202\000\000\002\206\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\004\193\002\218\001\150\002\222\000\000\000\000\004\193\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\026\178\000\000\026\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\194\000\000\000\000\002\242\002\150\026\226\000\000\002\154\003\n\000\000\002\162\000\n\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\023\254\000\000\024\002\002\166\000\000\000\000\002\170\000\000\003\002\000\000\024\006\000\000\002\182\016.\000\000\002\194\024\n\000\000\000\000\024\018\000\000\003\014\002\202\024\022\002\206\000\000\000\000\003\018\000\000\024\026\000\000\000\000\000\000\002\210\002\214\000\000\003\022\002\218\001\150\002\222\000\000\000\000\003\026\002\226\002\230\024\030\026\234\002\234\002\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\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\002\254\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\024*\000\000\003\002\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\002\166\003\014\000\000\002\170\000\000\024B\000\000\003\018\024F\002\198\007:\000\000\002\194\000\000\000\000\000\000\003\022\000\000\000\000\002\202\000\000\002\206\003\026\024J\000\000\000\000\000\000\000\000\024N\024R\007N\002\214\000\000\000\000\007R\001\150\002\222\000\000\000\000\000\000\007V\007Z\000\000\000\000\007^\002\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\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\007n\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\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\002*\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\002:\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\000\000\000\000\000\002\"\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\002*\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\002:\000\000\000\000\000\000\000\000\000\000\006B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\002>\000\000\000\000\000\000\006F\006J\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\006N\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\000\000\000\000\000\000\002\173\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\006R\000\000\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\006B\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000R\000V\000f\000\170\023\246\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\006N\001&\023\250\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\002\"\000\000\000\000\000\000\000\000\024\n\000\000\023\246\024\018\000\000\000\000\000\000\024\022\000\000\000\000\002*\000\000\000\000\024\026\023\250\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025r\023\254\000\000\024\002\000\000\024\030\002:\000\000\000\000\000\000\000\000\024\006\006B\000\000\t\145\000\000\000\000\024\n\000\000\000\000\024\018\002>\000\000\000\000\024\022\006F\006J\000\000\000\000\000\000\024\026\000\000\000\000\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\026\138\006N\000\000\000\000\000\000\024\030\000\000\000\000\000\000\000\000\024*\000\000\000\000\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\012U\000\000\024\"\000\000\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006R\024J\000\000\000\000\000\000\024*\024N\024R\012U\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\002\161\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\012U\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\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\000\000\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\000\000\000\002*\000\000\029b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029b\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\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\006N\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\029j\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\005\001\000\000\029j\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\002:\000\000\000\000\000\000\002*\000\000\029b\000\000\tu\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029f\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\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\006N\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\002\150\000\000\029j\rj\000\000\002\"\rn\000\000\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\166\000\000\002\145\000\000\000\000\000\000\000\000\000\000\000\000\r\130\r\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\002\202\000\000\002\206\000\000\000\000\029r\000\000\t\161\000\000\000\000\000\000\r\162\002\214\000\000\002>\r\166\001\150\002\222\029f\006J\000\000\r\170\r\174\002\150\000\000\r\178\016&\000\000\000\000\016*\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\002\166\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\016\150\016\130\000\000\000\000\000\000\000\000\r\198\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\154\002\214\000\000\000\000\016\158\001\150\002\222\000\000\000\000\r\202\016\162\016\166\000\000\n9\016\170\r\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\214\n9\000\000\t\133\000\000\000\000\003\026\r\182\016\174\000\000\000\000\000\000\n9\016\178\n9\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\016\186\000\000\000\000\n9\000\000\000\000\n9\000\000\b\249\000\000\n9\024\206\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\b\249\000\000\000\000\000\000\016\190\000\000\000\000\000\000\000\000\000\000\016\198\b\249\n9\b\249\000\000\000\000\000\000\000\000\000\000\016\202\000\000\b\249\000\000\000\000\000\000\003\026\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\b\249\000\000\007\149\000\000\000\000\000\000\b\249\000\000\n9\000\000\000\000\n9\000\000\000\000\007\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\249\026\234\n9\007\149\000\000\007\149\000\000\n9\n9\n9\000\000\n9\n9\007\149\n9\000\000\000\000\000\000\000\000\007\149\000\000\n9\007\149\000\000\n9\000\000\007\149\000\000\000\000\000\000\b\249\000\000\007\149\b\249\000\000\000\000\000\000\000\000\000\000\n9\000\000\000\000\000\000\027\238\n9\n9\b\249\000\000\007\149\000\000\000\000\b\249\b\249\b\249\000\000\b\249\b\249\000\000\b\249\000\000\000\000\000\000\000\000\000\000\000\000\b\249\000\000\000\000\b\249\000\000\000\000\000\000\025V\000\000\000\000\000\000\000\000\000\000\007\149\000\000\000\000\007\149\000\000\b\249\023\250\000\000\000\000\000\000\b\249\b\249\000\000\000\000\000\000\000\000\007\149\023\254\000\000\024\002\000\000\007\149\007\149\007\149\000\000\007\149\007\149\024\006\007\149\000\000\000\000\000\000\000\000\024\n\000\000\007\149\024\018\000\000\007\149\000\000\024\022\000\000\025n\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\007\149\023\250\000\000\000\000\000\000\007\149\007\149\000\000\000\000\024\030\000\000\000\000\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\024\n\000\000\000\000\024\018\000\000\023\246\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\023\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024*\023\254\024\030\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\026\134\000\000\000\000\000\000\024\026\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\026&\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\000\000\000\000\024N\024R\024*\000\000\024\030\000\000\000\000\024.\000\n\0242\000\000\0246\024:\000\000\024>\000\000\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\000\000\000\000\000\000\024*\023\254\000\000\024\002\000\000\024.\000\n\0242\000\000\0246\024:\024\006\024>\000\000\000\000\000\000\000\000\024\n\000\000\024B\024\018\000\000\024F\000\000\024\022\000\000\023\246\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\000\000\000\000\024J\023\250\000\000\000\000\000\000\024N\024R\000\000\004\030\027\186\000\000\001\001\023\254\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\018\003\142\003\182\000\000\024\022\000\000\000\000\000\000\024\"\000\000\024\026\024&\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\001\001\000\000\001\001\004&\024*\004\030\024\030\000\000\000\245\024.\000\n\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\000\000\000\024F\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\000\024&\000\000\024J\000\000\003\198\003\150\000\000\024N\024R\000\245\000\000\000\245\000\245\024*\000\000\000\000\000\000\000\000\024.\027\230\0242\003\190\0246\024:\003\158\024>\003\174\000\000\000\000\000\000\000\000\000\000\024B\000\237\000\000\024F\000\237\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\024J\003\166\003\198\000\000\000\000\024N\024R\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\003\150\000\000\000\000\000\000\000\237\000\000\000\237\000\237\004.\003\214\000\000\000\000\000\000\000\000\000\000\000\217\000\237\000\000\000\217\003\158\003\206\003\174\000\000\000\245\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\217\000\217\000\245\000\000\000\000\000\000\000\245\000\245\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\245\003\214\000\217\000\229\000\217\000\217\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\003\158\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\166\000\000\000\000\000\233\003\150\000\000\000\233\000\217\000\229\000\000\000\229\000\229\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\229\000\000\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\237\000\237\000\000\000\000\000\000\000\000\004\030\000\000\000\000\000\253\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\233\000\217\000\233\000\233\000\217\000\229\000\000\000\000\003\166\000\000\000\000\000\000\000\233\003\142\003\182\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\217\003\150\000\000\000\000\000\000\000\253\000\000\000\253\004&\000\000\000\217\000\217\000\165\000\000\000\000\000\000\003\198\003\190\000\229\000\000\003\158\000\229\003\174\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\165\000\165\000\000\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\000\000\003\198\000\000\000\000\003\150\000\000\000\000\000\229\000\229\000\233\000\165\000\165\000\233\000\000\000\241\000\000\003\166\000\241\000\000\000\000\000\165\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\003\142\003\182\000\000\003\206\000\000\000\000\000\253\000\233\000\233\000\000\003\166\000\000\000\000\000\165\000\000\003\150\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\003\190\r\n\000\161\003\158\000\000\003\174\r\014\000\000\000\253\003\214\000\000\028\186\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\190\000\000\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\003\166\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\165\000\000\000\000\000\000\000\161\000\161\000\000\000\165\000\000\000\000\019j\000\000\000\000\000\000\000\161\000\165\000\165\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\001>\019n\000\000\003\206\000\000\000\000\000\241\000\000\000\000\000\000\003\166\000\000\000\000\000\153\000\000\000\000\000\000\004\030\000\000\000\000\000\161\000\000\015\166\000\000\000\241\000\000\001B\015\170\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\153\000\153\000\241\000\241\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\030\003\150\000\000\000\153\000\153\000\161\000\n\000\197\004&\000\000\000\000\005\133\003\166\000\153\000\000\000\000\003\158\003\190\000\153\000\000\003\158\000\000\003\174\000\000\003\142\003\182\000\161\000\177\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\161\000\161\000\000\000\153\000\185\000\185\000\000\003\198\000\000\000\000\003\142\003\182\000\000\000\000\003\190\n\173\n\173\003\158\000\000\003\174\n\173\000\000\000\000\000\000\000\000\003\150\000\000\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\000\000\000\177\000\157\000\153\003\158\003\198\003\174\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\153\000\169\000\157\000\157\000\197\000\173\000\000\000\153\003\198\000\000\000\000\000\197\000\000\000\000\000\000\000\153\000\153\000\157\000\000\004.\003\214\003\206\000\000\000\157\000\157\003\142\003\182\000\000\003\166\003\142\003\182\000\000\000\000\000\157\000\000\000\000\003\158\000\000\000\157\000\000\003\150\000\000\000\185\004\030\003\150\000\000\000\169\000\169\000\177\000\185\000\173\000\173\000\000\000\000\000\000\003\166\000\169\000\185\003\214\003\158\000\173\003\174\000\000\003\158\000\157\003\174\000\000\003\142\003\182\000\177\000\000\000\000\000\000\000\000\000\000\000\181\000\177\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\177\000\177\000\000\000\169\000\193\004&\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\003\190\003\142\003\182\003\158\000\000\003\174\000\157\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\000\000\003\150\000\000\000\000\000\000\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\157\000\000\000\169\000\000\003\198\003\190\000\173\000\157\003\158\003\166\003\174\000\000\000\000\003\166\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\003\198\000\000\000\169\000\169\000\000\000\000\000\173\000\173\003\206\000\000\000\000\000\000\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\193\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\206\000\000\000\000\000\000\000\193\003\214\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\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\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\014\001\014\001\014\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\n\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\004\001\004\001\003\001\003\001\003\001\002\001\001\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\226\000\225\000\224\000\224\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\218\000\218\000\218\000\218\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\216\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\212\000\211\000\211\000\211\000\210\000\210\000\209\000\209\000\209\000\208\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\203\000\202\000\202\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\197\000\196\000\195\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\187\000\186\000\186\000\186\000\185\000\184\000\184\000\184\000\184\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\178\000\178\000\177\000\177\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\175\000\175\000\175\000\174\000\173\000\173\000\173\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\165\000\165\000\165\000\165\000\165\000\164\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\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\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000y\000x\000w\000w\000w\000v\000v\000v\000u\000u\000u\000u\000t\000s\000r\000q\000p\000o\000n\000n\000m\000m\000m\000l\000l\000k\000k\000k\000j\000j\000i\000h\000h\000h\000g\000f\000f\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_\000_\000_\000_\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000Y\000X\000X\000W\000W\000W\000W\000V\000U\000T\000T\000T\000S\000S\000S\000R\000R\000R\000R\000R\000R\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\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000D\000C\000B\000B\000A\000A\000@\000?\000>\000>\000=\000=\000<\000<\000;\000:\000:\000:\000:\000:\000:\000:\0009\0009\0009\0009\0009\0009\0008\0008\0007\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\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\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\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, "\002H\000\019\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001/\000\000\001\003\0002\000\000\000\237\000\173\000\000\000\000\000\000\000\022\000\000\000,\000d\000\000\000\000\000\150\000\000\000\198\000\000\000\000\000\000\001`\000\000\001\252\000\000\000\000\000\000\000\000\002\180\000\000\003\206\004Z\000\000\000\000\004\138\000\000\004\246\000\000\000\000\000\000\005\030\000\000\005\148\000\000\005\162\000\000\005\222\005\236\000\000\000\000\005\240\000\000\006>\000\000\000#\000\000\000\000\006\212\000\000\0074\000\000\000\000\007J\000\000\007\150\000\000\000\000\000\000\007\246\000\000\000\238\008\008\0007\000\000\000\000\000\000\002P\000f\000F\000\000\000\000\008B\000\000\n\228\000\000\004\186\000\237#\158\000\000\000\000\021\026\000\000\0026\000\000\002\196)z!\196\011\142!\196\0052&z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029r\011\142\000\000\000\000'T\000\000)\150\000\000\014\230\000\000\000\000\000\000\000\000\000\232\000\000\029\192\000\000\000\000\000*\000\000\000\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\015<\000\000\018\192\000\000\023\202\000\000-\218\000\0005\130\000\0005\228\000\0006&\000\0006V\000\0006\186\000\000)\148\000\000\012v\000\000\000\000\000\000\000\000\000\0006\216\000\0007\006\000\0007\022\000\000\005\248\000\000\000\0004\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008d\000\000\000\000\008z\000\000\008\244\008\246\000\000\000\000\t:\000\000\tb\000\000\000\000\000\000\tl\000\000\t\138\000\000\000\000\t\158\000\000\t\190\t\192\000\000\000\000\t\218\000\000\t\234\000\000\000\000\000\000\n\028\000\000\n.\000\000\nB\000\000\nF\nN\000\000\000\000\nV\000\000\nZ\000\000\002\192\n`\000\000\nb\000\000\nz\000\000\n\132\000\000\000\000\000\000\n\136\000\000\n\168\000\184\000\000\n\174\000\000\002`\021\136\000\000\005j\000\000\006J\000\000\000\000\000,\000\000\000\000\000u\003(\000\000\000\000\000\000\000\000\003\012\000\000\003r\000\000\002\000\000\000\003\200\000\000\000\000\000\000\000\000\000\000\000\000\007\152\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\002\003|\002*\000\000\n\178\000\000\n\186\002X\000\000\n\196\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\"\168\000\0000\138\000\000\000\000\000\000\0044\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\000\000\000\000\000\000\000\000\000\000\000\000\012n&z\000\000\012\178\000\000\016P\tv\000\000\000\000\000\000\004\148\000\000\030\224\000\000\000\0000\144\000\000\000\000\000\000\004\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\238\000\0005J\000\000\000\000\000\000\000\000\000\191\000\000\000\0000\236\000\000\000\000\000\000\007\138\001*\000\000\000\000\000\000\000\000\000\000\000\000\002d\000\000\004\174\000\000\005n\000\000\t\158\000\000\t\192\000\000\014\026\000\000\016\250\000\000\018\144\000\000\020j\000\000\020\202\000\000*D\000\000\000\146\000\000\022F\000\000\031\020\000\000&\146\000\000\000\000\000\000\000\000\000\000\000Z1@\000\000\002n\000\000\000\000\000\n\001\172\000\000\002\248\000\000\000\000\000\000\017\026\000\000\000\000\000\000&\214\000\000\000\000\000\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\206\004\216\000\000\n\214\000\000\000\000\000\000\000\000\000\000\n\216\000\000\000\000\002P\001\240\000\000\002D\000\000\000\000\000\000\004\030\000\000\012R\001\"\n\238\000\000\000\000\n\240\000\000\n\242\n\248\000\000\000\000\n\252\000\000\011\002\000\000\000\000\000\000\011\004\000\000\011\n\000\000\000\000\011\014\000\000\011\024\011\026\000\000\000\000\011$\000\000\011&\000\000\000\000\000\000\0118\000\000\011:\000\000\011<\000\000\011@\011R\000\000\000\000\011X\000\000\011`\000\000\004\248\011n\000\000\011x\000\000\011|\000\000\011~\000\000\000\000\000\000\011\130\000\000\001~\000\000\000\000\011\138\004\246\000\000\011\152\000\000\000\000\002\244\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\005\214\005,\000\000\011\156\000\000\011\160\nZ\000\000\011\164\000\000\000\000\012\172\011\172\000\000\000\000\011\176\000\000\011\180\011\214\000\000\000\000\011\216\000\000\011\220\000\000\000\000\000\000\011\224\000\000\011\230\000\000\000\000\011\244\000\000\011\246\011\248\000\000\000\000\011\250\000\000\012\018\000\000\000\000\000\000\012\022\000\000\012$\000\000\012&\000\000\012(\012,\000\000\000\000\012.\000\000\0120\000\000\006\136\012<\000\000\012>\000\000\012B\000\000\012N\000\000\000\000\000\000\012R\000\000\012Z\013 \000\000\012\\\000\000\000\000\006\182\014b\000\000\012`\000\000\012f\018|\000\000\012j\000\000\000\000\000\000\000\000\000\000\000\000\000\0001z\000\000#*\000\0001\144\000\000\000\000\000\017\000\000\000\000\001r\007\234\000\000\000\000\015@\004T\000\000\008@*b\000\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\015\196'\132\000\000\020\142\000\000\023\206\018\132(\018\000\000\020\"\000\000\000\000\000\000\006\192\000\000\031\006\000\000\000\0002\018\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002 \000\0002\150\000\000\000\000\000\000(\156\000\000\000\000\000\000*|\000\000\000\000\000\000\000\000\007\198\000\000\000\000\000\000\000\000\007N\000\000\000\000+\\\000\000\001@\000\000\000\000\000\000\004`\000\000\t\200\000\000\n\144\000\000\014\246\000\000\022v\000\000 :\000\000!\164\000\000#\180\000\000&\154\000\000(|\000\000)$\000\000,\234\000\0000V\000\000\000\000\000\000\000\000\000\000*\206\000\000\017H\000\000\022\210\n\222\000\000+,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\0038\000\000\006Z\000\000\000\000\008>\000\000\000\000\000\000+.\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000+\130\000\000\000\000\000\000\000\000\003\172\t\234\000\000,\n\000\000\000\000\000\000\000\000\013\168\000\000,$\000\000\000\000\000\000\000\000\001\210\000\000\007>\000\000\018T\000\026(<\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\030\172(<\000\000\031\n\000\000 \160\007\022\000\000\000\000\000\000\007\200\000\000\031b\000\000\000\0002\206\000\000\000\000\000\000\008\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\128\000\0005\164\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\019^\000\000#\238\000\000'>\000\000'\148\000\000)\200\000\000+z\000\0000N\000\0001|\000\0003\184\000\0005x\000\000,\128\000\000\004\190\000\0006\170\000\0006\232\000\00076\000\000(\192\000\000\000\000\000\0003\030\000\000\000\000\000\000\000\254\000\0003D\000\000\000\000\000\0003\168\000\000\000\000\002\188\000\000\024(\000!\001\174\000\000\003\024\000\000\013Z\002\026\007x\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\194\000\000#X\"\002\008\020\000\000\000\000\000\000-$\000\000-*\000\000-\172\000\000#\140$\016\008\190\0001\0086\000\000\000\000\000\000\003\200\000\000\000\000\001P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\226\000\000\000\000\000\000\000\000 ,\000\000$\226\000\000\000\000\000\000\000\000\000\000\000\000\013\232\000\000\003N\000\000\000\000\000\000\024b\005\018\000\000\024\156\000\000\000\000\013\168\000\000\005\248\000\000\000\000\014>\000\000\024\214\000\000\000\000 \238\000\000\000\000\000\000\n0\000\000\000\000\006\152\000\000\000\000\025\188\000\000\000\000\000\000,\206\000\000\000\000\000\000\025\208\000\000\000\000\000\000\000\000-\178\000\000\000\000\000\000\000\000\005v\016\154\000\000.0\000\000\000\000\000\000\000\000\000\000\000\000\014\180\000\000\000\000\006\022\000\000\015\250\000\000\n0\000\000\000\000\004\138&N\000\000\006\218\000\000\000\000\000\000\000\000\003z\000\000$\248\000\000\0260\004v\026j\000\000\005z\000\000\016p\000\000\016\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\028\026\164\005\200\026\222\000\000\000\000\000\000\006D\000\000\017\200\000\000\007N\000\000\000\000\n0\002\180\028r\000\000\007\220\000\000\018>\028\172\000\000\000\000\018\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\168\007\178\000\000\007\216\000\000\000\000\000\000\000\000\007\250\000\000\019\152\000\000\000\000\000\000 \0243\232\000\000\000\000\000\000\030~\000\000\000\000\000\000\000\000\002\212\006\154\000\000\000\000.4\000\000\000\000\003\212\000\000\006\190\000\000\000\000\026\000\000\000\000\000\000\000.6\000\000\000\000\000\000\000\000.\140\000\000\000\000\006n\007\000\000\000\000\000.\206\000\000\000\000\007\244!\022\000\000\007L\000\000\000\000.\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\020\000\000\000\000\000\000\000\n\000\000\000\000\t\028\000\000\000\000\027\254\000\000\000\000\000\000/\198\000\000\000\000\000\000\000\000/\230\000\000\000\000\007R\tX\000\000\000\000/\236\000\000\000\000\008~\000\000\000\000\000\000\000\000\003z\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\238\000\000\020\012\000\000\000\000\000\0004\152\000\000\tH\000\000\000\000\000\000\004\208\000\000\005\206\000\000\000\000\008\132\020\128\000\000\021f\000\000\000\000\000\000\008\156\000\000\n@\008\162\012@\000\000\013\216\000\000\000\000\000\000\008\176\000\000%D\008\206%\210\000\000%\232\000\000\000\000\000\000\008\210\000\000\0164\008\208\000\000\000\000\n\020\008\244\n\254\000\000\019$\000\000\000\000\000\000\t\016\000\000\018\002\t \000\000\000\000\000\000\003\172\000\000\000\000\000\000\004\210\000\000\000\000\000\000\000\000\000\000\000\000\005X\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\\\000\000\000\000\003(\000\000\000\000\013$\000\000\000\000\000\000\000\000\003\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013(\000\000\000\000\013\012\000\000\013d\000\000\000\000\000\022\000\000\005d\012\194\002\018\000\000\000\000\006\232\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\013\194\000\000\000\000\000\000\t*\000\000\000\000\011\226\011\250\000\000\000\000\000\000\000\000\0154\020\222\000{\000\000\024D\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\008\198\000\000\000\000\012\136\000\000\000\000\000)\000\000\000\000\014\014\000\000\000X\000\000\000\000\000\000\000\000\013@\001,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\158\024x\000\000\000\000\000\000\000\000\029\002\000\000\000\000\024\006\000\000\013B\000\000\000\000\000\000\005\244\000\000\000\188\000\000\000\000\000\000\016\238\000\000\000\000\t\244\031r\000k\000\000\031\132\000\000\000\000\000\000\000\000\013\006\000\000\000\000\000\000\006\200\000\000\008\002\006\252\001\154\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\007\020\000\000\004\174\013F\005:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\026\000\000\000\000\019\222\031\148\000\000\000\000\000\000\000\000\008\016\000\000\005X\011\130\000\000\024<\000\000\000\000\000\000\000\000\000\000\002\162\026\136\000\000\000\000\029\026\000\000\000\000\000\000\000\000\020\168\000\000\030\218\000\000\000\000\000\000\000\000\000c\000\000\000\000\000\000\004\166\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000T\013\184\015\006\017\214\000\000\004\148\t.\t\152\t\222\000\000\000\000\000\000\000\000\000\000\000\000\006\024\021\218\000\000\027\024\008\172\000\000\000\000\t\250\000\000\022\020\000\000)P\000\000\000\000\006*\022N\000\000\028\230\000\000\008,\029 \000\000\000\000\000\000\002\200\015p\000\000\000\000\000\000\000\000\tb\000\000\019f\000\000\005\186\004\018\000\000\000\000\000\000\003\012\000\000\003r\000\000\008\210\000\000\000\000\005\178\000\000\000\000\000\000\000\000\t\130\000\000\000\000\n\016\000\000\023\238\000\000\021P\013\012\000\000\000\000\000\000\000\000\000\000\0032\000\000\000\000\000\000\000\000\000\0000j\000\000\002J\000\000\000\000\000\000\000\000\000\000\000\200\000\000\t\246\t\226\011H\000\000\002\142\011\196\000\000\n&\000\000\003\002\000\000\004r\000\000\004\230\000\000\021P\000\000\000\000\000\000\000\000\000\000\005Z\000\000\n2\000\000\006\202\000\000\021P\013n\000\000\000[\000\000\013\\\012\\\000\000\008\208\000\000\t2\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\004\000\000\n(\000\000\000\000\000\000\000\000\000\000\000\000\013x\000\000\000\000\012\144\000\000\000\000\012z\008\246\013\184\000\000\013\188\000\000\000\000\006\146\003\238\000\000\012\160\000\000\000\000\012\230\000\000\000\000\000\000\000\000\000\000\000\000\013\178\000\000\000\000\000\000\012\194\012\178\n\030\t\180\012\206\013\006\000\000\000\000\012\190\n,\nf\012\228\013\"\000\000\000\000\t\152\000\000\000\000\000\000\000\000\013\240\000\000\000\000\000\000\013\242\000\000\000\000"), (16, "\003l\003\131\000\018\005\244\000_\000a\001\225\000e\005\159\005i\005j\005\141\006\254\006;\006<\000_\005\224\005i\005j\002\164\004Y\004A\0062\000_\005\241\005\177\006\255\002\164\000\017\003l\003\131\006@\0017\005\142\005i\005j\005:\000\138\001g\000\004\001h\000\149\001\212\000\025\000g\006E\001\140\005\178\006F\005\181\005i\005j\005z\000_\000J\004\019\000_\003n\003l\003\131\000\007\003o\000\005\003N\006J\006o\000_\000a\000b\000e\005k\006p\001B\000_\005x\000\024\003:\006q\005k\004\018\005{\005i\005j\000\005\000\140\006\026\003n\006C\0026\001g\003o\001h\000\140\000\140\002=\005k\001i\000\141\000\138\001.\001j\000\142\000\149\0010\005\191\005\192\000g\0028\004\136\001\141\003\136\005k\001\181\004\019\0064\003n\003l\003\131\001\"\003o\006C\001\192\000J\000_\000a\001\t\000e\000\151\001w\006\169\003\231\000_\001\027\005\242\005\193\006q\006\170\004\018\0029\003\136\003\197\003\198\005k\005\194\000\140\001\213\003\253\001i\003U\007\007\000_\001j\001\194\000\140\005\191\005\192\003|\006 \000\141\006s\001\186\004\002\000\142\000g\000K\004\003\004\020\0024\003}\004\138\004g\004\019\000\028\003n\004\020\001\012\002=\003o\006t\001w\004U\003\232\006\189\000 \005\215\003|\000h\000J\000\151\004.\001/\001\188\001\214\005\194\001/\006*\004\007\003}\000\004\001\015\004B\0016\004a\005\145\003\253\000\152\001x\004\028\005\008\003\138\004x\000\031\0049\003\140\003|\004\028\000_\005\195\004!\004\002\0049\000\005\000_\004\003\004\020\006u\003}\000\153\003\197\003\198\004\224\000\008\001\217\006\190\006v\003\141\000\"\001\012\006\143\000J\003\142\001%\003\140\0011\003\143\000_\001\028\001\181\001\029\003\144\000\203\001\229\000\154\000\203\004\007\005\240\002\165\001x\004\023\006\145\000$\001\015\003\253\0016\003\141\004\028\000\152\004\252\006\147\003\142\0049\003\140\003|\003\143\001}\000\155\005\241\004\002\003\144\000_\000\194\004\003\004\020\006\191\003}\003l\003\131\000_\000\153\000\157\001\143\002H\006v\003\141\001\012\001\213\006\193\000\144\003\142\001g\000_\001~\003\143\001\172\002\164\004Y\004A\003\144\000_\000a\0019\000e\004\007\000\154\005~\002\246\004\023\006\195\001\015\002,\0016\000_\001g\004\028\001h\001\145\006\197\000_\0049\003\140\001\223\000_\000a\001>\000e\000_\000\155\000(\001\013\001\148\004\019\000\156\003n\003l\003\131\001\189\003o\000\203\000g\003\234\000\157\003\141\001\"\001\141\000\140\003\200\003\142\001i\000_\006\026\003\143\001j\006q\006\175\004A\003\144\001\027\000g\002=\002\245\001g\000g\001\203\002H\000\138\000g\006\163\000\140\000\147\006\164\001i\003\236\004z\005\251\001j\005\242\001\131\000_\006A\001w\005\188\006M\005\004\000_\004h\003\136\005\127\001\181\004\019\0026\003n\003l\003\131\004\246\003o\005\252\005\255\005i\005j\003\197\003\198\003-\001w\003F\006\186\000*\000_\001\189\002:\000\203\006q\006\175\004A\000J\003)\000\140\001\186\002\165\001i\000\140\006\168\003\253\001j\004\163\000\141\000_\003\197\003\198\000\142\006\"\001\191\003|\000\203\005e\000J\000\013\004\002\005\245\001\234\0029\004\003\004\020\000_\003}\004\132\004j\004\019\001\187\003n\005f\001w\000J\003o\002\166\000\151\004U\001\236\001x\005k\006%\000\016\000\017\006\180\005\168\001\231\001%\000\203\001&\001\204\001\012\001\028\004\007\001\029\003:\000\203\004B\006C\004a\005\006\003\253\001x\001\134\004\028\006\155\006\156\004x\001\192\0049\003\140\003|\001\026\0017\001\012\001\015\004\002\0016\005\130\000/\004\003\004\020\006\181\003}\000J\001\144\001\027\000_\001\233\000J\000\203\006v\003\141\005h\001\015\004\005\0016\003\142\001\015\001\193\0016\003\143\001\015\001E\0016\000\251\003\144\001\145\003\199\005f\001x\004\007\001\146\003G\000\152\004B\001\147\006\183\006\160\003\253\006N\001\148\004\028\006\240\000_\006\185\000h\0049\003\140\003|\001\145\006B\001\186\003:\004\002\004\n\000\153\002H\004\003\004\020\006\181\003}\002\193\001-\001\150\002\197\000\005\006(\002\193\006v\003\141\002\197\001\"\004\005\006r\003\142\003F\003l\003\131\003\143\004\169\000\183\004\186\003\139\003\144\000h\001\027\004\247\003;\004\007\003*\005o\000_\004B\006C\006\183\006q\006\175\004A\004[\004\028\000J\002;\006\185\000\155\0049\003\140\001g\000\184\001h\006~\004\249\000\185\006R\001(\003l\003m\002\238\000\157\001<\001\028\002\198\001\029\000\140\000\203\002\199\005p\002\198\003\141\003@\003\233\002\199\004\019\003\142\003n\003l\003\131\003\143\003o\005\169\0003\000\203\003\144\000_\000a\001\219\000e\003D\006\182\000J\000_\006\005\005Z\006\006\006q\006\175\004A\005\172\000_\000a\0020\000e\000\140\000h\000J\001i\003;\004\015\000J\001j\000\140\001\237\003n\001g\005[\001~\003o\004\016\005^\005i\005j\003\232\006\007\000g\004P\000_\000a\002?\000e\001\236\004\019\006\008\003n\003l\003\131\001$\003o\001w\000g\000J\001\028\002\239\001\029\001g\000\203\001h\006\184\004\181\000_\000\004\0002\001O\006q\006\175\004A\004R\0066\0067\002\212\003\019\003$\003\022\0017\003\253\002\212\000g\005q\002\242\000\140\004[\002\213\001i\000\005\003|\0005\001j\002\213\006\127\004\002\006\128\005k\000\203\004\003\004\020\006\181\003}\005X\005Y\004\019\003\025\003n\004c\000_\006v\003o\002\245\000J\004\005\000\140\001l\001\131\001i\004:\001w\006\192\001j\000_\005\007\004m\006V\002\164\003|\000\138\004\007\001u\001x\000\149\004B\000h\006\183\005\133\003\253\004\022\003}\004\028\003\197\003\198\006\185\0007\0049\003\140\003|\004\016\001w\003\197\003\198\004\002\004G\005\213\002\247\004\003\004\020\006\181\003}\004\251\002\247\003N\004\016\000;\002\031\000J\006v\003\141\002\248\001\012\004\005\005\134\003\142\006\134\002\250\005\211\003\143\001\215\005\214\005i\005j\003\144\000\140\003\168\001\012\004m\004\007\000\141\003l\003m\004B\000\142\006\183\001\015\003\253\0016\001x\004\028\001\145\005l\006\185\0017\0049\003\140\003|\003\141\005q\001\132\001\015\004\002\0016\001\012\001\152\004\003\004\020\006\181\003}\000\151\005\006\003\144\001\134\000h\000=\000J\006v\003\141\001x\000J\004\005\000?\003\142\000J\003l\003\131\003\143\001\015\004^\0016\006\131\003\144\005k\004\187\001\144\000\140\004\007\003n\005\t\000_\004B\003o\006\183\006q\006\175\004A\000J\004\028\006\002\005\235\006\185\000C\0049\003\140\000J\000J\001\145\0014\000B\006Z\000E\001\146\003l\003m\004\020\001\147\004o\002B\006h\000J\001\148\005\233\005\129\000J\000J\003\141\005\236\005i\005j\004\019\003\142\003n\003l\003\131\003\143\003o\001\145\000\152\006\136\003\144\002\193\005\254\006\127\002\197\006\128\006\196\000\203\000_\005\008\000G\001\154\002\164\004Y\004A\005\241\004\028\000J\0017\004!\000\153\0049\003l\003\131\005\252\005\255\005i\005j\000\140\006\241\003n\001g\006\132\001~\003o\005]\000h\000_\004P\004r\000h\002\164\004Y\004A\000h\000\154\000J\003|\004\019\005k\003n\003l\003\131\000_\003o\000J\002\238\005[\004\230\003}\002\198\005^\005i\005j\002\199\005\127\000_\002x\000\155\004Q\002\164\004Y\004A\000\193\004u\000h\000h\004\019\004\249\003n\001\018\003\253\000\157\003o\001C\000L\000\140\005k\0030\001i\002\143\003|\004z\001j\000h\002\201\004\002\004\147\006\248\004u\004\003\004\020\006\181\003}\006\026\004w\004\019\004\016\003n\003\197\003\198\006v\003o\002=\002\166\004\005\000J\000J\001\"\004%\004\164\001w\002\193\005k\005\247\002\219\003\130\000h\005\251\003|\004v\004\007\001\027\000N\000J\004B\000_\006\183\004\172\003\253\002\239\003}\004\028\004\141\000Q\006\185\000J\0049\003\140\003|\005\252\005\255\005i\005j\004\002\000J\002\210\002\212\004\003\004\020\002\241\003}\004\255\004g\004}\000h\002\242\004\141\003\253\002\213\003\141\004\188\000J\004\005\004\143\003\142\005\248\000\140\003|\003\143\004\236\002\198\000S\004\002\003\144\002\199\006^\004\003\004\020\004\007\003}\004e\004g\004B\002\245\004a\004\016\003\253\004\142\001x\004\028\001\"\004\005\004!\000_\0049\003\140\003|\003~\004\197\005\249\004\238\004\002\005k\006\027\001\027\004\003\004\020\004\007\003}\004\140\004g\004B\001\142\004a\005\171\002\236\003q\003\141\004\028\000W\004\005\004!\003\142\0049\003\140\006m\003\143\002\247\001\228\000J\001%\003\144\001+\000h\001\144\001\028\004\007\001\029\004\236\000\203\004B\002\248\004a\003l\003\131\003z\003\141\004\028\006\214\006R\004!\003\142\0049\003\140\003\215\003\143\001\145\000d\000_\005\141\003\144\001\146\002\164\004Y\004A\001\147\001g\002\212\001h\004\237\001\148\003\230\003l\003\131\000\205\003\141\000J\002\167\005\016\002\213\003\142\005\142\005i\005j\003\143\000\208\001g\000_\001h\003\144\005\019\002\164\004Y\004A\005\026\003+\005\018\006\214\004\019\002H\003n\005\029\006R\001g\003o\001h\000J\002\193\005\018\006\030\002\197\000\140\005\028\001%\005$\0033\005'\005*\001\028\005\028\001\029\000\140\000\203\007\015\001i\006\238\006\133\004\019\001j\003n\003l\003\131\005&\003o\005&\005\028\0052\006R\007\016\003\234\006\172\000\140\006a\005k\001i\000_\000\212\000\211\001j\006q\0055\004\018\004\016\006\144\0054\005\232\001w\0058\000\140\002\166\000_\001i\000\140\004\016\002\164\001j\002\198\001g\0054\001~\002\199\003\237\003\238\003\240\006\172\005\028\001w\005\233\006\221\000J\006\172\000\214\005\236\005i\005j\004\019\000h\003n\005\169\003\253\000\203\003o\006\187\001w\002\166\000_\000a\002D\000e\003|\003N\000\216\006\214\006\188\004\002\006U\000\220\002\193\004\003\004\020\002\197\003}\005\003\004g\003:\005\250\000h\006\132\003\253\007\003\006\214\000\222\000\140\004\005\006x\001i\006\178\006\215\003|\001j\004\215\000\225\006\194\004\002\001x\000g\006\249\004\003\004\020\004\007\003}\006\141\004g\004B\005k\004a\002\193\000\229\000\228\002\197\004\028\005\148\004\005\004!\001x\0049\003\140\001w\006T\001\192\004\231\000\231\000\140\002\212\000_\000f\002\198\000e\004\007\000\233\002\199\001x\004B\007\002\004a\002\213\003\253\000_\003\141\004\028\007\t\002\164\004!\003\142\0049\003\140\003|\003\143\006\248\000h\001\194\004\002\003\144\006S\000\237\004\003\004\020\006\174\003}\003l\003\131\002\238\001y\000\239\000g\002\198\006v\003\141\007\n\002\199\006\177\004\020\003\142\000\241\000_\000\245\003\143\003N\006q\000\244\004\018\003\144\001\145\000\247\000h\000\249\004\007\004.\000\252\000\254\004\023\006\179\006\217\003H\000\138\001x\001\156\004\028\000\147\001\145\006\185\001\000\0049\003\140\002\247\005-\001\002\006\011\001\006\000_\006\219\003L\004\028\001\158\004\019\004!\003n\0049\002\252\005\021\003o\003l\003\131\002\212\001F\003\141\001\012\001\011\0043\001;\003\142\005\177\006\173\001A\003\143\002\213\000_\006\248\001@\003\144\006q\001\144\004\018\001\222\006\249\002\239\0047\001\221\001\227\000\140\001\015\006\249\0016\005\178\000\141\005\181\005i\005j\000\142\001\241\001\244\001\248\002\212\001\145\001\247\003\029\001\250\005\141\001\146\001\252\002\000\002\242\001\147\002\002\002\213\002\005\004\019\001\148\003n\005\141\002\t\002\008\003o\001g\000\151\001~\002\011\002\013\004\020\005\142\005i\005j\003l\003\131\006\176\001\012\002\017\002\019\002\021\002\245\002\025\005\142\005i\005j\002\247\003\253\001g\000_\001|\002\024\000\138\002\164\002\027\004\018\000\139\003|\002\029\005k\002\254\001\015\004\002\0016\005/\002 \004\003\004\020\006\174\003}\002\"\004\028\002$\002&\004!\002*\0049\006v\003 \0023\000\140\006\177\001g\001i\001{\002\247\0022\001j\002A\004\019\002G\003n\002F\005k\002\138\003o\002J\004\007\002M\002\248\002Q\004\023\006\179\000\140\000\152\005k\001i\000\140\004\028\003\253\001j\006\185\000\141\0049\003\140\001w\000\142\002P\002S\003|\002U\001T\002Y\005\011\004\002\002[\000\153\004\135\004\003\004\020\006\174\003}\002^\002b\002a\002d\003\141\000\140\001w\006v\001i\003\142\000\151\006\177\001j\003\143\001\195\002f\000\203\002j\003\144\000\183\000_\000a\002\134\000e\002l\002n\002r\004\007\002q\002t\002v\004\023\006\179\005\201\003l\003\131\002y\002{\004\028\002}\001w\006\185\000\155\0049\003\140\002\127\000\184\002\131\003\253\000_\000\185\002\137\002\136\002\164\002\142\004\018\000\157\002\148\003|\002\147\000g\001x\005c\004\002\005w\005\139\003\141\004\003\004\020\005\154\003}\003\142\005v\005\132\005\174\003\143\005\190\005\209\005\231\006\004\003\144\005\152\004|\006\153\001x\005\023\005x\006\199\000\152\004\019\006\203\003n\005{\005i\005j\003o\000_\001g\004\007\001~\006M\006\222\004\023\004~\006\226\003l\003\131\001\144\002\166\004\028\000\153\006\231\004!\004\011\0049\003\140\006\232\005\144\001x\006\237\000_\006\236\006\244\004\133\002\164\004\013\004\018\004\135\000J\001\145\001g\006\246\001h\006\252\001\146\000\181\007\000\003\141\001\147\005\142\005i\005j\003\142\001\148\007\001\007\004\003\143\007\005\003l\003\131\007\008\003\144\000\140\005\180\005k\001i\007\011\004\025\000\155\001j\004\019\007\012\003n\000_\007\020\007\024\003o\002\164\004\026\004A\000\000\000\000\000\157\000\000\000\000\005\178\000\000\005\181\005i\005j\003\253\000_\000a\002\140\000e\000\140\000\000\001w\001i\000\000\003|\001\012\001j\000\000\000\138\004\002\000\000\000\000\000\139\004\003\004\020\005k\003}\004\019\000\000\003n\000\000\003l\003\131\003o\000\000\000\000\000\000\000\000\004|\001\015\004D\0016\000\000\000\000\001w\000g\000_\000\000\000\000\000\000\002\164\004\026\004A\000\000\004\007\000\000\000\138\000\000\004\023\004~\000\139\000\000\000h\005k\002\193\004\028\000\000\002\197\004!\000\000\0049\003\140\000\000\000\140\000\000\003\253\000\000\000\000\000\141\000\000\005\135\006X\000\142\000\000\000\000\003|\004\019\000_\003n\001x\004\002\006M\003o\003\141\004\003\004\020\000\000\003}\003\142\000\138\000\000\000\138\003\143\000\139\000\000\000\147\003O\003\144\000\151\004F\000\000\000\140\000\000\005\025\000\000\006O\000\141\000\203\003\253\000\140\000\142\000\000\001x\002\198\003S\004\007\005\141\002\199\003|\004\023\004H\000\000\000\000\004\002\000\000\001\144\004\028\004\003\004\020\004J\003}\0049\003\140\000\000\006R\000\000\000\151\000\000\005\142\005i\005j\000\000\004\005\000\000\000\140\000\000\000\140\001\145\000\000\000\141\002\166\000\141\001\146\000\142\003\141\000\142\001\147\002\193\004\007\003\142\002\218\001\148\004B\003\143\004C\000\000\001\012\003\253\003\144\004\028\003:\000\000\004!\000\000\0049\003\140\000\152\003|\000\000\000\151\001\145\000\151\004\002\000\000\003l\003\131\004\003\004\020\000\000\003}\001\015\000\000\0016\004I\001\160\000\000\000\000\003\141\000\153\000_\005k\004\005\003\142\002\164\004\026\004A\003\143\000\000\000\000\000\000\002\212\003\144\000\140\001g\000\152\001~\002\198\004\007\000\000\000\000\002\199\004B\002\213\004C\000\000\005\251\000\000\001g\004\028\001z\005\251\004!\000\000\0049\003\140\000\000\000\153\000\000\006W\004\019\000\000\003n\000\000\003l\003\131\003o\000\155\005\252\005\255\005i\005j\003&\005\252\005\255\005i\005j\003\141\000\152\000_\000\152\000\159\003\142\002\164\004Y\004A\003\143\000\000\000\000\000\140\000\000\003\144\001i\006O\000\000\000\203\001j\002\234\000\000\000\000\000\153\000h\000\153\000\140\003;\001Q\001i\000\000\000\000\000\000\001j\006V\002\247\000\000\000\000\000\000\000\000\000\000\000\000\004\019\002\166\003n\003l\003\131\001w\003o\003\000\000\183\000\000\005\165\000\000\005k\000\000\001g\002\212\001h\005k\000_\001w\000\000\000J\002\164\004Y\004A\000\000\003@\002\213\000\000\000\155\000\138\000\155\003\253\000\000\000\139\000\184\000\000\005\177\000\000\000\185\000\000\000\000\003|\000\161\003D\000\157\000\000\004\002\000\000\000\000\000\000\004\003\004\020\002\193\003}\000\000\002\197\000\000\004\019\005\178\003n\005\181\005i\005j\003o\000\000\004\005\000\000\000\000\000\140\000\000\000\000\001i\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\004\007\001x\000\000\000\140\004B\000\000\004C\000\000\000\141\003\253\000\000\004\028\000\142\000\000\004!\001x\0049\003\140\000\000\003|\000\000\000\000\001w\000\000\004\002\005)\002\238\000\000\004\003\004\020\002\198\003}\000\000\004`\002\199\003l\003\131\006\t\000\151\003\141\000\000\005k\006\014\004\005\003\142\000\000\000\000\001\144\003\143\000h\000_\000\000\000\000\003\144\002\164\004Y\004A\000_\000\000\004\007\000\000\006M\000\000\004B\001g\004a\001~\003\253\000\000\001\145\004\028\000\000\000\000\004!\001\146\0049\003\140\003|\001\147\000\000\000\000\000\000\004\002\001\148\000\000\000\000\004\003\004\020\000\000\003}\004\019\004b\003n\004;\003l\003\131\003o\000\000\003\141\000\000\001x\004\005\000\000\003\142\000\000\003l\003\178\003\143\000\000\000_\002\239\004?\003\144\002\164\004\127\004A\000\152\004\007\000\000\000\140\000\000\004B\001i\004a\000\000\000\000\001j\002\212\004\028\002\193\003\026\004!\002\197\0049\003\140\001g\002\242\001h\000\153\002\213\000_\000a\002\145\000e\000\000\000\000\000\000\005\219\000\000\004\019\000\000\003n\003l\003\131\001w\003o\003\141\000\000\003\028\000\138\000\140\003\142\003n\000\139\002\245\003\143\003o\000_\001\145\000\000\003\144\002\164\004\127\004A\000\000\000\000\000\000\000\000\000\000\000\000\000g\003\253\001\162\000\000\000\140\004\129\001\197\000\000\002\198\000\000\000\140\003|\002\199\001i\000\000\000\000\004\002\001j\000\000\000\000\004\003\004\020\003\"\003}\000\000\004t\000\000\004\019\002\247\003n\000\000\000\000\000\000\003o\000\140\004\005\000\000\000\000\006N\000\141\000\000\000\000\002\248\000\142\000_\001w\000\000\000\000\002\164\000\000\000\000\004\007\001x\000\000\000\000\004B\000\000\004a\003l\003m\003\253\000\000\004\028\004\131\000\000\004!\000\000\0049\003\140\000\151\003|\000\000\006O\000\000\000\203\004\002\0057\000_\000\000\004\003\004\020\003|\003}\000\000\003N\000\000\000\000\003l\003\131\000\000\003\141\000\000\000\000\003}\004\005\003\142\004\149\000\000\001\144\003\143\000\000\000\000\000_\000\000\003\144\002\212\002\164\004\026\004A\000\000\004\007\000\000\000\000\000\140\004B\003n\004\130\002\213\003\253\003o\001\145\004\028\000\000\001x\004!\001\146\0049\003\140\003|\001\147\000\000\001\012\000\000\004\002\001\148\000\000\000\000\004\003\004\020\000\000\003}\000\000\004\019\006\134\003n\003l\003\131\000\152\003o\003\141\000\000\005\177\004\005\000\000\003\142\001\015\002\193\0016\003\143\002\197\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\004\007\000\153\000\000\000\000\004B\005\178\004\130\005\181\005i\005j\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\002\215\000\000\000\000\000\000\000\000\001\145\001g\000\000\001h\004\020\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\001\164\003o\003\141\000\000\000\000\002\193\000\140\003\142\002\217\003|\002\198\003\143\000\155\000_\002\199\000\000\003\144\002\164\000\000\004\018\000\000\003}\000\000\000\000\0051\000\000\000\163\000\000\003\253\004\253\000\000\004\028\005k\004\135\004!\001g\0049\001h\003|\000\000\000\000\000\000\000\140\004\002\005\232\001i\000\000\004\003\004\020\001j\003}\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\140\006\137\004\005\006\138\002\198\006\127\005\233\006\128\002\199\000\203\000\000\005\236\005i\005j\000\000\000\138\005\141\001w\004\007\001\209\000\000\000\000\004B\000\000\004C\000\000\003\253\005\013\003\141\004\028\000\140\004\135\004!\001i\0049\003\140\003|\001j\005\142\005i\005j\004\002\003\146\000\000\000_\004\003\004\020\002\212\003}\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\003\141\000\000\002\213\004|\006R\003\142\000\000\000\000\001w\003\143\000\000\000_\000\000\000\140\003\144\002\164\005k\004\018\000\141\004\007\002\166\006\020\000\142\004\023\004~\000\000\000\000\003\253\000_\001\014\004\028\000e\000\000\004!\000\000\0049\003\140\003|\001x\000\000\003:\000\000\004\002\005k\002\212\000\000\004\003\004\020\000\151\003}\000\000\004\019\001\"\003n\003l\003\131\002\213\003o\003\141\000\000\000\000\004|\000\000\003\142\000\000\000\000\001\027\003\143\000g\000_\000\000\002\214\003\144\002\164\000\000\004\018\000\000\004\007\000\000\000\000\000\000\004\023\004~\003l\003\131\005\015\001x\000\000\004\028\004\135\000\000\004!\006c\0049\003\140\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\004\026\004A\000\000\001\145\000\000\001g\004\019\001h\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\006/\001\166\003\142\000\000\000\000\000\000\003\143\000\152\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\197\000\000\000\000\004\019\000\000\003n\000\000\003\253\006[\003o\000\000\000\000\004\135\000\153\000\000\000h\005\163\003|\004.\001\145\000\000\000\000\004\002\000\000\000\000\006V\004\003\004\020\000\140\003}\000\000\001i\004\019\001\168\003n\001j\000\000\000\000\003o\000\000\001%\004|\003=\002\193\000\000\001\028\002\197\001\029\000\000\000\203\000\000\000\000\000\140\000\000\000\000\000\000\002\198\004\007\000\000\0043\002\199\004\023\004~\001w\001\012\003\253\006i\000\000\004\028\000\000\004\135\004!\000\000\0049\003\140\003|\000\000\0047\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\001\015\000\000\0016\000\000\000\000\000\000\003\253\000\000\003\141\000\000\002\238\004|\000\000\003\142\002\198\000\000\003|\003\143\002\199\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004\005\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\001x\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\000\000\002\212\003\141\004\028\000\000\004|\004!\003\142\0049\003\140\000\000\003\143\000\000\002\213\000\000\000\138\003\144\002\193\000\000\000\139\002\216\004\007\000\000\000\000\000\000\004\023\004~\000\000\000\000\000\000\002\239\003\141\004\028\003l\003\131\004!\003\142\0049\003\140\000\000\003\143\000\000\006\146\000\000\000\000\003\144\000\000\002\212\000_\000\000\003\026\000\000\002\164\004\026\004A\000\000\002\242\001\145\000\000\002\213\003\141\004\144\003l\003\131\000\000\003\142\000\000\000\000\000\000\003\143\000\140\001\174\000\140\005\210\003\144\000\141\002\198\000_\003\028\000\142\002\199\002\164\002\247\004A\002\245\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\005\211\003\002\000\000\005\214\005i\005j\000\000\005\251\004E\000\000\000\151\000_\005\141\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\003!\003o\005\252\005\255\005i\005j\002\247\005\142\005i\005j\004\017\005\141\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\002\248\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\005\142\005i\005j\000\000\000\000\005k\004\027\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\002\212\000\000\004\019\000\000\003n\000\000\003\253\000\000\003o\000\000\000\152\000\000\002\213\000\000\005k\000\000\003|\000\000\005k\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\153\003n\000\000\003\253\000\000\003o\000\000\000\000\004\005\000\000\000\000\000\000\005k\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\003\253\000\000\000\000\004\028\000\000\004\146\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\155\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004\148\005\216\003\253\000\165\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000_\000\000\004\023\004\024\000\000\006\028\003\253\000\000\003\141\004\028\005\161\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000_\004\003\004\020\004\007\003}\000\000\000\000\004\023\004\024\003l\003\131\000\000\005\199\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\004\024\003l\003\131\000\000\001\"\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\001\027\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\001\"\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\001\027\003\143\000\000\000_\005\251\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006_\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\001%\003\253\004(\003o\000\000\001\028\000\000\001\029\000\000\000\203\001%\003|\0040\000\000\005k\001\028\004\002\001\029\000\000\000\203\004\003\004\020\000\000\003}\000\000\000\000\004\019\000\000\003n\004d\003\253\000\000\003o\000\000\001%\004]\004\175\000\000\000\000\001\028\003|\001\029\000\000\000\203\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\000\000\004\\\003\253\000\000\000\000\004\028\000\000\004]\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\004p\000\000\003\253\000\000\003\141\004\028\000\000\004q\004!\003\142\0049\003\140\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004s\000\000\004n\003\253\000\000\003\141\004\028\006#\004]\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\003l\003\131\000\000\000\000\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\001\"\004\007\000\000\000\000\000\000\004\023\006b\003l\003\131\000\000\000\000\003\141\004\028\000\000\001\027\004!\003\142\0049\003\140\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\000\000\000\000\000\000\003\142\000\000\006k\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\003l\003\131\000\000\003o\000\000\000\000\004{\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000_\005\141\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\005\251\003n\000\000\000\000\000\000\003o\000\000\000\000\004\128\000\000\000\000\005\142\005i\005j\000\138\000\000\000\000\000\000\001V\000\000\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\004\019\000\000\003n\001%\003\253\004\218\003o\000\000\001\028\000\000\001\029\000\000\000\203\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\138\003}\000\000\000\000\000\147\000\000\000\000\000\000\003\253\000\000\000\000\000\000\000\000\004|\000\000\000_\000\140\000\000\003|\000\000\005k\000\141\000\000\004\002\000\000\000\142\000\000\004\003\004\020\004\007\003}\000\000\005k\004\023\004~\000\000\000\000\003\253\000\000\000\000\004\028\000\000\004|\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\151\004\002\000\000\000\000\000\140\004\003\004\020\004\007\003}\000\141\000\000\004\023\004~\000\142\000\000\003\253\000\000\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\151\004\023\006b\000\000\000\000\003l\003\131\003\141\004\028\000\000\006`\004!\003\142\0049\003\140\000\000\003\143\000\000\000\000\000\000\000_\003\144\000\000\000\000\004\162\000\000\004\007\000\000\003l\003\129\004\023\006b\000\000\000\000\000\000\000\000\003\141\004\028\005\204\000\152\004!\003\142\0049\003\140\000\000\003\143\000\000\004\193\000\000\006&\003\144\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\196\000\153\003n\000\000\000\000\003\141\003o\000\000\000\000\000_\003\142\000\000\000\000\000\138\003\143\003l\003\128\000\147\000\152\003\144\001g\005\251\001h\000\140\004\202\003n\000\000\000\000\000_\003o\000\000\000\000\000\197\000\198\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\005\252\005\255\005i\005j\000\000\000\000\000\140\000\000\000\000\004\239\000\000\000\141\003\136\000\000\001\181\000\142\000\138\000\202\000\000\000\203\000\147\000\000\000\183\000\000\000\000\000\140\000\000\000\140\000\000\003n\000\141\000_\000\140\003o\000\142\001i\000\000\000\000\000\000\001j\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\005\141\000\000\000\000\003|\000\157\000\151\001G\000\000\005k\005\141\000\000\000\000\001w\004\203\000\000\003}\000\140\005\141\000\000\000\000\000\000\000\141\005\142\005i\005j\000\142\003|\004\241\000\000\000\000\000\000\005\142\005i\005j\000\000\000\000\000\000\000\000\003}\005\142\005i\005j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003l\003\131\004\206\000\000\000\000\004\242\000\000\004\229\003\140\000\000\000\138\000\000\000\152\000\000\000\147\000_\000\000\002\193\000\000\004\162\002\197\003|\000\000\000\000\000\000\000_\000\197\001n\000\200\000\201\003\141\000\152\005k\003}\000\153\003\142\000\000\000\000\001x\003\143\000\000\005k\004\243\000\000\003\144\000\197\002\203\000\200\000\201\005k\000\000\000\000\000\000\000\153\000\202\004\196\000\203\003n\000\000\000\183\000\000\003o\000\000\006-\000\000\000\140\000\000\000\000\003l\003\127\000\141\000\000\000\140\000\202\000\142\000\203\002\198\000\152\000\183\004\202\002\199\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\197\003s\000\200\000\201\000\000\000\157\000\000\001G\000\153\000\151\000\155\000\000\000\000\000\000\000\184\001\145\000\138\000\000\000\185\000\000\000\147\000\000\000\000\000\000\000\157\000\000\001G\000\000\000\202\001\176\000\203\000_\000\140\000\183\003n\000\138\003l\003\131\003o\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000_\000_\000\000\000\000\000\000\004\162\000\155\000\000\005\226\000\000\000\184\000\000\000\000\000\000\000\185\003|\006\018\000\000\000\000\000\000\000\157\000\140\001G\000\000\000\000\004\203\000\141\003}\004\195\000\000\000\142\000\000\002\212\000\000\000\000\000\000\000\000\000\152\000\000\004\204\000\140\004\196\000\000\003n\002\213\000\141\000\000\003o\000\000\000\142\000\000\000\197\003\255\000\200\000\201\000\000\000\151\002\193\000\000\000\153\002\197\000\000\000\000\000\000\000\000\004\202\004\206\000\000\000\000\004\211\000\000\004\229\003\140\000\138\000\000\000\151\000\000\000\147\000\000\000\202\000\000\000\203\000\000\003|\000\183\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\003\141\003}\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\000\000\155\003\144\000\000\000\000\000\184\000\140\002\247\000\000\000\185\002\198\000\000\000\000\000\000\002\199\000\157\000\000\001G\000\000\004M\000\000\003\004\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\000\000\142\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\197\004\030\000\200\000\201\004\203\000\152\003}\000\000\000\153\000\000\000\000\002\238\000\000\003n\000\000\000\151\000\000\003o\004\204\000\197\004\208\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\001\179\001\181\000\000\000\138\000\000\000\000\000\000\000\147\000\000\004\206\000\000\000\202\004\211\000\203\004\229\003\140\000\183\000\000\000_\000\000\000\155\000\000\000\000\000\000\000\184\000\000\004S\000\000\000\185\002\212\003\136\000\000\000\000\000\000\000\157\000\000\001G\003\141\000\000\000\155\000\000\002\213\003\142\000\184\000\000\000\000\003\143\000\185\000\000\000\000\000\000\003\144\000\000\000\157\000\000\001G\000\000\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\003\253\000\142\003l\003\131\000\000\000\000\000\000\000\000\001\183\000\000\003|\000\000\000\000\000\153\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\246\005\n\003l\003\131\000\151\000\000\000\000\000\000\000\000\000\000\001\189\004U\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\002\247\000\000\003\246\004V\000\000\000\000\004\007\003l\003\131\000\000\000\000\000\000\000\000\002\238\003\006\003n\000\138\000\155\000\000\003o\000\147\000\184\000\000\003\140\000\000\000\185\000\000\002\193\003\246\004L\002\197\000\157\000\000\000\000\000\000\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003l\003m\000\000\003\144\000\000\000\152\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\140\000\000\003l\003\131\001I\000\141\000\000\000\201\000\000\000\142\000\000\000\140\000\153\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\001\210\000\000\003\246\003\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\003\253\000\203\000\151\000\000\000\183\000\000\000\000\000\140\000\000\003n\003|\000\000\000\000\003o\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\000\003}\003\253\002\238\000\000\003n\000\155\000\000\000\000\003o\000\184\000\000\003|\004\005\000\185\000\000\000\000\004\002\000\000\000\000\000\157\004\003\001G\000\000\003}\000\000\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004\005\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\003\140\004\003\000\000\000\000\003}\000\000\004\007\003l\003\131\000\000\000\000\000\000\002\212\000\152\000\000\000\000\004\005\000\000\003l\003\131\000\000\000\000\003\141\003\140\002\213\000\000\000\000\003\142\003\246\004\001\000\182\003\143\004\007\000\000\000\000\000\153\003\144\000\000\000\000\003\246\004X\003|\000\000\000\000\000\000\003\141\000\000\000\000\003\253\003\140\003\142\000\000\000\000\003}\003\143\000\000\003l\003\131\003|\003\144\000\183\000\000\002\238\004\002\003n\000\000\000\000\004\003\003o\000\000\003}\003\141\000\000\002\238\000\000\003n\003\142\003\246\005\031\003o\003\143\000\000\004\005\000\155\000\000\003\144\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\247\000\000\000\000\000\000\000\157\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\008\000\000\000\000\000\000\002\238\000\000\003n\000\000\003\140\000\000\003o\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\003\148\000\000\000\000\003\141\003l\003\131\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\003\246\005!\000\000\003\144\000\000\003\253\000\000\000\000\000\000\000\000\000\000\003\246\005#\000\000\000\000\003|\003\253\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\000\000\003|\003}\000\000\000\000\000\000\004\002\000\000\000\000\002\238\004\003\003n\000\000\003}\004\005\003o\003l\003\131\000\000\000\000\002\238\000\000\003n\000\000\000\000\004\005\003o\000\000\000\000\003\253\004\007\000\000\000\000\000\000\000\000\000\000\000\000\004O\000\138\003|\000\000\004\007\000\147\000\000\004\002\000\000\000\000\003\140\004\003\000\000\001g\003}\001h\000_\002\193\000\000\000\000\002\197\003\140\000\000\000\000\000\000\000\000\004\005\000\000\000\000\000\000\000\000\000\000\003\141\000\000\002\238\000\000\003n\003\142\000\000\000\000\003o\003\143\004\007\003\141\000\000\000\000\003\144\000\138\003\142\000\000\000\000\000\147\003\143\000\000\000\000\000\000\000\140\003\144\000\000\003\140\000\000\000\141\000_\003\253\000\000\000\142\000\000\000\000\000\140\000\000\000\000\001i\000\140\003|\003\253\001j\002\198\000\000\004\002\000\000\002\199\003\141\004\003\000\000\003|\003}\003\142\000\000\000\000\004\002\003\143\000\151\000\000\004\003\000\000\003\144\003}\004\005\000\000\003l\003m\000\000\000\140\001w\000\000\000\000\000\000\000\141\004\005\000\000\000\138\000\142\000\000\004\007\001S\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\004\007\003\253\000\000\000\000\000\000\000\000\003\140\000_\000\000\000\000\000\138\003|\000\000\000\151\000\147\000\000\004\002\003\140\003l\003m\004\003\000\000\000\000\003}\000\000\000_\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\000\004\005\003o\003\143\000\000\003\141\000\000\000\140\003\144\000\000\003\142\000\152\000\141\000\140\003\143\002\212\000\142\004\007\000\141\003\144\000\000\000\000\000\142\001x\000\000\000\000\000\000\002\213\001W\000\000\000\000\000\140\000\000\000\153\003\140\000\000\000\141\000\000\000\000\000\140\000\142\003n\000\151\000\000\000\000\003o\000\000\000\138\000\151\000\000\000\000\000\147\000\000\001Y\000\000\000\203\003\141\000\152\000\183\000\000\000\000\003\142\000_\000\000\000\000\003\143\000\151\000\000\000\138\000\000\003\144\000\000\000\147\000\000\001W\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000_\000\000\000\184\000\000\000\000\000\000\000\185\000\000\001\145\000\000\000\000\000\000\000\157\002\247\003|\000\000\001\201\002\193\000\203\000\140\002\197\000\183\001\178\000\000\000\141\000\000\003}\003\n\000\142\000\000\000\000\000\000\000\000\002\193\000\000\000\000\002\197\000\152\000\000\000\000\000\140\000\000\000\000\000\152\000\155\000\141\000\000\000\000\000\184\000\142\000\000\000\138\000\185\000\000\000\151\000\147\000\000\003|\000\157\000\153\001T\000\152\000\000\000\000\000\000\000\153\000_\000\000\000\000\003}\000\000\000\000\000\140\000\000\000\000\000\151\002\198\000\000\002\176\000\000\002\199\000\000\000\000\000\153\000\000\001\207\000\000\000\203\002\238\000\000\000\183\000\000\002\198\003\141\000\000\000\000\002\199\000\000\000\000\000\000\000\000\002\193\000\000\002\178\002\197\000\203\000\140\003\150\000\183\000\000\000\000\000\141\000\000\000\155\000\000\000\142\000\000\000\184\000\000\000\000\000\000\000\185\000\000\002\193\000\000\000\000\002\197\000\157\000\000\000\000\000\000\000\155\000\152\000\000\000\000\000\184\003\141\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\138\000\157\000\000\000\000\000\147\002\176\003\152\000\000\000\000\000\152\000\153\000\000\000\140\000\138\000\138\000\000\002\198\000\147\001R\000\000\002\199\000\000\000\000\000\000\000\000\000\000\003\\\000\000\002\239\002\212\002\195\000\153\000\203\000\000\002\238\000\183\000\000\000\000\002\198\003l\003m\002\213\002\199\000\000\000\000\002\212\003\019\003\020\003\022\000\000\000\000\003^\000\000\000\203\002\242\000\140\000\183\002\213\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\140\000\140\000\000\000\000\000\157\000\141\000\141\000\152\003\025\000\142\000\142\000\155\000\000\000\000\002\245\000\184\000\000\000\000\000\000\000\185\000\000\000\179\000\151\000\000\003\\\000\157\000\140\000\000\003n\000\153\000\000\000\000\003o\000\138\000\000\000\151\000\151\000\147\000\000\000\000\000\000\000\000\002\247\001\198\000\000\002\212\000\000\000\000\000\138\003\176\002\239\000\203\000\147\000\000\000\183\000\000\003\012\002\213\002\247\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\002\212\003\019\006e\003\022\000\000\002\248\000\000\000\000\000\000\002\242\000\155\000\000\002\213\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\003\025\000\000\000\152\000\000\002\193\000\140\002\245\002\197\000\000\000\000\000\141\001\170\000\000\000\000\000\142\000\152\000\152\000\000\000\140\001\183\000\000\000\000\000\000\000\141\000\153\000\151\000\000\000\142\002\247\003|\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\151\003}\003\014\000\000\000\000\000\000\000\000\000\000\000\000\000\183\002\247\002\193\000\138\000\151\002\197\000\000\000\147\000\000\000\000\002\238\000\000\002\173\000\183\002\198\002\248\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\155\000\000\000\000\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\003l\003m\000\000\000\185\000\138\000\000\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\152\000\000\000\000\002\238\000\140\003\141\000\000\002\198\000\000\000\141\000\000\002\199\000\000\000\142\000\000\000\152\000\000\000\182\000\000\003\154\002\232\000\000\000\153\000\000\000\000\000\000\000\000\002\238\000\152\000\000\000\000\002\198\001\183\000\000\000\000\002\199\000\000\000\153\000\000\000\151\002\239\000\000\000\140\000\000\003n\002\234\000\140\000\183\003o\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\002\212\003\024\000\138\003\022\000\000\000\183\000\147\000\000\000\000\002\242\000\000\000\000\002\213\000\155\000\000\000\138\000\000\000\184\000\183\000\147\000\000\000\185\000\000\000\000\000\151\000\000\000\000\000\157\000\155\000\000\002\239\003\025\000\184\000\000\000\000\000\000\000\185\002\245\000\000\000\000\000\000\000\155\000\157\000\000\000\000\000\184\000\000\002\212\000\000\000\185\003\026\000\000\0037\000\000\002\239\000\157\002\242\000\140\000\000\002\213\000\152\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\000\000\140\002\212\000\000\000\000\002\244\000\141\000\000\002\234\003\028\000\142\002\242\002\247\000\153\002\213\002\245\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\151\000\000\003B\002\248\000\000\000\000\003}\000\000\000\138\000\000\000\152\000\000\000\147\000\151\000\000\000\183\002\245\000\000\000\000\000\000\000\000\000\000\002\193\000\000\000\140\002\197\000\000\002\234\000\000\000\141\003\031\000\000\000\153\000\142\000\000\000\000\002\247\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\003\166\000\185\000\000\000\000\000\000\002\248\000\138\000\157\000\000\000\138\000\147\000\000\000\183\000\147\000\151\002\247\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\003J\000\000\000\142\003\141\002\248\000\000\000\000\000\140\000\152\000\000\000\155\002\198\000\000\003Q\000\184\002\199\000\000\003\156\000\185\000\000\000\000\000\152\000\000\000\000\000\157\002\234\000\000\000\000\000\151\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\140\000\000\002\234\000\140\000\000\000\141\000\000\000\153\000\141\000\142\000\000\000\000\000\142\000\138\000\000\000\000\000\138\000\147\000\000\000\183\000\147\003\219\000\000\000\000\003\221\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\000\000\151\000\138\000\000\000\151\000\000\000\139\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\182\000\000\000\185\000\000\000\000\000\153\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\004,\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\152\000\140\002\212\000\141\000\000\000\000\000\141\000\142\000\183\000\138\000\142\000\138\000\138\000\147\002\213\000\147\000\147\002\234\000\000\003\223\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\155\000\000\000\151\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\152\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\151\000\000\000\000\000\147\000\182\000\000\000\000\000\182\000\140\000\153\000\140\000\140\000\153\000\141\000\155\000\141\000\141\000\142\000\184\000\142\000\142\000\000\000\185\000\000\000\000\000\000\000\000\002\247\000\157\000\000\000\000\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\000\000\000\000\003\016\000\000\000\151\000\138\000\151\000\151\000\000\000\147\000\000\0045\000\000\000\000\000\000\000\140\000\152\000\000\000\155\000\152\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\182\000\000\000\157\002\234\000\000\000\153\000\152\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\153\000\000\000\183\000\000\000\141\000\183\000\000\000\000\000\142\000\000\000\000\000\000\000\000\004=\000\000\004\167\004\179\000\000\000\000\000\000\000\000\000\152\000\151\000\152\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\151\000\000\000\185\000\000\002\234\000\157\002\234\002\234\000\157\000\153\000\000\000\153\000\153\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\004\184\000\147\000\000\000\167\000\000\000\000\000\000\000\000\000\152\000\183\000\000\000\183\000\183\000\138\000\000\000\000\000\138\000\147\000\000\000\000\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\153\000\000\000\155\004\191\000\155\000\155\000\184\000\000\000\184\000\184\000\185\000\152\000\185\000\185\000\000\004\200\000\157\000\000\000\157\000\157\000\000\000\000\000\140\000\152\000\000\000\183\000\000\000\141\002\234\000\000\000\000\000\142\000\000\000\153\000\000\003l\003m\000\000\000\140\002\193\002\234\000\140\002\197\000\141\000\000\000\153\000\141\000\142\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\000\000\185\000\151\000\183\000\000\000\000\000\000\000\157\006\161\000\000\000\138\000\000\000\000\000\138\000\147\000\183\000\000\000\147\000\151\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\155\000\140\000\157\003o\000\184\002\198\000\000\000\000\000\185\002\199\000\000\000\140\000\000\000\000\000\157\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\000\004\222\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\000\000\151\000\000\000\000\000\000\004\227\000\000\000\000\004\234\000\000\000\000\000\000\000\000\000\152\002\234\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\140\000\000\002\234\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\000\000\000\000\000\000\183\000\000\000\000\000\138\003l\003m\000\000\000\147\000\000\003|\000\000\000\000\000\000\002\212\000\138\000\000\000\183\000\000\000\147\000\183\000\000\003}\000\151\000\155\000\000\002\213\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\152\006B\000\157\000\152\000\000\000\157\000\153\000\140\000\140\000\000\003n\000\000\000\141\000\151\003o\000\000\000\142\001K\000\140\000\000\001q\000\000\000\153\000\141\000\000\000\153\000\000\000\142\000\138\000\000\000\000\000\183\000\147\000\000\000\000\000\138\000\000\003\141\000\000\000\147\000\000\000\000\000\151\002\247\000\000\000\000\000\000\000\183\000\000\000\152\000\183\003\158\000\000\000\151\000\155\000\000\000\000\003\018\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\001\138\000\000\000\157\000\000\000\155\000\153\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\000\000\000\140\000\152\000\142\000\000\000\138\000\141\000\183\000\000\000\147\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\185\003|\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\155\000\152\003}\000\138\000\184\000\000\000\151\000\147\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\002\155\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002\159\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\155\000\138\000\000\000\000\000\184\000\147\000\183\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\183\000\000\000\000\000\138\000\141\000\000\000\151\000\147\000\142\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\000\000\155\003\160\000\152\000\157\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\151\002\206\000\000\000\157\000\000\000\140\000\153\000\000\002\221\000\000\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\140\000\000\000\000\003l\003m\000\141\000\000\000\183\000\138\000\142\000\000\000\000\000\147\000\000\000\183\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\152\000\138\000\147\000\000\000\155\000\147\000\000\000\000\000\184\000\151\000\000\000\155\000\185\000\000\000\000\000\184\000\000\002\223\000\157\000\185\000\000\000\000\000\153\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\000\000\000\000\140\000\142\003n\000\000\000\000\000\140\003o\000\000\000\000\000\000\000\141\000\000\000\000\003v\000\142\000\183\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\140\000\000\000\141\000\151\000\000\000\141\000\142\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\155\000\000\000\151\000\000\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\181\000\000\000\152\000\151\000\138\000\153\000\151\000\000\000\147\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003\186\000\000\000\185\000\000\000\000\000\153\000\000\000\000\000\157\000\138\000\000\000\183\000\000\000\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\003|\000\183\000\000\000\149\000\152\000\155\000\000\000\000\000\000\000\184\000\000\000\140\003}\000\185\000\000\000\000\000\141\000\152\000\000\000\157\000\142\003\190\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\152\003\211\000\140\000\152\000\000\000\157\000\153\000\141\000\000\000\000\000\000\000\142\000\138\000\151\000\000\000\000\000\149\003\250\000\183\000\000\004\155\000\140\000\153\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\000\183\000\000\000\000\000\000\003l\003m\000\151\000\000\000\138\000\138\000\155\000\000\000\149\000\139\000\184\003\141\000\183\000\000\000\185\000\183\000\000\000\000\000\000\000\155\000\157\000\151\000\138\000\184\000\000\003\162\000\149\000\185\000\000\000\000\000\000\000\000\000\140\000\157\000\000\000\155\000\000\000\141\000\155\000\184\000\000\000\142\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\000\000\000\157\000\000\000\138\000\140\000\152\003n\000\139\000\140\000\140\003o\000\000\000\000\000\141\000\141\000\000\000\151\000\142\000\142\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\140\000\153\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\000\138\000\000\000\000\000\000\000\139\000\000\000\000\000\151\000\151\000\000\000\000\000\000\000\152\000\000\000\000\000\153\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000\151\000\000\000\141\000\139\000\000\000\000\000\142\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\155\000\154\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\151\000\152\000\154\000\141\000\000\000\000\000\155\000\142\000\000\003l\003m\000\196\003|\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\157\000\139\000\140\000\153\003}\000\155\000\000\000\141\000\152\000\152\001\128\000\142\000\138\000\151\000\000\000\000\000\139\000\000\000\000\000\157\003l\003m\000\000\000\000\000\000\000\000\000\152\000\000\000\154\000\000\000\153\000\153\000\000\000\000\000\000\000\138\000\000\000\151\000\000\000\139\000\000\000\000\000\000\000\138\000\140\000\000\003n\000\139\000\153\000\000\003o\000\155\000\140\000\000\000\000\000\154\001\130\000\141\000\152\003l\003m\000\142\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\000\000\000\003\141\000\141\000\154\000\000\000\140\000\142\003n\000\155\000\155\000\153\003o\000\000\003\133\000\000\003\164\000\000\000\151\000\000\000\000\000\140\000\152\000\157\000\169\000\000\000\141\000\155\000\000\000\140\000\142\000\000\003\135\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\157\000\000\000\000\000\153\000\140\000\152\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\171\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\003|\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\155\000\000\000\153\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\175\000\000\000\000\000\153\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\153\000\000\003}\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\155\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\155\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\191\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\174"))
+    ((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/\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<d\000\000\t\142\000\000\000\000\000\000\005\006\000\000\001\232\000\000\000\000\005\000\022F\000\000\022\200\000\000\000\000\000\000\006\192\000\000<\142\007\030<\242\000\000=V\000\000\000\000\000\000\007\242\000\000=\174\b\012\000\000\000\000'\220\b*'\244\000\000(\218\000\000\000\000\000\000\b8\000\000=\234\bZ\000\000\000\000\001\016\bb\b\002\000\000\b\166\000\000\000\000\000\000\tV\000\000=\238\tx\000\000\000\000\000\000\006~\000\000\000\000\000\000\020\004\000\000\000\000\000\000\000\000\000\000\000\000\007\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\0038\000\000\000\000\014h\000\000\000\000\000\000\000\000\000\000\005 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014v\000\000\000\000\014P\000\000\004\210\000\000\000\000\0024\000\000\000\197\r\240\002\\\000\000\000\000\006\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\t\214\000\000\000\000\000\230\000\000\000\000\000\000\014r\000\000\000\000\019j\023\020\000\000\000\000\000\000\000\000\025\028\025n\b\024\000\000\000\000\000\000\025\170\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\003\028\000\000\000\000\r\182\000\000\025\246\000\000\000\000\000\000\t\178\000\000\000\000\001\128\000\000\000k\000\000\000\000\000\000\000\000\007\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021H\028\218\000\000\000\000\000\000\000\000\030~\000\000\000\000\tr\000\000\014\152\000\000\000\000\000\000\003\250\000\000\000\006\000\000\000\000\000\000\028Z\000\000\000\000 4 \196\011|\000\000!\158\000\000\000\000\000\000\000\000\000\000\000\000\004D\r\208\000\000\r\212\000\000\"\n\011\166\000\000\".\000\000\000\000\000\000\000\000\r\214\000\000\014Z\000\000\000\000\000\000\000\028\000\000\000<\014\030\002\250\000\000\000\000\000\000\0042\005\250\000\000\000\000\000\000\000\000\004z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\000\000\000\000\019Z\000\000\002\168\014\178\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\r\226\000\000\000\000\028\186\"h\000\000\000\000\000\000\000\000\"\238\000\000\000\000\0006\000\000\007\138\012X\000\000\000\000\000\000\016\188\000\000\000\000\000\000\000\000\000\000\000%\017\002\000\000\000\000\020\148\000\000\000\000\000\000\000\000\015\148\000\000\000\000\007\240\000\000\000\000\000\000\000U\000\000\000\000\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\162\000\000\000\000\000\000\005\186\000\000\000\000\000\000\000\000\000\000\000\b\007\240\b*\012\198\000\000\000\005\0030\007\246\b\130\000\000\000\000\000\000\000\000\000\000\000\000\t\026\022\240\000\000 \152\b\202\000\000\000\000\nF\000\000\024n\000\000.t\000\000\000\000\t\130\023r\000\000!*\000\000\t\186!\190\000\000\000\000\000\000\002\162\003\130\000\000\000\000\000\000\000\000\b\b\000\000\b\136\000v\000\000\000\000\006~\006\224\000\000\015\220\000\000\000\000\005\174\000\000\005\226\000\000\000\000\017\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000\000\000\000\000\n\214\000\000\024\240\000\000\n\020\014r\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\0006\182\000\000\006d\000\000\000\000\000\000\000\000\000\000\001\180\000\000\011F\bx\011\200\000\000\002p\r@\000\000\t\212\000\000\004\028\000\000\004\158\000\000\005,\000\000\n\020\000\000\000\000\000\000\000\000\000\000\006J\000\000\t\252\000\000\006\216\000\000\n\020\014\224\000\000\b@\000\000\014\206\b\016\000\000\t\020\000\000\t\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\011\026\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\014\248\r\186\000\000\000\000\r\238\000\000\000\000\r\190\t\"\015&\000\000\0154\000\000\000\000\t\206\t&\000\000\r\252\000\000\000\000\014<\000\000\000\000\000\000\000\000\000\000\000\000\015 \r\224\000\000\000\000\000\000\014\020\r\228\t\140\n\012\014\"\014v\000\000\000\000\014*\n<\n(\014V\014\144\000\000\000\000\n\156\015t\000\000\015x\000\000\015\154\000\000\000\000\015|\000\000\000\000\015\132\000\000\000\000\000\000\000\000\015\134\000\000\015\186\000\000\000\000\000\000\015\192\000\000\000\000\000\000\015\194\000\000\000\000\000\000"), (16, "\0045\005\248\004H\000S\000S\006\251\006D\006\216\000S\000Z\000\209\000\025\006\131\006\132\000S\000\213\002\221\006\251\000\153\000\024\0045\002E\004H\003U\005\018\004\250\000\r\002\214\002\221\007N\006\217\006\216\006\220\006(\006)\007O\003x\0071\000\153\002^\003y\004\165\006\133\007P\003\218\004\203\000\\\000\016\000\017\002\216\006\251\000k\006\134\000\004\006\217\006E\006\220\006(\006)\000\007\004\204\002\221\0047\006\210\006\192\000S\0048\000\153\006\131\006\132\000k\000T\003U\000V\004\156\000\203\006\216\000\005\000V\000\211\004\204\002\217\0047\000\005\000V\000k\0048\006\190\006\193\006(\006)\002F\002\\\000\153\007\003\000\028\000k\007\005\006\155\006\217\003z\006\220\006(\006)\003{\007\021\007\022\006*\006\134\004\000\000\153\002g\000\018\000\217\000\153\000\156\000\157\002i\000\161\000\153\000\156\000\157\000\158\000\161\005A\006\027\004M\006\211\000\209\001.\004\181\006*\007\b\000\213\000\017\000V\007R\006\212\006\213\000\153\000\156\000\157\001\133\000\161\007\r\000\153\000S\000S\006\025\001\173\004\181\004\166\000\163\006\028\006(\006)\000\163\002\214\007S\004\157\000W\000\163\007^\006*\004\183\000\164\006O\006i\004\167\007j\000\153\000Y\005\176\000~\004E\003U\006*\006\254\004\188\002\218\002_\000\163\000\218\004\205\004\183\004F\005C\005 \000k\006M\006(\006)\000\218\000\203\004E\000\219\004\200\000\211\004\188\005\014\005\181\000Z\000\218\004\205\007T\004F\0075\001s\004\201\004\007\003\136\002\217\004\000\007U\007\026\007\027\000V\004\156\000\218\007s\000\255\003\137\000\164\004\191\006\231\004\251\000\220\005\026\006*\000\153\004\213\000\217\004\205\0051\0045\007\031\004H\003\219\000[\002\232\006x\004\242\004Q\004\191\000S\004\208\007u\0060\007\011\007\141\004\213\002\232\000\153\007w\000\252\002I\000k\007P\007\142\004\203\004R\004\242\004Q\006v\006*\004S\006y\006(\006)\004T\000\b\000\209\0013\000\222\005\194\004U\000\215\000\253\000\153\004\213\004R\000\254\004\218\003U\002\232\004S\003\166\000k\000\224\004T\004\242\007\"\001\172\007\001\004\204\004U\0047\001\152\003\139\0045\0048\004H\004\160\000\206\001\162\007\161\007a\001\136\007b\0015\000\218\001\174\001\136\000\219\000V\003x\0019\000\153\001\155\003y\004\000\000 \003U\005\018\004\250\001\139\004\163\0069\0045\001\139\004H\000k\001\136\001\186\001\139\004\205\000\203\001\186\0010\000\153\000\211\006*\001\186\0013\000\220\001\187\000\153\003\165\007\127\007\128\0067\007P\007\147\004\250\001\139\006=\006:\006(\006)\004\204\006j\0047\001\186\001\226\004\181\0048\001\238\000\031\0019\004\207\007\162\000\153\000\252\006\226\000\217\003\158\007,\005\235\000l\003z\0014\004\201\004\213\003{\006m\004\218\000v\001\199\004\204\005\177\0047\000\222\002H\004\242\0048\000\253\002\219\000m\004\183\000\254\000\153\000c\001\173\001\204\007\158\006\227\000\224\006\228\004E\002\177\005\179\000\153\004\188\003V\007\132\001\163\000\218\004\205\007\163\004F\005\195\001\173\000y\000k\005!\004M\001\228\007U\001.\004\181\001\229\006*\000\153\007\165\006=\001\204\006\229\002\211\005\179\001\181\001\206\000\153\001\156\004\205\001\157\003\160\006\230\0071\002\221\005\000\001.\006>\0019\000\218\006l\006$\000\219\004\191\004\181\004\208\007\167\004\201\002F\004\183\004\213\002r\001\244\007\169\000\200\002[\007\"\006%\001\205\004E\003\162\004\242\004Q\004\188\000\200\002W\002t\000\218\004\205\003V\004F\005\194\005#\000\220\0071\003\136\004\213\003\205\004\183\004\218\004R\004x\004y\000\218\005\014\004S\003\137\004\242\004E\004T\003W\002\195\004\188\005\190\000\153\004U\000\218\004\205\007\153\004F\000\"\000\221\002u\002\197\0053\000S\002\201\007U\004\191\002a\004\251\000S\005\026\004\189\000k\004\213\006>\002t\0051\000\203\000\222\003\165\005&\000\204\000k\001\"\004\242\004Q\0045\000\203\004H\000\218\007-\000\204\001\245\000\224\005]\004\191\003\208\004\251\0016\007\155\006\153\002\203\004\213\004R\000\153\007\157\0019\000\153\004S\007P\007\147\004\250\004T\004\242\004Q\000\217\006A\000S\004U\000S\000S\003\167\0045\006\151\0046\000\217\002G\006\154\006(\006)\007Q\000\004\004R\000V\004x\004y\003\168\004S\003\248\000V\006\189\004T\002\201\005=\000S\000\153\004\204\004U\0047\000S\001\248\0045\0048\004H\005\192\000\005\000z\006\203\001\226\002\200\0074\001\238\007\152\006\190\006\193\006(\006)\0019\001\249\000\153\002m\006\206\001\204\001\250\007P\007\147\004\250\001\251\0019\002\202\000z\001\187\000k\001\252\0047\005\182\000k\000V\0048\000V\000V\006j\001\187\006\203\000\218\006\196\000S\000\219\005L\0019\003\222\0075\006*\003\236\000\218\006\214\0066\000\219\003\248\001\206\004\201\004\204\000$\0047\000V\002\232\004\181\0048\000k\000V\001)\001\228\0045\003\249\004H\001\229\003\241\007\154\000\220\0067\000S\000(\000z\000\153\004\243\006:\006(\006)\000\220\006*\000\153\003\242\000S\006'\005(\007P\007\147\004\250\004x\004y\004\183\004\231\000*\000\153\000\156\000\162\000\153\000\161\002<\006%\004E\001\244\000o\000{\004\188\003\246\000V\005c\000\218\004\205\007\153\004F\000S\000r\003\241\005t\001\198\000c\006\209\007U\004{\004\181\004\204\003\236\0047\004\189\000o\000\128\0048\005\154\000\153\000\156\000\157\001\189\000\161\000\163\004E\000r\007\156\001\226\000V\000c\001\238\006\215\000\218\000\153\003\241\004F\003\"\004\191\006*\004\251\000V\007\155\006\204\004\183\004\213\000\153\000.\007\157\005\020\005o\0018\000\153\001\152\004E\005&\004\242\004Q\004\188\0019\001\162\000\163\000\218\004\205\007\153\004F\0053\000o\001p\000\218\0000\000V\001\245\007U\001\155\004R\000S\006\223\000r\004\189\004S\004\181\000c\005\202\004T\002R\006\233\0013\000k\002o\004U\001\228\006\202\005\193\0045\001\229\004H\0019\005\204\000\209\005\t\000a\000S\004\191\000\210\004\251\002?\007\155\005\020\0003\004\213\004v\000\153\007\157\006\203\004\183\000c\007P\007\147\004\250\001\152\004\242\004Q\004z\004P\004E\002%\001\162\000\164\004\188\001\248\001\244\0007\000\218\004\205\007\153\004F\005\011\000\153\007$\004R\001\155\007%\001\184\007U\004S\000V\0056\001\249\004T\004\189\002\199\006F\001\250\004\204\004U\0047\001\251\000\164\000k\0048\007)\005\t\001\252\000\203\0045\005.\004H\000\211\000S\007\164\001\163\000V\001\142\004\191\001\136\004\251\002q\007\155\007\135\0006\004\213\007\136\000\153\007\157\0019\005.\000\153\007P\007\147\004\250\005F\004\242\004Q\003W\001\164\005\192\001\139\001\156\005\n\001\157\0009\000\217\0050\0045\001\186\004H\007f\0019\006@\000\218\004R\001\136\001\245\005\028\000S\004S\007\"\000;\005+\004T\000?\001\192\005/\004\181\004\204\004U\0047\005H\005\006\0045\0048\004H\001\171\001\139\006\204\002&\0022\001\163\000V\000A\007\168\001\186\006\130\006(\006)\007\140\001\246\000\153\002\200\0045\006.\004H\003U\005\018\004\250\007^\0019\004\183\001\166\005F\001\247\001\169\007e\003\158\001\156\0047\001\157\004E\0019\0048\001\248\004\188\005\023\000S\0019\000\218\004\205\007\153\004F\0045\000\218\0046\005\166\000\219\000V\006/\007U\000C\001\249\004\204\001\187\0047\004\189\001\250\004\181\0048\005G\001\251\004x\004y\005\166\007\"\001\187\001\252\006>\000\209\005\205\002\029\006\207\000k\000\213\0047\006\022\006\023\000\220\0048\004\191\006*\004\251\005\168\007\155\005\204\000\153\004\213\005\012\000\164\007\157\007,\004\183\004M\0071\000\153\005u\004\181\004\242\004Q\003U\005\167\004E\000k\001\200\0047\004\188\000V\005\160\0048\000\218\004\205\007\153\004F\007a\000\153\007b\004R\005\212\007i\007,\007U\004S\004\181\0019\000\226\004T\004\189\007\017\000k\000S\004\183\004U\005\214\000\203\000\164\000\227\004\000\000\211\004M\000S\004E\000\200\002Q\007\194\004\188\006_\006(\006)\000\218\003X\004\191\004F\004\251\007\231\007\155\0060\004\183\004\213\000S\007\144\007\157\000\153\007a\0071\007b\005\014\004E\007\232\004\242\004Q\004\188\000\217\0019\003\220\000\218\004\205\000\153\004F\005\185\005 \0045\003U\004H\000E\000I\000S\004E\004R\007=\004\191\000H\004\189\004S\001\198\000\218\001,\004T\004F\000\153\000V\004\201\000k\004U\003U\005\018\004\250\000\203\004\195\004Q\000V\000\204\004O\007\159\004x\004y\004\191\004E\004\251\004\000\005\026\006*\000z\004\213\005\215\000\218\004\218\004R\004F\000V\006`\007^\004S\007\019\004\242\004Q\004T\005\218\007k\005\214\000K\004\204\004U\0047\000S\000\217\0045\0048\004H\000M\005\226\000\218\005\214\004R\000\219\004Q\000V\005\229\004S\007\216\004\205\0077\004T\0073\000\153\005\228\004x\004y\004U\003U\005\018\004\250\005\228\004R\007W\0045\005\232\004H\004S\0010\000S\005\240\004T\000\005\007\186\000\220\007\186\001\231\004U\000}\0076\005\214\006\150\000\153\004x\004y\005\242\007r\003U\005\018\004\250\007.\005\237\004G\007\240\007\197\004\204\004\213\0047\0019\004\218\004\181\0048\000\252\000V\006\151\000\164\004\164\004\242\006\154\006(\006)\003x\000\131\000\218\006u\003y\000\219\000o\001u\007.\003\225\000\222\0072\007\144\004\204\000\253\0047\0019\000r\000\254\0048\004\205\000c\000\130\004\183\006L\000\224\006v\007l\004\156\006y\006(\006)\007\144\004E\000\209\000S\000\220\004\188\0079\000\213\007\214\000\218\004\205\0071\004F\005\030\005 \006M\006(\006)\000S\007m\000\153\007a\004\181\007b\000\133\007@\004\189\003W\000k\000\209\005\239\0019\003z\007\150\000\210\004\213\003{\004\201\004\218\000n\006*\000\153\000\156\000\157\001\194\000\161\004\242\002.\000S\005\243\004\191\004\181\004\251\007\166\005\026\000\136\004\183\004\213\007G\000\138\004\218\007\235\000k\000\142\005\242\005\246\004E\000\203\004\242\004Q\004\188\000\211\006*\000V\000\218\004\205\002\226\004F\005E\005 \005\214\004\157\007\193\000\163\007\187\004\183\007L\004R\000V\000k\006*\004\189\004S\007\217\000\203\004E\004T\007t\000\211\004\188\003W\b\016\004U\000\218\004\205\000\217\004F\005\189\005 \004\201\002l\000\160\0045\001;\004H\004\191\b\017\004\251\000V\005\026\004\189\000S\004\213\001>\007\236\004\218\007\225\001B\000S\002I\000\153\001.\000\217\004\242\004Q\003U\005\018\004\250\007\243\007\186\001A\0045\003\136\004H\004\191\000o\004\251\000S\005\026\007\242\000\218\004\213\004R\003\137\004\218\006\156\000r\004S\001D\000\153\000c\004T\004\242\004Q\007P\001F\004\203\004U\001J\001L\001N\007\224\004\204\003x\0047\003}\001\204\003y\0048\007\225\0075\004R\004\231\000q\000\218\001P\004S\000\219\006\135\007\186\004T\000V\001S\000\200\002;\001W\004U\001V\000V\003=\001Y\004\204\007\224\0047\000S\003\241\0045\0048\004H\006P\000\209\000\218\0010\001\206\000\219\000\210\007\224\000V\000\220\007\160\004\236\001[\001_\001a\000\153\001c\006_\006(\006)\007P\003\138\004\203\001e\003\158\001\136\0016\001i\003z\001h\001k\000u\003{\004\181\0019\004\240\000\220\000\252\006_\006(\006)\000S\000S\001m\000k\001r\004\231\001\139\001x\000\203\001w\001z\001|\000\204\000S\001\186\000\222\004\204\007\225\0047\000\253\000k\004\181\0048\000\254\000V\000\203\004\183\001~\003\241\000\211\000\224\001\130\001\203\000\209\007\145\001\198\004E\001\135\000\210\000o\004\188\007\189\0024\004\236\000\218\004\205\000\217\004F\007p\005 \000r\006*\001\191\003\160\000c\004\183\001\197\001\196\002f\002e\006\164\004\189\002k\000\217\002y\004E\002|\004\240\002\128\004\188\000V\000V\006*\000\218\004\205\007\146\004F\002\127\002\130\000\153\002\132\006\179\003\162\000V\007U\004\191\004\181\004\251\002\136\005\026\007\149\007\191\004\213\000k\002\138\004\218\000o\003\136\000\203\003\197\002\140\000\153\000\211\004\242\004Q\000\218\007,\000r\003\137\002\142\002\145\000c\002\149\000S\004\191\002\148\004\208\007\151\002\151\002\153\004\183\004\213\004R\002\157\007\157\000\218\002\159\004S\000\219\002\161\004E\004T\004\242\004Q\004\188\002\163\000\217\004U\000\218\004\205\007\146\004F\000\218\003\165\0045\000\219\004H\001\152\000\209\007U\004\155\004R\002\167\000\210\001\162\007\149\004S\000\164\001\198\000\220\004T\002\166\000\153\002\169\000\200\0028\004U\007P\001\155\004\203\003\134\002\171\004\222\002\176\002\182\002\181\000\220\000\200\0027\004\191\002\184\004\208\007\151\004\156\000\153\003\167\004\213\002\186\002\188\007\157\000\209\002\192\002\209\002\208\000S\000\210\000S\004\242\004Q\002\225\003\168\002\231\000\153\002\230\004\204\0038\0047\002\234\000k\0045\0048\004H\002\237\000\203\002\241\000\218\004R\000\211\000\219\002\240\002\243\004S\007\148\001+\000k\004T\002\245\000\153\002\249\000\203\000x\004U\003U\000\204\004\203\000S\002\251\000k\0045\000S\004H\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\216\000\211\003\n\003U\003\014\004\203\000V\001\163\000V\000\217\004\157\004\204\001\152\0047\004\159\001\155\004\181\0048\007-\001\180\003\016\003\018\000\217\006\217\003\020\006\220\006(\006)\000\163\003\024\0045\003\228\004H\001\155\001\156\000\217\001\157\003\023\000\226\003\026\004\204\003\028\0047\000S\0019\003!\0048\004\156\003'\000\229\004\183\000V\003&\005\197\003)\004\174\005\196\005@\007.\003+\004E\000\153\000\156\001\138\004\188\000\161\0019\003-\000\218\004\205\007\146\004F\000\218\0031\006L\000\219\0037\000S\000o\007U\0036\004\181\005>\003<\003B\007\149\005@\003A\000\218\000r\003\158\000\219\0047\000c\006!\003\157\0048\006M\006(\006)\006*\000\218\006J\000\163\000\219\0065\000\220\006C\006o\004\191\004\181\004\208\007\151\000V\000\218\004\183\004\213\000\219\006\149\007\157\000S\006\174\000\220\006\176\006\186\004E\006\188\004\242\004Q\004\188\006\198\006\225\004\157\000\218\004\205\000\220\004F\000S\004:\001\156\007}\001\157\007\171\001\179\004\183\007\175\004R\000V\000\220\0019\0055\004S\007\195\000\226\004E\004T\000z\001\156\004\188\001\157\004\181\004U\000\218\004\205\000\231\004F\007\201\0019\007\202\007\207\007\208\007\213\006*\0045\004\191\004H\004\208\0057\007\212\0055\007\220\004\213\000S\004\196\004\218\007\222\007\228\007\229\007\233\007\234\000V\000\153\004\242\004Q\004\183\002M\003U\004\198\004\203\007\237\004C\001\139\001\202\004\191\004E\004\208\0057\000V\004\188\001\186\004\213\004R\000\218\004\218\007\238\004F\004S\006\236\006\189\003x\004T\004\242\004Q\003y\007\241\007\244\004U\007\245\b\006\004\189\007\251\b\004\b\000\004\204\004\139\0047\b\003\b\012\000\153\0048\004R\006\190\006\193\006(\006)\004S\0045\b\n\004H\004T\b\014\b\019\000V\004\191\001\136\004U\000\000\004\210\000\000\000\000\000\000\000\209\000o\002\174\000\153\000S\000\210\000\000\000\000\003U\004\211\004\250\004Q\000r\000\000\000\000\001\139\000c\000\000\003\158\000\000\000\200\0026\003z\001\186\000\000\000\000\003{\000\000\000\000\004R\006S\000\000\000\000\000\164\004S\000\000\000S\000\000\004T\0045\000z\004H\004\181\000\000\004U\004\204\007^\0047\005^\000\209\004\253\0048\000\000\007`\000\210\000\000\006*\000\153\000\000\0045\000k\004H\003U\004\211\004\250\000\203\000\000\000\000\000\000\000\211\005\002\000\000\000\000\004\162\000V\000\000\004\183\000\153\000\164\000\000\000k\000\000\003U\004\211\004\250\000\203\004E\000\000\003\160\000\204\004\188\000\209\003W\005f\000\218\004\205\000\210\004F\000\000\004\204\000\000\0047\000\000\000\217\006\216\0048\004\156\000\000\000\000\000k\000\000\004\255\000\000\000S\000\203\004\181\000\000\003\162\000\211\004\204\000\153\0047\000\000\000\217\000\000\0048\000\000\006\217\000\000\006\220\006(\006)\003\136\000\000\003\164\004\191\000\000\004\208\005\001\006\216\000\218\000\000\004\213\003\137\000\000\005\003\000o\002\179\000\000\004\183\000\000\000k\000\217\004\242\004Q\000\000\000\203\000r\000\000\004E\000\211\000c\006\217\004\188\006\220\006(\006)\000\218\004\205\004\181\004F\000\000\004R\000\000\007\014\000\000\000\000\004S\003\165\000\000\000\000\004T\000\218\000V\004\189\000\219\000\000\004U\001\152\004\181\007a\004\157\007b\000\000\000\217\001\162\000\000\000\000\000\000\000\153\0019\000\000\000\218\004\183\006*\000\219\000\000\000S\004\191\001\155\004\251\000\000\004\252\004E\000\000\004\213\000\220\004\188\004\218\000\000\003\167\000\218\004\205\004\183\004F\000\000\004\242\004Q\0045\000\000\004H\000\218\000\000\004E\000\219\003\168\000\220\004\188\004\189\006*\000\000\000\218\004\205\000z\004F\004R\000\153\000\000\000\000\000\000\004S\003U\005\018\004\250\004T\000\000\000\000\000\000\004\189\000S\004U\000\000\004\191\000\226\004\251\000\220\004\252\000\000\007^\004\213\000\164\000\000\004\218\000\218\000\233\007h\000\219\000V\000\000\000\000\004\242\004Q\004\191\000\000\004\251\003\250\004\252\000\000\004\204\004\213\0047\000\000\004\218\0045\0048\004H\000\000\000\200\0025\004R\004\242\004Q\000\153\000\000\004S\000\000\001\163\000\220\004T\003\254\000\000\000\153\000\226\0045\004U\004H\003U\005\018\004\250\004R\000\000\006\255\000\000\000\235\004S\000\200\000\202\000S\004T\000V\003\238\000\153\000\000\001\156\004U\001\157\003U\005\018\004\250\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\204\000\226\0047\007\006\000k\004\181\0048\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\204\000\000\0047\000S\001\175\0045\0048\004H\000\000\000\000\000\000\000\000\000k\000\163\000\000\000\000\000\000\000\203\001\155\004\183\000\000\000\204\000\000\000\000\000V\000\000\000\000\000\217\000\000\004E\004\174\005\015\000\000\004\188\000\000\000\000\000\000\000\218\004\205\007a\004F\007b\005\025\000\164\000\000\000\000\000\000\000\000\000\209\0019\004\181\000\000\000\000\000\210\004\189\000\217\001\152\000\000\005v\000\000\000\000\000\000\000\000\001\154\000\000\003\158\006\219\0047\000\000\000\000\004\181\0048\000\000\000V\000\000\000\000\006L\001\155\004\191\000\000\004\251\000\000\005\026\000\000\004\183\004\213\000\000\000S\004\218\006\217\000\000\006\220\006(\006)\004E\000\000\004\242\004Q\004\188\006M\006(\006)\000\218\004\205\004\183\004F\000\218\005\027\000k\000\219\000\000\000\164\000\000\000\203\004E\004R\000\000\000\211\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\005\127\005-\000\000\000\000\004U\0045\000\000\004H\000\218\004\181\000\000\000\219\000\000\004\189\000\220\000\000\001\156\004\191\001\157\004\251\000\000\005\026\006\024\000\153\004\213\000\217\0019\004\218\003U\0058\004\250\000V\000\000\000\000\000\164\004\242\004Q\004\191\001\136\004\251\006*\005\026\000\220\004\183\004\213\006\025\000\000\004\218\006*\005\145\006\028\006(\006)\004E\004R\004\242\004Q\004\188\000\000\004S\001\139\000\218\000\000\004T\004F\004\204\000\000\0047\001\186\004U\0045\0048\004H\000\000\004R\001\156\000S\001\157\004\189\004S\000\000\000\000\000\000\004T\003W\0019\000\000\000\000\000\153\004U\0045\000\000\004H\003U\0058\004\250\000\000\006\216\000\000\000\000\000\000\005N\004\191\000\000\000\218\000S\000\000\000\219\000\153\005:\000\000\000\000\000z\003U\004\211\004\250\000\000\000\000\000\164\000\000\006\217\004Q\006\220\006(\006)\006*\000\000\000\000\000\000\000\000\004\204\000\000\0047\005\161\000\000\004\181\0048\000\000\000\220\004R\000\000\000\000\000\209\000\000\004S\000\000\000V\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\153\000\156\000\157\002\206\000\161\000\000\000\000\000\000\006Y\000\000\004\183\000\000\000\000\000\000\000\153\005<\000V\000\000\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\226\006u\000\218\004\205\000\000\004F\000\200\001\219\000\000\000\000\000\000\000\239\006*\000\000\000\000\004\181\000\163\000k\000\000\004\189\000\000\000\000\000\203\000\000\006v\000\000\000\211\006y\006(\006)\004\204\000\000\0047\000o\003$\004\181\0048\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000r\004\251\000\000\005;\000c\004\183\004\213\000\000\000\000\004\218\006+\000\000\000\000\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\000\000\000\000k\000\218\004\205\004\183\004F\000\203\005\183\003W\000\000\000\204\005@\000\164\000\000\004E\004R\000\000\000\000\004\188\004\189\004S\000\000\000\218\004\205\004T\004F\000\000\004\001\000\000\000S\004U\0045\000\000\004H\000\000\004\181\000\000\006*\000\000\004\189\000\000\000\000\000\000\004\191\000\217\004\251\000\000\005;\000\000\000\153\004\213\004\005\000\000\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\004\191\007\t\004\251\000\000\004\252\000\000\004\183\004\213\000\000\000\000\004\218\000\218\000\000\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000V\004R\000\000\001\136\000\000\0055\004S\000\000\000\000\000\220\004T\000\000\000\000\000\000\000\000\000\153\004U\0045\000\000\004H\003U\000\000\004\203\000\000\000\218\001\139\000\000\000\219\000\000\004\191\000\000\004\208\0057\001\186\005\199\000\153\004\213\000\000\005@\004\218\003U\000\000\004\203\000\000\000\000\000\000\000\000\004\242\004Q\000\000\000\000\000\000\000\000\000\000\006\141\000\000\000\226\004\204\000\220\0047\000\000\000\000\004\181\0048\000\000\000\000\004R\000\241\000\000\000\209\006L\004S\000\000\000\000\000\210\004T\000\000\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\000\000\000\164\000\000\000\000\000\000\000\000\000\000\006M\006(\006)\004\183\000\000\000\000\005\201\000\153\000\000\004\244\005@\000\000\003U\004E\004\203\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\000\004F\000\000\007:\000\000\000\000\000\000\005@\000\000\000\000\004\248\004\181\000\000\000k\000\000\0055\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\004\181\0048\000\209\000\000\000\000\000\000\000\000\000\210\004\191\000\000\004\208\0057\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\000\006*\000\000\000\000\004E\000\217\004\242\004Q\004\188\000\200\001\222\000\000\000\218\004\205\004\183\004F\000\000\007H\000\000\000\000\000\000\005@\000\000\000\000\004E\004R\000\000\000\000\004\188\0055\004S\000\000\000\218\004\205\004T\004F\000\000\000\000\000\000\000\000\004U\0045\000k\004H\000\000\004\181\000\000\000\203\000\000\0055\000\000\000\211\007B\004\191\000\000\004\208\0057\000\000\000\000\000\153\004\213\000\000\000\000\004\218\003U\004\211\004\250\000\000\000\000\000k\000\000\004\242\004Q\004\191\000\203\004\208\0057\000\000\000\204\004\183\004\213\000\000\000\000\004\218\000\218\000\217\000\000\000\219\000\000\004E\004R\004\242\004Q\004\188\000\000\004S\000\000\000\218\004\205\004T\004F\004\204\000\000\0047\000\000\004U\0045\0048\004H\000\000\004R\000\000\000\217\000\000\0055\004S\000\000\007v\000\220\004T\006W\000\000\000\000\000\000\000\153\004U\000\000\000\000\000\000\003U\004\211\004\250\000\000\000\000\005I\0045\000\000\004H\004\191\000\000\004\208\0057\000\000\000\200\001\225\004\213\000\000\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\250\000\000\000\000\006L\000\218\000\226\004\204\000\219\0047\000\000\001\226\004\181\0048\001\227\000\000\004R\000\243\000\000\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\006M\006(\006)\000\000\004U\000\218\000\153\000\000\000\219\004\204\000\000\0047\000\220\000\000\000\000\0048\000\000\000k\006L\004\183\000\000\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\004E\000\000\000\000\000\000\004\188\000\000\000\000\000\000\000\218\004\205\000\220\004F\006M\006(\006)\000k\000\000\000\000\001\228\006L\000\000\004\181\001\229\000\000\000\000\004\189\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\006M\006(\006)\001\152\006*\000\000\000\000\004\191\004\181\004\251\001\178\004\252\000\000\004\183\004\213\006L\001\244\004\218\000\000\000\000\000\000\000\000\000\000\004E\001\155\004\242\004Q\004\188\000\209\000\000\000\000\000\218\004\205\000\210\004F\000\000\000\000\000\000\006M\006(\006)\006L\004\183\000\000\004R\006*\003\158\000\000\004\189\004S\003z\000\000\004E\004T\003{\0045\004\188\004H\000\000\004U\000\218\004\205\000\000\004F\006M\006(\006)\001\226\000\218\004\254\001\238\000\219\004\191\000\153\004\251\006*\004\252\005K\003U\004\213\004\203\003\159\004\218\000\153\000\156\000\157\002\223\000\161\000k\000\000\004\242\004Q\000\000\000\203\000\000\000\218\000\000\000\211\001\245\000\000\000\000\004\191\000\220\004\251\000\000\005M\000\000\000\000\004\213\004R\000\000\004\218\000\000\006*\004S\004\204\003\160\0047\004T\004\242\004Q\0048\000\000\006f\004U\000\163\0045\000k\004H\000\000\001\228\000\217\000\000\000\000\001\229\000\000\000\000\000\000\004R\006*\004\202\000\000\000\000\004S\000\153\003\162\000\000\004T\001\156\003U\001\157\004\203\000\000\004U\000\000\000\000\000\000\000\000\0019\000\000\003\136\000\000\003\198\000\000\006d\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\181\004\204\000\000\0047\000\000\000\209\0045\0048\004H\006b\000\210\000\000\000\153\003\201\000\000\000\000\000\000\000\000\000\000\000\000\004\212\003\165\000\000\000\000\000\153\000\218\000\000\000\000\000\219\003U\000\000\004\203\000\000\000\000\004\183\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\004E\000\203\000\000\006q\004\188\000\204\000\000\000\000\000\218\004\205\000k\004F\000\000\001\228\000\000\000\220\000\000\001\229\000\000\003\167\000\218\000k\004\204\001\245\0047\004\206\000\203\004\181\0048\006\128\000\211\000\000\000\000\000\000\003\168\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\191\000\000\004\208\004\209\001\244\000\000\000\000\004\213\002?\000\000\004\218\000\000\004\183\000\226\000\000\000\217\000\000\000\000\004\242\004Q\001\139\000\000\004E\000\000\000\247\000\000\004\188\000\000\001\186\000\000\000\218\004\205\001\248\004F\000\163\000\000\000\000\004R\000\000\0045\006u\004H\004S\004\181\000\000\000\000\004T\004\206\000\000\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\153\001\226\001\251\000\000\001\227\003U\006v\004\203\001\252\006y\006(\006)\000\218\000\000\004\191\000\219\004\208\004\209\000\000\000\000\004\183\004\213\000\000\000\000\004\218\000\000\000\218\000\000\000\000\001\245\004E\006u\004\242\004Q\004\188\000\000\000\000\000\218\000\218\004\205\000\219\004F\004\204\000\000\0047\000\000\000\220\0045\0048\004H\006L\004R\002&\002'\006v\004\206\004S\006y\006(\006)\004T\000k\000\000\001\246\001\228\000\153\004U\000\000\001\229\000\000\003U\000\220\004\203\006M\006(\006)\0045\001\247\004H\004\191\000\000\004\208\004\209\000\000\006*\0019\004\213\001\248\000\000\004\218\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\242\004Q\003U\000\000\004\203\000\000\000\000\001\244\001\249\000\000\004\204\000\000\0047\001\250\000\000\004\181\0048\001\251\000\000\004R\000\000\000\226\000\000\001\252\004S\000\000\000\000\002\029\004T\000\000\000\000\001\136\001\001\000\000\004U\006*\000\000\000\000\000\000\004\204\000\000\0047\000\000\000\000\000\000\0048\000\000\000\000\000\000\004\183\000\000\006*\000\000\001\139\000\000\000\000\000\000\000\000\000\000\004E\000\000\001\186\000\000\004\188\000\000\000\200\003q\000\218\004\205\000\000\004F\000\153\000\156\000\157\0034\000\161\005\029\000\000\000\000\000\000\004\181\000\000\000\000\000\000\005\022\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\159\000\000\000\000\000\000\000\000\004\191\004\181\004\208\005\024\000\000\000\163\004\183\004\213\000\000\000\000\004\218\0045\000\000\004H\000\000\000\000\004E\000k\004\242\004Q\004\188\000\000\000\203\000\000\000\218\004\205\000\204\004F\000\000\000\153\000\000\000\000\000\000\005\021\003U\004\183\004\203\004R\000\000\000k\000\000\005\022\004S\006\242\000\203\004E\004T\000\000\000\211\004\188\000\000\000\000\004U\000\218\004\205\006L\004F\0020\000\000\000\000\000\217\005)\006\139\000\200\003t\004\191\000\000\004\208\005\024\000\000\005*\004\204\004\213\0047\000\000\004\218\000\000\0048\006M\006(\006)\000\000\000\217\004\242\004Q\0045\000\000\004H\000\000\000\000\000\000\000\000\000\000\000\000\004\191\000\000\004\208\005,\000\000\000\000\000\000\004\213\004R\000\153\004\218\000\000\000\000\004S\003U\000\000\004\203\004T\004\242\004Q\000\000\000\000\000\000\004U\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\004R\000\204\000\000\000\000\000\000\004S\000\000\000\000\000\218\004T\004\181\000\219\000\000\000\000\004\204\004U\0047\000\000\000\000\000\000\0048\000\209\006*\000\000\000\000\001\136\000\215\0045\000\000\004H\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\183\000\153\000\000\001\139\000k\000\000\003U\000\000\004\203\000\203\004E\001\186\000\000\000\211\004\188\000\000\0054\000\000\000\218\004\205\000\220\004F\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\022\000\000\000k\000\200\003w\004\181\000\000\000\203\004\204\000\000\0047\000\211\000\217\000\221\0048\000\200\004\015\000\209\000\000\000\000\000\000\000\000\000\210\000\000\004\191\000\000\004\208\005\024\000\000\000\000\000\000\004\213\000\222\000\000\004\218\000\218\000\000\000\223\000\219\004\183\000\000\000\000\004\242\004Q\000\000\000\217\000\000\000\224\000\000\004E\000\000\000\000\000\000\004\188\0059\000\000\000\000\000\218\004\205\000\000\004F\004R\006\144\000k\006L\000\000\004S\000\000\000\203\000\220\004T\000\000\000\204\000\000\0055\000k\004U\000k\004\181\0045\000\203\004H\000\203\000\000\000\204\000\000\000\211\006M\006(\006)\000\000\000\218\007>\000\000\000\219\000\000\000\000\000\153\004\191\000\000\004\208\0057\003U\000\000\004\203\004\213\000\217\000\000\004\218\000\000\000\000\000\000\004\183\000\000\000\000\000\000\004\242\004Q\000\217\000\255\000\217\000\000\004E\000\000\000\218\000\220\004\188\000\219\000\000\000\000\000\218\004\205\000\000\004F\000\000\004R\006L\000\000\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\000\0055\000\000\000\000\004U\000\000\0045\000\252\004H\000\000\000\000\000\000\000\220\006M\006(\006)\006*\000\000\000\000\007J\000\000\000\000\000\000\000\000\000\153\004\191\000\222\004\208\0057\003U\000\253\004\203\004\213\000\000\000\254\004\218\000\000\000\000\000\000\000\218\000\221\000\224\000\219\004\242\004Q\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\004R\004\181\001!\000\000\004\204\004S\0047\000\000\000\000\004T\0048\000\220\000\224\000\000\000\000\004U\000\000\000\209\0045\000\000\004H\000\000\000\215\000\220\000\000\000\220\006*\000\000\000\000\000\000\000\000\007M\000\000\000\000\000\000\004\183\000\153\006L\000\000\000\000\0045\003U\004H\004\203\000\000\004E\000\000\000\000\000\000\004\188\000k\000\000\000\000\000\218\004\205\000\203\004F\000\000\000\153\000\211\006M\006(\006)\005\\\000\000\000\000\000\000\000\000\000\000\000\000\007?\000\000\000\226\006\170\004\181\000\000\000\000\000k\004\204\000\000\0047\000\000\000\203\001\003\0048\000\000\000\211\005\173\000\000\000\000\000\000\006L\000\000\000\217\004\191\000\000\004\208\007A\000\000\000\000\005~\004\213\0047\000\000\004\218\000\000\0048\000\000\004\183\006L\000\000\000\000\004\242\004Q\006M\006(\006)\000\000\004E\000\000\000\217\000\000\004\188\000\000\000\000\005\132\000\218\004\205\000\000\004F\000\000\004R\006M\006(\006)\006*\004S\000\000\006L\000\000\004T\000\000\000\000\007?\000\000\006\168\004U\000\000\004\181\000\000\0045\000\000\004H\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\210\006M\006(\006)\000\000\000\000\000\000\004\191\000\153\004\208\007A\000\000\000\218\005\\\004\213\000\219\000\000\004\218\000\000\000\000\000\000\000\000\004\183\000\000\000\000\004\242\004Q\000\000\000\000\006*\000\000\000\000\004E\000\000\000\000\000\000\004\188\005{\000\000\000\218\000\218\004\205\000\219\004F\004R\006L\000\220\006*\000\000\004S\005~\000\000\0047\004T\004E\000k\0048\007?\000\000\004U\000\203\000\000\000\218\005\133\000\211\004F\000\000\000\000\006M\006(\006)\001\226\000\000\000\220\001\238\005\132\006*\000\000\000\153\005\134\000\000\004\191\000\000\004\208\007A\000\000\000\000\000\000\004\213\000\153\000\000\004\218\000\000\000\226\006\166\000\000\000\000\000\000\000\217\004\242\004Q\000\221\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\005\136\000\000\005\169\005\141\000\000\000\000\004M\000\000\004R\001.\000\222\005\159\004Q\004S\0045\001$\004H\004T\000\000\000\000\000\000\000k\000\000\004U\001\228\000\224\001\226\000\000\001\229\001\238\004R\000\000\000\153\006*\000\000\004S\001\152\005\\\006\183\004T\000\000\000\000\000\000\001\162\000\153\004U\000\000\000\000\000\000\000\153\000\156\000\157\003:\000\161\004E\000\000\006\181\001\155\000\000\002%\000\000\005}\000\218\005\133\001\244\004F\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005~\000\000\0047\000\000\000\000\005\171\0048\000\000\000\000\000\000\000\000\006\240\000k\000\000\000\000\001\228\000\000\000\163\000\000\001\229\000\000\000\000\000\000\000\000\000\000\005\132\001\226\000\220\000\000\001\238\000\000\000\000\000\000\000\000\000\000\000\000\005\136\000\000\001\226\005\172\000\000\001\238\000\000\000\000\000\153\000\000\000\000\005\159\004Q\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\004R\000\000\000\000\000\218\000\000\004S\001\245\000\000\000\226\004T\000\000\000\000\006\245\000\000\001\163\004U\000\000\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\000\000\000k\000\163\000\000\001\228\000\000\000\000\004\225\001\229\001\246\001\156\000\000\001\157\000\000\000\000\000\000\000\000\004E\000\000\000\000\0019\000\000\000\000\001\247\000\000\000\218\005\133\002%\004F\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\134\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\136\001\246\000\000\005\141\000\000\000\000\000\000\0045\000\000\004H\000\000\005\159\004Q\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\004R\000\000\004\174\005\005\000\000\004S\000\153\000\000\000\218\004T\000\000\001\245\000\000\001\249\000\000\004U\000\000\000\000\001\250\000\000\000\218\000\000\001\251\001\245\000\200\004.\000\000\000\000\001\252\000\000\000\217\000\000\002\029\000\000\002&\004\185\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\000\001\246\002&\004\215\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\0045\001\250\004H\002\029\004\181\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\0045\000\000\004H\000\000\000\217\004\174\004\175\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\000\000\000\000\004\183\000\000\000\220\000\000\000\000\000\000\000\000\004\174\004\187\000\000\004E\000\000\000\000\0045\004\188\004H\000\000\000\000\000\218\0016\000\000\004F\003\158\000\000\0047\000\000\000\000\0019\0048\000\218\000\252\000\000\001\245\000\000\000\000\004\189\000\000\000\000\004\174\005\017\000\000\000\000\003\158\000\000\0047\000\000\000\000\000\000\0048\000\222\000\000\000\000\000\000\000\253\000\000\002&\005\138\000\254\000\000\004\191\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\158\000\000\0047\000\000\000\000\004Q\0048\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\004\181\000\000\000\000\000\000\004R\000\000\000\000\000\220\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\001\249\000\000\000\000\004U\004\181\001\250\000\000\000\000\0045\001\251\004H\000\000\000\000\000\000\000\000\001\252\000\000\000\000\004\183\002\029\0045\000\000\004H\000\000\000\209\000\000\000\000\000\000\004E\000\210\000\000\000\000\004\188\004\174\005\221\004\181\000\218\000\000\004\183\004F\000\000\000\000\000\000\000\000\000\000\004\174\005\223\000\000\004E\000\000\000\000\000\000\004\188\004\189\000\000\000\000\000\218\000\000\000\000\004F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\004\183\0047\000\000\000\000\004\189\0048\000\000\000\000\004\191\000\000\004E\003\158\000\000\0047\004\188\000k\001\226\0048\000\218\001\238\000\203\004F\000\000\000\000\000\211\000\000\000\000\004Q\004\191\000\000\000\000\000\000\000\000\000\000\000\153\004\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\004Q\000\000\000\000\004S\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\217\004\191\004U\000\000\000\000\000\000\000\000\004R\0045\000\000\004H\004\181\004S\000\000\000\000\000\000\004T\000\000\000k\000\000\004Q\001\228\004U\004\181\001\226\001\229\000\000\001\238\000\000\000\000\000\000\000\000\000\000\004\174\005\225\000\000\000\209\000\000\004R\000\000\000\000\000\210\000\153\004S\000\000\004\183\000\000\004T\000\000\000\000\000\000\000\000\000\000\004U\000\000\004E\002$\004\183\000\000\004\188\000\000\001\244\000\000\000\218\000\000\000\000\004F\004E\003\158\000\000\0047\004\188\000\000\000\000\0048\000\218\000\000\000\000\004F\000\218\004\189\000\000\000\219\000\000\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\004\189\000\000\001\226\000\000\000k\001\238\000\000\000\000\000\000\000\203\000\000\000\000\004\191\000\211\000\000\001\226\000\000\000\000\001\238\000\000\000\153\000\220\000\000\000\000\004\191\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\153\000\000\001\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004Q\000\000\000\000\004\181\000\217\000\218\004R\000\000\001\245\000\000\000\000\004S\000\000\001\226\000\000\004T\001\238\000\000\004R\000k\000\000\004U\001\228\004S\000\000\000\226\001\229\004T\000\000\000\000\000\000\000\153\000k\004U\000\000\001\228\001\t\004\183\000\000\001\229\000\000\000\000\001\246\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\004\188\0045\000\000\004H\000\218\001\247\001\243\004F\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\189\000k\001\245\001\244\001\228\005\b\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\191\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\158\000\000\0047\004Q\001\244\000\220\0048\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\004R\000\000\000\000\000\000\000\153\004S\000\000\000\000\000\218\004T\000\000\001\245\000\000\000\000\000k\004U\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\181\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\183\000\153\000k\000\000\001\249\000\000\000\217\000\203\000\000\001\250\004E\000\211\000\000\001\251\004\188\000\209\001\246\001\249\000\218\001\252\000\213\004F\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\189\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\191\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\004Q\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\004R\000\000\000\000\003x\000\000\004S\000\000\003y\002K\004T\000\000\000\000\000\000\000\000\000\000\004U\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\158\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\209\000\200\0041\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\160\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\162\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\213\003\198\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\158\000\000\000\000\000\000\003z\003\212\000\217\000k\003{\000\000\000\000\003\201\000\203\000\000\000\000\000\000\000\211\000\000\000\000\003\165\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\209\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\167\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\160\000\000\000\000\000\000\003x\000\000\003\168\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\162\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\210\003\198\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\158\000\000\000\000\000\000\003z\000\220\000\000\000\217\003{\000\000\000\000\000\000\003\212\000\221\000\000\000\000\000\000\000\000\003\201\000\000\000\000\001\163\003g\0029\000\000\000\000\003\165\000\000\000\000\000\220\0019\000\000\000\222\000\252\000\000\003\209\000\209\001\240\000\209\000\000\000\000\000\213\000\000\000\213\000k\004\233\004\r\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\167\000\000\003\160\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\168\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\162\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\007D\003\198\000\000\000\000\000\000\000\220\000\000\000\218\004$\000\000\003\137\000\200\0044\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\212\003y\000\221\001\162\000k\000\000\003\201\000\222\000\000\000\203\000\000\000\253\000\000\000\211\003\165\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\167\003\158\000\000\001\152\000\000\003z\000\000\000\209\000\000\003{\001\162\003\215\000\213\000\000\000\000\003\168\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\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\222\0010\000\000\000\000\000\253\000\220\000\000\000\220\000\254\000\000\003\158\000\000\000\000\001\163\003z\000\224\000\000\000\000\003{\000\000\003\153\000\000\000k\000\000\000\000\000\218\003\160\000\203\000\219\000\000\000\000\000\211\000\000\000\252\003x\000\252\000\000\005i\003y\000\000\001\156\000\000\001\157\000\000\000\000\003\204\000\000\000\000\000\000\000\000\0019\000\000\000\222\003\155\000\222\003\162\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\198\000\213\000\000\000\000\001\163\000\000\000\218\000\000\003\160\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\158\000\220\000\000\000\000\003z\000\000\005\148\000\000\003{\001\156\000\000\001\157\000\222\000\000\003\201\003\162\000\253\000\000\000\000\0019\000\254\000\000\003\165\000\209\000\000\000\000\000\000\000\224\000\213\000\000\003\136\000\000\003\198\000\000\000k\003\207\000\000\000\209\000\218\000\203\000\000\003\137\000\213\000\211\000\000\003\232\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\167\000\000\000\000\000\000\003\201\000\000\003\160\000\000\000\000\000\000\000\000\000\000\003\165\000\217\003\155\003\168\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\162\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\198\000\000\003\167\004Y\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\168\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\244\003\201\000k\000\000\000\000\000\218\000\000\000\203\000\219\003\165\000\000\000\211\000\000\000\000\000\000\000\000\000\000\003\252\000\209\000\000\000\000\000\000\000\218\000\213\004\143\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\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\003\003\155\003\167\000\000\000\213\000\218\000\000\000\220\000\219\000\000\000\000\004\145\000\000\000\000\000\000\000\000\000\000\003\168\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\155\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\147\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\229\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\155\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\238\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\004\246\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\155\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\003\155\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\005a\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\005m\000\000\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\222\005r\000\000\000\224\000\253\003\155\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\155\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000k\003\155\000\000\000\000\000\000\000\203\000\252\000\220\000\000\000\211\000\000\000\209\005y\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\155\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\133\000\000\000\000\005\130\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\152\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\000\000k\000\000\003\155\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\155\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\157\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\155\000\000\000\211\000k\000\000\000\000\000\220\000\000\000\203\000\000\000\000\005\164\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\155\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\018\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\023\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\027\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\004?\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\135\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\178\000\000\005T\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\187\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\207\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\209\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\211\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\217\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\231\000\000\005\245\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\004J\000\000\000\211\000\000\000\000\000\000\000k\000k\000\222\000\220\000\224\000\203\000\203\004L\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\170\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\172\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\174\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\176\003\178\000\219\000\209\000\000\000\000\000k\003\180\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\182\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\184\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\186\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\188\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\190\000\218\003\192\000\000\000\219\000\226\000\000\000\000\000\000\000\218\003\194\000\000\000\219\000\000\000\000\000\217\003\196\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\004W\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\004_\000\000\000\000\000\210\000\000\000\000\000\000\000k\004a\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\004c\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\004e\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\004g\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\004i\000\000\000\219\000\000\000\000\000\000\000\000\004k\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\004m\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\004o\000\000\000\000\000\000\000\000\000\000\000\000\004q\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\004s\000\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\004u"))
   
   let semantic_action =
     [|
@@ -1548,13 +1726,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 = 
-# 1882 "parser_cocci_menhir.mly"
-      ( Ast0.set_arg_exp _1 )
-# 1558 "parser_cocci_menhir.ml"
+# 2177 "parser_cocci_menhir.mly"
+          ( Ast0.set_arg_exp _1 )
+# 1736 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1573,22 +1751,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)
-# 1579 "parser_cocci_menhir.ml"
+# 1757 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1884 "parser_cocci_menhir.mly"
+# 2179 "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)) )
-# 1592 "parser_cocci_menhir.ml"
+# 1771 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1610,9 +1789,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1892 "parser_cocci_menhir.mly"
+# 2188 "parser_cocci_menhir.mly"
       ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1616 "parser_cocci_menhir.ml"
+# 1795 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1632,9 +1811,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1936 "parser_cocci_menhir.mly"
+# 2224 "parser_cocci_menhir.mly"
             ( Ast.WhenAny )
-# 1638 "parser_cocci_menhir.ml"
+# 1817 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1654,9 +1833,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1937 "parser_cocci_menhir.mly"
+# 2225 "parser_cocci_menhir.mly"
             ( Ast.WhenStrict )
-# 1660 "parser_cocci_menhir.ml"
+# 1839 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1676,9 +1855,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1938 "parser_cocci_menhir.mly"
+# 2226 "parser_cocci_menhir.mly"
             ( Ast.WhenForall )
-# 1682 "parser_cocci_menhir.ml"
+# 1861 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1698,9 +1877,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1939 "parser_cocci_menhir.mly"
+# 2227 "parser_cocci_menhir.mly"
             ( Ast.WhenExists )
-# 1704 "parser_cocci_menhir.ml"
+# 1883 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1722,9 +1901,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_ = 
-# 1283 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 1728 "parser_cocci_menhir.ml"
+# 1907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1752,19 +1931,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)
-# 1760 "parser_cocci_menhir.ml"
+# 1939 "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_ = 
-# 1285 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 1768 "parser_cocci_menhir.ml"
+# 1947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1792,19 +1971,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)
-# 1800 "parser_cocci_menhir.ml"
+# 1979 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1808 "parser_cocci_menhir.ml"
+# 1987 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1832,19 +2011,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)
-# 1840 "parser_cocci_menhir.ml"
+# 2019 "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_ = 
-# 1289 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 1848 "parser_cocci_menhir.ml"
+# 2027 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1872,19 +2051,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)
-# 1880 "parser_cocci_menhir.ml"
+# 2059 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 1888 "parser_cocci_menhir.ml"
+# 2067 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1912,19 +2091,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)
-# 1920 "parser_cocci_menhir.ml"
+# 2099 "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_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1928 "parser_cocci_menhir.ml"
+# 2107 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1952,19 +2131,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)
+# 2139 "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_ = 
+# 1446 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2147 "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)
-# 1960 "parser_cocci_menhir.ml"
+# 2179 "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_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 1968 "parser_cocci_menhir.ml"
+# 2187 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1992,19 +2211,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)
-# 2000 "parser_cocci_menhir.ml"
+# 2219 "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_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2008 "parser_cocci_menhir.ml"
+# 2227 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2032,19 +2251,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)
-# 2040 "parser_cocci_menhir.ml"
+# 2259 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2048 "parser_cocci_menhir.ml"
+# 2267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2072,19 +2291,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)
-# 2080 "parser_cocci_menhir.ml"
+# 2299 "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_ = 
-# 1301 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.And _1 _2 _3 )
-# 2088 "parser_cocci_menhir.ml"
+# 2307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2112,19 +2331,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)
-# 2120 "parser_cocci_menhir.ml"
+# 2339 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Or _1 _2 _3 )
-# 2128 "parser_cocci_menhir.ml"
+# 2347 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2152,19 +2371,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)
-# 2160 "parser_cocci_menhir.ml"
+# 2379 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2168 "parser_cocci_menhir.ml"
+# 2387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2192,19 +2411,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)
-# 2200 "parser_cocci_menhir.ml"
+# 2419 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1460 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2208 "parser_cocci_menhir.ml"
+# 2427 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2232,19 +2451,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)
-# 2240 "parser_cocci_menhir.ml"
+# 2459 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2248 "parser_cocci_menhir.ml"
+# 2467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2266,9 +2485,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1283 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 2272 "parser_cocci_menhir.ml"
+# 2491 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2296,19 +2515,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)
-# 2304 "parser_cocci_menhir.ml"
+# 2523 "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_ = 
-# 1285 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2312 "parser_cocci_menhir.ml"
+# 2531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2336,19 +2555,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)
-# 2344 "parser_cocci_menhir.ml"
+# 2563 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2352 "parser_cocci_menhir.ml"
+# 2571 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2376,19 +2595,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)
-# 2384 "parser_cocci_menhir.ml"
+# 2603 "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_ = 
-# 1289 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2392 "parser_cocci_menhir.ml"
+# 2611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2416,19 +2635,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)
-# 2424 "parser_cocci_menhir.ml"
+# 2643 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2432 "parser_cocci_menhir.ml"
+# 2651 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2456,19 +2675,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 : (
-# 96 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2464 "parser_cocci_menhir.ml"
+# 2683 "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_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2691 "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)
+# 2723 "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_ = 
+# 1446 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2472 "parser_cocci_menhir.ml"
+# 2731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2496,19 +2755,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)
-# 2504 "parser_cocci_menhir.ml"
+# 2763 "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_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2512 "parser_cocci_menhir.ml"
+# 2771 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2536,19 +2795,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)
-# 2544 "parser_cocci_menhir.ml"
+# 2803 "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_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2552 "parser_cocci_menhir.ml"
+# 2811 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2576,19 +2835,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)
-# 2584 "parser_cocci_menhir.ml"
+# 2843 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2592 "parser_cocci_menhir.ml"
+# 2851 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2616,19 +2875,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)
-# 2624 "parser_cocci_menhir.ml"
+# 2883 "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_ = 
-# 1301 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.And _1 _2 _3 )
-# 2632 "parser_cocci_menhir.ml"
+# 2891 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2656,19 +2915,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)
-# 2664 "parser_cocci_menhir.ml"
+# 2923 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Or _1 _2 _3 )
-# 2672 "parser_cocci_menhir.ml"
+# 2931 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2696,19 +2955,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)
-# 2704 "parser_cocci_menhir.ml"
+# 2963 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2712 "parser_cocci_menhir.ml"
+# 2971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2736,19 +2995,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)
-# 2744 "parser_cocci_menhir.ml"
+# 3003 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1460 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2752 "parser_cocci_menhir.ml"
+# 3011 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2776,19 +3035,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)
-# 2784 "parser_cocci_menhir.ml"
+# 3043 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2792 "parser_cocci_menhir.ml"
+# 3051 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2810,9 +3069,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_ = 
-# 1283 "parser_cocci_menhir.mly"
+# 1434 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 2816 "parser_cocci_menhir.ml"
+# 3075 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2840,19 +3099,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)
-# 2848 "parser_cocci_menhir.ml"
+# 3107 "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_ = 
-# 1285 "parser_cocci_menhir.mly"
+# 1436 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2856 "parser_cocci_menhir.ml"
+# 3115 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2880,19 +3139,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)
-# 2888 "parser_cocci_menhir.ml"
+# 3147 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2896 "parser_cocci_menhir.ml"
+# 3155 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2920,19 +3179,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)
-# 2928 "parser_cocci_menhir.ml"
+# 3187 "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_ = 
-# 1289 "parser_cocci_menhir.mly"
+# 1440 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2936 "parser_cocci_menhir.ml"
+# 3195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2960,19 +3219,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)
-# 2968 "parser_cocci_menhir.ml"
+# 3227 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1442 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2976 "parser_cocci_menhir.ml"
+# 3235 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3000,19 +3259,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)
-# 3008 "parser_cocci_menhir.ml"
+# 3267 "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_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1444 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3016 "parser_cocci_menhir.ml"
+# 3275 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3040,19 +3299,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)
-# 3048 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3307 "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_ = 
-# 1295 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3056 "parser_cocci_menhir.ml"
+# 1446 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3315 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3080,19 +3339,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)
-# 3088 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3347 "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_ = 
-# 1297 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3096 "parser_cocci_menhir.ml"
+# 1448 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3355 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3120,19 +3379,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)
-# 3128 "parser_cocci_menhir.ml"
+# 3387 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3136 "parser_cocci_menhir.ml"
+# 1450 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3395 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3160,19 +3419,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)
-# 3168 "parser_cocci_menhir.ml"
+# 3427 "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_ = 
-# 1301 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3176 "parser_cocci_menhir.ml"
+# 1452 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3200,19 +3459,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)
-# 3208 "parser_cocci_menhir.ml"
+# 3467 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3216 "parser_cocci_menhir.ml"
+# 1454 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 3475 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3240,19 +3499,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)
-# 3248 "parser_cocci_menhir.ml"
+# 3507 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3256 "parser_cocci_menhir.ml"
+# 1456 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 3515 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3280,19 +3539,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)
-# 3288 "parser_cocci_menhir.ml"
+# 3547 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3296 "parser_cocci_menhir.ml"
+# 1458 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 3555 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3320,43 +3579,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)
-# 3328 "parser_cocci_menhir.ml"
+# 3587 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3336 "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_ = 
-# 1283 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 3360 "parser_cocci_menhir.ml"
+# 1460 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3595 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3384,19 +3619,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)
-# 3392 "parser_cocci_menhir.ml"
+# 3627 "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_ = 
-# 1285 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3400 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1462 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3635 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3408,75 +3643,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)
-# 3432 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3440 "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)
-# 3472 "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_ = 
-# 1289 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3480 "parser_cocci_menhir.ml"
+# 1434 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 3659 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3504,19 +3683,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)
-# 3512 "parser_cocci_menhir.ml"
+# 3691 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3520 "parser_cocci_menhir.ml"
+# 1436 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3699 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3544,19 +3723,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)
-# 3552 "parser_cocci_menhir.ml"
+# 3731 "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_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1438 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3560 "parser_cocci_menhir.ml"
+# 3739 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3584,19 +3763,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)
-# 3592 "parser_cocci_menhir.ml"
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3771 "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_ = 
-# 1295 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3600 "parser_cocci_menhir.ml"
+# 1440 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3779 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3624,19 +3803,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)
-# 3632 "parser_cocci_menhir.ml"
+# 3811 "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_ = 
-# 1297 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3640 "parser_cocci_menhir.ml"
+# 1442 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3819 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3664,19 +3843,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)
-# 3672 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3851 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3680 "parser_cocci_menhir.ml"
+# 1444 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3859 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3704,19 +3883,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)
-# 3712 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3891 "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_ = 
-# 1301 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3720 "parser_cocci_menhir.ml"
+# 1446 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3899 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3744,19 +3923,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)
-# 3752 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3931 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3760 "parser_cocci_menhir.ml"
+# 1448 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3939 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3784,19 +3963,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)
-# 3792 "parser_cocci_menhir.ml"
+# 3971 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3800 "parser_cocci_menhir.ml"
+# 1450 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3979 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3824,19 +4003,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)
-# 3832 "parser_cocci_menhir.ml"
+# 4011 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3840 "parser_cocci_menhir.ml"
+# 1452 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4019 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3864,63 +4043,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)
-# 3872 "parser_cocci_menhir.ml"
+# 4051 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3880 "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_arity = 
-# 491 "parser_cocci_menhir.mly"
-              ( Ast.UNIQUE )
-# 3902 "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_arity = 
-# 492 "parser_cocci_menhir.mly"
-              ( Ast.OPT )
-# 3924 "parser_cocci_menhir.ml"
+# 1454 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4059 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3932,34 +4067,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)
+# 4091 "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 = 
-# 493 "parser_cocci_menhir.mly"
-              ( Ast.MULTI )
-# 3946 "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_arity = 
-# 494 "parser_cocci_menhir.mly"
-                   ( Ast.NONE )
-# 3963 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1456 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4099 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3971,63 +4107,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)
-# 3994 "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 : (
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4000 "parser_cocci_menhir.ml"
-        ) = Obj.magic l in
-        let _startpos = _startpos_l_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_array_dec = 
-# 1090 "parser_cocci_menhir.mly"
-                                           ( (l,i,r) )
-# 4007 "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_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+# 4131 "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_assign_expr_eexpr_dot_expressions_ = 
-# 1255 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4031 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1458 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4055,21 +4163,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)
-# 4063 "parser_cocci_menhir.ml"
+# 158 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4171 "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_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
-# 1257 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4073 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1460 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4179 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4097,21 +4203,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"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4105 "parser_cocci_menhir.ml"
+# 4211 "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_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
-# 1261 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4115 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1462 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4219 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4129,13 +4233,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           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 _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1255 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4139 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1467 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 4243 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4163,21 +4267,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)
-# 4171 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4275 "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_ = 
-# 1257 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4181 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1469 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4283 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4205,21 +4307,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)
-# 4213 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4315 "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_ = 
-# 1261 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4223 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1471 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4323 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4231,19 +4331,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 : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4355 "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_ = 
-# 1255 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4247 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1473 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4363 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4271,21 +4387,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)
-# 4279 "parser_cocci_menhir.ml"
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4395 "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_ = 
-# 1257 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4289 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1475 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4313,21 +4427,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)
-# 4321 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4435 "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_ = 
-# 1261 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4331 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1477 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4339,19 +4451,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 : (
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4475 "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 = 
-# 1266 "parser_cocci_menhir.mly"
-                                                            ( _1 )
-# 4355 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1479 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4379,21 +4507,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)
-# 4387 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 4515 "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 = 
-# 1268 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4397 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1481 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4523 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4421,21 +4547,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"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4429 "parser_cocci_menhir.ml"
+# 4555 "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 = 
-# 1272 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4439 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1483 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4563 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4447,19 +4571,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_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 162 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4595 "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_basic_expr_eexpr_dot_expressions_ = 
-# 1252 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4463 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1485 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4603 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4471,19 +4611,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_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 161 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4635 "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_basic_expr_eexpr_nest_expressions_ = 
-# 1252 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4487 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1487 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4643 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4495,19 +4651,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_assign_expr_expr_invalid_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 159 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4675 "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_basic_expr_expr_invalid_ = 
-# 1252 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4511 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1489 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4683 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4535,24 +4707,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_fun_start = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4543 "parser_cocci_menhir.ml"
+# 4715 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 57 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4548 "parser_cocci_menhir.ml"
-        ) = 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_case_line = 
-# 954 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4556 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1491 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4723 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4564,45 +4731,35 @@ 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 = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            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 _4 : 'tv_fun_start = Obj.magic _4 in
-        let _3 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4593 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 57 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4599 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 4755 "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__4_ in
-        let _v : 'tv_case_line = 
-# 957 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4606 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1493 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4615,18 +4772,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_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_ = 
-# 1312 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4630 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 607 "parser_cocci_menhir.mly"
+              ( Ast.UNIQUE )
+# 4785 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4638,46 +4793,17 @@ 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.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;
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          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)
-# 4667 "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)
-# 4673 "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_ = 
-# 1314 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4681 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_arity = 
+# 608 "parser_cocci_menhir.mly"
+              ( Ast.OPT )
+# 4807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4690,18 +4816,33 @@ 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_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_ = 
-# 1312 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4705 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 609 "parser_cocci_menhir.mly"
+              ( Ast.MULTI )
+# 4829 "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_arity = 
+# 610 "parser_cocci_menhir.mly"
+                   ( Ast.NONE )
+# 4846 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4713,46 +4854,39 @@ 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 = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
             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 = l;
+              MenhirLib.EngineTypes.startp = _startpos_l_;
+              MenhirLib.EngineTypes.endp = _endpos_l_;
+              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"
+        let r : (
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4742 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 4877 "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)
-# 4748 "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_ = 
-# 1314 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4756 "parser_cocci_menhir.ml"
+# 4883 "parser_cocci_menhir.ml"
+        ) = Obj.magic l in
+        let _startpos = _startpos_l_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_array_dec = 
+# 1258 "parser_cocci_menhir.mly"
+                                           ( (l,i,r) )
+# 4890 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4770,13 +4904,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_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
-# 1312 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4780 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1406 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 4914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4788,46 +4922,79 @@ 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)
-# 4817 "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 : (
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 4946 "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_ = 
+# 1408 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 4956 "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_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4823 "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_ = 
-# 1314 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4831 "parser_cocci_menhir.ml"
+# 4988 "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_ = 
+# 1412 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 4998 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4845,13 +5012,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_expr_invalid_ = 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_expr_invalid_ = 
-# 1312 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4855 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1406 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4863,46 +5030,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)
-# 4892 "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)
-# 4898 "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_ = 
-# 1314 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4906 "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)
+# 5054 "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__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1408 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4914,23 +5072,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_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5096 "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__2_ in
-        let _v : 'tv_choose_iso = 
-# 237 "parser_cocci_menhir.mly"
-                                                 ( List.map P.id2name _2 )
-# 4934 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1412 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4942,70 +5114,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;
-            };
-          } = _menhir_stack in
-        let _2 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4960 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4965 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_decl_ = 
-# 1677 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 4974 "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_one_dec_decl_ = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5001 "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_ = 
-# 1681 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5009 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1406 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5017,35 +5138,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)
-# 5035 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5162 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5040 "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_ = 
-# 1677 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 5049 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1408 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5172 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5057,30 +5180,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)
-# 5076 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 5204 "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_ = 
-# 1681 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5084 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1412 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5214 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5091,43 +5221,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__ = 
-# 1143 "parser_cocci_menhir.mly"
-              ( [] )
-# 5101 "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__ = 
-# 1145 "parser_cocci_menhir.mly"
-      ( (function dot_builder -> [dot_builder d])::r )
-# 5131 "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 = 
+# 1417 "parser_cocci_menhir.mly"
+                                                            ( _1 )
+# 5238 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5139,53 +5246,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)
-# 5163 "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__ = 
-# 1147 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5172 "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__ = 
-# 1151 "parser_cocci_menhir.mly"
-              ( [] )
-# 5189 "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)
+# 5270 "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 = 
+# 1419 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5280 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5197,60 +5288,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)
-# 5221 "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__ = 
-# 1153 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5230 "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
+# 5312 "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_comma_list_any_strict_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5254 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1423 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5268,13 +5336,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_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_ctype_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5278 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_dot_expressions_ = 
+# 1403 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5346 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5292,13 +5360,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_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_d_ident_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5302 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_nest_expressions_ = 
+# 1403 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5316,13 +5384,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_ident_or_const_ = 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_ident_or_const_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5326 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_expr_invalid_ = 
+# 1403 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5394 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5334,19 +5402,40 @@ 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_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+        let _3 : 'tv_fun_start = Obj.magic _3 in
+        let _2 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5426 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 123 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5431 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_meta_ident_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5350 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_case_line = 
+# 1127 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5439 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5358,19 +5447,45 @@ 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 = _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 _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+        let _4 : 'tv_fun_start = Obj.magic _4 in
+        let _3 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5476 "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)
+# 5482 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5374 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_case_line = 
+# 1130 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5489 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5388,13 +5503,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_ = Obj.magic _1 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_comma_list_pure_ident_or_meta_ident_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5398 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
+# 1498 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5513 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5406,19 +5521,46 @@ 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 = 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 _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = 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_econstraint_re_or_not_eqe__ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5422 "parser_cocci_menhir.ml"
+        let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5550 "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)
+# 5556 "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_ = 
+# 1500 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5436,13 +5578,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_idconstraint_re_or_not_eqid__ = Obj.magic _1 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_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5446 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_invalid_ = 
+# 1498 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5588 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5454,19 +5596,46 @@ 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 = 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 _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_idconstraint_virt_re_or_not_eqid__ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5470 "parser_cocci_menhir.ml"
+        let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5625 "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)
+# 5631 "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_ = 
+# 1500 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5484,13 +5653,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_seed_ = Obj.magic _1 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_comma_list_pure_ident_or_meta_ident_with_seed_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5494 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
+# 1498 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5663 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5502,19 +5671,46 @@ 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 = 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 _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = 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_ceq__ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5518 "parser_cocci_menhir.ml"
+        let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5700 "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)
+# 5706 "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_ = 
+# 1500 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5714 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5532,13 +5728,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_x_eq_not_pos__ = Obj.magic _1 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_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5542 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_expr_invalid_ = 
+# 1498 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5738 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5550,26 +5746,417 @@ 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_typedef_ident_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_typedef_ident_ = 
-# 1914 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5566 "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;
+          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)
+# 5775 "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)
+# 5781 "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_ = 
+# 1500 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5789 "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 )
+# 5817 "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_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5841 "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_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5865 "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_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5889 "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_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5913 "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_meta_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_meta_ident_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5937 "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_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5961 "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_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5985 "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_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_econstraint_not_ceq_or_sub__ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6009 "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_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_econstraint_re_or_not_eqe_or_sub__ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6033 "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_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_idconstraint_re_or_not_eqid__ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6057 "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_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_idconstraint_virt_re_or_not_eqid__ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6081 "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_seed_ = 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_seed_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6105 "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__ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6129 "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_typedef_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_typedef_ident_ = 
+# 2202 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6153 "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
@@ -5584,9 +6171,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_ = 
-# 1277 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5590 "parser_cocci_menhir.ml"
+# 6177 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5624,26 +6211,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)
-# 5632 "parser_cocci_menhir.ml"
+# 6219 "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)
-# 5638 "parser_cocci_menhir.ml"
+# 6225 "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_ = 
-# 1279 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5647 "parser_cocci_menhir.ml"
+# 6234 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5665,9 +6252,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_ = 
-# 1277 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5671 "parser_cocci_menhir.ml"
+# 6258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5705,26 +6292,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)
-# 5713 "parser_cocci_menhir.ml"
+# 6300 "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)
-# 5719 "parser_cocci_menhir.ml"
+# 6306 "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_ = 
-# 1279 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5728 "parser_cocci_menhir.ml"
+# 6315 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5746,9 +6333,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_expr_invalid_ = 
-# 1277 "parser_cocci_menhir.mly"
+# 1428 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5752 "parser_cocci_menhir.ml"
+# 6339 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5786,26 +6373,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)
-# 5794 "parser_cocci_menhir.ml"
+# 6381 "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)
-# 5800 "parser_cocci_menhir.ml"
+# 6387 "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_ = 
-# 1279 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5809 "parser_cocci_menhir.ml"
+# 6396 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5824,16 +6411,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)
-# 5830 "parser_cocci_menhir.ml"
+# 6417 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 863 "parser_cocci_menhir.mly"
+# 1035 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Const _1 )
-# 5837 "parser_cocci_menhir.ml"
+# 6424 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5852,16 +6439,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)
-# 5858 "parser_cocci_menhir.ml"
+# 6445 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 864 "parser_cocci_menhir.mly"
+# 1036 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Volatile _1 )
-# 5865 "parser_cocci_menhir.ml"
+# 6452 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5872,13 +6459,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 = 
-# 615 "parser_cocci_menhir.mly"
-                                     ( [] )
-# 5882 "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_ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6476 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5901,14 +6495,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)
+# 6502 "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 = 
-# 616 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 5912 "parser_cocci_menhir.ml"
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6511 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5920,19 +6519,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)
+# 6543 "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 = 
-# 617 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 5936 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6553 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5944,63 +6561,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)
-# 5968 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 5973 "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
-            
-# 501 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 5985 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 5991 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 5998 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6004 "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_ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6581 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6012,63 +6589,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)
-# 6036 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6041 "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
-            
-# 503 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6053 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6059 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6066 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6072 "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_ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6605 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6080,63 +6613,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)
-# 6104 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6109 "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
-            
-# 505 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6121 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6127 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6134 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6140 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6631 "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_ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6640 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6148,64 +6648,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)
-# 6172 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6177 "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
-            
-# 507 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6190 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6196 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6203 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6209 "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)
+# 6672 "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_ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6217,84 +6690,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)
-# 6250 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 6255 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6260 "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
-            
-# 510 "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*))) )
-# 6279 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6285 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6292 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6298 "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_ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6710 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6306,63 +6718,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)
-# 6330 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6335 "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
-            
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6347 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6353 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6360 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6366 "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__ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6374,78 +6742,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)
-# 6403 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6408 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6413 "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
-            
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6430 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6436 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6443 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6449 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6760 "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__ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6769 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6457,63 +6777,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)
-# 6481 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6486 "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
-            
-# 501 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6498 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6504 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6511 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6517 "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)
+# 6801 "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__ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6811 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6525,63 +6819,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)
-# 6549 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6554 "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
-            
-# 503 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6566 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6572 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6579 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6585 "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_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6839 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6593,63 +6847,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)
-# 6617 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6622 "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
-            
-# 505 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6634 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6640 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6647 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 561 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6653 "parser_cocci_menhir.ml"
+        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__ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6863 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6661,13 +6871,447 @@ 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.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)
+# 6889 "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__ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6898 "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)
+# 6930 "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__ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6940 "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__ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6968 "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_ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6992 "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)
+# 7018 "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_ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7027 "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)
+# 7059 "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_ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7069 "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_ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7097 "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_ = 
+# 1978 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 7121 "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)
+# 7147 "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_ = 
+# 1980 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7156 "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)
+# 7188 "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_ = 
+# 1983 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7198 "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_ = 
+# 1986 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7226 "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 = 
+# 753 "parser_cocci_menhir.mly"
+                                     ( [] )
+# 7243 "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 = 
+# 754 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 7273 "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 = 
+# 755 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 7297 "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 = 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 = r0;
@@ -6678,47 +7322,46 @@ 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"
-       (Parse_aux.info)
-# 6685 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7329 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6690 "parser_cocci_menhir.ml"
+# 7334 "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 ty0 = ty00 in
           let r = r0 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 507 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6703 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7346 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6709 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7352 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6716 "parser_cocci_menhir.ml"
+# 7359 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6722 "parser_cocci_menhir.ml"
+# 7365 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6734,80 +7377,59 @@ 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.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.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 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 6763 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 6768 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6773 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let _startpos = _startpos_r1_ in
+# 7397 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7402 "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 r0 = r00 in
-          let r = r1 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let p = p0 in
-            let r = r0 in
+            let ty = ty0 in
             
-# 510 "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*))) )
-# 6792 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 7414 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6798 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7420 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6805 "parser_cocci_menhir.ml"
+# 7427 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6811 "parser_cocci_menhir.ml"
+# 7433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6837,14 +7459,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)
-# 6843 "parser_cocci_menhir.ml"
+# 7465 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6848 "parser_cocci_menhir.ml"
+# 7470 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6854,28 +7476,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6860 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 7482 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6866 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7488 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6873 "parser_cocci_menhir.ml"
+# 7495 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6879 "parser_cocci_menhir.ml"
+# 7501 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6891,74 +7513,60 @@ 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 = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             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 = 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"
-      (Data.clt)
-# 6916 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6921 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 7533 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6926 "parser_cocci_menhir.ml"
+# 7538 "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 p0 = p00 in
           let r = r0 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let p = p0 in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6943 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 7551 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6949 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7557 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6956 "parser_cocci_menhir.ml"
+# 7564 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6962 "parser_cocci_menhir.ml"
+# 7570 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6974,48 +7582,299 @@ 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)
-# 6989 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
+            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;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 7611 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 7616 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7621 "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
+            
+# 626 "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*))) )
+# 7640 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7646 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7653 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7659 "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)
+# 7691 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7696 "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
+            
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 7708 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7714 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7721 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7727 "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 = 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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7764 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7769 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7774 "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
+            
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 7791 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7797 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7804 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7810 "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)
+# 7842 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7847 "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
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 7000 "parser_cocci_menhir.ml"
+# 7859 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7006 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7865 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7013 "parser_cocci_menhir.ml"
+# 7872 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7019 "parser_cocci_menhir.ml"
+# 7878 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7031,48 +7890,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)
-# 7046 "parser_cocci_menhir.ml"
+# 7910 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7915 "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
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 7057 "parser_cocci_menhir.ml"
+# 7927 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7063 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7933 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7070 "parser_cocci_menhir.ml"
+# 7940 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7076 "parser_cocci_menhir.ml"
+# 7946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7088,48 +7958,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)
-# 7103 "parser_cocci_menhir.ml"
+# 7978 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7983 "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
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 7114 "parser_cocci_menhir.ml"
+# 7995 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7120 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8001 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7127 "parser_cocci_menhir.ml"
+# 8008 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7133 "parser_cocci_menhir.ml"
+# 8014 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7145,49 +8026,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)
-# 7160 "parser_cocci_menhir.ml"
+# 8046 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8051 "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
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 7172 "parser_cocci_menhir.ml"
+# 8064 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7178 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8070 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7185 "parser_cocci_menhir.ml"
+# 8077 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7191 "parser_cocci_menhir.ml"
+# 8083 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7207,65 +8099,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)
-# 7227 "parser_cocci_menhir.ml"
+# 8124 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 7232 "parser_cocci_menhir.ml"
+# 8129 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8134 "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
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 7250 "parser_cocci_menhir.ml"
+# 8153 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7256 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8159 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7263 "parser_cocci_menhir.ml"
+# 8166 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7269 "parser_cocci_menhir.ml"
+# 8172 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7281,48 +8184,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)
-# 7296 "parser_cocci_menhir.ml"
+# 8204 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8209 "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
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7307 "parser_cocci_menhir.ml"
+# 8221 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7313 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8227 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7320 "parser_cocci_menhir.ml"
+# 8234 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7326 "parser_cocci_menhir.ml"
+# 8240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7342,59 +8256,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)
-# 7358 "parser_cocci_menhir.ml"
+# 8277 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7363 "parser_cocci_menhir.ml"
+# 8282 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8287 "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
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7379 "parser_cocci_menhir.ml"
+# 8304 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7385 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8310 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7392 "parser_cocci_menhir.ml"
+# 8317 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7398 "parser_cocci_menhir.ml"
+# 8323 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7419,9 +8344,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)
-# 7425 "parser_cocci_menhir.ml"
+# 8350 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7430,28 +8355,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 527 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 7436 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8361 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7442 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8367 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7449 "parser_cocci_menhir.ml"
+# 8374 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7455 "parser_cocci_menhir.ml"
+# 8380 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7476,9 +8401,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)
-# 7482 "parser_cocci_menhir.ml"
+# 8407 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7487,28 +8412,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 7493 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8418 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7499 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8424 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7506 "parser_cocci_menhir.ml"
+# 8431 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7512 "parser_cocci_menhir.ml"
+# 8437 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7533,9 +8458,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)
-# 7539 "parser_cocci_menhir.ml"
+# 8464 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7544,28 +8469,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 7550 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8475 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7556 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8481 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7563 "parser_cocci_menhir.ml"
+# 8488 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7569 "parser_cocci_menhir.ml"
+# 8494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7581,56 +8506,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)
-# 7602 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 8521 "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
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 7615 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8533 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7621 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8539 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7628 "parser_cocci_menhir.ml"
+# 8546 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7634 "parser_cocci_menhir.ml"
+# 8552 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7646,52 +8564,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)
+# 8588 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 8593 "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
             
-# 535 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 7676 "parser_cocci_menhir.ml"
+# 626 "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*))) )
+# 8611 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7682 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8617 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7689 "parser_cocci_menhir.ml"
+# 8624 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7695 "parser_cocci_menhir.ml"
+# 8630 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7707,87 +8642,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)
-# 7737 "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)
-# 7743 "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)
+# 8657 "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 )
-# 7762 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 538 "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)) )
-# 7772 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8668 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7778 "parser_cocci_menhir.ml"
-          
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8674 "parser_cocci_menhir.ml"
+          
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7785 "parser_cocci_menhir.ml"
+# 8681 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7791 "parser_cocci_menhir.ml"
+# 8687 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7803,96 +8699,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)
-# 7838 "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)
-# 7844 "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)
+# 8719 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8724 "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 )
-# 7867 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 538 "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)) )
-# 7877 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8740 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7883 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8746 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7890 "parser_cocci_menhir.ml"
+# 8753 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7896 "parser_cocci_menhir.ml"
+# 8759 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7908,82 +8771,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)
-# 7938 "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)
-# 7944 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 7949 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8786 "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
             
-# 544 "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)) )
-# 7968 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8797 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 7974 "parser_cocci_menhir.ml"
+# 8803 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7981 "parser_cocci_menhir.ml"
+# 8810 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7987 "parser_cocci_menhir.ml"
+# 8816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8000,47 +8829,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)
-# 8014 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8843 "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
             
-# 548 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 8025 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8854 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 8031 "parser_cocci_menhir.ml"
+# 8860 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 8038 "parser_cocci_menhir.ml"
+# 8867 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8044 "parser_cocci_menhir.ml"
+# 8873 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8056,66 +8885,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)
-# 8081 "parser_cocci_menhir.ml"
+# 8900 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8086 "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
             
-# 501 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8099 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8911 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8105 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8917 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8113 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8924 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8119 "parser_cocci_menhir.ml"
+# 8930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8131,66 +8942,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)
-# 8156 "parser_cocci_menhir.ml"
+# 8957 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8161 "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
             
-# 503 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8174 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8968 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8180 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8974 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8188 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8981 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8194 "parser_cocci_menhir.ml"
+# 8987 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8206,66 +8999,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)
-# 8231 "parser_cocci_menhir.ml"
+# 9014 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8236 "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
             
-# 505 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8249 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 9025 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8255 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9031 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8263 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9038 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8269 "parser_cocci_menhir.ml"
+# 9044 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8281,67 +9056,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)
-# 8306 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8311 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9071 "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
             
-# 507 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8325 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 9082 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8331 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9088 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8339 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9095 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8345 "parser_cocci_menhir.ml"
+# 9101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8357,87 +9113,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)
-# 8391 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 8396 "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)
-# 8401 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9134 "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
             
-# 510 "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*))) )
-# 8421 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9147 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8427 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9153 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8435 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9160 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8441 "parser_cocci_menhir.ml"
+# 9166 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8453,66 +9178,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)
-# 8478 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9208 "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)
+# 9214 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8483 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9219 "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 )
+# 9237 "parser_cocci_menhir.ml"
+              
+            in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 8496 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 9246 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8502 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9252 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8510 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9259 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8516 "parser_cocci_menhir.ml"
+# 9265 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8528,81 +9277,509 @@ 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)
-# 8558 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8563 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9312 "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)
+# 9318 "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)
-# 8568 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9324 "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 )
+# 9345 "parser_cocci_menhir.ml"
+              
+            in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8586 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 9354 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8592 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9360 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8600 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9367 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8606 "parser_cocci_menhir.ml"
+# 9373 "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_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
+            
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9415 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9421 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9428 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9434 "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)
+# 9476 "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)
+# 9482 "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 )
+# 9501 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 665 "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)) )
+# 9511 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9517 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9524 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9530 "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)
+# 9577 "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)
+# 9583 "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 )
+# 9606 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 665 "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)) )
+# 9616 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9622 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9629 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9635 "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)
+# 9677 "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)
+# 9683 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 9688 "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
+            
+# 671 "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)) )
+# 9707 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9713 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9720 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9726 "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)
+# 9753 "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
+            
+# 675 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9764 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9770 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9777 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9783 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8637,14 +9814,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)
-# 8643 "parser_cocci_menhir.ml"
+# 9820 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8648 "parser_cocci_menhir.ml"
+# 9825 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8655,15 +9832,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8661 "parser_cocci_menhir.ml"
+# 9838 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8667 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9844 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8671,13 +9848,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8675 "parser_cocci_menhir.ml"
+# 9852 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8681 "parser_cocci_menhir.ml"
+# 9858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8712,14 +9889,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)
-# 8718 "parser_cocci_menhir.ml"
+# 9895 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8723 "parser_cocci_menhir.ml"
+# 9900 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8730,15 +9907,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8736 "parser_cocci_menhir.ml"
+# 9913 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8742 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9919 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8746,13 +9923,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8750 "parser_cocci_menhir.ml"
+# 9927 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8756 "parser_cocci_menhir.ml"
+# 9933 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8787,14 +9964,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)
-# 8793 "parser_cocci_menhir.ml"
+# 9970 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8798 "parser_cocci_menhir.ml"
+# 9975 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8805,15 +9982,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8811 "parser_cocci_menhir.ml"
+# 9988 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8817 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9994 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8821,13 +9998,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8825 "parser_cocci_menhir.ml"
+# 10002 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8831 "parser_cocci_menhir.ml"
+# 10008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8862,14 +10039,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)
-# 8868 "parser_cocci_menhir.ml"
+# 10045 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8873 "parser_cocci_menhir.ml"
+# 10050 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8880,16 +10057,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8887 "parser_cocci_menhir.ml"
+# 10064 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8893 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10070 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8897,13 +10074,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8901 "parser_cocci_menhir.ml"
+# 10078 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8907 "parser_cocci_menhir.ml"
+# 10084 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8947,19 +10124,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)
-# 8953 "parser_cocci_menhir.ml"
+# 10130 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 8958 "parser_cocci_menhir.ml"
+# 10135 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8963 "parser_cocci_menhir.ml"
+# 10140 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8972,20 +10149,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 8983 "parser_cocci_menhir.ml"
+# 10160 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8989 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10166 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8993,13 +10170,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8997 "parser_cocci_menhir.ml"
+# 10174 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9003 "parser_cocci_menhir.ml"
+# 10180 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9034,14 +10211,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)
-# 9040 "parser_cocci_menhir.ml"
+# 10217 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9045 "parser_cocci_menhir.ml"
+# 10222 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9052,15 +10229,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9058 "parser_cocci_menhir.ml"
+# 10235 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9064 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10241 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9068,13 +10245,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9072 "parser_cocci_menhir.ml"
+# 10249 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9078 "parser_cocci_menhir.ml"
+# 10255 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9114,19 +10291,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)
-# 9120 "parser_cocci_menhir.ml"
+# 10297 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9125 "parser_cocci_menhir.ml"
+# 10302 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9130 "parser_cocci_menhir.ml"
+# 10307 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9139,18 +10316,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9148 "parser_cocci_menhir.ml"
+# 10325 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9154 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10331 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9158,13 +10335,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9162 "parser_cocci_menhir.ml"
+# 10339 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9168 "parser_cocci_menhir.ml"
+# 10345 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9184,37 +10361,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)
-# 9200 "parser_cocci_menhir.ml"
+# 10382 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10387 "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
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 9212 "parser_cocci_menhir.ml"
+# 10400 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9218 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10406 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9222,13 +10410,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9226 "parser_cocci_menhir.ml"
+# 10414 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9232 "parser_cocci_menhir.ml"
+# 10420 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9248,37 +10436,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)
-# 9264 "parser_cocci_menhir.ml"
+# 10457 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10462 "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
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9276 "parser_cocci_menhir.ml"
+# 10475 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9282 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10481 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9286,13 +10485,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9290 "parser_cocci_menhir.ml"
+# 10489 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9296 "parser_cocci_menhir.ml"
+# 10495 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9312,37 +10511,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)
-# 9328 "parser_cocci_menhir.ml"
+# 10532 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10537 "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
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9340 "parser_cocci_menhir.ml"
+# 10550 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9346 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10556 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9350,13 +10560,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9354 "parser_cocci_menhir.ml"
+# 10564 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9360 "parser_cocci_menhir.ml"
+# 10570 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9376,38 +10586,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)
-# 9392 "parser_cocci_menhir.ml"
+# 10607 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10612 "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
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9405 "parser_cocci_menhir.ml"
+# 10626 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9411 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10632 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9415,13 +10636,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9419 "parser_cocci_menhir.ml"
+# 10640 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9425 "parser_cocci_menhir.ml"
+# 10646 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9441,18 +10662,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;
+                    };
                   };
                 };
               };
@@ -9460,39 +10686,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)
-# 9466 "parser_cocci_menhir.ml"
+# 10692 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 9471 "parser_cocci_menhir.ml"
+# 10697 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10702 "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
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 9490 "parser_cocci_menhir.ml"
+# 10722 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9496 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10728 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9500,13 +10732,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9504 "parser_cocci_menhir.ml"
+# 10736 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9510 "parser_cocci_menhir.ml"
+# 10742 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9526,37 +10758,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;
-              };
-            };
-          } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 9542 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+              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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10779 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10784 "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
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9554 "parser_cocci_menhir.ml"
+# 10797 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9560 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10803 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9564,13 +10807,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9568 "parser_cocci_menhir.ml"
+# 10811 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9574 "parser_cocci_menhir.ml"
+# 10817 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9594,48 +10837,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)
-# 9611 "parser_cocci_menhir.ml"
+# 10859 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9616 "parser_cocci_menhir.ml"
+# 10864 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10869 "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
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9633 "parser_cocci_menhir.ml"
+# 10887 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9639 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10893 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9643,13 +10897,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9647 "parser_cocci_menhir.ml"
+# 10901 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9653 "parser_cocci_menhir.ml"
+# 10907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9679,9 +10933,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)
-# 9685 "parser_cocci_menhir.ml"
+# 10939 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9691,15 +10945,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 527 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 9697 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10951 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9703 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10957 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9707,13 +10961,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9711 "parser_cocci_menhir.ml"
+# 10965 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9717 "parser_cocci_menhir.ml"
+# 10971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9743,9 +10997,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)
-# 9749 "parser_cocci_menhir.ml"
+# 11003 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9755,15 +11009,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 9761 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 11015 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9767 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11021 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9771,13 +11025,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9775 "parser_cocci_menhir.ml"
+# 11029 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9781 "parser_cocci_menhir.ml"
+# 11035 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9807,9 +11061,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)
-# 9813 "parser_cocci_menhir.ml"
+# 11067 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9819,15 +11073,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 9825 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 11079 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9831 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11085 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9835,13 +11089,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9839 "parser_cocci_menhir.ml"
+# 11093 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9845 "parser_cocci_menhir.ml"
+# 11099 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9857,49 +11111,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)
-# 9883 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 11131 "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
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 9897 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11144 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9903 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11150 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9907,13 +11154,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9911 "parser_cocci_menhir.ml"
+# 11158 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9917 "parser_cocci_menhir.ml"
+# 11164 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9929,45 +11176,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)
+# 11205 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 11210 "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
             
-# 535 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 9965 "parser_cocci_menhir.ml"
+# 626 "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*))) )
+# 11229 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9971 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11235 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9975,13 +11239,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9979 "parser_cocci_menhir.ml"
+# 11243 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9985 "parser_cocci_menhir.ml"
+# 11249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9997,80 +11261,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)
-# 10032 "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)
-# 10038 "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)
+# 11281 "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 )
-# 10058 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 538 "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)) )
-# 10068 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11293 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10074 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11299 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10078,13 +11303,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10082 "parser_cocci_menhir.ml"
+# 11307 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10088 "parser_cocci_menhir.ml"
+# 11313 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10100,89 +11325,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)
-# 10140 "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)
-# 10146 "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)
+# 11350 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11355 "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 )
-# 10170 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 538 "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)) )
-# 10180 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11372 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10186 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11378 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10190,13 +11382,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10194 "parser_cocci_menhir.ml"
+# 11386 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10200 "parser_cocci_menhir.ml"
+# 11392 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10212,75 +11404,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)
-# 10247 "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)
-# 10253 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10258 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11424 "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
             
-# 544 "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)) )
-# 10278 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11436 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 10284 "parser_cocci_menhir.ml"
+# 11442 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10288,13 +11446,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10292 "parser_cocci_menhir.ml"
+# 11450 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10298 "parser_cocci_menhir.ml"
+# 11456 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10310,9 +11468,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;
@@ -10323,28 +11481,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)
-# 10330 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11488 "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
             
-# 548 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 10342 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11500 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 10348 "parser_cocci_menhir.ml"
+# 11506 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10352,13 +11510,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10356 "parser_cocci_menhir.ml"
+# 11514 "parser_cocci_menhir.ml"
           
         in
         
-# 561 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10362 "parser_cocci_menhir.ml"
+# 11520 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10370,23 +11528,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)
-# 10383 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 563 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 10390 "parser_cocci_menhir.ml"
+# 11552 "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
+            
+# 647 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11564 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11570 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11578 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11584 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10398,23 +11592,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)
-# 10411 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 565 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 10418 "parser_cocci_menhir.ml"
+# 11616 "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
+            
+# 649 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11628 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11634 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11642 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10426,41 +11656,59 @@ 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)
-# 10449 "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)
-# 10455 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_rp_ in
-        let _v : 'tv_ctype = 
-# 567 "parser_cocci_menhir.mly"
-    ( let (mids,code) = t in
-      Ast0.wrap
-       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 10464 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11680 "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
+            
+# 651 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11692 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11698 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11706 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11712 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10472,32 +11720,59 @@ 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 = 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 = 
-# 1081 "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) )
-# 10501 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11744 "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
+            
+# 653 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11756 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11762 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11770 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11776 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10509,25 +11784,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 = 
-# 837 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 10531 "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)
+# 11814 "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
+            
+# 655 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11828 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11834 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11842 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11848 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10539,19 +11856,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 = 
-# 838 "parser_cocci_menhir.mly"
-              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 10555 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11895 "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)
+# 11901 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11906 "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 )
+# 11925 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 657 "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)) )
+# 11934 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11940 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11948 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10563,40 +11962,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;
                       };
                     };
                   };
@@ -10604,74 +11998,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let rp1 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10611 "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)
-# 10617 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10622 "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)
-# 10628 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 12006 "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)
-# 10633 "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 = 
-# 841 "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)) )
-# 10646 "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 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10667 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl = 
-# 848 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
-       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 10675 "parser_cocci_menhir.ml"
+# 12012 "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)
+# 12018 "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 )
+# 12040 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 657 "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)) )
+# 12049 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12055 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12063 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10683,23 +12077,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 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10696 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1626 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10703 "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
+            
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12117 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12123 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12131 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12137 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10711,41 +12145,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 : (
-# 62 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 10724 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1628 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10732 "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_ = 
-# 1648 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10749 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12184 "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)
+# 12190 "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 )
+# 12210 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 665 "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)) )
+# 12220 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12226 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12234 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10757,23 +12248,205 @@ 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 = 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)
+# 12292 "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)
+# 12298 "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 )
+# 12322 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 665 "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)) )
+# 12332 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12338 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12346 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12352 "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 = 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_ = 
-# 1650 "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)) )
-# 10777 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12399 "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)
+# 12405 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12410 "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
+            
+# 671 "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)) )
+# 12430 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12436 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12444 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12450 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10784,13 +12457,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_ = 
-# 1648 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10794 "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)
+# 12482 "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
+            
+# 675 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12494 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12500 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12508 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 688 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12514 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10803,22 +12523,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_ = 
-# 1650 "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)) )
-# 10822 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12535 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 690 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10831,18 +12551,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_ = 
-# 1657 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10846 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12563 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 692 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12570 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10854,35 +12578,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)
-# 10878 "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_ = 
-# 1659 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10886 "parser_cocci_menhir.ml"
+# 12601 "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)
+# 12607 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_ctype = 
+# 694 "parser_cocci_menhir.mly"
+    ( let (mids,code) = t in
+      Ast0.wrap
+       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 12616 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10905,19 +12635,14 @@ 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)
-# 10913 "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_ = 
-# 1661 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 10921 "parser_cocci_menhir.ml"
+        let _v : 'tv_d_ident = 
+# 1256 "parser_cocci_menhir.mly"
+      ( (_1, function t -> P.arrayify t _2) )
+# 12646 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10929,19 +12654,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.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          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 _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_ = 
-# 1657 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10945 "parser_cocci_menhir.ml"
+        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 = 
+# 1008 "parser_cocci_menhir.mly"
+ ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
+# 12682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10953,35 +12690,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;
-              };
-            };
+          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"
-       (Data.clt)
-# 10977 "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_ = 
-# 1659 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10985 "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 = 
+# 1009 "parser_cocci_menhir.mly"
+              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 12706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10993,30 +12714,86 @@ 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 = rp1;
+          MenhirLib.EngineTypes.startp = _startpos_rp1_;
+          MenhirLib.EngineTypes.endp = _endpos_rp1_;
           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 = 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 _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
+        let rp1 : (
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11012 "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_ = 
-# 1661 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 11020 "parser_cocci_menhir.ml"
+# 12762 "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)
+# 12768 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12773 "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)
+# 12779 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12784 "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 = 
+# 1012 "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)) )
+# 12797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11035,17 +12812,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)
-# 11041 "parser_cocci_menhir.ml"
+# 12818 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1159 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = _1 in
-      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11049 "parser_cocci_menhir.ml"
+        let _v : 'tv_decl = 
+# 1019 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 12826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11063,17 +12840,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 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12847 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1162 "parser_cocci_menhir.mly"
-      ( List.map
-         (function x ->
-           Ast0.wrap
-             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
-         _1 )
-# 11077 "parser_cocci_menhir.ml"
+        let _v : 'tv_decl = 
+# 1021 "parser_cocci_menhir.mly"
+            ( tmeta_to_param _1 )
+# 12854 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11091,13 +12868,183 @@ 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 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12875 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1167 "parser_cocci_menhir.mly"
-              ( [_1] )
-# 11101 "parser_cocci_menhir.ml"
+        let _v : 'tv_decl_ident = 
+# 1902 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 12882 "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 : (
+# 129 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 12903 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_ident = 
+# 1904 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 12911 "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_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_list_decl_ = 
+# 1926 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12939 "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_ = 
+# 1926 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12967 "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)
+# 12988 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_statement = 
+# 1307 "parser_cocci_menhir.mly"
+      ( let (nm,pure,clt) = _1 in
+      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 12996 "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 = 
+# 1310 "parser_cocci_menhir.mly"
+      ( List.map
+         (function x ->
+           Ast0.wrap
+             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+         _1 )
+# 13024 "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 = 
+# 1315 "parser_cocci_menhir.mly"
+              ( [_1] )
+# 13048 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11126,20 +13073,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11132 "parser_cocci_menhir.ml"
+# 13079 "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)
-# 11138 "parser_cocci_menhir.ml"
+# 13085 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement = 
-# 1176 "parser_cocci_menhir.mly"
+# 1324 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all
            (function x ->
@@ -11149,7 +13096,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       else
          [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
                               P.clt2mcode ")" _3))] )
-# 11153 "parser_cocci_menhir.ml"
+# 13100 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11168,17 +13115,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)
-# 11174 "parser_cocci_menhir.ml"
+# 13121 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1189 "parser_cocci_menhir.mly"
+# 1337 "parser_cocci_menhir.mly"
       ( let (nm,pure,clt) = _1 in
       [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11182 "parser_cocci_menhir.ml"
+# 13129 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11200,13 +13147,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1192 "parser_cocci_menhir.mly"
+# 1340 "parser_cocci_menhir.mly"
       ( List.map
          (function x ->
            Ast0.wrap
              (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
          _1 )
-# 11210 "parser_cocci_menhir.ml"
+# 13157 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11228,9 +13175,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1197 "parser_cocci_menhir.mly"
+# 1345 "parser_cocci_menhir.mly"
               ( [_1] )
-# 11234 "parser_cocci_menhir.ml"
+# 13181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11259,20 +13206,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11265 "parser_cocci_menhir.ml"
+# 13212 "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)
-# 11271 "parser_cocci_menhir.ml"
+# 13218 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement_expr = 
-# 1206 "parser_cocci_menhir.mly"
+# 1354 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all (function [] -> true | _ -> false) code
       then []
@@ -11281,7 +13228,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))] )
-# 11285 "parser_cocci_menhir.ml"
+# 13232 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11305,17 +13252,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11311 "parser_cocci_menhir.ml"
+# 13258 "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 = 
-# 969 "parser_cocci_menhir.mly"
+# 1142 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 11319 "parser_cocci_menhir.ml"
+# 13266 "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)
+# 13287 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_var = 
+# 1143 "parser_cocci_menhir.mly"
+              ( [P.meta_decl _1] )
+# 13294 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11344,9 +13319,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11350 "parser_cocci_menhir.ml"
+# 13325 "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
@@ -11356,16 +13331,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11360 "parser_cocci_menhir.ml"
+# 13335 "parser_cocci_menhir.ml"
           
         in
         
-# 971 "parser_cocci_menhir.mly"
+# 1145 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11369 "parser_cocci_menhir.ml"
+# 13344 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11399,9 +13374,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11405 "parser_cocci_menhir.ml"
+# 13380 "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
@@ -11413,16 +13388,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11417 "parser_cocci_menhir.ml"
+# 13392 "parser_cocci_menhir.ml"
           
         in
         
-# 971 "parser_cocci_menhir.mly"
+# 1145 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11426 "parser_cocci_menhir.ml"
+# 13401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11444,9 +13419,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_decl_var = 
-# 975 "parser_cocci_menhir.mly"
+# 1149 "parser_cocci_menhir.mly"
                ( [f] )
-# 11450 "parser_cocci_menhir.ml"
+# 13425 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11485,15 +13460,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11491 "parser_cocci_menhir.ml"
+# 13466 "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)
-# 11497 "parser_cocci_menhir.ml"
+# 13472 "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
@@ -11503,14 +13478,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11507 "parser_cocci_menhir.ml"
+# 13482 "parser_cocci_menhir.ml"
           
         in
         
-# 977 "parser_cocci_menhir.mly"
+# 1151 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11514 "parser_cocci_menhir.ml"
+# 13489 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11554,15 +13529,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11560 "parser_cocci_menhir.ml"
+# 13535 "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)
-# 11566 "parser_cocci_menhir.ml"
+# 13541 "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
@@ -11574,14 +13549,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11578 "parser_cocci_menhir.ml"
+# 13553 "parser_cocci_menhir.ml"
           
         in
         
-# 977 "parser_cocci_menhir.mly"
+# 1151 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11585 "parser_cocci_menhir.ml"
+# 13560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11610,9 +13585,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11616 "parser_cocci_menhir.ml"
+# 13591 "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
@@ -11622,25 +13597,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11626 "parser_cocci_menhir.ml"
+# 13601 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11633 "parser_cocci_menhir.ml"
+# 13608 "parser_cocci_menhir.ml"
           
         in
         
-# 982 "parser_cocci_menhir.mly"
+# 1156 "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 )
-# 11644 "parser_cocci_menhir.ml"
+# 13619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11674,9 +13649,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11680 "parser_cocci_menhir.ml"
+# 13655 "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
@@ -11688,25 +13663,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11692 "parser_cocci_menhir.ml"
+# 13667 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11699 "parser_cocci_menhir.ml"
+# 13674 "parser_cocci_menhir.ml"
           
         in
         
-# 982 "parser_cocci_menhir.mly"
+# 1156 "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 )
-# 11710 "parser_cocci_menhir.ml"
+# 13685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11740,9 +13715,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11746 "parser_cocci_menhir.ml"
+# 13721 "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
@@ -11753,7 +13728,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11757 "parser_cocci_menhir.ml"
+# 13732 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11761,18 +13736,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11765 "parser_cocci_menhir.ml"
+# 13740 "parser_cocci_menhir.ml"
           
         in
         
-# 982 "parser_cocci_menhir.mly"
+# 1156 "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 )
-# 11776 "parser_cocci_menhir.ml"
+# 13751 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11811,9 +13786,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11817 "parser_cocci_menhir.ml"
+# 13792 "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
@@ -11826,7 +13801,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11830 "parser_cocci_menhir.ml"
+# 13805 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11834,18 +13809,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11838 "parser_cocci_menhir.ml"
+# 13813 "parser_cocci_menhir.ml"
           
         in
         
-# 982 "parser_cocci_menhir.mly"
+# 1156 "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 )
-# 11849 "parser_cocci_menhir.ml"
+# 13824 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11884,15 +13859,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11890 "parser_cocci_menhir.ml"
+# 13865 "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)
-# 11896 "parser_cocci_menhir.ml"
+# 13871 "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
@@ -11902,24 +13877,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11906 "parser_cocci_menhir.ml"
+# 13881 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11913 "parser_cocci_menhir.ml"
+# 13888 "parser_cocci_menhir.ml"
           
         in
         
-# 990 "parser_cocci_menhir.mly"
+# 1164 "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))] )
-# 11923 "parser_cocci_menhir.ml"
+# 13898 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11963,15 +13938,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11969 "parser_cocci_menhir.ml"
+# 13944 "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)
-# 11975 "parser_cocci_menhir.ml"
+# 13950 "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
@@ -11983,24 +13958,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11987 "parser_cocci_menhir.ml"
+# 13962 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11994 "parser_cocci_menhir.ml"
+# 13969 "parser_cocci_menhir.ml"
           
         in
         
-# 990 "parser_cocci_menhir.mly"
+# 1164 "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))] )
-# 12004 "parser_cocci_menhir.ml"
+# 13979 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12044,15 +14019,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12050 "parser_cocci_menhir.ml"
+# 14025 "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)
-# 12056 "parser_cocci_menhir.ml"
+# 14031 "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
@@ -12063,7 +14038,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12067 "parser_cocci_menhir.ml"
+# 14042 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12071,17 +14046,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12075 "parser_cocci_menhir.ml"
+# 14050 "parser_cocci_menhir.ml"
           
         in
         
-# 990 "parser_cocci_menhir.mly"
+# 1164 "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))] )
-# 12085 "parser_cocci_menhir.ml"
+# 14060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12130,15 +14105,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12136 "parser_cocci_menhir.ml"
+# 14111 "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)
-# 12142 "parser_cocci_menhir.ml"
+# 14117 "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
@@ -12151,7 +14126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12155 "parser_cocci_menhir.ml"
+# 14130 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12159,17 +14134,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12163 "parser_cocci_menhir.ml"
+# 14138 "parser_cocci_menhir.ml"
           
         in
         
-# 990 "parser_cocci_menhir.mly"
+# 1164 "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))] )
-# 12173 "parser_cocci_menhir.ml"
+# 14148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12228,36 +14203,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12234 "parser_cocci_menhir.ml"
+# 14209 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12239 "parser_cocci_menhir.ml"
+# 14214 "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)
-# 12245 "parser_cocci_menhir.ml"
+# 14220 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12250 "parser_cocci_menhir.ml"
+# 14225 "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)
-# 12256 "parser_cocci_menhir.ml"
+# 14231 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12261 "parser_cocci_menhir.ml"
+# 14236 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12266,11 +14241,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12270 "parser_cocci_menhir.ml"
+# 14245 "parser_cocci_menhir.ml"
           
         in
         
-# 1000 "parser_cocci_menhir.mly"
+# 1174 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12278,7 +14253,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))] )
-# 12282 "parser_cocci_menhir.ml"
+# 14257 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12342,36 +14317,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12348 "parser_cocci_menhir.ml"
+# 14323 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12353 "parser_cocci_menhir.ml"
+# 14328 "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)
-# 12359 "parser_cocci_menhir.ml"
+# 14334 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12364 "parser_cocci_menhir.ml"
+# 14339 "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)
-# 12370 "parser_cocci_menhir.ml"
+# 14345 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12375 "parser_cocci_menhir.ml"
+# 14350 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12382,11 +14357,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12386 "parser_cocci_menhir.ml"
+# 14361 "parser_cocci_menhir.ml"
           
         in
         
-# 1000 "parser_cocci_menhir.mly"
+# 1174 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12394,7 +14369,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))] )
-# 12398 "parser_cocci_menhir.ml"
+# 14373 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12433,29 +14408,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12439 "parser_cocci_menhir.ml"
+# 14414 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12444 "parser_cocci_menhir.ml"
+# 14419 "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)
-# 12450 "parser_cocci_menhir.ml"
+# 14425 "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 = 
-# 1008 "parser_cocci_menhir.mly"
+# 1182 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 12459 "parser_cocci_menhir.ml"
+# 14434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12524,42 +14499,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12530 "parser_cocci_menhir.ml"
+# 14505 "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)
-# 12536 "parser_cocci_menhir.ml"
+# 14511 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12541 "parser_cocci_menhir.ml"
+# 14516 "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)
-# 12547 "parser_cocci_menhir.ml"
+# 14522 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12552 "parser_cocci_menhir.ml"
+# 14527 "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)
-# 12558 "parser_cocci_menhir.ml"
+# 14533 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12563 "parser_cocci_menhir.ml"
+# 14538 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12568,11 +14543,143 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12572 "parser_cocci_menhir.ml"
+# 14547 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 1188 "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))])
+# 14559 "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)
+# 14635 "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)
+# 14641 "parser_cocci_menhir.ml"
+        ) = Obj.magic q in
+        let rp2 : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 14646 "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)
+# 14652 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp2 in
+        let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 14657 "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)
+# 14663 "parser_cocci_menhir.ml"
+        ) = Obj.magic st in
+        let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 14668 "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 )
+# 14679 "parser_cocci_menhir.ml"
           
         in
         
-# 1014 "parser_cocci_menhir.mly"
+# 1188 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12580,7 +14687,1429 @@ 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))])
-# 12584 "parser_cocci_menhir.ml"
+# 14691 "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)
+# 14727 "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)
+# 14734 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_pv_ in
+        let _v : 'tv_decl_var = 
+# 1196 "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 )
+# 14745 "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 = 
+# 931 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+               (fun c -> Ast0.DPComma c))) )
+# 14773 "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)
+# 14794 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_defineop = 
+# 887 "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)) )
+# 14816 "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)
+# 14847 "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)
+# 14853 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_defineop = 
+# 904 "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)) )
+# 14879 "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 )
+# 14903 "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) )
+# 14937 "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) )
+# 14971 "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 )
+# 14988 "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 )
+# 15020 "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)
+# 15047 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_designator = 
+# 1293 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 15054 "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)
+# 15085 "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)
+# 15091 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_designator = 
+# 1295 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 15098 "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)
+# 15139 "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)
+# 15145 "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)
+# 15151 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_designator = 
+# 1297 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+                            _4,P.clt2mcode "]" _5) )
+# 15159 "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 = 
+# 1376 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 15183 "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 )
+# 15211 "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 = 
+# 1890 "parser_cocci_menhir.mly"
+              ( _1 )
+# 15235 "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)
+# 15266 "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)
+# 15272 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_disj_ident = 
+# 1892 "parser_cocci_menhir.mly"
+  ( let (mids,code) = t in
+        Ast0.wrap
+          (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 15281 "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)
+# 15302 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dot_expressions = 
+# 1385 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 15309 "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 = 
+# 1386 "parser_cocci_menhir.mly"
+                   ( _1 )
+# 15333 "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 = 
+# 927 "parser_cocci_menhir.mly"
+               ( Ast0.wrap(Ast0.DParam _1) )
+# 15357 "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)
+# 15378 "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_ = 
+# 2212 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15385 "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)
+# 15424 "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_ = 
+# 2213 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15431 "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)
+# 15452 "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_ = 
+# 2212 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15459 "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)
+# 15498 "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_ = 
+# 2213 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15505 "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)
+# 15526 "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_ = 
+# 2212 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15533 "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)
+# 15572 "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_ = 
+# 2213 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15579 "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)
+# 15600 "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_ = 
+# 2212 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15607 "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)
+# 15646 "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_ = 
+# 2213 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15653 "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 = 
+# 1374 "parser_cocci_menhir.mly"
+                                         ( _1 )
+# 15677 "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 = 
+# 2192 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+               (fun c -> Ast0.EComma c))) )
+# 15705 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15722 "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_ = 
+# 1955 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15746 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15763 "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_ = 
+# 1955 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15787 "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__ = 
+# 1954 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15804 "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__ = 
+# 1955 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15828 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15845 "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_ = 
+# 1955 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15869 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15886 "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_ = 
+# 1955 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15910 "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 = 
+# 791 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15934 "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 = 
+# 762 "parser_cocci_menhir.mly"
+                    ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15958 "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)
+# 15990 "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 = 
+# 764 "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)) )
+# 16002 "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 = 
+# 771 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Ident(_1)) )
+# 16026 "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)
+# 16047 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 773 "parser_cocci_menhir.mly"
+     ( let (x,clt) = _1 in
+     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 16055 "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)
+# 16076 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 775 "parser_cocci_menhir.mly"
+         ( tmeta_to_exp _1 )
+# 16083 "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)
+# 16104 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 777 "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)) )
+# 16113 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12592,127 +16121,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.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)
-# 12660 "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)
-# 12666 "parser_cocci_menhir.ml"
-        ) = Obj.magic q in
-        let rp2 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12671 "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)
-# 12677 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp2 in
-        let rp1 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12682 "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)
-# 12688 "parser_cocci_menhir.ml"
-        ) = Obj.magic st in
-        let lp1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12693 "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 )
-# 12704 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1014 "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))])
-# 12716 "parser_cocci_menhir.ml"
+        let _1 : (
+# 135 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16134 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 781 "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)) )
+# 16143 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12724,49 +16151,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.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)
-# 12752 "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)
-# 12759 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let _startpos = _startpos_s_ in
-        let _endpos = _endpos_pv_ in
-        let _v : 'tv_decl_var = 
-# 1022 "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 )
-# 12770 "parser_cocci_menhir.ml"
+        let _1 : (
+# 135 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16164 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 785 "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)) )
+# 16173 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12779,22 +16182,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_define_param_list_start = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list = 
-# 739 "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)) )
-# 12798 "parser_cocci_menhir.ml"
+        let _v : 'tv_exists = 
+# 313 "parser_cocci_menhir.mly"
+          ( Ast.Exists )
+# 16195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12807,18 +16204,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_define_param_list = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list_option = 
-# 763 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 12822 "parser_cocci_menhir.ml"
+        let _v : 'tv_exists = 
+# 314 "parser_cocci_menhir.mly"
+          ( Ast.Forall )
+# 16217 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12832,10 +16227,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 = 
-# 764 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 12839 "parser_cocci_menhir.ml"
+        let _v : 'tv_exists = 
+# 315 "parser_cocci_menhir.mly"
+          ( Ast.Undetermined )
+# 16234 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12853,13 +16248,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_ident = Obj.magic _1 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_define_param_list_start = 
-# 746 "parser_cocci_menhir.mly"
-          ( [Ast0.wrap(Ast0.DParam _1)] )
-# 12863 "parser_cocci_menhir.ml"
+        let _v : 'tv_expr = 
+# 1372 "parser_cocci_menhir.mly"
+                                ( _1 )
+# 16258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12871,36 +16266,71 @@ 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.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_ = 
+# 1609 "parser_cocci_menhir.mly"
+                                                       ( r )
+# 16282 "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 = 
+# 556 "parser_cocci_menhir.mly"
+                        ( P.ty_pointerify Type_cocci.Unknown m )
+# 16306 "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 = _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 _3 : 'tv_define_param_list_start = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12895 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let m : 'tv_list_TMul_ = Obj.magic m in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_define_param_list_start = 
-# 748 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.DParam _1)::
-       Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 12904 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 558 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16334 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12912,30 +16342,166 @@ 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 = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            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)
-# 12931 "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 = 
-# 751 "parser_cocci_menhir.mly"
-      ( (P.mkdpdots "..." d)::
-       (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 12939 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 560 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16363 "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 = 
+# 563 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16392 "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"
+                                                  ( () )
+# 16409 "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)
+# 16434 "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) )
+# 16441 "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)
+# 16467 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 151 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 16472 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_filespec = 
+# 828 "parser_cocci_menhir.mly"
+    ( [Ast0.wrap
+         (Ast0.FILEINFO(P.id2mcode _1,
+                        P.id2mcode _2))] )
+# 16481 "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 = 
+# 1867 "parser_cocci_menhir.mly"
+                     ( _1 )
+# 16505 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12954,31 +16520,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 81 "parser_cocci_menhir.mly"
-       (Data.clt * token)
-# 12960 "parser_cocci_menhir.ml"
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16526 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_defineop = 
-# 698 "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)) )
-# 12982 "parser_cocci_menhir.ml"
+        let _v : 'tv_fn_ident = 
+# 1869 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16534 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12990,58 +16542,76 @@ 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)
-# 13013 "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)
-# 13019 "parser_cocci_menhir.ml"
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16555 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_defineop = 
-# 715 "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)) )
-# 13045 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1872 "parser_cocci_menhir.mly"
+  ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap
+          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16564 "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 = 
+# 963 "parser_cocci_menhir.mly"
+                ( [] )
+# 16581 "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 = 
+# 965 "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 )
+# 16615 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13053,19 +16623,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 = 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 _1 : 'tv_pnrule = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_dep = 
-# 225 "parser_cocci_menhir.mly"
-                   ( _1 )
-# 13069 "parser_cocci_menhir.ml"
+        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 = 
+# 970 "parser_cocci_menhir.mly"
+                        ( (Ast0.FType(t))::r )
+# 16645 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13077,29 +16653,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 = _2;
+          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_dep = Obj.magic _3 in
-        let _1 : 'tv_dep = Obj.magic _1 in
+        let _2 : 'tv_fninfo = Obj.magic _2 in
+        let _1 : (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 16672 "parser_cocci_menhir.ml"
+        ) = 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) )
-# 13103 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo = 
+# 972 "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 )
+# 16682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13111,29 +16690,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 = _2;
+          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_dep = Obj.magic _3 in
-        let _1 : 'tv_dep = Obj.magic _1 in
+        let _2 : 'tv_fninfo = Obj.magic _2 in
+        let _1 : (
+# 121 "parser_cocci_menhir.mly"
+      (string * Data.clt)
+# 16709 "parser_cocci_menhir.ml"
+        ) = 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) )
-# 13137 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo = 
+# 977 "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 )
+# 16719 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13147,10 +16729,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_depends = 
-# 221 "parser_cocci_menhir.mly"
-                           ( Ast.NoDep )
-# 13154 "parser_cocci_menhir.ml"
+        let _v : 'tv_fninfo_nt = 
+# 983 "parser_cocci_menhir.mly"
+                ( [] )
+# 16736 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13162,27 +16744,29 @@ 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 = _2;
+          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.semv = _1;
+            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 _2 : 'tv_fninfo_nt = Obj.magic _2 in
+        let _1 : 'tv_storage = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_parents_ in
-        let _v : 'tv_depends = 
-# 222 "parser_cocci_menhir.mly"
-                           ( parents )
-# 13186 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo_nt = 
+# 985 "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 )
+# 16770 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13205,18 +16789,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_ident = Obj.magic _2 in
+        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13213 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 16797 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_designator = 
-# 1123 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 13220 "parser_cocci_menhir.ml"
+        let _v : 'tv_fninfo_nt = 
+# 991 "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 )
+# 16807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13228,39 +16815,49 @@ 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 : (
-# 102 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13251 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 102 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13257 "parser_cocci_menhir.ml"
+# 121 "parser_cocci_menhir.mly"
+      (string * Data.clt)
+# 16834 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_designator = 
-# 1125 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 13264 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo_nt = 
+# 996 "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 )
+# 16844 "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 = 
+# 2125 "parser_cocci_menhir.mly"
+                               ([])
+# 16861 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13272,56 +16869,23 @@ 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.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)
-# 13305 "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)
-# 13311 "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)
-# 13317 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_fun_after_exp = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_designator = 
-# 1127 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
-                            _4,P.clt2mcode "]" _5) )
-# 13325 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots = 
+# 2126 "parser_cocci_menhir.mly"
+                               (_2)
+# 16889 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13333,19 +16897,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_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        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__1_ in
-        let _v : 'tv_dexpr = 
-# 1226 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 13349 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots = 
+# 2127 "parser_cocci_menhir.mly"
+                               (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 16919 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13362,18 +16932,20 @@ 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_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 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__2_ in
-        let _v : 'tv_disable = 
-# 240 "parser_cocci_menhir.mly"
-                                                      ( List.map P.id2name _2 )
-# 13377 "parser_cocci_menhir.ml"
+        let _v : 'tv_fun_after_dots = 
+# 2128 "parser_cocci_menhir.mly"
+                                    (_1@_2)
+# 16949 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13384,24 +16956,41 @@ 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_dots_or = 
+# 2135 "parser_cocci_menhir.mly"
+                               ([])
+# 16966 "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.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)
-# 13398 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_dot_expressions = 
-# 1235 "parser_cocci_menhir.mly"
-            ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 13405 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots_or = 
+# 2136 "parser_cocci_menhir.mly"
+                               (_2)
+# 16994 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13413,19 +17002,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_nest_expressions = Obj.magic _1 in
+        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__1_ in
-        let _v : 'tv_dot_expressions = 
-# 1236 "parser_cocci_menhir.mly"
-                   ( _1 )
-# 13429 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots_or = 
+# 2137 "parser_cocci_menhir.mly"
+                               (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 17024 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13437,34 +17032,25 @@ 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.semv = _2;
+          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)
-# 13455 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let c : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13460 "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_ = 
-# 756 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 13468 "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 = 
+# 2138 "parser_cocci_menhir.mly"
+                                    (_1@_2)
+# 17054 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13487,20 +17073,14 @@ 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)
-# 13495 "parser_cocci_menhir.ml"
-        ) = 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__2_ in
-        let _v : 'tv_dp_comma_args_TEllipsis_ = 
-# 759 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
-       Ast0.wrap(Ast0.DParam _2)] )
-# 13504 "parser_cocci_menhir.ml"
+        let _v : 'tv_fun_after_exp = 
+# 2131 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17084 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13511,24 +17091,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 = 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)
-# 13525 "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_ = 
-# 1924 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13532 "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_fun_after_exp_or = 
+# 2141 "parser_cocci_menhir.mly"
+                               ([])
+# 17101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13540,41 +17109,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 = 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)
-# 13571 "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_ = 
-# 1925 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13578 "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 = 
+# 2142 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17131 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13585,24 +17138,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 = 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)
-# 13599 "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_ = 
-# 1924 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13606 "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_fun_after_stm = 
+# 2120 "parser_cocci_menhir.mly"
+                               ([])
+# 17148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13614,41 +17156,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 = 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_initialize = Obj.magic w in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13645 "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_ = 
-# 1925 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13652 "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_stm = 
+# 2121 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13660,23 +17186,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 = d;
-          MenhirLib.EngineTypes.startp = _startpos_d_;
-          MenhirLib.EngineTypes.endp = _endpos_d_;
-          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 d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13673 "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_ = 
-# 1924 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13680 "parser_cocci_menhir.ml"
+        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__2_ in
+        let _v : 'tv_fun_after_stm = 
+# 2122 "parser_cocci_menhir.mly"
+                               (_1@_2)
+# 17208 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13688,41 +17216,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 = 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_struct_decl = Obj.magic w in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13719 "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_ = 
-# 1925 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13726 "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 = 
+# 2117 "parser_cocci_menhir.mly"
+                 ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 17232 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13740,13 +17246,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_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr = 
-# 1224 "parser_cocci_menhir.mly"
-                                         ( _1 )
-# 13750 "parser_cocci_menhir.ml"
+        let _v : 'tv_func_ident = 
+# 1858 "parser_cocci_menhir.mly"
+                  ( _1 )
+# 17256 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13764,22 +17270,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_start = Obj.magic _1 in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 17277 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list = 
-# 1868 "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)) )
-# 13783 "parser_cocci_menhir.ml"
+        let _v : 'tv_func_ident = 
+# 1860 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17285 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13797,13 +17299,19 @@ 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 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 17306 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list_option = 
-# 1907 "parser_cocci_menhir.mly"
-                              ( _1 )
-# 13807 "parser_cocci_menhir.ml"
+        let _v : 'tv_func_ident = 
+# 1863 "parser_cocci_menhir.mly"
+  ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap
+          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17315 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13814,13 +17322,88 @@ 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_eexpr_list_option = 
-# 1908 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 13824 "parser_cocci_menhir.ml"
+        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 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17375 "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)
+# 17381 "parser_cocci_menhir.ml"
+        ) = Obj.magic lb in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17386 "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)
+# 17392 "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 = 
+# 954 "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)) )
+# 17407 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13832,19 +17415,74 @@ 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 = 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 _1 : 'tv_aexpr = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list_start = 
-# 1895 "parser_cocci_menhir.mly"
-          ( [_1] )
-# 13848 "parser_cocci_menhir.ml"
+        let pt : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17453 "parser_cocci_menhir.ml"
+        ) = Obj.magic pt in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17458 "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)
+# 17464 "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 )
+# 17474 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 942 "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)) )
+# 17486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13856,35 +17494,81 @@ 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.semv = _2;
-            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.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 _3 : 'tv_eexpr_list_start = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
+        let pt : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13880 "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_eexpr_list_start = 
-# 1897 "parser_cocci_menhir.mly"
-      ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 13888 "parser_cocci_menhir.ml"
+# 17537 "parser_cocci_menhir.ml"
+        ) = Obj.magic pt in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17542 "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)
+# 17548 "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 )
+# 17560 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 942 "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)) )
+# 17572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13897,16 +17581,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 = 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 )
-# 13910 "parser_cocci_menhir.ml"
+        let _v : 'tv_ident = 
+# 1877 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 17596 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13919,16 +17605,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 = _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)
+# 17617 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_exists = 
-# 244 "parser_cocci_menhir.mly"
-          ( Ast.Forall )
-# 13932 "parser_cocci_menhir.ml"
+        let _v : 'tv_ident = 
+# 1879 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 17625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13939,13 +17632,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_exists = 
-# 245 "parser_cocci_menhir.mly"
-          ( Ast.Undetermined )
-# 13949 "parser_cocci_menhir.ml"
+        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;
+          } = _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 = 
+# 1832 "parser_cocci_menhir.mly"
+                    ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 17649 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13963,13 +17663,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 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17670 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_expr = 
-# 1222 "parser_cocci_menhir.mly"
-                                ( _1 )
-# 13973 "parser_cocci_menhir.ml"
+        let _v : 'tv_ident_or_const = 
+# 1834 "parser_cocci_menhir.mly"
+  ( let (x,clt) = _1 in
+        Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 17678 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13982,35 +17687,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 = 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_ = 
-# 1404 "parser_cocci_menhir.mly"
-                                                       ( r )
-# 13997 "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 = 
-# 216 "parser_cocci_menhir.mly"
-                                                  ( () )
-# 14014 "parser_cocci_menhir.ml"
+        let _1 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17699 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_incl = 
+# 326 "parser_cocci_menhir.mly"
+                      ( let (x,_) = _1 in Data.Include(x) )
+# 17706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14022,9 +17714,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (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.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_;
@@ -14032,17 +17724,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let parent : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 14039 "parser_cocci_menhir.ml"
-        ) = Obj.magic parent in
+        let _2 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17731 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_parent_ in
-        let _v : 'tv_extends = 
-# 218 "parser_cocci_menhir.mly"
-    ( !Data.install_bindings (parent) )
-# 14046 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_incl = 
+# 327 "parser_cocci_menhir.mly"
+                      ( Data.Iso(Common.Left(P.id2name _2)) )
+# 17738 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14059,47 +17751,22 @@ 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 : (
-# 83 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 14072 "parser_cocci_menhir.ml"
+# 147 "parser_cocci_menhir.mly"
+       (string)
+# 17763 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 83 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 14077 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_filespec = 
-# 655 "parser_cocci_menhir.mly"
-    ( [Ast0.wrap
-         (Ast0.FILEINFO(P.id2mcode _1,
-                        P.id2mcode _2))] )
-# 14086 "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 = 
-# 792 "parser_cocci_menhir.mly"
-                ( [] )
-# 14103 "parser_cocci_menhir.ml"
+        let _v : 'tv_incl = 
+# 328 "parser_cocci_menhir.mly"
+                      ( Data.Iso(Common.Right _2) )
+# 17770 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14116,54 +17783,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.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fninfo = Obj.magic _2 in
-        let _1 : 'tv_storage = Obj.magic _1 in
+        let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo = 
-# 794 "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 )
-# 14137 "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 = 
-# 799 "parser_cocci_menhir.mly"
-                        ( (Ast0.FType(t))::r )
-# 14167 "parser_cocci_menhir.ml"
+        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) )
+# 17805 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14175,7 +17813,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 = {
@@ -14186,21 +17823,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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)
-# 14194 "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_fninfo = 
-# 801 "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 )
-# 14204 "parser_cocci_menhir.ml"
+        let _v : (
+# 216 "parser_cocci_menhir.mly"
+      (Data.incl_iso list)
+# 17833 "parser_cocci_menhir.ml"
+        ) = 
+# 322 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 17837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14212,7 +17845,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 = {
@@ -14223,21 +17855,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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)
-# 14231 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo = 
-# 806 "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 )
-# 14241 "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)
+# 17865 "parser_cocci_menhir.ml"
+        ) = 
+# 323 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 17869 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14248,13 +17876,33 @@ 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_fninfo_nt = 
-# 812 "parser_cocci_menhir.mly"
-                ( [] )
-# 14258 "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 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17890 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_includes = 
+# 834 "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))) )
+# 17906 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14266,29 +17914,32 @@ 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_fninfo_nt = Obj.magic _2 in
-        let _1 : 'tv_storage = Obj.magic _1 in
+        let _1 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17927 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 814 "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 )
-# 14292 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_includes = 
+# 845 "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))) )
+# 17943 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14300,7 +17951,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 = {
@@ -14311,21 +17961,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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)
-# 14319 "parser_cocci_menhir.ml"
+# 149 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 17968 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 820 "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 )
-# 14329 "parser_cocci_menhir.ml"
+        let _v : 'tv_includes = 
+# 856 "parser_cocci_menhir.mly"
+    ( let (clt,ident) = _1 in
+      Ast0.wrap
+      (Ast0.Undef
+        (P.clt2mcode "#undef" 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")))) )
+# 17987 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14337,32 +17995,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.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             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)
-# 14356 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
+        let d : 'tv_defineop = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 825 "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 )
-# 14366 "parser_cocci_menhir.ml"
+        let _v : 'tv_includes = 
+# 870 "parser_cocci_menhir.mly"
+    ( d (Ast0.wrap(Ast0.DOTS([]))) )
+# 18015 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14373,13 +18022,31 @@ 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_dots = 
-# 1816 "parser_cocci_menhir.mly"
-                               ([])
-# 14383 "parser_cocci_menhir.ml"
+        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 = 
+# 872 "parser_cocci_menhir.mly"
+    ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+      d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 18050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14391,23 +18058,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__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 = 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;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_exp = Obj.magic _2 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__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1817 "parser_cocci_menhir.mly"
-                               (_2)
-# 14411 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_includes = 
+# 875 "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))) )
+# 18092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14419,25 +18100,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_fun_after_exp = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
+        let _1 : 'tv_eexpr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1818 "parser_cocci_menhir.mly"
-                               (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14441 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize = 
+# 1262 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14449,25 +18124,44 @@ 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_fun_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _3 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18147 "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)
+# 18153 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1819 "parser_cocci_menhir.mly"
-                                    (_1@_2)
-# 14471 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize = 
+# 1264 "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)) )
+# 18165 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14478,13 +18172,25 @@ 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_dots_or = 
-# 1826 "parser_cocci_menhir.mly"
-                               ([])
-# 14488 "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)
+# 18186 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize = 
+# 1271 "parser_cocci_menhir.mly"
+      (let (nm,pure,clt) = _1 in
+      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18194 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14496,23 +18202,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.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_fun_after_exp_or = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1827 "parser_cocci_menhir.mly"
-                               (_2)
-# 14516 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize2 = 
+# 1277 "parser_cocci_menhir.mly"
+                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14524,25 +18226,44 @@ 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_fun_after_exp_or = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
+        let _3 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18249 "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)
+# 18255 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1828 "parser_cocci_menhir.mly"
-                               (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14546 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1279 "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)) )
+# 18267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14554,25 +18275,35 @@ 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_fun_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _3 : 'tv_initialize2 = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18299 "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__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1829 "parser_cocci_menhir.mly"
-                                    (_1@_2)
-# 14576 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1287 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 18307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14584,25 +18315,35 @@ 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_fun_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _3 : 'tv_initialize2 = Obj.magic _3 in
+        let _2 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18339 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_exp = 
-# 1822 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14606 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1289 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 18347 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14613,13 +18354,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_fun_after_exp_or = 
-# 1832 "parser_cocci_menhir.mly"
-                               ([])
-# 14623 "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_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize_list = 
+# 1302 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18371 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14631,25 +18379,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_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 = 
-# 1833 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14653 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_invalid = 
+# 1382 "parser_cocci_menhir.mly"
+           ( raise (Semantic_cocci.Semantic "not matchable") )
+# 18393 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14663,10 +18403,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_fun_after_stm = 
-# 1811 "parser_cocci_menhir.mly"
-                               ([])
-# 14670 "parser_cocci_menhir.ml"
+        let _v : 'tv_is_expression = 
+# 318 "parser_cocci_menhir.mly"
+              ( false )
+# 18410 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14678,25 +18418,45 @@ 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.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_is_expression = 
+# 319 "parser_cocci_menhir.mly"
+              ( true )
+# 18432 "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 = 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_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = 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_fun_after_stm = 
-# 1812 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14700 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_ctype_ = 
+# 2268 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18460 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14708,25 +18468,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 = 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_fun_after_stm = 
-# 1813 "parser_cocci_menhir.mly"
-                               (_1@_2)
-# 14730 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_ctype_ = 
+# 2269 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18488 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14738,19 +18496,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 = 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 _1 : 'tv_fun_after_stm = Obj.magic _1 in
+        let t : 'tv_decl_var = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_fun_start = 
-# 1808 "parser_cocci_menhir.mly"
-                 ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 14754 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_decl_var_ = 
+# 2268 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18516 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14762,19 +18524,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 = 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 _1 : 'tv_pure_ident = Obj.magic _1 in
+        let t : 'tv_decl_var = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1606 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14778 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_decl_var_ = 
+# 2269 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18544 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14786,24 +18552,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 = 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 _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14799 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let t : 'tv_eexpr = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1608 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14807 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_eexpr_ = 
+# 2268 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14815,24 +18580,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 = 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 _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14828 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let t : 'tv_eexpr = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1611 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14836 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_eexpr_ = 
+# 2269 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14844,25 +18608,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 = 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 _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14857 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let t : 'tv_nest_start = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1614 "parser_cocci_menhir.mly"
-  ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap
-          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14866 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_nest_start_ = 
+# 2268 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14874,87 +18636,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (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.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           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;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let rb : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14926 "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)
-# 14932 "parser_cocci_menhir.ml"
-        ) = Obj.magic lb in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14937 "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)
-# 14943 "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 = 
-# 783 "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)) )
-# 14958 "parser_cocci_menhir.ml"
+        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_ = 
+# 2269 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18656 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14966,74 +18664,23 @@ 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 = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           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;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let pt : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15004 "parser_cocci_menhir.ml"
-        ) = Obj.magic pt in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15009 "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)
-# 15015 "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 )
-# 15025 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 771 "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)) )
-# 15037 "parser_cocci_menhir.ml"
+        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_ = 
+# 2268 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18684 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15045,81 +18692,23 @@ 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 = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           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.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let pt : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15088 "parser_cocci_menhir.ml"
-        ) = Obj.magic pt in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15093 "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)
-# 15099 "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 )
-# 15111 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 771 "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)) )
-# 15123 "parser_cocci_menhir.ml"
+        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_ = 
+# 2269 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18712 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15131,19 +18720,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.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 _1 : 'tv_pure_ident = 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__1_ in
-        let _v : 'tv_ident = 
-# 1619 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15147 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18750 "parser_cocci_menhir.ml"
+        ) = 
+# 2236 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
+# 18754 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15155,24 +18762,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.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 _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 15168 "parser_cocci_menhir.ml"
-        ) = 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__1_ in
-        let _v : 'tv_ident = 
-# 1621 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15176 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18792 "parser_cocci_menhir.ml"
+        ) = 
+# 2238 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
+# 18796 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15184,19 +18804,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 = i;
-          MenhirLib.EngineTypes.startp = _startpos_i_;
-          MenhirLib.EngineTypes.endp = _endpos_i_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          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 i : 'tv_pure_ident = Obj.magic i in
-        let _startpos = _startpos_i_ in
-        let _endpos = _endpos_i_ in
-        let _v : 'tv_ident_or_const = 
-# 1573 "parser_cocci_menhir.mly"
-                    ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 15200 "parser_cocci_menhir.ml"
+        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__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18834 "parser_cocci_menhir.ml"
+        ) = 
+# 2240 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
+# 18838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15208,24 +18846,39 @@ 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 = 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 _1 : (
-# 87 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15221 "parser_cocci_menhir.ml"
-        ) = 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__1_ in
-        let _v : 'tv_ident_or_const = 
-# 1575 "parser_cocci_menhir.mly"
-  ( let (x,clt) = _1 in
-        Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15229 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18876 "parser_cocci_menhir.ml"
+        ) = 
+# 2242 "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 )
+# 18882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15237,23 +18890,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.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 _1 : (
-# 80 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15250 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 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__1_ in
-        let _v : 'tv_incl = 
-# 256 "parser_cocci_menhir.mly"
-                      ( let (x,_) = _1 in Data.Include(x) )
-# 15257 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18920 "parser_cocci_menhir.ml"
+        ) = 
+# 2246 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
+# 18924 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15265,27 +18932,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.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 : (
-# 87 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15282 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 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_incl = 
-# 257 "parser_cocci_menhir.mly"
-                      ( Data.Iso(Common.Left(P.id2name _2)) )
-# 15289 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18962 "parser_cocci_menhir.ml"
+        ) = 
+# 2248 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
+# 18966 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15297,27 +18974,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.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 : (
-# 79 "parser_cocci_menhir.mly"
-       (string)
-# 15314 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 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_incl = 
-# 258 "parser_cocci_menhir.mly"
-                      ( Data.Iso(Common.Right _2) )
-# 15321 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19004 "parser_cocci_menhir.ml"
+        ) = 
+# 2250 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
+# 19008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15329,28 +19016,50 @@ 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.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            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 _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 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__2_ in
-        let _v : 'tv_incl = 
-# 260 "parser_cocci_menhir.mly"
-    ( let names = List.map P.id2name _2 in
-      (* 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) )
-# 15354 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19046 "parser_cocci_menhir.ml"
+        ) = 
+# 2252 "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 )
+# 19063 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15362,27 +19071,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 = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            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 _1 : 'tv_list_incl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
+        let m : 'tv_metadec = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
         let _v : (
-# 146 "parser_cocci_menhir.mly"
-      (Data.incl_iso list)
-# 15382 "parser_cocci_menhir.ml"
+# 235 "parser_cocci_menhir.mly"
+      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 19087 "parser_cocci_menhir.ml"
         ) = 
 # 252 "parser_cocci_menhir.mly"
-                       ( _1 )
-# 15386 "parser_cocci_menhir.ml"
+                         ( m "" )
+# 19091 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15398,23 +19103,23 @@ 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 = nm;
+            MenhirLib.EngineTypes.startp = _startpos_nm_;
+            MenhirLib.EngineTypes.endp = _endpos_nm_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _1 : 'tv_list_incl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
+        let nm : 'tv_pure_ident = Obj.magic nm in
+        let _startpos = _startpos_nm_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 146 "parser_cocci_menhir.mly"
-      (Data.incl_iso list)
-# 15414 "parser_cocci_menhir.ml"
+# 219 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 19119 "parser_cocci_menhir.ml"
         ) = 
-# 253 "parser_cocci_menhir.mly"
-                       ( _1 )
-# 15418 "parser_cocci_menhir.ml"
+# 267 "parser_cocci_menhir.mly"
+                      ( P.make_iso_rule_name_result (P.id2name nm) )
+# 19123 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15433,25 +19138,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15439 "parser_cocci_menhir.ml"
+# 19144 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_includes = 
-# 661 "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))) )
-# 15455 "parser_cocci_menhir.ml"
+        let _v : 'tv_iter_ident = 
+# 1909 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 19151 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15470,25 +19166,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15476 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 19172 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_includes = 
-# 672 "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))) )
-# 15492 "parser_cocci_menhir.ml"
+        let _v : 'tv_iter_ident = 
+# 1911 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 19180 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15499,31 +19187,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 = 
-# 683 "parser_cocci_menhir.mly"
-    ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
-      d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 15527 "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"
+    ( [] )
+# 19197 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15535,37 +19205,29 @@ 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 = 
-# 686 "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))) )
-# 15569 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_TMul_ = Obj.magic xs in
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 19224 "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 )
+# 19231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15576,20 +19238,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 = 
-# 1094 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15593 "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"
+    ( [] )
+# 19248 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15601,39 +19256,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;
-              };
+            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)
-# 15624 "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)
-# 15630 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize = 
-# 1096 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15637 "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 )
+# 19278 "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_case_line_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19295 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15645,35 +19303,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 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15663 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15668 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize = 
-# 1098 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                        P.clt2mcode "}" _2)) )
-# 15677 "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 )
+# 19325 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15684,25 +19332,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 : (
-# 65 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 15698 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_initialize = 
-# 1102 "parser_cocci_menhir.mly"
-      (let (nm,pure,clt) = _1 in
-      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 15706 "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"
+    ( [] )
+# 19342 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15714,19 +19350,42 @@ 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;
+            };
+          } = _menhir_stack in
+        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 )
+# 19372 "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;
-          } = _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 = 
-# 1108 "parser_cocci_menhir.mly"
-                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15730 "parser_cocci_menhir.ml"
+          });
+      (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"
+    ( [] )
+# 19389 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15738,39 +19397,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;
-              };
+            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)
-# 15761 "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)
-# 15767 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize2 = 
-# 1110 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15774 "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 )
+# 19419 "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_incl_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15782,35 +19444,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 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15800 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15805 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize2 = 
-# 1112 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                      P.clt2mcode "}" _2)) )
-# 15814 "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 )
+# 19466 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15821,36 +19473,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_initialize2 = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15846 "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 = 
-# 1117 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 15854 "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"
+    ( [] )
+# 19483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15862,35 +19491,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)
-# 15886 "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 = 
-# 1119 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 15894 "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 )
+# 19513 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15901,20 +19520,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 = 
-# 1131 "parser_cocci_menhir.mly"
-                         ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 15918 "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"
+    ( [] )
+# 19530 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15926,29 +19538,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)
-# 15944 "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 = 
-# 1134 "parser_cocci_menhir.mly"
-                     ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 15952 "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 )
+# 19560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15959,36 +19567,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)
-# 15984 "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 = 
-# 1136 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 15992 "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"
+    ( [] )
+# 19577 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16000,26 +19585,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 = 
-# 1139 "parser_cocci_menhir.mly"
-    ( (P.mkidots "..." d)::
-      (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 16023 "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 )
+# 19607 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16030,18 +19614,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_iso_nest_start__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19624 "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 = 
-# 1232 "parser_cocci_menhir.mly"
-           ( raise (Semantic_cocci.Semantic "not matchable") )
-# 16045 "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 )
+# 19654 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16055,10 +19664,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 )
-# 16062 "parser_cocci_menhir.ml"
+        let _v : 'tv_list_iso_single_statement__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19671 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16070,17 +19679,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 )
-# 16084 "parser_cocci_menhir.ml"
+        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 )
+# 19701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16091,24 +19708,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_ = 
-# 1976 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16112 "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_ctype__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19718 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16120,23 +19726,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_ = 
-# 1977 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16140 "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 )
+# 19748 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16147,24 +19755,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_ = 
-# 1976 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16168 "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"
+    ( [] )
+# 19765 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16176,23 +19773,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_ = 
-# 1977 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16196 "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 )
+# 19795 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16203,24 +19802,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_ = 
-# 1976 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16224 "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"
+    ( [] )
+# 19812 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16232,23 +19820,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_ = 
-# 1977 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16252 "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 )
+# 19842 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16259,24 +19849,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_ = 
-# 1976 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16280 "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_fun_after_dots_or__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19859 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16288,23 +19867,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_nest_start = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_nest_start_ = 
-# 1977 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16308 "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 )
+# 19889 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16315,24 +19896,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_ = 
-# 1976 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16336 "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_fun_start__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19906 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16344,23 +19914,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_ = 
-# 1977 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16364 "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 )
+# 19936 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16371,38 +19943,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)
-# 16402 "parser_cocci_menhir.ml"
-        ) = 
-# 1948 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
-# 16406 "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"
+    ( [] )
+# 19953 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16414,37 +19961,25 @@ 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 = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           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_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)
-# 16444 "parser_cocci_menhir.ml"
-        ) = 
-# 1950 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
-# 16448 "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 )
+# 19983 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16455,38 +19990,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)
-# 16486 "parser_cocci_menhir.ml"
-        ) = 
-# 1952 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
-# 16490 "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"
+    ( [] )
+# 20000 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16498,37 +20008,25 @@ 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 = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           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)
-# 16528 "parser_cocci_menhir.ml"
-        ) = 
-# 1954 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
-# 16532 "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 )
+# 20030 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16539,38 +20037,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)
-# 16570 "parser_cocci_menhir.ml"
-        ) = 
-# 1956 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
-# 16574 "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"
+    ( [] )
+# 20047 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16582,37 +20055,42 @@ 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 = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           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)
-# 16612 "parser_cocci_menhir.ml"
-        ) = 
-# 1958 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
-# 16616 "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 )
+# 20077 "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_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
+# 114 "standard.mly"
+    ( [] )
+# 20094 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16624,50 +20102,40 @@ 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 = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = dl;
-            MenhirLib.EngineTypes.startp = _startpos_dl_;
-            MenhirLib.EngineTypes.endp = _endpos_dl_;
+            MenhirLib.EngineTypes.semv = y0;
+            MenhirLib.EngineTypes.startp = _startpos_y0_;
+            MenhirLib.EngineTypes.endp = _endpos_y0_;
             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;
-                };
+              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 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)
-# 16654 "parser_cocci_menhir.ml"
-        ) = 
-# 1960 "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 )
-# 16671 "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) )
+# 20133 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 116 "standard.mly"
+    ( x :: xs )
+# 20139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16678,24 +20146,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 = 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 _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)
-# 16695 "parser_cocci_menhir.ml"
-        ) = 
-# 182 "parser_cocci_menhir.mly"
-                         ( m "" )
-# 16699 "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"
+    ( [] )
+# 20156 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16707,27 +20164,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 = nm;
-            MenhirLib.EngineTypes.startp = _startpos_nm_;
-            MenhirLib.EngineTypes.endp = _endpos_nm_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             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)
-# 16727 "parser_cocci_menhir.ml"
-        ) = 
-# 197 "parser_cocci_menhir.mly"
-                      ( P.make_iso_rule_name_result (P.id2name nm) )
-# 16731 "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 )
+# 20186 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16745,17 +20200,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 16752 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 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_iter_ident = 
-# 1633 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16759 "parser_cocci_menhir.ml"
+        let _v : 'tv_list_len = 
+# 409 "parser_cocci_menhir.mly"
+                           ( Common.Left _1 )
+# 20210 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16774,17 +20225,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 62 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 16780 "parser_cocci_menhir.ml"
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 20231 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_iter_ident = 
-# 1635 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 16788 "parser_cocci_menhir.ml"
+        let _v : 'tv_list_len = 
+# 410 "parser_cocci_menhir.mly"
+       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 20238 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16798,10 +20248,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_choose_iso_ = 
+# 57 "standard.mly"
     ( [] )
-# 16805 "parser_cocci_menhir.ml"
+# 20255 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16813,29 +20263,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)
-# 16832 "parser_cocci_menhir.ml"
-        ) = Obj.magic x in
+        let x : 'tv_choose_iso = Obj.magic x in
         let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_TMul_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 16839 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_choose_iso_ = 
+# 59 "standard.mly"
+    ( x )
+# 20279 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16849,10 +20289,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_array_dec_ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_disable_ = 
+# 57 "standard.mly"
     ( [] )
-# 16856 "parser_cocci_menhir.ml"
+# 20296 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16864,25 +20304,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_array_dec_ = Obj.magic xs in
-        let x : 'tv_array_dec = Obj.magic x in
+        let x : 'tv_disable = 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 )
-# 16886 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_disable_ = 
+# 59 "standard.mly"
+    ( x )
+# 20320 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16896,10 +20330,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_case_line_ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_filespec_ = 
+# 57 "standard.mly"
     ( [] )
-# 16903 "parser_cocci_menhir.ml"
+# 20337 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16911,25 +20345,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_case_line_ = Obj.magic xs in
-        let x : 'tv_case_line = Obj.magic x in
+        let x : 'tv_filespec = 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 )
-# 16933 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_filespec_ = 
+# 59 "standard.mly"
+    ( x )
+# 20361 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16943,10 +20371,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_comma_decls_TEllipsis_decl__ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_minus_start_ = 
+# 57 "standard.mly"
     ( [] )
-# 16950 "parser_cocci_menhir.ml"
+# 20378 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16958,25 +20386,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_comma_decls_TEllipsis_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
+        let x : 'tv_minus_start = 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 )
-# 16980 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_minus_start_ = 
+# 59 "standard.mly"
+    ( x )
+# 20402 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16990,10 +20412,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_comma_decls_TEllipsis_name_opt_decl__ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_not_pos_ = 
+# 57 "standard.mly"
     ( [] )
-# 16997 "parser_cocci_menhir.ml"
+# 20419 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17005,25 +20427,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_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
+        let x : 'tv_not_pos = 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 )
-# 17027 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_not_pos_ = 
+# 59 "standard.mly"
+    ( x )
+# 20443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17037,10 +20453,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_decl_var_ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_plus_start_ = 
+# 57 "standard.mly"
     ( [] )
-# 17044 "parser_cocci_menhir.ml"
+# 20460 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17052,25 +20468,127 @@ 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.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_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 )
+# 20484 "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)
+# 20505 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 699 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 20512 "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_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 700 "parser_cocci_menhir.mly"
+        (_1)
+# 20536 "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 = 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 = 
+# 599 "parser_cocci_menhir.mly"
+    ( [Ast0_cocci.ast0_type_to_type t] )
+# 20560 "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.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_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 )
-# 17074 "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 = 
+# 601 "parser_cocci_menhir.mly"
+    ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20592 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17081,13 +20599,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_designator_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17091 "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 = 
+# 603 "parser_cocci_menhir.mly"
+    ( List.map
+       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+       t )
+# 20632 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17099,25 +20640,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_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 )
-# 17121 "parser_cocci_menhir.ml"
+        let _3 : 'tv_pure_ident = Obj.magic _3 in
+        let _1 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 20663 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1647 "parser_cocci_menhir.mly"
+                                   ( (Some _1,P.id2name _3) )
+# 20670 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17128,13 +20677,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_dp_comma_args_TEllipsis__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17138 "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)
+# 20701 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1648 "parser_cocci_menhir.mly"
+                                   ( (Some _1,_3) )
+# 20708 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17146,25 +20716,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_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 )
-# 17168 "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)
+# 20732 "parser_cocci_menhir.ml"
+        ) = 
+# 251 "parser_cocci_menhir.mly"
+                       ( m (!Ast0.rule_name) )
+# 20736 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17175,13 +20743,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"
-    ( [] )
-# 17185 "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 =
+          
+# 421 "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) )
+# 20783 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20789 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17193,25 +20797,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 )
-# 17215 "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 =
+          
+# 425 "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) )
+# 20836 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20842 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17222,13 +20849,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"
-    ( [] )
-# 17232 "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 =
+          
+# 429 "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) )
+# 20894 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20900 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17240,25 +20908,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_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 )
-# 17262 "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 =
+          
+# 434 "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) )
+# 20952 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20958 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17269,13 +20965,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"
-    ( [] )
-# 17279 "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 =
+          
+# 439 "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) )
+# 21005 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21011 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17287,25 +21019,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 )
-# 17309 "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 =
+          
+# 443 "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) )
+# 21058 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17316,13 +21071,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_dexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17326 "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.MetaStmDecl(arity,name)) in
+      !Data.add_stm_meta name pure; tok) )
+# 21111 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21117 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17334,25 +21125,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_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 )
-# 17356 "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.MetaDeclDecl(arity,name)) in
+      !Data.add_decl_meta name pure; tok) )
+# 21164 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21170 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17363,13 +21177,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_nest_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17373 "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 =
+          
+# 455 "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) )
+# 21217 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21223 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17381,25 +21231,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 )
-# 17403 "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 =
+          
+# 459 "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) )
+# 21275 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21281 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17410,13 +21288,53 @@ 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"
-    ( [] )
-# 17420 "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 =
+          
+# 464 "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) )
+# 21332 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21338 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17428,25 +21346,49 @@ 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_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 )
-# 17450 "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 ->
+      if arity = Ast.NONE && pure = Ast0.Impure
+      then (!Data.add_type_name name; [])
+      else raise (Semantic_cocci.Semantic "bad typedef")) )
+# 21386 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21392 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17457,13 +21399,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_ctype__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17467 "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 =
+          
+# 473 "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")) )
+# 21444 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21450 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17475,25 +21458,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_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 )
-# 17497 "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 =
+          
+# 478 "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")) )
+# 21502 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21508 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17504,13 +21515,41 @@ 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"
-    ( [] )
-# 17514 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          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;
+                };
+              };
+            };
+          } = _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 =
+          
+# 414 "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) )
+# 21547 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 345 "parser_cocci_menhir.mly"
+    ( P.create_fresh_metadec kindfn ids )
+# 21553 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17522,25 +21561,65 @@ 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 )
-# 17544 "parser_cocci_menhir.ml"
+        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 =
+          
+# 485 "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) )
+# 21613 "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) )
+# 21623 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17551,13 +21630,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"
-    ( [] )
-# 17561 "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 =
+          
+# 504 "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) )
+# 21670 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21676 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17569,25 +21684,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_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 )
-# 17591 "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__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 508 "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) )
+# 21728 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17598,13 +21741,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_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17608 "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 =
+          
+# 513 "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) )
+# 21781 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21787 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17616,25 +21795,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_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 )
-# 17638 "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.MetaIteratorDecl(arity,name)) in
+      !Data.add_iterator_meta name constraints pure; tok) )
+# 21834 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21840 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17645,13 +21847,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_rule_elem_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17655 "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 =
+          
+# 523 "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) )
+# 21887 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17663,25 +21901,67 @@ 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.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_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 )
-# 17685 "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 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 )
+# 21946 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 527 "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))) )
+# 21959 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21965 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17692,13 +21972,76 @@ 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"
-    ( [] )
-# 17702 "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 = 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 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 )
+# 22026 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 527 "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))) )
+# 22039 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22045 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17710,25 +22053,68 @@ 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 = 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 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 )
-# 17732 "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 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
+          
+# 536 "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))) )
+# 22112 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22118 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17739,13 +22125,57 @@ 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"
-    ( [] )
-# 17749 "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.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 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
+          
+# 546 "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) )
+# 22173 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22179 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17757,40 +22187,55 @@ 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.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_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_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 )
+# 22225 "parser_cocci_menhir.ml"
+            
+          in
           
-# 70 "standard.mly"
-    ( (x, y) )
-# 17788 "parser_cocci_menhir.ml"
+# 551 "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) )
+# 22233 "parser_cocci_menhir.ml"
           
         in
         
-# 116 "standard.mly"
-    ( x :: xs )
-# 17794 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22239 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17801,13 +22246,64 @@ 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"
-    ( [] )
-# 17811 "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.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 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 )
+# 22293 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 551 "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) )
+# 22301 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17819,25 +22315,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_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 )
-# 17841 "parser_cocci_menhir.ml"
+        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 =
+          
+# 568 "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) )
+# 22354 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 370 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22360 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17848,13 +22367,73 @@ 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"
-    ( [] )
-# 17858 "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 = 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_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
+          
+# 572 "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)
+    )
+# 22431 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 370 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22437 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17866,19 +22445,45 @@ 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__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 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 )
-# 17882 "parser_cocci_menhir.ml"
+        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 )
+# 22487 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17889,13 +22494,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"
-    ( [] )
-# 17899 "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 = 
+# 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 )
+# 22553 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17907,19 +22561,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_disable = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_disable_ = 
-# 59 "standard.mly"
-    ( x )
-# 17923 "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 = 
+# 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 )
+# 22619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17930,13 +22626,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_filespec_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17940 "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 = 
+# 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 )
+# 22685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17949,35 +22694,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_filespec = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_filespec_ = 
-# 59 "standard.mly"
-    ( x )
-# 17964 "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"
-    ( [] )
-# 17981 "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 = 
+# 1883 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 22709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17990,35 +22718,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_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 )
-# 18005 "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"
-    ( [] )
-# 18022 "parser_cocci_menhir.ml"
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 22730 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1884 "parser_cocci_menhir.mly"
+             ( tmeta_to_ident _1 )
+# 22737 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18031,18 +22746,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_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 )
-# 18046 "parser_cocci_menhir.ml"
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 22758 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1886 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 22766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18053,13 +22773,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"
-    ( [] )
-# 18063 "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_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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22796 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18071,19 +22804,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 )
-# 18087 "parser_cocci_menhir.ml"
+        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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18094,13 +22833,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"
-    ( [] )
-# 18104 "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_eexpr = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_eexpr_eexpr_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22856 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18112,19 +22864,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 )
-# 18128 "parser_cocci_menhir.ml"
+        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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22886 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18136,19 +22894,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 = 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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            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 = 
-# 485 "parser_cocci_menhir.mly"
-    ( [Ast0_cocci.ast0_type_to_type t] )
-# 18152 "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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18160,35 +22924,25 @@ 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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            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 = 
-# 487 "parser_cocci_menhir.mly"
-    ( List.map
-       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
-       t )
-# 18192 "parser_cocci_menhir.ml"
+        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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18200,33 +22954,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 = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            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)
-# 18223 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_meta_ident = 
-# 1442 "parser_cocci_menhir.mly"
-                                   ( (Some _1,P.id2name _3) )
-# 18230 "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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22976 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18238,33 +22984,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 = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
-        let _1 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 18261 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_meta_ident = 
-# 1443 "parser_cocci_menhir.mly"
-                                   ( (Some _1,_3) )
-# 18268 "parser_cocci_menhir.ml"
+        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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23006 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18276,23 +23014,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 = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          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 m : 'tv_metadec = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos_m_ in
-        let _v : (
-# 157 "parser_cocci_menhir.mly"
-      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18292 "parser_cocci_menhir.ml"
-        ) = 
-# 181 "parser_cocci_menhir.mly"
-                       ( m (!Ast0.rule_name) )
-# 18296 "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_ = 
+# 2206 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23036 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18304,48 +23044,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.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 = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            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.MetaParamDecl(arity,name)) in
-      !Data.add_param_meta name pure; tok) )
-# 18343 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18349 "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 = 
+# 802 "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 )
+# 23068 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18357,52 +23076,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.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 = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            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.MetaParamListDecl(arity,name,None)) in
-      !Data.add_paramlist_meta name None pure; tok) )
-# 18400 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18406 "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 = 
+# 816 "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 )
+# 23100 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18414,52 +23108,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 =
-          
-# 346 "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) )
-# 18457 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18463 "parser_cocci_menhir.ml"
+        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 207 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23128 "parser_cocci_menhir.ml"
+        ) = 
+# 247 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 23132 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18471,48 +23140,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 =
-          
-# 350 "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) )
-# 18510 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18516 "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)
+# 23160 "parser_cocci_menhir.ml"
+        ) = 
+# 247 "parser_cocci_menhir.mly"
+                                                                       ( m )
+# 23164 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18524,48 +23172,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 =
-          
-# 354 "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) )
-# 18563 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18569 "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)
+# 23192 "parser_cocci_menhir.ml"
+        ) = 
+# 248 "parser_cocci_menhir.mly"
+                         ( m )
+# 23196 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18577,48 +23204,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 = _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 =
-          
-# 358 "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) )
-# 18616 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18622 "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)
+# 23224 "parser_cocci_menhir.ml"
+        ) = 
+# 243 "parser_cocci_menhir.mly"
+                           ( _1 )
+# 23228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18630,52 +23236,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 =
-          
-# 362 "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) )
-# 18673 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18679 "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)
+# 23256 "parser_cocci_menhir.ml"
+        ) = 
+# 243 "parser_cocci_menhir.mly"
+                                                           ( m )
+# 23260 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18687,49 +23268,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 =
-          
-# 366 "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")) )
-# 18727 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18733 "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)
+# 23288 "parser_cocci_menhir.ml"
+        ) = 
+# 244 "parser_cocci_menhir.mly"
+                     ( m )
+# 23292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18741,53 +23300,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 =
-          
-# 371 "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")) )
-# 18785 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18791 "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 = 
+# 2031 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 23316 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18799,53 +23324,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 =
-          
-# 376 "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")) )
-# 18843 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18849 "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_minus_start = 
+# 2032 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23340 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18857,40 +23348,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 = 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 = _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_seed_ = Obj.magic ids in
+        let _1 : 'tv_top_init = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 331 "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) )
-# 18888 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 273 "parser_cocci_menhir.mly"
-    ( P.create_fresh_metadec kindfn ids )
-# 18894 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2033 "parser_cocci_menhir.mly"
+                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18902,62 +23372,53 @@ 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.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_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 = 
+# 2035 "parser_cocci_menhir.mly"
+    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 23388 "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 = 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_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 =
-          
-# 383 "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 ->
-        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) )
-# 18951 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 279 "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) )
-# 18961 "parser_cocci_menhir.ml"
+        let b : 'tv_ctype = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23415 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_ctype_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23422 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18969,48 +23430,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_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 =
-          
-# 399 "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) )
-# 19008 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 288 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19014 "parser_cocci_menhir.ml"
+        let b : 'tv_disj_ident = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23449 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_disj_ident_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23456 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19022,53 +23464,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_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 =
-          
-# 403 "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) )
-# 19066 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 288 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19072 "parser_cocci_menhir.ml"
+        let b : 'tv_eexpr = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23483 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_eexpr_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23490 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19080,48 +23498,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_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 =
-          
-# 408 "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) )
-# 19119 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 288 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19125 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_after_dots_or = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23517 "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_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19133,48 +23532,63 @@ 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_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 =
-          
-# 412 "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) )
-# 19172 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 288 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19178 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_start = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23551 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_fun_start_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23558 "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.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_mctype = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23585 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_mctype_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23592 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19186,48 +23600,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_econstraint_re_or_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 =
-          
-# 418 "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) )
-# 19225 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19231 "parser_cocci_menhir.ml"
+        let b : 'tv_rule_elem_statement = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23619 "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_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19239,67 +23634,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.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 = 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_econstraint_re_or_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 )
-# 19284 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 422 "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))) )
-# 19297 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19303 "parser_cocci_menhir.ml"
+        let b : 'tv_statement = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23653 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_statement_ = 
+# 2209 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23660 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19311,75 +23668,19 @@ 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.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_econstraint_re_or_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 )
-# 19364 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 422 "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))) )
-# 19377 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19383 "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 = 
+# 1024 "parser_cocci_menhir.mly"
+            ( _1 )
+# 23684 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19391,32 +23692,34 @@ 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 = 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.semv = m0;
-              MenhirLib.EngineTypes.startp = _startpos_m0_;
-              MenhirLib.EngineTypes.endp = _endpos_m0_;
+              MenhirLib.EngineTypes.semv = lp1;
+              MenhirLib.EngineTypes.startp = _startpos_lp1_;
+              MenhirLib.EngineTypes.endp = _endpos_lp1_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__4_;
-                MenhirLib.EngineTypes.endp = _endpos__4_;
+                MenhirLib.EngineTypes.semv = rp;
+                MenhirLib.EngineTypes.startp = _startpos_rp_;
+                MenhirLib.EngineTypes.endp = _endpos_rp_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = l0;
-                  MenhirLib.EngineTypes.startp = _startpos_l0_;
-                  MenhirLib.EngineTypes.endp = _endpos_l0_;
+                  MenhirLib.EngineTypes.semv = s;
+                  MenhirLib.EngineTypes.startp = _startpos_s_;
+                  MenhirLib.EngineTypes.endp = _endpos_s_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = ispure;
-                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                    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 = ar;
-                      MenhirLib.EngineTypes.startp = _startpos_ar_;
-                      MenhirLib.EngineTypes.endp = _endpos_ar_;
+                      MenhirLib.EngineTypes.semv = t;
+                      MenhirLib.EngineTypes.startp = _startpos_t_;
+                      MenhirLib.EngineTypes.endp = _endpos_t_;
                       MenhirLib.EngineTypes.next = _menhir_stack;
                       };
                     };
@@ -19425,34 +23728,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_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
-          
-# 431 "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))) )
-# 19450 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19456 "parser_cocci_menhir.ml"
+        let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23735 "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)
+# 23741 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23746 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let s : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23751 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23756 "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 = 
+# 1027 "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)) )
+# 23769 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19464,56 +23777,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_econstraint_re_or_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
-          
-# 441 "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) )
-# 19511 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19517 "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 = 
+# 2151 "parser_cocci_menhir.mly"
+                                     (_1@_2)
+# 23799 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19525,60 +23807,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.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;
-                      };
-                    };
-                  };
-                };
-              };
+            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_econstraint_re_or_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
-          
-# 446 "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) )
-# 19576 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19582 "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 = 
+# 2152 "parser_cocci_menhir.mly"
+                                (_2)
+# 23827 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19590,55 +23835,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_econstraint_re_or_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 )
-# 19628 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 451 "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) )
-# 19636 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19642 "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 = 
+# 2153 "parser_cocci_menhir.mly"
+                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 23857 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19646,67 +23861,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           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 = 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_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 )
-# 19696 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 451 "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) )
-# 19704 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19710 "parser_cocci_menhir.ml"
+          });
+      (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 = 
+# 2161 "parser_cocci_menhir.mly"
+                                ([])
+# 23874 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19718,48 +23882,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_x_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 =
-          
-# 457 "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 (Ast0.NotExpCstrt constraints) pure; tok) )
-# 19757 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 297 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19763 "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 = 
+# 2162 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23904 "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 = 
+# 2156 "parser_cocci_menhir.mly"
+                                ([])
+# 23921 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19771,68 +23929,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.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_x_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
-          
-# 461 "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 (Ast0.NotExpCstrt constraints) pure; tok)
-    )
-# 19830 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 297 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19836 "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 = 
+# 2157 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23951 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19844,45 +23959,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.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_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 = 
-# 303 "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 )
-# 19886 "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 = 
+# 2158 "parser_cocci_menhir.mly"
+                                (_1@_2)
+# 23981 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19894,62 +23989,41 @@ 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.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.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 = 
-# 313 "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 )
-# 19953 "parser_cocci_menhir.ml"
+        let c : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24012 "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)
+# 24018 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1391 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...>" c, None, false)) )
+# 24027 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19961,62 +24035,41 @@ 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.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.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 = 
-# 322 "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 )
-# 20020 "parser_cocci_menhir.ml"
+        let c : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24058 "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)
+# 24064 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1395 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...+>" c, None, true)) )
+# 24073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20028,25 +24081,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 = _1;
+          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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20050 "parser_cocci_menhir.ml"
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 24094 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nest_expressions = 
+# 1398 "parser_cocci_menhir.mly"
+        ( tmeta_to_exp _1 )
+# 24101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20058,25 +24109,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_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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20080 "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 = 
+# 2148 "parser_cocci_menhir.mly"
+                   ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 24125 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20088,25 +24133,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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20110 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24147 "parser_cocci_menhir.ml"
+        ) = 
+# 2276 "parser_cocci_menhir.mly"
+                    ( () )
+# 24151 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20118,25 +24159,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_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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20140 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24177 "parser_cocci_menhir.ml"
+        ) = 
+# 2277 "parser_cocci_menhir.mly"
+                    ( () )
+# 24181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20148,25 +24189,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_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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20170 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24203 "parser_cocci_menhir.ml"
+        ) = 
+# 2278 "parser_cocci_menhir.mly"
+                    ( () )
+# 24207 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20178,25 +24215,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_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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20200 "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__ = 
+# 1614 "parser_cocci_menhir.mly"
+  ( function dot_builder ->
+      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 24238 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20208,25 +24246,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_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_ = 
-# 1918 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20230 "parser_cocci_menhir.ml"
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24259 "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 ] )
+# 24266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20238,27 +24274,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 = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
-            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 = 
-# 629 "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 )
-# 20262 "parser_cocci_menhir.ml"
+            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_nonempty_list_TMul_ = Obj.magic xs in
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24293 "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 )
+# 24300 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20270,27 +24308,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 = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
-            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_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 = 
-# 643 "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 )
-# 20294 "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_ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24324 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20302,6 +24332,7 @@ 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 = {
@@ -20312,17 +24343,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24350 "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 : (
-# 137 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20322 "parser_cocci_menhir.ml"
-        ) = 
-# 177 "parser_cocci_menhir.mly"
-                                   ( _1 )
-# 20326 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24359 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20334,27 +24367,37 @@ 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 = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           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.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 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)
-# 20354 "parser_cocci_menhir.ml"
-        ) = 
-# 177 "parser_cocci_menhir.mly"
-                                                                       ( m )
-# 20358 "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)
+# 24391 "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_ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20366,27 +24409,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 = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             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 : '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)
-# 20386 "parser_cocci_menhir.ml"
-        ) = 
-# 178 "parser_cocci_menhir.mly"
-                         ( m )
-# 20390 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20398,27 +24437,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 = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            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 _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)
-# 20418 "parser_cocci_menhir.ml"
-        ) = 
-# 173 "parser_cocci_menhir.mly"
-                           ( _1 )
-# 20422 "parser_cocci_menhir.ml"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24450 "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_ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24457 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20430,27 +24465,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_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24483 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24488 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 134 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20450 "parser_cocci_menhir.ml"
-        ) = 
-# 173 "parser_cocci_menhir.mly"
-                                                           ( m )
-# 20454 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24496 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20462,27 +24504,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 = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
-            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 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)
-# 20482 "parser_cocci_menhir.ml"
-        ) = 
-# 174 "parser_cocci_menhir.mly"
-                     ( m )
-# 20486 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24528 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24533 "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_ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24543 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20500,13 +24557,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_fundecl = Obj.magic _1 in
+        let _1 : 'tv_dparam = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_minus_start = 
-# 1727 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 20510 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24567 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20518,19 +24575,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 = _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 _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24593 "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 = 
-# 1728 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 20534 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24602 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20542,19 +24610,65 @@ 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_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24634 "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_nonempty_list_start_dparam_TEllipsis_ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24644 "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.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_top_init = 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 = 
-# 1729 "parser_cocci_menhir.mly"
-                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 20558 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24672 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20567,18 +24681,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_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 = 
-# 1731 "parser_cocci_menhir.mly"
-    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 20582 "parser_cocci_menhir.ml"
+        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_d_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24700 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20590,29 +24708,34 @@ 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 = 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 _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20609 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_ctype_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20616 "parser_cocci_menhir.ml"
+# 24726 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24731 "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_ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24739 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20624,29 +24747,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_eexpr = 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)
-# 20643 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_eexpr_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20650 "parser_cocci_menhir.ml"
+# 24771 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24776 "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_ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20658,29 +24794,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_fun_after_dots_or = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20677 "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_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20684 "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__ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24810 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20692,29 +24818,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_start = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20711 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_fun_start_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20718 "parser_cocci_menhir.ml"
+# 24836 "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__ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24845 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20726,29 +24853,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_rule_elem_statement = 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)
-# 20745 "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_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20752 "parser_cocci_menhir.ml"
+# 24877 "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__ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20760,29 +24895,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_statement = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20779 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_statement_ = 
-# 1921 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20786 "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__ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24915 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20795,18 +24924,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 = 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 = 
-# 852 "parser_cocci_menhir.mly"
-            ( _1 )
-# 20810 "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__ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24939 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20818,80 +24947,97 @@ 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 = _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 = {
-              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.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24965 "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__ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24974 "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 rp1 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20861 "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)
-# 20867 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20872 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let s : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20877 "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)
-# 20882 "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 = 
-# 855 "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)) )
-# 20895 "parser_cocci_menhir.ml"
+# 25006 "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__ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25017 "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__ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25041 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20914,14 +25060,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)
+# 25067 "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 = 
-# 1842 "parser_cocci_menhir.mly"
-                                     (_1@_2)
-# 20925 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25076 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20933,23 +25084,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)
+# 25108 "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 = 
-# 1843 "parser_cocci_menhir.mly"
-                                (_2)
-# 20953 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25118 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20966,20 +25131,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 = 
-# 1844 "parser_cocci_menhir.mly"
-                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 20983 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20990,13 +25153,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 = 
-# 1852 "parser_cocci_menhir.mly"
-                                ([])
-# 21000 "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__ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25170 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21013,20 +25183,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)
+# 25196 "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 = 
-# 1853 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21030 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25205 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21037,13 +25212,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 = 
-# 1847 "parser_cocci_menhir.mly"
-                                ([])
-# 21047 "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)
+# 25237 "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__ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25248 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21055,25 +25256,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 = 
-# 1848 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21077 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25272 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21096,14 +25291,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)
+# 25298 "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 = 
-# 1849 "parser_cocci_menhir.mly"
-                                (_1@_2)
-# 21107 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21115,13 +25315,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;
@@ -21131,25 +25331,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let c : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21138 "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)
-# 21144 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 25339 "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 = 
-# 1241 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...>" c, None, false)) )
-# 21153 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25349 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21161,41 +25357,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)
-# 21184 "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)
-# 21190 "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 = 
-# 1245 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...+>" c, None, true)) )
-# 21199 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25377 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21208,18 +25386,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 = 
-# 1839 "parser_cocci_menhir.mly"
-                   ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 21223 "parser_cocci_menhir.ml"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25398 "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_ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25405 "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)
+# 25431 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25436 "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_ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25444 "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)
+# 25476 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25481 "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_ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25491 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21232,20 +25500,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)
-# 21245 "parser_cocci_menhir.ml"
-        ) = 
-# 1984 "parser_cocci_menhir.mly"
-                    ( () )
-# 21249 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1958 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25515 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21257,25 +25523,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)
+# 25541 "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)
-# 21275 "parser_cocci_menhir.ml"
-        ) = 
-# 1985 "parser_cocci_menhir.mly"
-                    ( () )
-# 21279 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1960 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25550 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21287,21 +25558,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)
+# 25582 "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)
-# 21301 "parser_cocci_menhir.ml"
-        ) = 
-# 1986 "parser_cocci_menhir.mly"
-                    ( () )
-# 21305 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1963 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25592 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21313,26 +25600,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__ = 
-# 1409 "parser_cocci_menhir.mly"
-  ( function dot_builder ->
-      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 21336 "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_ = 
+# 1966 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25620 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21345,22 +25629,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)
-# 21357 "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 ] )
-# 21364 "parser_cocci_menhir.ml"
+# 25641 "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_ = 
+# 1967 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21372,29 +25656,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)
-# 21391 "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 )
-# 21398 "parser_cocci_menhir.ml"
+# 25674 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25679 "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_ = 
+# 1969 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25687 "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)
+# 25719 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25724 "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_ = 
+# 1972 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21420,13 +25756,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_ceq = 
-# 1560 "parser_cocci_menhir.mly"
+# 1795 "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] )
-# 21430 "parser_cocci_menhir.ml"
+# 25766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21460,13 +25796,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_ceq = 
-# 1566 "parser_cocci_menhir.mly"
+# 1801 "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 )
-# 21470 "parser_cocci_menhir.ml"
+# 25806 "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 = 
+# 1771 "parser_cocci_menhir.mly"
+                  (Ast0.NotExpCstrt ceq)
+# 25830 "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 = 
+# 1772 "parser_cocci_menhir.mly"
+                  (Ast0.SubExpCstrt s)
+# 25854 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21492,14 +25876,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqe = 
-# 1541 "parser_cocci_menhir.mly"
+# 1776 "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");
           [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
         )
-# 21503 "parser_cocci_menhir.ml"
+# 25887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21533,7 +25917,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqe = 
-# 1548 "parser_cocci_menhir.mly"
+# 1783 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21543,7 +25927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
             l
         )
-# 21547 "parser_cocci_menhir.ml"
+# 25931 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21565,19 +25949,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_eqid = 
-# 1520 "parser_cocci_menhir.mly"
+# 1733 "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");
-          Ast.IdNegIdSet([fst i]) )
-# 21581 "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],[])) )
+# 25971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21607,18 +25997,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_eqid = 
-# 1528 "parser_cocci_menhir.mly"
+# 1747 "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");
-          Ast.IdNegIdSet(List.map fst l)
+          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)
         )
-# 21622 "parser_cocci_menhir.ml"
+# 26023 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21644,18 +26045,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_pos = 
-# 1580 "parser_cocci_menhir.mly"
+# 1839 "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] )
-# 21659 "parser_cocci_menhir.ml"
+          let i =
+            P.check_inherited_constraint i
+              (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
+          [i] )
+# 26058 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21689,21 +26088,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_pos = 
-# 1591 "parser_cocci_menhir.mly"
+# 1848 "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 )
-# 21707 "parser_cocci_menhir.ml"
+# 26102 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21725,9 +26120,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1665 "parser_cocci_menhir.mly"
+# 1933 "parser_cocci_menhir.mly"
         ( _1 )
-# 21731 "parser_cocci_menhir.ml"
+# 26126 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21746,22 +26141,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)
-# 21752 "parser_cocci_menhir.ml"
+# 26147 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1667 "parser_cocci_menhir.mly"
+# 1935 "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)) )
-# 21765 "parser_cocci_menhir.ml"
+# 26161 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21783,9 +26179,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_ = 
-# 1665 "parser_cocci_menhir.mly"
+# 1933 "parser_cocci_menhir.mly"
         ( _1 )
-# 21789 "parser_cocci_menhir.ml"
+# 26185 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21804,22 +26200,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)
-# 21810 "parser_cocci_menhir.ml"
+# 26206 "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_ = 
-# 1667 "parser_cocci_menhir.mly"
+# 1935 "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)) )
-# 21823 "parser_cocci_menhir.ml"
+# 26220 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21843,17 +26240,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21849 "parser_cocci_menhir.ml"
+# 26246 "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 = 
-# 1030 "parser_cocci_menhir.mly"
+# 1204 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 21857 "parser_cocci_menhir.ml"
+# 26254 "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)
+# 26275 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_one_decl_var = 
+# 1205 "parser_cocci_menhir.mly"
+              ( P.meta_decl _1 )
+# 26282 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21882,9 +26307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21888 "parser_cocci_menhir.ml"
+# 26313 "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
@@ -21894,14 +26319,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 21898 "parser_cocci_menhir.ml"
+# 26323 "parser_cocci_menhir.ml"
           
         in
         
-# 1032 "parser_cocci_menhir.mly"
+# 1207 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 21905 "parser_cocci_menhir.ml"
+# 26330 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21935,9 +26360,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21941 "parser_cocci_menhir.ml"
+# 26366 "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
@@ -21949,14 +26374,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 21953 "parser_cocci_menhir.ml"
+# 26378 "parser_cocci_menhir.ml"
           
         in
         
-# 1032 "parser_cocci_menhir.mly"
+# 1207 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 21960 "parser_cocci_menhir.ml"
+# 26385 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21978,9 +26403,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_one_decl_var = 
-# 1034 "parser_cocci_menhir.mly"
+# 1209 "parser_cocci_menhir.mly"
                ( f )
-# 21984 "parser_cocci_menhir.ml"
+# 26409 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22019,15 +26444,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22025 "parser_cocci_menhir.ml"
+# 26450 "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)
-# 22031 "parser_cocci_menhir.ml"
+# 26456 "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
@@ -22037,14 +26462,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22041 "parser_cocci_menhir.ml"
+# 26466 "parser_cocci_menhir.ml"
           
         in
         
-# 1036 "parser_cocci_menhir.mly"
+# 1211 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22048 "parser_cocci_menhir.ml"
+# 26473 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22088,15 +26513,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22094 "parser_cocci_menhir.ml"
+# 26519 "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)
-# 22100 "parser_cocci_menhir.ml"
+# 26525 "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
@@ -22108,14 +26533,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22112 "parser_cocci_menhir.ml"
+# 26537 "parser_cocci_menhir.ml"
           
         in
         
-# 1036 "parser_cocci_menhir.mly"
+# 1211 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22119 "parser_cocci_menhir.ml"
+# 26544 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22144,9 +26569,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22150 "parser_cocci_menhir.ml"
+# 26575 "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
@@ -22156,22 +26581,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22160 "parser_cocci_menhir.ml"
+# 26585 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22167 "parser_cocci_menhir.ml"
+# 26592 "parser_cocci_menhir.ml"
           
         in
         
-# 1041 "parser_cocci_menhir.mly"
+# 1216 "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)) )
-# 22175 "parser_cocci_menhir.ml"
+# 26600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22205,9 +26630,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22211 "parser_cocci_menhir.ml"
+# 26636 "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
@@ -22219,22 +26644,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22223 "parser_cocci_menhir.ml"
+# 26648 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22230 "parser_cocci_menhir.ml"
+# 26655 "parser_cocci_menhir.ml"
           
         in
         
-# 1041 "parser_cocci_menhir.mly"
+# 1216 "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)) )
-# 22238 "parser_cocci_menhir.ml"
+# 26663 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22268,9 +26693,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22274 "parser_cocci_menhir.ml"
+# 26699 "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
@@ -22281,7 +26706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22285 "parser_cocci_menhir.ml"
+# 26710 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22289,15 +26714,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22293 "parser_cocci_menhir.ml"
+# 26718 "parser_cocci_menhir.ml"
           
         in
         
-# 1041 "parser_cocci_menhir.mly"
+# 1216 "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)) )
-# 22301 "parser_cocci_menhir.ml"
+# 26726 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22336,9 +26761,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22342 "parser_cocci_menhir.ml"
+# 26767 "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
@@ -22351,7 +26776,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22355 "parser_cocci_menhir.ml"
+# 26780 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22359,15 +26784,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22363 "parser_cocci_menhir.ml"
+# 26788 "parser_cocci_menhir.ml"
           
         in
         
-# 1041 "parser_cocci_menhir.mly"
+# 1216 "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)) )
-# 22371 "parser_cocci_menhir.ml"
+# 26796 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22406,15 +26831,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22412 "parser_cocci_menhir.ml"
+# 26837 "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)
-# 22418 "parser_cocci_menhir.ml"
+# 26843 "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
@@ -22424,24 +26849,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22428 "parser_cocci_menhir.ml"
+# 26853 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22435 "parser_cocci_menhir.ml"
+# 26860 "parser_cocci_menhir.ml"
           
         in
         
-# 1046 "parser_cocci_menhir.mly"
+# 1221 "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)) )
-# 22445 "parser_cocci_menhir.ml"
+# 26870 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22485,15 +26910,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22491 "parser_cocci_menhir.ml"
+# 26916 "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)
-# 22497 "parser_cocci_menhir.ml"
+# 26922 "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
@@ -22505,24 +26930,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22509 "parser_cocci_menhir.ml"
+# 26934 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22516 "parser_cocci_menhir.ml"
+# 26941 "parser_cocci_menhir.ml"
           
         in
         
-# 1046 "parser_cocci_menhir.mly"
+# 1221 "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)) )
-# 22526 "parser_cocci_menhir.ml"
+# 26951 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22566,15 +26991,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22572 "parser_cocci_menhir.ml"
+# 26997 "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)
-# 22578 "parser_cocci_menhir.ml"
+# 27003 "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
@@ -22585,7 +27010,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22589 "parser_cocci_menhir.ml"
+# 27014 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22593,17 +27018,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22597 "parser_cocci_menhir.ml"
+# 27022 "parser_cocci_menhir.ml"
           
         in
         
-# 1046 "parser_cocci_menhir.mly"
+# 1221 "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)) )
-# 22607 "parser_cocci_menhir.ml"
+# 27032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22652,15 +27077,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22658 "parser_cocci_menhir.ml"
+# 27083 "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)
-# 22664 "parser_cocci_menhir.ml"
+# 27089 "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
@@ -22673,7 +27098,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22677 "parser_cocci_menhir.ml"
+# 27102 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22681,17 +27106,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22685 "parser_cocci_menhir.ml"
+# 27110 "parser_cocci_menhir.ml"
           
         in
         
-# 1046 "parser_cocci_menhir.mly"
+# 1221 "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)) )
-# 22695 "parser_cocci_menhir.ml"
+# 27120 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22750,36 +27175,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22756 "parser_cocci_menhir.ml"
+# 27181 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22761 "parser_cocci_menhir.ml"
+# 27186 "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)
-# 22767 "parser_cocci_menhir.ml"
+# 27192 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22772 "parser_cocci_menhir.ml"
+# 27197 "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)
-# 22778 "parser_cocci_menhir.ml"
+# 27203 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22783 "parser_cocci_menhir.ml"
+# 27208 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -22788,11 +27213,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22792 "parser_cocci_menhir.ml"
+# 27217 "parser_cocci_menhir.ml"
           
         in
         
-# 1056 "parser_cocci_menhir.mly"
+# 1231 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -22800,7 +27225,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)) )
-# 22804 "parser_cocci_menhir.ml"
+# 27229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22864,36 +27289,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22870 "parser_cocci_menhir.ml"
+# 27295 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22875 "parser_cocci_menhir.ml"
+# 27300 "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)
-# 22881 "parser_cocci_menhir.ml"
+# 27306 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22886 "parser_cocci_menhir.ml"
+# 27311 "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)
-# 22892 "parser_cocci_menhir.ml"
+# 27317 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22897 "parser_cocci_menhir.ml"
+# 27322 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -22904,11 +27329,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22908 "parser_cocci_menhir.ml"
+# 27333 "parser_cocci_menhir.ml"
           
         in
         
-# 1056 "parser_cocci_menhir.mly"
+# 1231 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -22916,7 +27341,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)) )
-# 22920 "parser_cocci_menhir.ml"
+# 27345 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22955,29 +27380,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22961 "parser_cocci_menhir.ml"
+# 27386 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22966 "parser_cocci_menhir.ml"
+# 27391 "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)
-# 22972 "parser_cocci_menhir.ml"
+# 27397 "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 = 
-# 1064 "parser_cocci_menhir.mly"
+# 1239 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 22981 "parser_cocci_menhir.ml"
+# 27406 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23046,42 +27471,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23052 "parser_cocci_menhir.ml"
+# 27477 "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)
-# 23058 "parser_cocci_menhir.ml"
+# 27483 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23063 "parser_cocci_menhir.ml"
+# 27488 "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)
-# 23069 "parser_cocci_menhir.ml"
+# 27494 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23074 "parser_cocci_menhir.ml"
+# 27499 "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)
-# 23080 "parser_cocci_menhir.ml"
+# 27505 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23085 "parser_cocci_menhir.ml"
+# 27510 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -23090,11 +27515,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 23094 "parser_cocci_menhir.ml"
+# 27519 "parser_cocci_menhir.ml"
           
         in
         
-# 1070 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23102,7 +27527,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)))
-# 23106 "parser_cocci_menhir.ml"
+# 27531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23176,42 +27601,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23182 "parser_cocci_menhir.ml"
+# 27607 "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)
-# 23188 "parser_cocci_menhir.ml"
+# 27613 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23193 "parser_cocci_menhir.ml"
+# 27618 "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)
-# 23199 "parser_cocci_menhir.ml"
+# 27624 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23204 "parser_cocci_menhir.ml"
+# 27629 "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)
-# 23210 "parser_cocci_menhir.ml"
+# 27635 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23215 "parser_cocci_menhir.ml"
+# 27640 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23222,11 +27647,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23226 "parser_cocci_menhir.ml"
+# 27651 "parser_cocci_menhir.ml"
           
         in
         
-# 1070 "parser_cocci_menhir.mly"
+# 1245 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23234,7 +27659,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)))
-# 23238 "parser_cocci_menhir.ml"
+# 27663 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23251,7 +27676,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 29 "standard.mly"
     ( None )
-# 23255 "parser_cocci_menhir.ml"
+# 27680 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23275,7 +27700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23279 "parser_cocci_menhir.ml"
+# 27704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23292,7 +27717,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 29 "standard.mly"
     ( None )
-# 23296 "parser_cocci_menhir.ml"
+# 27721 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23316,7 +27741,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23320 "parser_cocci_menhir.ml"
+# 27745 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23333,7 +27758,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 29 "standard.mly"
     ( None )
-# 23337 "parser_cocci_menhir.ml"
+# 27762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23357,7 +27782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23361 "parser_cocci_menhir.ml"
+# 27786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23371,10 +27796,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_option_re_or_not_eqe_ = 
+        let _v : 'tv_option_not_ceq_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23378 "parser_cocci_menhir.ml"
+# 27803 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23392,13 +27817,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_re_or_not_eqe = Obj.magic x 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_re_or_not_eqe_ = 
+        let _v : 'tv_option_not_ceq_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23402 "parser_cocci_menhir.ml"
+# 27827 "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 )
+# 27844 "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 )
+# 27868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23415,7 +27881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 29 "standard.mly"
     ( None )
-# 23419 "parser_cocci_menhir.ml"
+# 27885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23439,7 +27905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23443 "parser_cocci_menhir.ml"
+# 27909 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23454,9 +27920,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 = 
-# 1789 "parser_cocci_menhir.mly"
+# 2098 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23460 "parser_cocci_menhir.ml"
+# 27926 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23482,9 +27948,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1790 "parser_cocci_menhir.mly"
+# 2099 "parser_cocci_menhir.mly"
                                                                          (_2)
-# 23488 "parser_cocci_menhir.ml"
+# 27954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23512,9 +27978,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1792 "parser_cocci_menhir.mly"
+# 2101 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 23518 "parser_cocci_menhir.ml"
+# 27984 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23542,9 +28008,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1793 "parser_cocci_menhir.mly"
+# 2102 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23548 "parser_cocci_menhir.ml"
+# 28014 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23572,9 +28038,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1795 "parser_cocci_menhir.mly"
+# 2104 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23578 "parser_cocci_menhir.ml"
+# 28044 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23589,9 +28055,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 = 
-# 1785 "parser_cocci_menhir.mly"
+# 2094 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23595 "parser_cocci_menhir.ml"
+# 28061 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23619,9 +28085,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_exp = 
-# 1786 "parser_cocci_menhir.mly"
+# 2095 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23625 "parser_cocci_menhir.ml"
+# 28091 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23636,9 +28102,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 = 
-# 1798 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23642 "parser_cocci_menhir.ml"
+# 28108 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23666,9 +28132,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1799 "parser_cocci_menhir.mly"
+# 2108 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23672 "parser_cocci_menhir.ml"
+# 28138 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23696,9 +28162,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1800 "parser_cocci_menhir.mly"
+# 2109 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23702 "parser_cocci_menhir.ml"
+# 28168 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23726,9 +28192,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1802 "parser_cocci_menhir.mly"
+# 2111 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23732 "parser_cocci_menhir.ml"
+# 28198 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23756,9 +28222,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_body = 
-# 637 "parser_cocci_menhir.mly"
+# 810 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@b(*@ew*)) )
-# 23762 "parser_cocci_menhir.ml"
+# 28228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23786,9 +28252,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_exp_body = 
-# 651 "parser_cocci_menhir.mly"
+# 824 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@[b](*@ew*)) )
-# 23792 "parser_cocci_menhir.ml"
+# 28258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23814,13 +28280,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)
-# 23820 "parser_cocci_menhir.ml"
+# 28286 "parser_cocci_menhir.ml"
         ) = 
-# 179 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 23824 "parser_cocci_menhir.ml"
+# 28290 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23846,13 +28312,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)
-# 23852 "parser_cocci_menhir.ml"
+# 28318 "parser_cocci_menhir.ml"
         ) = 
-# 179 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
                                                                     ( p )
-# 23856 "parser_cocci_menhir.ml"
+# 28322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23878,13 +28344,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)
-# 23884 "parser_cocci_menhir.ml"
+# 28350 "parser_cocci_menhir.ml"
         ) = 
-# 180 "parser_cocci_menhir.mly"
+# 250 "parser_cocci_menhir.mly"
                         ( p )
-# 23888 "parser_cocci_menhir.ml"
+# 28354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23910,13 +28376,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)
-# 23916 "parser_cocci_menhir.ml"
+# 28382 "parser_cocci_menhir.ml"
         ) = 
-# 175 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
                          ( _1 )
-# 23920 "parser_cocci_menhir.ml"
+# 28386 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23942,13 +28408,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)
-# 23948 "parser_cocci_menhir.ml"
+# 28414 "parser_cocci_menhir.ml"
         ) = 
-# 175 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
                                                         ( p )
-# 23952 "parser_cocci_menhir.ml"
+# 28418 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23974,13 +28440,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)
-# 23980 "parser_cocci_menhir.ml"
+# 28446 "parser_cocci_menhir.ml"
         ) = 
-# 176 "parser_cocci_menhir.mly"
+# 246 "parser_cocci_menhir.mly"
                     ( p )
-# 23984 "parser_cocci_menhir.ml"
+# 28450 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24002,9 +28468,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1774 "parser_cocci_menhir.mly"
+# 2083 "parser_cocci_menhir.mly"
                           ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 24008 "parser_cocci_menhir.ml"
+# 28474 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24026,9 +28492,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1775 "parser_cocci_menhir.mly"
+# 2084 "parser_cocci_menhir.mly"
                      ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 24032 "parser_cocci_menhir.ml"
+# 28498 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24056,9 +28522,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1777 "parser_cocci_menhir.mly"
+# 2086 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24062 "parser_cocci_menhir.ml"
+# 28528 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24086,9 +28552,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1779 "parser_cocci_menhir.mly"
+# 2088 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24092 "parser_cocci_menhir.ml"
+# 28558 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24116,9 +28582,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1780 "parser_cocci_menhir.mly"
+# 2089 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24122 "parser_cocci_menhir.ml"
+# 28588 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24146,9 +28612,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1782 "parser_cocci_menhir.mly"
+# 2091 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24152 "parser_cocci_menhir.ml"
+# 28618 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24167,16 +28633,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)
-# 24173 "parser_cocci_menhir.ml"
+# 28639 "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 )
-# 24180 "parser_cocci_menhir.ml"
+# 28646 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24199,16 +28665,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24205 "parser_cocci_menhir.ml"
+# 28671 "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 )
-# 24212 "parser_cocci_menhir.ml"
+# 28678 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24231,16 +28697,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24237 "parser_cocci_menhir.ml"
+# 28703 "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 )
-# 24244 "parser_cocci_menhir.ml"
+# 28710 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24263,16 +28729,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24269 "parser_cocci_menhir.ml"
+# 28735 "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 )
-# 24276 "parser_cocci_menhir.ml"
+# 28742 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24302,9 +28768,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 )
-# 24308 "parser_cocci_menhir.ml"
+# 28774 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24326,9 +28792,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_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24332 "parser_cocci_menhir.ml"
+# 28798 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24362,24 +28828,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24368 "parser_cocci_menhir.ml"
+# 28834 "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)
-# 24374 "parser_cocci_menhir.ml"
+# 28840 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24383 "parser_cocci_menhir.ml"
+# 28849 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24407,19 +28873,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)
-# 24415 "parser_cocci_menhir.ml"
+# 28881 "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_ = 
-# 1347 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24423 "parser_cocci_menhir.ml"
+# 28889 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24447,20 +28913,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)
-# 24455 "parser_cocci_menhir.ml"
+# 28921 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24464 "parser_cocci_menhir.ml"
+# 28930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24484,17 +28950,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24490 "parser_cocci_menhir.ml"
+# 28956 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24498 "parser_cocci_menhir.ml"
+# 28964 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24518,17 +28984,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24524 "parser_cocci_menhir.ml"
+# 28990 "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_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24532 "parser_cocci_menhir.ml"
+# 28998 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24562,25 +29028,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24568 "parser_cocci_menhir.ml"
+# 29034 "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)
-# 24574 "parser_cocci_menhir.ml"
+# 29040 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24584 "parser_cocci_menhir.ml"
+# 29050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24602,9 +29068,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24608 "parser_cocci_menhir.ml"
+# 29074 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24638,24 +29104,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24644 "parser_cocci_menhir.ml"
+# 29110 "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)
-# 24650 "parser_cocci_menhir.ml"
+# 29116 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24659 "parser_cocci_menhir.ml"
+# 29125 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24683,19 +29149,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)
-# 24691 "parser_cocci_menhir.ml"
+# 29157 "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_ = 
-# 1347 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24699 "parser_cocci_menhir.ml"
+# 29165 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24723,20 +29189,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)
-# 24731 "parser_cocci_menhir.ml"
+# 29197 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24740 "parser_cocci_menhir.ml"
+# 29206 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24760,17 +29226,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24766 "parser_cocci_menhir.ml"
+# 29232 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24774 "parser_cocci_menhir.ml"
+# 29240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24794,17 +29260,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24800 "parser_cocci_menhir.ml"
+# 29266 "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_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24808 "parser_cocci_menhir.ml"
+# 29274 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24838,25 +29304,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24844 "parser_cocci_menhir.ml"
+# 29310 "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)
-# 24850 "parser_cocci_menhir.ml"
+# 29316 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24860 "parser_cocci_menhir.ml"
+# 29326 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24878,9 +29344,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_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24884 "parser_cocci_menhir.ml"
+# 29350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24914,24 +29380,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24920 "parser_cocci_menhir.ml"
+# 29386 "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)
-# 24926 "parser_cocci_menhir.ml"
+# 29392 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24935 "parser_cocci_menhir.ml"
+# 29401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24959,19 +29425,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)
-# 24967 "parser_cocci_menhir.ml"
+# 29433 "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_ = 
-# 1347 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24975 "parser_cocci_menhir.ml"
+# 29441 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24999,20 +29465,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)
-# 25007 "parser_cocci_menhir.ml"
+# 29473 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25016 "parser_cocci_menhir.ml"
+# 29482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25036,17 +29502,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25042 "parser_cocci_menhir.ml"
+# 29508 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25050 "parser_cocci_menhir.ml"
+# 29516 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25070,17 +29536,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25076 "parser_cocci_menhir.ml"
+# 29542 "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_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25084 "parser_cocci_menhir.ml"
+# 29550 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25114,25 +29580,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25120 "parser_cocci_menhir.ml"
+# 29586 "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)
-# 25126 "parser_cocci_menhir.ml"
+# 29592 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25136 "parser_cocci_menhir.ml"
+# 29602 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25154,9 +29620,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25160 "parser_cocci_menhir.ml"
+# 29626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25190,24 +29656,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25196 "parser_cocci_menhir.ml"
+# 29662 "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)
-# 25202 "parser_cocci_menhir.ml"
+# 29668 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25211 "parser_cocci_menhir.ml"
+# 29677 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25235,19 +29701,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)
-# 25243 "parser_cocci_menhir.ml"
+# 29709 "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_ = 
-# 1347 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25251 "parser_cocci_menhir.ml"
+# 29717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25275,20 +29741,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)
-# 25283 "parser_cocci_menhir.ml"
+# 29749 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25292 "parser_cocci_menhir.ml"
+# 29758 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25312,17 +29778,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25318 "parser_cocci_menhir.ml"
+# 29784 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25326 "parser_cocci_menhir.ml"
+# 29792 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25346,17 +29812,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25352 "parser_cocci_menhir.ml"
+# 29818 "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_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25360 "parser_cocci_menhir.ml"
+# 29826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25390,25 +29856,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25396 "parser_cocci_menhir.ml"
+# 29862 "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)
-# 25402 "parser_cocci_menhir.ml"
+# 29868 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1561 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25412 "parser_cocci_menhir.ml"
+# 29878 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25430,9 +29896,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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25436 "parser_cocci_menhir.ml"
+# 29902 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25451,17 +29917,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)
-# 25457 "parser_cocci_menhir.ml"
+# 29923 "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_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25465 "parser_cocci_menhir.ml"
+# 29931 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25480,17 +29946,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)
-# 25486 "parser_cocci_menhir.ml"
+# 29952 "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_ = 
-# 1366 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25494 "parser_cocci_menhir.ml"
+# 29960 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25509,17 +29975,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)
-# 25515 "parser_cocci_menhir.ml"
+# 29981 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25523 "parser_cocci_menhir.ml"
+# 29989 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25538,17 +30004,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)
-# 25544 "parser_cocci_menhir.ml"
+# 30010 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25552 "parser_cocci_menhir.ml"
+# 30018 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25567,18 +30033,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25573 "parser_cocci_menhir.ml"
+# 30039 "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_ = 
-# 1375 "parser_cocci_menhir.mly"
+# 1580 "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)) )
-# 25582 "parser_cocci_menhir.ml"
+# 30048 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25597,17 +30063,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)
-# 25603 "parser_cocci_menhir.ml"
+# 30069 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 25611 "parser_cocci_menhir.ml"
+# 30077 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25626,18 +30092,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25632 "parser_cocci_menhir.ml"
+# 30098 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 25641 "parser_cocci_menhir.ml"
+# 30107 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25656,18 +30122,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25662 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1591 "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)) )
-# 25671 "parser_cocci_menhir.ml"
+# 30137 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25686,18 +30152,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25692 "parser_cocci_menhir.ml"
+# 30158 "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_ = 
-# 1390 "parser_cocci_menhir.mly"
+# 1595 "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)) )
-# 25701 "parser_cocci_menhir.ml"
+# 30167 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25726,23 +30192,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25732 "parser_cocci_menhir.ml"
+# 30198 "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)
-# 25738 "parser_cocci_menhir.ml"
+# 30204 "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_ = 
-# 1394 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 25746 "parser_cocci_menhir.ml"
+# 30212 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25771,25 +30237,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25777 "parser_cocci_menhir.ml"
+# 30243 "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)
-# 25783 "parser_cocci_menhir.ml"
+# 30249 "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_ = 
-# 1397 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 25793 "parser_cocci_menhir.ml"
+# 30259 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25811,9 +30277,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_ = 
-# 1401 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
                  ( _1 )
-# 25817 "parser_cocci_menhir.ml"
+# 30283 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25835,9 +30301,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25841 "parser_cocci_menhir.ml"
+# 30307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25856,17 +30322,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)
-# 25862 "parser_cocci_menhir.ml"
+# 30328 "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_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25870 "parser_cocci_menhir.ml"
+# 30336 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25885,17 +30351,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)
-# 25891 "parser_cocci_menhir.ml"
+# 30357 "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_ = 
-# 1366 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25899 "parser_cocci_menhir.ml"
+# 30365 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25914,17 +30380,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)
-# 25920 "parser_cocci_menhir.ml"
+# 30386 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25928 "parser_cocci_menhir.ml"
+# 30394 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25943,17 +30409,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)
-# 25949 "parser_cocci_menhir.ml"
+# 30415 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25957 "parser_cocci_menhir.ml"
+# 30423 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25972,18 +30438,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25978 "parser_cocci_menhir.ml"
+# 30444 "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_ = 
-# 1375 "parser_cocci_menhir.mly"
+# 1580 "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)) )
-# 25987 "parser_cocci_menhir.ml"
+# 30453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26002,17 +30468,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)
-# 26008 "parser_cocci_menhir.ml"
+# 30474 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26016 "parser_cocci_menhir.ml"
+# 30482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26031,18 +30497,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26037 "parser_cocci_menhir.ml"
+# 30503 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 26046 "parser_cocci_menhir.ml"
+# 30512 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26061,18 +30527,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26067 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1591 "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)) )
-# 26076 "parser_cocci_menhir.ml"
+# 30542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26091,18 +30557,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26097 "parser_cocci_menhir.ml"
+# 30563 "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_ = 
-# 1390 "parser_cocci_menhir.mly"
+# 1595 "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)) )
-# 26106 "parser_cocci_menhir.ml"
+# 30572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26131,23 +30597,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26137 "parser_cocci_menhir.ml"
+# 30603 "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)
-# 26143 "parser_cocci_menhir.ml"
+# 30609 "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_ = 
-# 1394 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26151 "parser_cocci_menhir.ml"
+# 30617 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26176,25 +30642,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26182 "parser_cocci_menhir.ml"
+# 30648 "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)
-# 26188 "parser_cocci_menhir.ml"
+# 30654 "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_ = 
-# 1397 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26198 "parser_cocci_menhir.ml"
+# 30664 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26216,9 +30682,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1401 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26222 "parser_cocci_menhir.ml"
+# 30688 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26240,9 +30706,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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26246 "parser_cocci_menhir.ml"
+# 30712 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26261,17 +30727,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)
-# 26267 "parser_cocci_menhir.ml"
+# 30733 "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_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26275 "parser_cocci_menhir.ml"
+# 30741 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26290,17 +30756,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)
-# 26296 "parser_cocci_menhir.ml"
+# 30762 "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_ = 
-# 1366 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26304 "parser_cocci_menhir.ml"
+# 30770 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26319,17 +30785,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)
-# 26325 "parser_cocci_menhir.ml"
+# 30791 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26333 "parser_cocci_menhir.ml"
+# 30799 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26348,17 +30814,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)
-# 26354 "parser_cocci_menhir.ml"
+# 30820 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26362 "parser_cocci_menhir.ml"
+# 30828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26377,18 +30843,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26383 "parser_cocci_menhir.ml"
+# 30849 "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_ = 
-# 1375 "parser_cocci_menhir.mly"
+# 1580 "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)) )
-# 26392 "parser_cocci_menhir.ml"
+# 30858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26407,17 +30873,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)
-# 26413 "parser_cocci_menhir.ml"
+# 30879 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26421 "parser_cocci_menhir.ml"
+# 30887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26436,18 +30902,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26442 "parser_cocci_menhir.ml"
+# 30908 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 26451 "parser_cocci_menhir.ml"
+# 30917 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26466,18 +30932,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26472 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1591 "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)) )
-# 26481 "parser_cocci_menhir.ml"
+# 30947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26496,18 +30962,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26502 "parser_cocci_menhir.ml"
+# 30968 "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_ = 
-# 1390 "parser_cocci_menhir.mly"
+# 1595 "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)) )
-# 26511 "parser_cocci_menhir.ml"
+# 30977 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26536,23 +31002,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26542 "parser_cocci_menhir.ml"
+# 31008 "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)
-# 26548 "parser_cocci_menhir.ml"
+# 31014 "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_ = 
-# 1394 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26556 "parser_cocci_menhir.ml"
+# 31022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26581,25 +31047,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26587 "parser_cocci_menhir.ml"
+# 31053 "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)
-# 26593 "parser_cocci_menhir.ml"
+# 31059 "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_ = 
-# 1397 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26603 "parser_cocci_menhir.ml"
+# 31069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26621,9 +31087,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_ = 
-# 1401 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26627 "parser_cocci_menhir.ml"
+# 31093 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26645,9 +31111,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26651 "parser_cocci_menhir.ml"
+# 31117 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26666,17 +31132,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)
-# 26672 "parser_cocci_menhir.ml"
+# 31138 "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_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26680 "parser_cocci_menhir.ml"
+# 31146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26695,17 +31161,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)
-# 26701 "parser_cocci_menhir.ml"
+# 31167 "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_ = 
-# 1366 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26709 "parser_cocci_menhir.ml"
+# 31175 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26724,17 +31190,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)
-# 26730 "parser_cocci_menhir.ml"
+# 31196 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26738 "parser_cocci_menhir.ml"
+# 31204 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26753,17 +31219,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)
-# 26759 "parser_cocci_menhir.ml"
+# 31225 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26767 "parser_cocci_menhir.ml"
+# 31233 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26782,18 +31248,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26788 "parser_cocci_menhir.ml"
+# 31254 "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_ = 
-# 1375 "parser_cocci_menhir.mly"
+# 1580 "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)) )
-# 26797 "parser_cocci_menhir.ml"
+# 31263 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26812,17 +31278,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)
-# 26818 "parser_cocci_menhir.ml"
+# 31284 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1584 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26826 "parser_cocci_menhir.ml"
+# 31292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26841,18 +31307,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26847 "parser_cocci_menhir.ml"
+# 31313 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 26856 "parser_cocci_menhir.ml"
+# 31322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26871,18 +31337,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26877 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1591 "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)) )
-# 26886 "parser_cocci_menhir.ml"
+# 31352 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26901,18 +31367,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26907 "parser_cocci_menhir.ml"
+# 31373 "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_ = 
-# 1390 "parser_cocci_menhir.mly"
+# 1595 "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)) )
-# 26916 "parser_cocci_menhir.ml"
+# 31382 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26941,23 +31407,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26947 "parser_cocci_menhir.ml"
+# 31413 "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)
-# 26953 "parser_cocci_menhir.ml"
+# 31419 "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_ = 
-# 1394 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26961 "parser_cocci_menhir.ml"
+# 31427 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26986,25 +31452,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26992 "parser_cocci_menhir.ml"
+# 31458 "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)
-# 26998 "parser_cocci_menhir.ml"
+# 31464 "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_ = 
-# 1397 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 27008 "parser_cocci_menhir.ml"
+# 31474 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27026,9 +31492,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1401 "parser_cocci_menhir.mly"
+# 1606 "parser_cocci_menhir.mly"
                  ( _1 )
-# 27032 "parser_cocci_menhir.ml"
+# 31498 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27048,9 +31514,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 )
-# 27054 "parser_cocci_menhir.ml"
+# 31520 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27070,9 +31536,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 )
-# 27076 "parser_cocci_menhir.ml"
+# 31542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27096,9 +31562,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 )
-# 27102 "parser_cocci_menhir.ml"
+# 31568 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27122,9 +31588,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 )
-# 27128 "parser_cocci_menhir.ml"
+# 31594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27139,9 +31605,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 )
-# 27145 "parser_cocci_menhir.ml"
+# 31611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27160,16 +31626,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)
-# 27166 "parser_cocci_menhir.ml"
+# 31632 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident = 
-# 1415 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
             ( _1 )
-# 27173 "parser_cocci_menhir.ml"
+# 31639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27189,9 +31655,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1418 "parser_cocci_menhir.mly"
+# 1623 "parser_cocci_menhir.mly"
                  ( "identifier" )
-# 27195 "parser_cocci_menhir.ml"
+# 31661 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27211,9 +31677,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1419 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
                  ( "expression" )
-# 27217 "parser_cocci_menhir.ml"
+# 31683 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27233,9 +31699,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1420 "parser_cocci_menhir.mly"
+# 1625 "parser_cocci_menhir.mly"
                 ( "statement" )
-# 27239 "parser_cocci_menhir.ml"
+# 31705 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27255,9 +31721,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1421 "parser_cocci_menhir.mly"
+# 1626 "parser_cocci_menhir.mly"
                ( "function" )
-# 27261 "parser_cocci_menhir.ml"
+# 31727 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27277,9 +31743,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1422 "parser_cocci_menhir.mly"
+# 1627 "parser_cocci_menhir.mly"
             ( "local" )
-# 27283 "parser_cocci_menhir.ml"
+# 31749 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27299,9 +31765,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1423 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
            ( "type" )
-# 27305 "parser_cocci_menhir.ml"
+# 31771 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27321,9 +31787,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1424 "parser_cocci_menhir.mly"
+# 1629 "parser_cocci_menhir.mly"
                 ( "parameter" )
-# 27327 "parser_cocci_menhir.ml"
+# 31793 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27343,9 +31809,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1425 "parser_cocci_menhir.mly"
+# 1630 "parser_cocci_menhir.mly"
                    ( "idexpression" )
-# 27349 "parser_cocci_menhir.ml"
+# 31815 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27365,9 +31831,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1426 "parser_cocci_menhir.mly"
+# 1631 "parser_cocci_menhir.mly"
                   ( "initialiser" )
-# 27371 "parser_cocci_menhir.ml"
+# 31837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27387,9 +31853,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1427 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
            ( "list" )
-# 27393 "parser_cocci_menhir.ml"
+# 31859 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27409,9 +31875,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1428 "parser_cocci_menhir.mly"
+# 1633 "parser_cocci_menhir.mly"
             ( "fresh" )
-# 27415 "parser_cocci_menhir.ml"
+# 31881 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27431,9 +31897,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1429 "parser_cocci_menhir.mly"
+# 1634 "parser_cocci_menhir.mly"
                ( "constant" )
-# 27437 "parser_cocci_menhir.ml"
+# 31903 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27453,9 +31919,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1430 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
             ( "error" )
-# 27459 "parser_cocci_menhir.ml"
+# 31925 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27475,9 +31941,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1431 "parser_cocci_menhir.mly"
+# 1636 "parser_cocci_menhir.mly"
             ( "words" )
-# 27481 "parser_cocci_menhir.ml"
+# 31947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27497,9 +31963,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1432 "parser_cocci_menhir.mly"
+# 1637 "parser_cocci_menhir.mly"
            ( "pure" )
-# 27503 "parser_cocci_menhir.ml"
+# 31969 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27519,9 +31985,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1433 "parser_cocci_menhir.mly"
+# 1638 "parser_cocci_menhir.mly"
               ( "context" )
-# 27525 "parser_cocci_menhir.ml"
+# 31991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27541,9 +32007,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1434 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                 ( "generated" )
-# 27547 "parser_cocci_menhir.ml"
+# 32013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27563,9 +32029,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1435 "parser_cocci_menhir.mly"
+# 1640 "parser_cocci_menhir.mly"
               ( "typedef" )
-# 27569 "parser_cocci_menhir.ml"
+# 32035 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27585,9 +32051,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1436 "parser_cocci_menhir.mly"
+# 1641 "parser_cocci_menhir.mly"
                ( "declarer" )
-# 27591 "parser_cocci_menhir.ml"
+# 32057 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27607,9 +32073,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1437 "parser_cocci_menhir.mly"
+# 1642 "parser_cocci_menhir.mly"
                ( "iterator" )
-# 27613 "parser_cocci_menhir.ml"
+# 32079 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27629,9 +32095,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1438 "parser_cocci_menhir.mly"
+# 1643 "parser_cocci_menhir.mly"
            ( "name" )
-# 27635 "parser_cocci_menhir.ml"
+# 32101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27651,9 +32117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1439 "parser_cocci_menhir.mly"
+# 1644 "parser_cocci_menhir.mly"
                ( "position" )
-# 27657 "parser_cocci_menhir.ml"
+# 32123 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27675,9 +32141,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1446 "parser_cocci_menhir.mly"
+# 1651 "parser_cocci_menhir.mly"
                                  ( (None,P.id2name _1) )
-# 27681 "parser_cocci_menhir.ml"
+# 32147 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27699,9 +32165,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1447 "parser_cocci_menhir.mly"
+# 1652 "parser_cocci_menhir.mly"
                                  ( (None,_1) )
-# 27705 "parser_cocci_menhir.ml"
+# 32171 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27723,9 +32189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1448 "parser_cocci_menhir.mly"
+# 1653 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 27729 "parser_cocci_menhir.ml"
+# 32195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27748,18 +32214,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let optc : 'tv_option_re_or_not_eqe_ = Obj.magic optc 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_re_or_not_eqe_ = 
-# 1474 "parser_cocci_menhir.mly"
+        let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = 
+# 1680 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 27763 "parser_cocci_menhir.ml"
+# 32229 "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_ = 
+# 1680 "parser_cocci_menhir.mly"
+    (
+      match optc with
+         None   -> (i, Ast0.NoConstraint)
+       | Some c -> (i, c)
+    )
+# 32263 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27787,13 +32287,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = 
-# 1492 "parser_cocci_menhir.mly"
+# 1705 "parser_cocci_menhir.mly"
     (
       match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_)
     )
-# 27797 "parser_cocci_menhir.ml"
+# 32297 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27821,14 +32321,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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_ = 
-# 1482 "parser_cocci_menhir.mly"
+# 1688 "parser_cocci_menhir.mly"
     (
       Common.Left
         (match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_))
     )
-# 27832 "parser_cocci_menhir.ml"
+# 32332 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27858,9 +32358,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = 
-# 1488 "parser_cocci_menhir.mly"
-                           ( Common.Right (P.id2name _3) )
-# 27864 "parser_cocci_menhir.ml"
+# 1695 "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
+    )
+# 32370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27882,9 +32388,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_seed = 
-# 1451 "parser_cocci_menhir.mly"
+# 1656 "parser_cocci_menhir.mly"
                                 ( (_1,Ast.NoVal) )
-# 27888 "parser_cocci_menhir.ml"
+# 32394 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27916,43 +32422,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_seed = 
-# 1454 "parser_cocci_menhir.mly"
+# 1659 "parser_cocci_menhir.mly"
   ( match _3 with
           [Ast.SeedString s] -> (_1,Ast.StringSeed s)
         | _ -> (_1,Ast.ListSeed _3) )
-# 27924 "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 = 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 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_x_eq_not_ceq_ = 
-# 1468 "parser_cocci_menhir.mly"
-    (
-      (i, l)
-    )
-# 27956 "parser_cocci_menhir.ml"
+# 32430 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27980,11 +32454,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_l_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = 
-# 1468 "parser_cocci_menhir.mly"
+# 1674 "parser_cocci_menhir.mly"
     (
       (i, l)
     )
-# 27988 "parser_cocci_menhir.ml"
+# 32462 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28005,10 +32479,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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 = 
-# 1536 "parser_cocci_menhir.mly"
-                  (Ast0.NotIdCstrt (re))
-# 28012 "parser_cocci_menhir.ml"
+        let _v : 'tv_re_or_not_eqe_or_sub = 
+# 1766 "parser_cocci_menhir.mly"
+                  (Ast0.NotIdCstrt  re)
+# 32486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28029,10 +32503,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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 = 
-# 1537 "parser_cocci_menhir.mly"
-                  (Ast0.NotExpCstrt (ne))
-# 28036 "parser_cocci_menhir.ml"
+        let _v : 'tv_re_or_not_eqe_or_sub = 
+# 1767 "parser_cocci_menhir.mly"
+                  (Ast0.NotExpCstrt ne)
+# 32510 "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_re_or_not_eqe_or_sub = 
+# 1768 "parser_cocci_menhir.mly"
+                  (Ast0.SubExpCstrt s)
+# 32534 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28054,9 +32552,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1499 "parser_cocci_menhir.mly"
-                  (re)
-# 28060 "parser_cocci_menhir.ml"
+# 1712 "parser_cocci_menhir.mly"
+                  (Ast.IdRegExpConstraint re)
+# 32558 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28078,9 +32576,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1500 "parser_cocci_menhir.mly"
+# 1713 "parser_cocci_menhir.mly"
                   (ne)
-# 28084 "parser_cocci_menhir.ml"
+# 32582 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28103,21 +32601,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28109 "parser_cocci_menhir.ml"
+# 32607 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1504 "parser_cocci_menhir.mly"
+# 1717 "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)
         )
-# 28121 "parser_cocci_menhir.ml"
+# 32619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28140,21 +32638,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28146 "parser_cocci_menhir.ml"
+# 32644 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1511 "parser_cocci_menhir.mly"
+# 1724 "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)
         )
-# 28158 "parser_cocci_menhir.ml"
+# 32656 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28169,13 +32667,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)
-# 28175 "parser_cocci_menhir.ml"
+# 32673 "parser_cocci_menhir.ml"
         ) = 
-# 172 "parser_cocci_menhir.mly"
+# 242 "parser_cocci_menhir.mly"
         ( )
-# 28179 "parser_cocci_menhir.ml"
+# 32677 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28197,9 +32695,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_rule_elem_statement = 
-# 927 "parser_cocci_menhir.mly"
+# 1100 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 28203 "parser_cocci_menhir.ml"
+# 32701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28223,17 +32721,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28229 "parser_cocci_menhir.ml"
+# 32727 "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 = 
-# 928 "parser_cocci_menhir.mly"
+# 1101 "parser_cocci_menhir.mly"
                ( P.exp_stm _1 _2 )
-# 28237 "parser_cocci_menhir.ml"
+# 32735 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28262,22 +32760,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28268 "parser_cocci_menhir.ml"
+# 32766 "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)
-# 28274 "parser_cocci_menhir.ml"
+# 32772 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 929 "parser_cocci_menhir.mly"
+# 1102 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 28281 "parser_cocci_menhir.ml"
+# 32779 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28301,21 +32799,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28307 "parser_cocci_menhir.ml"
+# 32805 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28312 "parser_cocci_menhir.ml"
+# 32810 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 930 "parser_cocci_menhir.mly"
+# 1103 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 28319 "parser_cocci_menhir.ml"
+# 32817 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28339,21 +32837,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28345 "parser_cocci_menhir.ml"
+# 32843 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28350 "parser_cocci_menhir.ml"
+# 32848 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 931 "parser_cocci_menhir.mly"
+# 1104 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 28357 "parser_cocci_menhir.ml"
+# 32855 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28377,21 +32875,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28383 "parser_cocci_menhir.ml"
+# 32881 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28388 "parser_cocci_menhir.ml"
+# 32886 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 932 "parser_cocci_menhir.mly"
+# 1105 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 28395 "parser_cocci_menhir.ml"
+# 32893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28420,26 +32918,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28426 "parser_cocci_menhir.ml"
+# 32924 "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)
-# 28432 "parser_cocci_menhir.ml"
+# 32930 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 934 "parser_cocci_menhir.mly"
+# 1107 "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)) )
-# 28443 "parser_cocci_menhir.ml"
+# 32941 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28493,20 +32991,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)
-# 28499 "parser_cocci_menhir.ml"
+# 32997 "parser_cocci_menhir.ml"
         ) = let nm =
           
 # 39 "standard.mly"
     ( None )
-# 28504 "parser_cocci_menhir.ml"
+# 33002 "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 )
-# 28510 "parser_cocci_menhir.ml"
+# 33008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28566,21 +33064,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28572 "parser_cocci_menhir.ml"
+# 33070 "parser_cocci_menhir.ml"
         ) = let nm =
           let x = x0 in
           
 # 41 "standard.mly"
     ( Some x )
-# 28578 "parser_cocci_menhir.ml"
+# 33076 "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 )
-# 28584 "parser_cocci_menhir.ml"
+# 33082 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28638,13 +33136,172 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28644 "parser_cocci_menhir.ml"
+# 33142 "parser_cocci_menhir.ml"
         ) = 
-# 207 "parser_cocci_menhir.mly"
+# 277 "parser_cocci_menhir.mly"
       ( P.make_generated_rule_name_result None d i a e ee )
-# 28648 "parser_cocci_menhir.ml"
+# 33146 "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)
+# 33188 "parser_cocci_menhir.ml"
+        ) = let nm =
+          
+# 39 "standard.mly"
+    ( None )
+# 33193 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 279 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 33199 "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)
+# 33247 "parser_cocci_menhir.ml"
+        ) = let nm =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 33253 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 279 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 33259 "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)
+# 33301 "parser_cocci_menhir.ml"
+        ) = 
+# 281 "parser_cocci_menhir.mly"
+      ( P.make_initial_script_rule_name_result lang d )
+# 33305 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28684,13 +33341,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28690 "parser_cocci_menhir.ml"
+# 33347 "parser_cocci_menhir.ml"
         ) = 
-# 209 "parser_cocci_menhir.mly"
-      ( P.make_script_rule_name_result lang d )
-# 28694 "parser_cocci_menhir.ml"
+# 283 "parser_cocci_menhir.mly"
+      ( P.make_final_script_rule_name_result lang d )
+# 33351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28702,35 +33359,65 @@ 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__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)
+# 33379 "parser_cocci_menhir.ml"
+        ) = 
+# 2282 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), None) )
+# 33383 "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 = lang;
-            MenhirLib.EngineTypes.startp = _startpos_lang_;
-            MenhirLib.EngineTypes.endp = _endpos_lang_;
+            MenhirLib.EngineTypes.semv = _2;
+            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.semv = py;
+              MenhirLib.EngineTypes.startp = _startpos_py_;
+              MenhirLib.EngineTypes.endp = _endpos_py_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let lang : 'tv_pure_ident = Obj.magic lang in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ 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)
-# 28730 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33417 "parser_cocci_menhir.ml"
         ) = 
-# 211 "parser_cocci_menhir.mly"
-      ( P.make_initial_script_rule_name_result lang )
-# 28734 "parser_cocci_menhir.ml"
+# 2284 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), Some _2) )
+# 33421 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28742,35 +33429,49 @@ 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.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 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 _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 28770 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33471 "parser_cocci_menhir.ml"
         ) = 
-# 213 "parser_cocci_menhir.mly"
-      ( P.make_final_script_rule_name_result lang )
-# 28774 "parser_cocci_menhir.ml"
+# 2286 "parser_cocci_menhir.mly"
+  ( ((None, Some (P.id2name ast)), Some _6) )
+# 33475 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28782,51 +33483,49 @@ 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__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              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.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
                 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 = py;
-                    MenhirLib.EngineTypes.startp = _startpos_py_;
-                    MenhirLib.EngineTypes.endp = _endpos_py_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    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 cocci : 'tv_pure_ident = Obj.magic cocci in
-        let _3 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 28818 "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 _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__7_ in
         let _v : (
-# 159 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 28826 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33525 "parser_cocci_menhir.ml"
         ) = 
-# 1990 "parser_cocci_menhir.mly"
-  ( (P.id2name py, (_3, P.id2name cocci)) )
-# 28830 "parser_cocci_menhir.ml"
+# 2288 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), None), Some _6) )
+# 33529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28838,45 +33537,137 @@ 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__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.semv = ast;
+                MenhirLib.EngineTypes.startp = _startpos_ast_;
+                MenhirLib.EngineTypes.endp = _endpos_ast_;
                 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 = py;
-                    MenhirLib.EngineTypes.startp = _startpos_py_;
-                    MenhirLib.EngineTypes.endp = _endpos_py_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    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 cocci : 'tv_pure_ident = Obj.magic cocci in
-        let py : 'tv_pure_ident = Obj.magic py in
-        let _startpos = _startpos_py_ in
-        let _endpos = _endpos__6_ 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__7_ in
         let _v : (
-# 159 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 28876 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33581 "parser_cocci_menhir.ml"
         ) = 
-# 1992 "parser_cocci_menhir.mly"
-  ( (P.id2name py, ("virtual", P.id2name cocci)) )
-# 28880 "parser_cocci_menhir.ml"
+# 2290 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 33585 "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 = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          MenhirLib.EngineTypes.next = {
+            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.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 _2 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 33620 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2294 "parser_cocci_menhir.mly"
+      ( let nm = P.id2name cocci in
+        let mv = Parse_aux.lookup _2 nm in
+        ((_2, nm), mv) )
+# 33629 "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 = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          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.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 _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2298 "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) )
+# 33671 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28895,16 +33686,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)
-# 28901 "parser_cocci_menhir.ml"
+# 33692 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1459 "parser_cocci_menhir.mly"
+# 1664 "parser_cocci_menhir.mly"
           ( let (x,_) = _1 in Ast.SeedString x )
-# 28908 "parser_cocci_menhir.ml"
+# 33699 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28923,16 +33714,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)
-# 28929 "parser_cocci_menhir.ml"
+# 33720 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1460 "parser_cocci_menhir.mly"
+# 1665 "parser_cocci_menhir.mly"
           ( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 28936 "parser_cocci_menhir.ml"
+# 33727 "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 = 
+# 1666 "parser_cocci_menhir.mly"
+        (failwith "tmeta")
+# 33749 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28961,18 +33774,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)
-# 28967 "parser_cocci_menhir.ml"
+# 33780 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_seed_elem = 
-# 1462 "parser_cocci_menhir.mly"
+# 1668 "parser_cocci_menhir.mly"
     ( let nm = (_1,P.id2name _3) in
       P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
       Ast.SeedId nm )
-# 28976 "parser_cocci_menhir.ml"
+# 33789 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28991,16 +33804,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)
-# 28997 "parser_cocci_menhir.ml"
+# 33810 "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 ] )
-# 29004 "parser_cocci_menhir.ml"
+# 33817 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29029,16 +33842,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)
-# 29035 "parser_cocci_menhir.ml"
+# 33848 "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 )
-# 29042 "parser_cocci_menhir.ml"
+# 33855 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29062,7 +33875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29066 "parser_cocci_menhir.ml"
+# 33879 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29096,7 +33909,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29100 "parser_cocci_menhir.ml"
+# 33913 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29120,7 +33933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29124 "parser_cocci_menhir.ml"
+# 33937 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29154,7 +33967,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29158 "parser_cocci_menhir.ml"
+# 33971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29178,7 +33991,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29182 "parser_cocci_menhir.ml"
+# 33995 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29212,7 +34025,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29216 "parser_cocci_menhir.ml"
+# 34029 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29236,7 +34049,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29240 "parser_cocci_menhir.ml"
+# 34053 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29270,7 +34083,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29274 "parser_cocci_menhir.ml"
+# 34087 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29294,7 +34107,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29298 "parser_cocci_menhir.ml"
+# 34111 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29328,7 +34141,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29332 "parser_cocci_menhir.ml"
+# 34145 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29352,7 +34165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29356 "parser_cocci_menhir.ml"
+# 34169 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29386,7 +34199,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29390 "parser_cocci_menhir.ml"
+# 34203 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29410,7 +34223,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29414 "parser_cocci_menhir.ml"
+# 34227 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29444,7 +34257,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29448 "parser_cocci_menhir.ml"
+# 34261 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29462,13 +34275,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_econstraint_re_or_not_eqe_ = 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_with_econstraint_re_or_not_eqe__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29472 "parser_cocci_menhir.ml"
+# 34285 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29495,14 +34308,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = 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_with_econstraint_re_or_not_eqe__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29506 "parser_cocci_menhir.ml"
+# 34319 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29520,13 +34333,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_idconstraint_re_or_not_eqid_ = 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_idconstraint_re_or_not_eqid__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29530 "parser_cocci_menhir.ml"
+# 34343 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29553,14 +34366,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack 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 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_idconstraint_re_or_not_eqid__ = 
+        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 )
-# 29564 "parser_cocci_menhir.ml"
+# 34377 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29578,13 +34391,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_idconstraint_virt_re_or_not_eqid_ = 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_idconstraint_virt_re_or_not_eqid__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29588 "parser_cocci_menhir.ml"
+# 34401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29611,14 +34424,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack 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 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_idconstraint_virt_re_or_not_eqid__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29622 "parser_cocci_menhir.ml"
+# 34435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29636,13 +34449,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_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_seed_ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29646 "parser_cocci_menhir.ml"
+# 34459 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29669,14 +34482,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_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_seed_ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29680 "parser_cocci_menhir.ml"
+# 34493 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29694,13 +34507,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_x_eq_not_ceq_ = 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_x_eq_not_ceq__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29704 "parser_cocci_menhir.ml"
+# 34517 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29727,14 +34540,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = 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_x_eq_not_ceq__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29738 "parser_cocci_menhir.ml"
+# 34551 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29758,7 +34571,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29762 "parser_cocci_menhir.ml"
+# 34575 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29792,7 +34605,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29796 "parser_cocci_menhir.ml"
+# 34609 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29816,7 +34629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29820 "parser_cocci_menhir.ml"
+# 34633 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29850,7 +34663,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29854 "parser_cocci_menhir.ml"
+# 34667 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29874,7 +34687,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29878 "parser_cocci_menhir.ml"
+# 34691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29908,7 +34721,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29912 "parser_cocci_menhir.ml"
+# 34725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29930,9 +34743,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_single_statement = 
-# 942 "parser_cocci_menhir.mly"
+# 1115 "parser_cocci_menhir.mly"
                                       ( _1 )
-# 29936 "parser_cocci_menhir.ml"
+# 34749 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29961,26 +34774,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29967 "parser_cocci_menhir.ml"
+# 34780 "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)
-# 29973 "parser_cocci_menhir.ml"
+# 34786 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_single_statement = 
-# 946 "parser_cocci_menhir.mly"
+# 1119 "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)) )
-# 29984 "parser_cocci_menhir.ml"
+# 34797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30002,9 +34815,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 869 "parser_cocci_menhir.mly"
+# 1041 "parser_cocci_menhir.mly"
            ( _1 )
-# 30008 "parser_cocci_menhir.ml"
+# 34821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30023,16 +34836,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)
-# 30029 "parser_cocci_menhir.ml"
+# 34842 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 871 "parser_cocci_menhir.mly"
+# 1042 "parser_cocci_menhir.mly"
+        ( tmeta_to_statement _1)
+# 34849 "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)
+# 34870 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_statement = 
+# 1044 "parser_cocci_menhir.mly"
     ( P.meta_stm _1 )
-# 30036 "parser_cocci_menhir.ml"
+# 34877 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30056,17 +34897,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30062 "parser_cocci_menhir.ml"
+# 34903 "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 = 
-# 873 "parser_cocci_menhir.mly"
+# 1046 "parser_cocci_menhir.mly"
     ( P.exp_stm _1 _2 )
-# 30070 "parser_cocci_menhir.ml"
+# 34911 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30106,27 +34947,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)
-# 30112 "parser_cocci_menhir.ml"
+# 34953 "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)
-# 30118 "parser_cocci_menhir.ml"
+# 34959 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30123 "parser_cocci_menhir.ml"
+# 34964 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 875 "parser_cocci_menhir.mly"
+# 1048 "parser_cocci_menhir.mly"
     ( P.ifthen _1 _2 _3 _4 _5 )
-# 30130 "parser_cocci_menhir.ml"
+# 34971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30176,33 +35017,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)
-# 30182 "parser_cocci_menhir.ml"
+# 35023 "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)
-# 30188 "parser_cocci_menhir.ml"
+# 35029 "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)
-# 30194 "parser_cocci_menhir.ml"
+# 35035 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30199 "parser_cocci_menhir.ml"
+# 35040 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 877 "parser_cocci_menhir.mly"
+# 1050 "parser_cocci_menhir.mly"
     ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 30206 "parser_cocci_menhir.ml"
+# 35047 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30262,39 +35103,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)
-# 30268 "parser_cocci_menhir.ml"
+# 35109 "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)
-# 30274 "parser_cocci_menhir.ml"
+# 35115 "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)
-# 30280 "parser_cocci_menhir.ml"
+# 35121 "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)
-# 30286 "parser_cocci_menhir.ml"
+# 35127 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30291 "parser_cocci_menhir.ml"
+# 35132 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__9_ in
         let _v : 'tv_statement = 
-# 880 "parser_cocci_menhir.mly"
+# 1053 "parser_cocci_menhir.mly"
     ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 30298 "parser_cocci_menhir.ml"
+# 35139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30334,27 +35175,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)
-# 30340 "parser_cocci_menhir.ml"
+# 35181 "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)
-# 30346 "parser_cocci_menhir.ml"
+# 35187 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30351 "parser_cocci_menhir.ml"
+# 35192 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 882 "parser_cocci_menhir.mly"
+# 1055 "parser_cocci_menhir.mly"
     ( P.whileloop _1 _2 _3 _4 _5 )
-# 30358 "parser_cocci_menhir.ml"
+# 35199 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30403,38 +35244,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _7 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30409 "parser_cocci_menhir.ml"
+# 35250 "parser_cocci_menhir.ml"
         ) = Obj.magic _7 in
         let _6 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30414 "parser_cocci_menhir.ml"
+# 35255 "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)
-# 30420 "parser_cocci_menhir.ml"
+# 35261 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30425 "parser_cocci_menhir.ml"
+# 35266 "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)
-# 30431 "parser_cocci_menhir.ml"
+# 35272 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 884 "parser_cocci_menhir.mly"
+# 1057 "parser_cocci_menhir.mly"
     ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 30438 "parser_cocci_menhir.ml"
+# 35279 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30474,23 +35315,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)
-# 30480 "parser_cocci_menhir.ml"
+# 35321 "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)
-# 30486 "parser_cocci_menhir.ml"
+# 35327 "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 = 
-# 886 "parser_cocci_menhir.mly"
+# 1059 "parser_cocci_menhir.mly"
     ( P.iterator _1 _2 _3 _4 _5 )
-# 30494 "parser_cocci_menhir.ml"
+# 35335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30544,39 +35385,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _8 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30550 "parser_cocci_menhir.ml"
+# 35391 "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)
-# 30557 "parser_cocci_menhir.ml"
+# 35398 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30562 "parser_cocci_menhir.ml"
+# 35403 "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)
-# 30568 "parser_cocci_menhir.ml"
+# 35409 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30573 "parser_cocci_menhir.ml"
+# 35414 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : 'tv_statement = 
-# 888 "parser_cocci_menhir.mly"
+# 1061 "parser_cocci_menhir.mly"
     ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 30580 "parser_cocci_menhir.ml"
+# 35421 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30605,22 +35446,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30611 "parser_cocci_menhir.ml"
+# 35452 "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)
-# 30617 "parser_cocci_menhir.ml"
+# 35458 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 889 "parser_cocci_menhir.mly"
+# 1062 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 30624 "parser_cocci_menhir.ml"
+# 35465 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30644,21 +35485,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30650 "parser_cocci_menhir.ml"
+# 35491 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30655 "parser_cocci_menhir.ml"
+# 35496 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 890 "parser_cocci_menhir.mly"
+# 1063 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 30662 "parser_cocci_menhir.ml"
+# 35503 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30682,21 +35523,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30688 "parser_cocci_menhir.ml"
+# 35529 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30693 "parser_cocci_menhir.ml"
+# 35534 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 891 "parser_cocci_menhir.mly"
+# 1064 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 30700 "parser_cocci_menhir.ml"
+# 35541 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30720,21 +35561,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30726 "parser_cocci_menhir.ml"
+# 35567 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30731 "parser_cocci_menhir.ml"
+# 35572 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 892 "parser_cocci_menhir.mly"
+# 1065 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 30738 "parser_cocci_menhir.ml"
+# 35579 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30758,17 +35599,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30764 "parser_cocci_menhir.ml"
+# 35605 "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 = 
-# 893 "parser_cocci_menhir.mly"
-                ( P.label _1 _2 )
-# 30772 "parser_cocci_menhir.ml"
+# 1066 "parser_cocci_menhir.mly"
+                 ( P.label _1 _2 )
+# 35613 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30797,22 +35638,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30803 "parser_cocci_menhir.ml"
+# 35644 "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)
-# 30809 "parser_cocci_menhir.ml"
+# 35650 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 894 "parser_cocci_menhir.mly"
-                      ( P.goto _1 _2 _3 )
-# 30816 "parser_cocci_menhir.ml"
+# 1067 "parser_cocci_menhir.mly"
+                           ( P.goto _1 _2 _3 )
+# 35657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30841,22 +35682,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30847 "parser_cocci_menhir.ml"
+# 35688 "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)
-# 30853 "parser_cocci_menhir.ml"
+# 35694 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 896 "parser_cocci_menhir.mly"
+# 1069 "parser_cocci_menhir.mly"
     ( P.seq _1 _2 _3 )
-# 30860 "parser_cocci_menhir.ml"
+# 35701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30881,16 +35722,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)
-# 30887 "parser_cocci_menhir.ml"
+# 35728 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_stm_dots = 
-# 900 "parser_cocci_menhir.mly"
+# 1073 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 30894 "parser_cocci_menhir.ml"
+# 35735 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30924,24 +35765,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30930 "parser_cocci_menhir.ml"
+# 35771 "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)
-# 30937 "parser_cocci_menhir.ml"
+# 35778 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 902 "parser_cocci_menhir.mly"
+# 1075 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 30945 "parser_cocci_menhir.ml"
+# 35786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30975,24 +35816,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30981 "parser_cocci_menhir.ml"
+# 35822 "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)
-# 30988 "parser_cocci_menhir.ml"
+# 35829 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 905 "parser_cocci_menhir.mly"
+# 1078 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 30996 "parser_cocci_menhir.ml"
+# 35837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31011,16 +35852,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)
-# 31017 "parser_cocci_menhir.ml"
+# 35858 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 831 "parser_cocci_menhir.mly"
+# 1002 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Static s )
-# 31024 "parser_cocci_menhir.ml"
+# 35865 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31039,16 +35880,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)
-# 31045 "parser_cocci_menhir.ml"
+# 35886 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 832 "parser_cocci_menhir.mly"
+# 1003 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Auto s )
-# 31052 "parser_cocci_menhir.ml"
+# 35893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31067,16 +35908,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)
-# 31073 "parser_cocci_menhir.ml"
+# 35914 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 833 "parser_cocci_menhir.mly"
+# 1004 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Register s )
-# 31080 "parser_cocci_menhir.ml"
+# 35921 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31095,16 +35936,38 @@ 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)
-# 31101 "parser_cocci_menhir.ml"
+# 35942 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 834 "parser_cocci_menhir.mly"
+# 1005 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Extern s )
-# 31108 "parser_cocci_menhir.ml"
+# 35949 "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 = 
+# 719 "parser_cocci_menhir.mly"
+                      ( [] )
+# 35971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31117,16 +35980,210 @@ 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_struct_decl_one = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl = 
-# 587 "parser_cocci_menhir.mly"
-               ( [] )
-# 31130 "parser_cocci_menhir.ml"
+# 720 "parser_cocci_menhir.mly"
+                      ( [_1] )
+# 35995 "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 = 
+# 744 "parser_cocci_menhir.mly"
+                          ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 36019 "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 = 
+# 747 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 36043 "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 = 
+# 748 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 36073 "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 = 
+# 750 "parser_cocci_menhir.mly"
+    ( (P.mkddots_one "..." d)::r )
+# 36103 "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)
+# 36124 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 723 "parser_cocci_menhir.mly"
+                 ( P.meta_field _1 )
+# 36131 "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)
+# 36152 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 724 "parser_cocci_menhir.mly"
+                     ( P.meta_field_list _1 )
+# 36159 "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)
+# 36180 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 725 "parser_cocci_menhir.mly"
+            ( tmeta_to_field _1 )
+# 36187 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31155,19 +36212,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31161 "parser_cocci_menhir.ml"
+# 36218 "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 = 
-# 589 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 727 "parser_cocci_menhir.mly"
   ( let (id,fn) = d in
-        [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 31171 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31226,50 +36283,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31232 "parser_cocci_menhir.ml"
+# 36289 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31237 "parser_cocci_menhir.ml"
+# 36294 "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)
-# 31243 "parser_cocci_menhir.ml"
+# 36300 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31248 "parser_cocci_menhir.ml"
+# 36305 "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)
-# 31254 "parser_cocci_menhir.ml"
+# 36311 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31259 "parser_cocci_menhir.ml"
+# 36316 "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 = 
-# 593 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 731 "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))] )
-# 31273 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36330 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31298,27 +36355,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31304 "parser_cocci_menhir.ml"
+# 36361 "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 )
-# 31314 "parser_cocci_menhir.ml"
+# 36371 "parser_cocci_menhir.ml"
           
         in
         
-# 601 "parser_cocci_menhir.mly"
+# 739 "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))] )
-# 31322 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36379 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31352,29 +36409,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31358 "parser_cocci_menhir.ml"
+# 36415 "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 )
-# 31370 "parser_cocci_menhir.ml"
+# 36427 "parser_cocci_menhir.ml"
           
         in
         
-# 601 "parser_cocci_menhir.mly"
+# 739 "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))] )
-# 31378 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31387,18 +36444,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 = 
-# 606 "parser_cocci_menhir.mly"
-                          ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 31402 "parser_cocci_menhir.ml"
+        let s : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36456 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_s_ in
+        let _v : 'tv_struct_or_union = 
+# 715 "parser_cocci_menhir.mly"
+                 ( P.clt2mcode Ast.Struct s )
+# 36463 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31411,18 +36472,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 = 
-# 609 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 31426 "parser_cocci_menhir.ml"
+        let u : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36484 "parser_cocci_menhir.ml"
+        ) = Obj.magic u in
+        let _startpos = _startpos_u_ in
+        let _endpos = _endpos_u_ in
+        let _v : 'tv_struct_or_union = 
+# 716 "parser_cocci_menhir.mly"
+                 ( P.clt2mcode Ast.Union u )
+# 36491 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31434,25 +36499,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 = 
-# 610 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 31456 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_i_ in
+        let _v : 'tv_sub = 
+# 1812 "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] )
+# 36526 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31464,81 +36534,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;
-            };
-          } = _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 = 
-# 612 "parser_cocci_menhir.mly"
-    ( (P.mkddots "..." d)::r )
-# 31486 "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)
-# 31507 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let _startpos = _startpos_s_ in
-        let _endpos = _endpos_s_ in
-        let _v : 'tv_struct_or_union = 
-# 583 "parser_cocci_menhir.mly"
-                 ( P.clt2mcode Ast.Struct s )
-# 31514 "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;
+            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 u : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 31535 "parser_cocci_menhir.ml"
-        ) = Obj.magic u in
-        let _startpos = _startpos_u_ in
-        let _endpos = _endpos_u_ in
-        let _v : 'tv_struct_or_union = 
-# 584 "parser_cocci_menhir.mly"
-                 ( P.clt2mcode Ast.Union u )
-# 31542 "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 = 
+# 1821 "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)
+# 36570 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31560,9 +36588,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_top_eexpr = 
-# 1229 "parser_cocci_menhir.mly"
+# 1379 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 31566 "parser_cocci_menhir.ml"
+# 36594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31591,22 +36619,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31597 "parser_cocci_menhir.ml"
+# 36625 "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)
-# 31603 "parser_cocci_menhir.ml"
+# 36631 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_top_init = 
-# 1767 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 31610 "parser_cocci_menhir.ml"
+# 2071 "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)) )
+# 36643 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31621,9 +36654,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 = 
-# 1755 "parser_cocci_menhir.mly"
+# 2059 "parser_cocci_menhir.mly"
                                      ([])
-# 31627 "parser_cocci_menhir.ml"
+# 36660 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31649,9 +36682,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1756 "parser_cocci_menhir.mly"
+# 2060 "parser_cocci_menhir.mly"
                                      (_2)
-# 31655 "parser_cocci_menhir.ml"
+# 36688 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31679,9 +36712,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1757 "parser_cocci_menhir.mly"
+# 2061 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 31685 "parser_cocci_menhir.ml"
+# 36718 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31709,9 +36742,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1758 "parser_cocci_menhir.mly"
+# 2062 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 31715 "parser_cocci_menhir.ml"
+# 36748 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31737,9 +36770,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1746 "parser_cocci_menhir.mly"
+# 2050 "parser_cocci_menhir.mly"
                                      (_2)
-# 31743 "parser_cocci_menhir.ml"
+# 36776 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31767,9 +36800,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1747 "parser_cocci_menhir.mly"
+# 2051 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 31773 "parser_cocci_menhir.ml"
+# 36806 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31797,9 +36830,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1748 "parser_cocci_menhir.mly"
+# 2052 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 31803 "parser_cocci_menhir.ml"
+# 36836 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31814,9 +36847,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 = 
-# 1751 "parser_cocci_menhir.mly"
+# 2055 "parser_cocci_menhir.mly"
                                      ([])
-# 31820 "parser_cocci_menhir.ml"
+# 36853 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31844,9 +36877,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_exp = 
-# 1752 "parser_cocci_menhir.mly"
+# 2056 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 31850 "parser_cocci_menhir.ml"
+# 36883 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31861,9 +36894,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 = 
-# 1761 "parser_cocci_menhir.mly"
+# 2065 "parser_cocci_menhir.mly"
                                      ([])
-# 31867 "parser_cocci_menhir.ml"
+# 36900 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31891,9 +36924,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1762 "parser_cocci_menhir.mly"
+# 2066 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 31897 "parser_cocci_menhir.ml"
+# 36930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31921,9 +36954,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1763 "parser_cocci_menhir.mly"
+# 2067 "parser_cocci_menhir.mly"
                                      (_1@_2)
-# 31927 "parser_cocci_menhir.ml"
+# 36960 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31951,9 +36984,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_ = 
-# 1741 "parser_cocci_menhir.mly"
+# 2045 "parser_cocci_menhir.mly"
                                      ( _1::_2 )
-# 31957 "parser_cocci_menhir.ml"
+# 36990 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31981,9 +37014,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_ = 
-# 1742 "parser_cocci_menhir.mly"
+# 2046 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 31987 "parser_cocci_menhir.ml"
+# 37020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32011,9 +37044,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_ = 
-# 1743 "parser_cocci_menhir.mly"
+# 2047 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32017 "parser_cocci_menhir.ml"
+# 37050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32044,9 +37077,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32050 "parser_cocci_menhir.ml"
+# 37083 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32054,15 +37087,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 910 "parser_cocci_menhir.mly"
+# 1083 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 32060 "parser_cocci_menhir.ml"
+# 37093 "parser_cocci_menhir.ml"
           
         in
         
-# 1734 "parser_cocci_menhir.mly"
+# 2038 "parser_cocci_menhir.mly"
                                              ( a::b )
-# 32066 "parser_cocci_menhir.ml"
+# 37099 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32102,16 +37135,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32108 "parser_cocci_menhir.ml"
+# 37141 "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"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32115 "parser_cocci_menhir.ml"
+# 37148 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32121,16 +37154,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 914 "parser_cocci_menhir.mly"
+# 1087 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32128 "parser_cocci_menhir.ml"
+# 37161 "parser_cocci_menhir.ml"
           
         in
         
-# 1735 "parser_cocci_menhir.mly"
+# 2039 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32134 "parser_cocci_menhir.ml"
+# 37167 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32170,16 +37203,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32176 "parser_cocci_menhir.ml"
+# 37209 "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"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32183 "parser_cocci_menhir.ml"
+# 37216 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32189,16 +37222,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 917 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32196 "parser_cocci_menhir.ml"
+# 37229 "parser_cocci_menhir.ml"
           
         in
         
-# 1735 "parser_cocci_menhir.mly"
+# 2039 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32202 "parser_cocci_menhir.ml"
+# 37235 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32232,16 +37265,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32238 "parser_cocci_menhir.ml"
+# 37271 "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"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32245 "parser_cocci_menhir.ml"
+# 37278 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32251,16 +37284,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 914 "parser_cocci_menhir.mly"
+# 1087 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32258 "parser_cocci_menhir.ml"
+# 37291 "parser_cocci_menhir.ml"
           
         in
         
-# 1736 "parser_cocci_menhir.mly"
+# 2040 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32264 "parser_cocci_menhir.ml"
+# 37297 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32294,16 +37327,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32300 "parser_cocci_menhir.ml"
+# 37333 "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"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32307 "parser_cocci_menhir.ml"
+# 37340 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32313,16 +37346,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 917 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32320 "parser_cocci_menhir.ml"
+# 37353 "parser_cocci_menhir.ml"
           
         in
         
-# 1736 "parser_cocci_menhir.mly"
+# 2040 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32326 "parser_cocci_menhir.ml"
+# 37359 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32350,9 +37383,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1737 "parser_cocci_menhir.mly"
+# 2041 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32356 "parser_cocci_menhir.ml"
+# 37389 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32380,9 +37413,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1738 "parser_cocci_menhir.mly"
+# 2042 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32386 "parser_cocci_menhir.ml"
+# 37419 "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_type_ident = 
+# 1896 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 37443 "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 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 37464 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_type_ident = 
+# 1898 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 37471 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32412,14 +37497,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)
-# 32418 "parser_cocci_menhir.ml"
+# 37503 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32423 "parser_cocci_menhir.ml"
+# 37508 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32429,28 +37514,541 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 32435 "parser_cocci_menhir.ml"
+# 37520 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37526 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37533 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37539 "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)
+# 37571 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37576 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 37588 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37594 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37601 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37607 "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)
+# 37639 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37644 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 37656 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37662 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37669 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37675 "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 = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            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 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 37707 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37712 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let p0 = p00 in
+          let r = r0 in
+          let ty =
+            let p = p0 in
+            
+# 623 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 37725 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37731 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37738 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37744 "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 = 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;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 37785 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 37790 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37795 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
+        let _startpos = _startpos_r1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_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
+            
+# 626 "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*))) )
+# 37814 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37820 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37827 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37833 "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)
+# 37865 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37870 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 37882 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37888 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37895 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37901 "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 = 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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37938 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37943 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37948 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_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
+            
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 37965 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
+# 680 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32441 "parser_cocci_menhir.ml"
+# 37971 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37978 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37984 "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)
+# 38016 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38021 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 617 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 38033 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38039 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32448 "parser_cocci_menhir.ml"
+# 38046 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32454 "parser_cocci_menhir.ml"
+# 38052 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32480,14 +38078,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)
-# 32486 "parser_cocci_menhir.ml"
+# 38084 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32491 "parser_cocci_menhir.ml"
+# 38089 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32497,28 +38095,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 32503 "parser_cocci_menhir.ml"
+# 38101 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32509 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38107 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32516 "parser_cocci_menhir.ml"
+# 38114 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32522 "parser_cocci_menhir.ml"
+# 38120 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32548,14 +38146,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)
-# 32554 "parser_cocci_menhir.ml"
+# 38152 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32559 "parser_cocci_menhir.ml"
+# 38157 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32565,28 +38163,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 32571 "parser_cocci_menhir.ml"
+# 38169 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32577 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38175 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32584 "parser_cocci_menhir.ml"
+# 38182 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32590 "parser_cocci_menhir.ml"
+# 38188 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32616,14 +38214,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)
-# 32622 "parser_cocci_menhir.ml"
+# 38220 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32627 "parser_cocci_menhir.ml"
+# 38225 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32633,29 +38231,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 32640 "parser_cocci_menhir.ml"
+# 38238 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32646 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38244 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32653 "parser_cocci_menhir.ml"
+# 38251 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32659 "parser_cocci_menhir.ml"
+# 38257 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32694,19 +38292,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)
-# 32700 "parser_cocci_menhir.ml"
+# 38298 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 32705 "parser_cocci_menhir.ml"
+# 38303 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32710 "parser_cocci_menhir.ml"
+# 38308 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -32718,33 +38316,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 32729 "parser_cocci_menhir.ml"
+# 38327 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32735 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38333 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32742 "parser_cocci_menhir.ml"
+# 38340 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32748 "parser_cocci_menhir.ml"
+# 38346 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32774,14 +38372,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)
-# 32780 "parser_cocci_menhir.ml"
+# 38378 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32785 "parser_cocci_menhir.ml"
+# 38383 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32791,28 +38389,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 32797 "parser_cocci_menhir.ml"
+# 38395 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32803 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38401 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32810 "parser_cocci_menhir.ml"
+# 38408 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32816 "parser_cocci_menhir.ml"
+# 38414 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32847,19 +38445,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)
-# 32853 "parser_cocci_menhir.ml"
+# 38451 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32858 "parser_cocci_menhir.ml"
+# 38456 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32863 "parser_cocci_menhir.ml"
+# 38461 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32871,31 +38469,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 32880 "parser_cocci_menhir.ml"
+# 38478 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32886 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38484 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32893 "parser_cocci_menhir.ml"
+# 38491 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32899 "parser_cocci_menhir.ml"
+# 38497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32911,59 +38509,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              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)
-# 32931 "parser_cocci_menhir.ml"
+# 38524 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 32936 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 32948 "parser_cocci_menhir.ml"
+# 38535 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32954 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38541 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32961 "parser_cocci_menhir.ml"
+# 38548 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32967 "parser_cocci_menhir.ml"
+# 38554 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32979,59 +38566,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              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)
-# 32999 "parser_cocci_menhir.ml"
+# 38581 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33004 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33016 "parser_cocci_menhir.ml"
+# 38592 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33022 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38598 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33029 "parser_cocci_menhir.ml"
+# 38605 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33035 "parser_cocci_menhir.ml"
+# 38611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33047,59 +38623,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              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)
-# 33067 "parser_cocci_menhir.ml"
+# 38638 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33072 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33084 "parser_cocci_menhir.ml"
+# 38649 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33090 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38655 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33097 "parser_cocci_menhir.ml"
+# 38662 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33103 "parser_cocci_menhir.ml"
+# 38668 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33115,60 +38680,49 @@ 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 = {
-              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.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)
-# 33135 "parser_cocci_menhir.ml"
+# 38695 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33140 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let p0 = p00 in
-          let r = r0 in
           let ty =
             let p = p0 in
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33153 "parser_cocci_menhir.ml"
+# 38707 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33159 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38713 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33166 "parser_cocci_menhir.ml"
+# 38720 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33172 "parser_cocci_menhir.ml"
+# 38726 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33188,76 +38742,308 @@ 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__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 = {
-                  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.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)
-# 33213 "parser_cocci_menhir.ml"
+# 38762 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 33218 "parser_cocci_menhir.ml"
+# 38767 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33223 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let _startpos = _startpos_r1_ in
+        let _startpos = _startpos_r00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_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
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 33242 "parser_cocci_menhir.ml"
+# 38785 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38791 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38798 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38804 "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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38831 "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
+            
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 38842 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38848 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38855 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38861 "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.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 ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38893 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38898 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let _startpos = _startpos_ty100_ 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
+            
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 38914 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38920 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38927 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38933 "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 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38960 "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
+            
+# 643 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 38971 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38977 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38984 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38990 "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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39017 "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
+            
+# 645 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 39028 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33248 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39034 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33255 "parser_cocci_menhir.ml"
+# 39041 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33261 "parser_cocci_menhir.ml"
+# 39047 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33273,59 +39059,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              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)
-# 33293 "parser_cocci_menhir.ml"
+# 39074 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33298 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33310 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 39085 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33316 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39091 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33323 "parser_cocci_menhir.ml"
+# 39098 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33329 "parser_cocci_menhir.ml"
+# 39104 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33341,74 +39116,48 @@ 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.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 = 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 ty200 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33366 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33371 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33376 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+# 39131 "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 ty20 = ty200 in
-          let ty10 = ty100 in
-          let r = r0 in
+          let ty0 = ty00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33393 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 39142 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33399 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39148 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33406 "parser_cocci_menhir.ml"
+# 39155 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33412 "parser_cocci_menhir.ml"
+# 39161 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33433,9 +39182,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)
-# 33439 "parser_cocci_menhir.ml"
+# 39188 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33444,28 +39193,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33450 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 39199 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33456 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39205 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33463 "parser_cocci_menhir.ml"
+# 39212 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33469 "parser_cocci_menhir.ml"
+# 39218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33490,9 +39239,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)
-# 33496 "parser_cocci_menhir.ml"
+# 39245 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33501,28 +39250,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33507 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 39256 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33513 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39262 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33520 "parser_cocci_menhir.ml"
+# 39269 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33526 "parser_cocci_menhir.ml"
+# 39275 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33538,48 +39287,56 @@ 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.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 ty00 : (
-# 49 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33553 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+# 39308 "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 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
             
-# 505 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33564 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 39321 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33570 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39327 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33577 "parser_cocci_menhir.ml"
+# 39334 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33583 "parser_cocci_menhir.ml"
+# 39340 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33595,49 +39352,90 @@ 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.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 p00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 33610 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39382 "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)
+# 39388 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39393 "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 p0 = p00 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let p = p0 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 39411 "parser_cocci_menhir.ml"
+              
+            in
             
-# 507 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33622 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 39420 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33628 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39426 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33635 "parser_cocci_menhir.ml"
+# 39433 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33641 "parser_cocci_menhir.ml"
+# 39439 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33653,69 +39451,99 @@ 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 = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
+              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 = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                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 = 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 p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 33677 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 33682 "parser_cocci_menhir.ml"
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39486 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39492 "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)
+# 39498 "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 p0 = p00 in
           let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let p = p0 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 )
+# 39519 "parser_cocci_menhir.ml"
+              
+            in
             
-# 510 "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*))) )
-# 33700 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 39528 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33706 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39534 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33713 "parser_cocci_menhir.ml"
+# 39541 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33719 "parser_cocci_menhir.ml"
+# 39547 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33731,48 +39559,52 @@ 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.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 ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33746 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ 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_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
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33757 "parser_cocci_menhir.ml"
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 39589 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33763 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39595 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33770 "parser_cocci_menhir.ml"
+# 39602 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33776 "parser_cocci_menhir.ml"
+# 39608 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33788,63 +39620,87 @@ 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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              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 ty200 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33808 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33813 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39650 "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)
+# 39656 "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_typedef_ctype = let ty =
-          let ty20 = ty200 in
-          let ty10 = ty100 in
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 39675 "parser_cocci_menhir.ml"
+              
+            in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33829 "parser_cocci_menhir.ml"
+# 665 "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)) )
+# 39685 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33835 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39691 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33842 "parser_cocci_menhir.ml"
+# 39698 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33848 "parser_cocci_menhir.ml"
+# 39704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33860,48 +39716,187 @@ 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.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 ty00 : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33875 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39751 "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)
+# 39757 "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_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            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 )
+# 39780 "parser_cocci_menhir.ml"
+              
+            in
             
-# 527 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 33886 "parser_cocci_menhir.ml"
+# 665 "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)) )
+# 39790 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39796 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39803 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 705 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39809 "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)
+# 39851 "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)
+# 39857 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 39862 "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 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
+            
+# 671 "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)) )
+# 39881 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 33892 "parser_cocci_menhir.ml"
+# 39887 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33899 "parser_cocci_menhir.ml"
+# 39894 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33905 "parser_cocci_menhir.ml"
+# 39900 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33918,47 +39913,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           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.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 ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33932 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 39927 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let p0 = p00 in
           let ty =
-            let ty = ty0 in
+            let p = p0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 33943 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 39938 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 33949 "parser_cocci_menhir.ml"
+# 39944 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33956 "parser_cocci_menhir.ml"
+# 39951 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33962 "parser_cocci_menhir.ml"
+# 39957 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33974,48 +39969,66 @@ 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.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)
-# 33989 "parser_cocci_menhir.ml"
+# 39994 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39999 "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_typedef_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 34000 "parser_cocci_menhir.ml"
+# 617 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 40012 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34006 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40018 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34013 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40026 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34019 "parser_cocci_menhir.ml"
+# 40032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34031,56 +40044,66 @@ 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 = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             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 = 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 i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : (
-# 50 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34052 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+# 40069 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40074 "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_typedef_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 34065 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 40087 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34071 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40093 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34078 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40101 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34084 "parser_cocci_menhir.ml"
+# 40107 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34096,52 +40119,66 @@ 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 = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             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 = 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 i00 : 'tv_ident = Obj.magic i00 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)
+# 40144 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40149 "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_typedef_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 535 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 34126 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 40162 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34132 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40168 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34139 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40176 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34145 "parser_cocci_menhir.ml"
+# 40182 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34157,87 +40194,67 @@ 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 = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
               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 = 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)
-# 34187 "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)
-# 34193 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 40219 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40224 "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_typedef_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let p0 = p00 in
+          let r = r0 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 )
-# 34212 "parser_cocci_menhir.ml"
-              
-            in
+            let p = p0 in
             
-# 538 "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)) )
-# 34222 "parser_cocci_menhir.ml"
+# 623 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 40238 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34228 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40244 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34235 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40252 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34241 "parser_cocci_menhir.ml"
+# 40258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34253,26 +40270,25 @@ 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 = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = x000;
-                  MenhirLib.EngineTypes.startp = _startpos_x000_;
-                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  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 = s00;
-                    MenhirLib.EngineTypes.startp = _startpos_s00_;
-                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
                     MenhirLib.EngineTypes.next = _menhir_stack;
                     };
                   };
@@ -34281,68 +40297,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 40304 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34288 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 40309 "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)
-# 34294 "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 r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40314 "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_typedef_ctype = let ty =
+          let p0 = p00 in
           let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let x00 = x000 in
-          let s0 = s00 in
+          let r = r1 in
           let ty =
+            let p = p0 in
             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 )
-# 34317 "parser_cocci_menhir.ml"
-              
-            in
             
-# 538 "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)) )
-# 34327 "parser_cocci_menhir.ml"
+# 626 "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*))) )
+# 40334 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34333 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40340 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34340 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40348 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34346 "parser_cocci_menhir.ml"
+# 40354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34358,82 +40366,66 @@ 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.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
               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 = 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)
-# 34388 "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)
-# 34394 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 34399 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40391 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40396 "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_typedef_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 544 "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)) )
-# 34418 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 40409 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34424 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40415 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34431 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40423 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34437 "parser_cocci_menhir.ml"
+# 40429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34449,48 +40441,81 @@ 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.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.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 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 34464 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40471 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40476 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40481 "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_typedef_ctype = let ty =
-          let p0 = p00 in
+          let ty20 = ty200 in
+          let ty10 = ty100 in
+          let r = r0 in
           let ty =
-            let p = p0 in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 548 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 34475 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40499 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34481 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40505 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34488 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40513 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34494 "parser_cocci_menhir.ml"
+# 40519 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34525,14 +40550,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)
-# 34531 "parser_cocci_menhir.ml"
+# 40556 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34536 "parser_cocci_menhir.ml"
+# 40561 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34543,15 +40568,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34549 "parser_cocci_menhir.ml"
+# 40574 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34555 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40580 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34559,13 +40584,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34563 "parser_cocci_menhir.ml"
+# 40588 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34569 "parser_cocci_menhir.ml"
+# 40594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34600,14 +40625,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)
-# 34606 "parser_cocci_menhir.ml"
+# 40631 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34611 "parser_cocci_menhir.ml"
+# 40636 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34618,15 +40643,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34624 "parser_cocci_menhir.ml"
+# 40649 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34630 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40655 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34634,13 +40659,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34638 "parser_cocci_menhir.ml"
+# 40663 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34644 "parser_cocci_menhir.ml"
+# 40669 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34675,14 +40700,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)
-# 34681 "parser_cocci_menhir.ml"
+# 40706 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34686 "parser_cocci_menhir.ml"
+# 40711 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34693,15 +40718,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34699 "parser_cocci_menhir.ml"
+# 40724 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34705 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40730 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34709,13 +40734,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34713 "parser_cocci_menhir.ml"
+# 40738 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34719 "parser_cocci_menhir.ml"
+# 40744 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34750,14 +40775,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)
-# 34756 "parser_cocci_menhir.ml"
+# 40781 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34761 "parser_cocci_menhir.ml"
+# 40786 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34768,16 +40793,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 34775 "parser_cocci_menhir.ml"
+# 40800 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34781 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40806 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34785,13 +40810,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34789 "parser_cocci_menhir.ml"
+# 40814 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34795 "parser_cocci_menhir.ml"
+# 40820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34835,19 +40860,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)
-# 34841 "parser_cocci_menhir.ml"
+# 40866 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 34846 "parser_cocci_menhir.ml"
+# 40871 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34851 "parser_cocci_menhir.ml"
+# 40876 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34860,20 +40885,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 34871 "parser_cocci_menhir.ml"
+# 40896 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34877 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40902 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34881,13 +40906,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34885 "parser_cocci_menhir.ml"
+# 40910 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34891 "parser_cocci_menhir.ml"
+# 40916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34922,14 +40947,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)
-# 34928 "parser_cocci_menhir.ml"
+# 40953 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34933 "parser_cocci_menhir.ml"
+# 40958 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34940,15 +40965,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34946 "parser_cocci_menhir.ml"
+# 40971 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34952 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40977 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34956,13 +40981,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34960 "parser_cocci_menhir.ml"
+# 40985 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34966 "parser_cocci_menhir.ml"
+# 40991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35002,19 +41027,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)
-# 35008 "parser_cocci_menhir.ml"
+# 41033 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35013 "parser_cocci_menhir.ml"
+# 41038 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35018 "parser_cocci_menhir.ml"
+# 41043 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35027,18 +41052,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35036 "parser_cocci_menhir.ml"
+# 41061 "parser_cocci_menhir.ml"
             
           in
           
-# 553 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35042 "parser_cocci_menhir.ml"
+# 682 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41067 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35046,13 +41071,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35050 "parser_cocci_menhir.ml"
+# 41075 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35056 "parser_cocci_menhir.ml"
+# 41081 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35072,48 +41097,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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.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)
-# 35093 "parser_cocci_menhir.ml"
+# 41113 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35098 "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_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
+# 617 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35111 "parser_cocci_menhir.ml"
+# 41125 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35117 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41131 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35121,13 +41135,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35125 "parser_cocci_menhir.ml"
+# 41139 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35131 "parser_cocci_menhir.ml"
+# 41145 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35147,48 +41161,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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.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)
-# 35168 "parser_cocci_menhir.ml"
+# 41177 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35173 "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_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35186 "parser_cocci_menhir.ml"
+# 41189 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35192 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41195 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35196,13 +41199,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35200 "parser_cocci_menhir.ml"
+# 41203 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35206 "parser_cocci_menhir.ml"
+# 41209 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35222,48 +41225,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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.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)
-# 35243 "parser_cocci_menhir.ml"
+# 41241 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35248 "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_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35261 "parser_cocci_menhir.ml"
+# 41253 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35267 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41259 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35271,13 +41263,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35275 "parser_cocci_menhir.ml"
+# 41267 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35281 "parser_cocci_menhir.ml"
+# 41273 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35297,49 +41289,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 = 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)
-# 35318 "parser_cocci_menhir.ml"
+# 41305 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35323 "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_typedef_ctype = let ty =
           let p0 = p00 in
-          let r = r0 in
           let ty =
             let p = p0 in
             
-# 507 "parser_cocci_menhir.mly"
+# 623 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35337 "parser_cocci_menhir.ml"
+# 41318 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35343 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41324 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35347,13 +41328,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35351 "parser_cocci_menhir.ml"
+# 41332 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35357 "parser_cocci_menhir.ml"
+# 41338 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35373,23 +41354,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              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.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 = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
                   };
                 };
               };
@@ -35397,45 +41373,39 @@ 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)
-# 35403 "parser_cocci_menhir.ml"
+# 41379 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 35408 "parser_cocci_menhir.ml"
+# 41384 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35413 "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_typedef_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
             
-# 510 "parser_cocci_menhir.mly"
+# 626 "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*))) )
-# 35433 "parser_cocci_menhir.ml"
+# 41403 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35439 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41409 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35443,13 +41413,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35447 "parser_cocci_menhir.ml"
+# 41417 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35453 "parser_cocci_menhir.ml"
+# 41423 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35469,48 +41439,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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.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)
-# 35490 "parser_cocci_menhir.ml"
+# 41455 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35495 "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_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 633 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35508 "parser_cocci_menhir.ml"
+# 41467 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35514 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41473 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35518,13 +41477,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35522 "parser_cocci_menhir.ml"
+# 41481 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35528 "parser_cocci_menhir.ml"
+# 41487 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35548,59 +41507,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
               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 = 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)
-# 35570 "parser_cocci_menhir.ml"
+# 41524 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35575 "parser_cocci_menhir.ml"
+# 41529 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35580 "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_typedef_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
             
-# 519 "parser_cocci_menhir.mly"
+# 635 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35598 "parser_cocci_menhir.ml"
+# 41546 "parser_cocci_menhir.ml"
             
           in
           
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35604 "parser_cocci_menhir.ml"
+# 683 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41552 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35608,13 +41556,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35612 "parser_cocci_menhir.ml"
+# 41560 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35618 "parser_cocci_menhir.ml"
+# 41566 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35644,9 +41592,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"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35650 "parser_cocci_menhir.ml"
+# 41598 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35656,15 +41604,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 501 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35662 "parser_cocci_menhir.ml"
+# 643 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 41610 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35668 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41616 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35672,13 +41620,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35676 "parser_cocci_menhir.ml"
+# 41624 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35682 "parser_cocci_menhir.ml"
+# 41630 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35708,9 +41656,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)
-# 35714 "parser_cocci_menhir.ml"
+# 41662 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35720,15 +41668,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 503 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35726 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 41674 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35732 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41680 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35736,13 +41684,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35740 "parser_cocci_menhir.ml"
+# 41688 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35746 "parser_cocci_menhir.ml"
+# 41694 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35772,9 +41720,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)
-# 35778 "parser_cocci_menhir.ml"
+# 41726 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35784,15 +41732,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 505 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35790 "parser_cocci_menhir.ml"
+# 647 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 41738 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35796 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41744 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35800,13 +41748,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35804 "parser_cocci_menhir.ml"
+# 41752 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35810 "parser_cocci_menhir.ml"
+# 41758 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35822,9 +41770,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;
@@ -35835,114 +41783,28 @@ 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"
-       (Parse_aux.info)
-# 35842 "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_typedef_ctype = let ty =
-          let p0 = p00 in
-          let ty =
-            let p = p0 in
-            
-# 507 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35855 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35861 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 35869 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 574 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 35875 "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 = 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 = 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 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 35916 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 35921 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41790 "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 p0 = p00 in
-          let r0 = r00 in
+          let ty0 = ty00 in
           let ty =
-            let p = p0 in
-            let r = r0 in
+            let ty = ty0 in
             
-# 510 "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*))) )
-# 35940 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 41802 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35946 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41808 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35950,13 +41812,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35954 "parser_cocci_menhir.ml"
+# 41816 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35960 "parser_cocci_menhir.ml"
+# 41822 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35986,9 +41848,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)
-# 35992 "parser_cocci_menhir.ml"
+# 41854 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35998,94 +41860,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36004 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36010 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 36018 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 574 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 36024 "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 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36061 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36066 "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
-            
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36083 "parser_cocci_menhir.ml"
+# 651 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 41866 "parser_cocci_menhir.ml"
             
           in
           
-# 556 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36089 "parser_cocci_menhir.ml"
+# 684 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41872 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36093,13 +41876,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36097 "parser_cocci_menhir.ml"
+# 41880 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36103 "parser_cocci_menhir.ml"
+# 41886 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36129,9 +41912,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)
-# 36135 "parser_cocci_menhir.ml"
+# 41918 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36141,15 +41924,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 527 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 36147 "parser_cocci_menhir.ml"
+# 653 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 41930 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36153 "parser_cocci_menhir.ml"
+# 41936 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36157,13 +41940,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36161 "parser_cocci_menhir.ml"
+# 41944 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36167 "parser_cocci_menhir.ml"
+# 41950 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36179,41 +41962,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)
-# 36199 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 41988 "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
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 36211 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 42002 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36217 "parser_cocci_menhir.ml"
+# 42008 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36221,13 +42012,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36225 "parser_cocci_menhir.ml"
+# 42016 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36231 "parser_cocci_menhir.ml"
+# 42022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36243,41 +42034,83 @@ 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.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 = 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 m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42069 "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)
+# 42075 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36263 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 42080 "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 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 )
+# 42099 "parser_cocci_menhir.ml"
+              
+            in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 36275 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 42108 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36281 "parser_cocci_menhir.ml"
+# 42114 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36285,13 +42118,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36289 "parser_cocci_menhir.ml"
+# 42122 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36295 "parser_cocci_menhir.ml"
+# 42128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36307,49 +42140,92 @@ 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 = 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 i00 : 'tv_ident = Obj.magic i00 in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42180 "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)
+# 42186 "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)
-# 36333 "parser_cocci_menhir.ml"
+# 42192 "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 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 )
+# 42214 "parser_cocci_menhir.ml"
+              
+            in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 36347 "parser_cocci_menhir.ml"
+# 657 "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)) )
+# 42223 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36353 "parser_cocci_menhir.ml"
+# 42229 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36357,13 +42233,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36361 "parser_cocci_menhir.ml"
+# 42237 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36367 "parser_cocci_menhir.ml"
+# 42243 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36397,7 +42273,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
@@ -36409,15 +42285,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 535 "parser_cocci_menhir.mly"
+# 662 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 36415 "parser_cocci_menhir.ml"
+# 42291 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36421 "parser_cocci_menhir.ml"
+# 42297 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36425,13 +42301,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36429 "parser_cocci_menhir.ml"
+# 42305 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36435 "parser_cocci_menhir.ml"
+# 42311 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36476,15 +42352,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)
-# 36482 "parser_cocci_menhir.ml"
+# 42358 "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)
-# 36488 "parser_cocci_menhir.ml"
+# 42364 "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
@@ -36504,23 +42380,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 39 "standard.mly"
     ( None )
-# 36508 "parser_cocci_menhir.ml"
+# 42384 "parser_cocci_menhir.ml"
               
             in
             
-# 538 "parser_cocci_menhir.mly"
+# 665 "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)) )
-# 36518 "parser_cocci_menhir.ml"
+# 42394 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36524 "parser_cocci_menhir.ml"
+# 42400 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36528,13 +42404,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36532 "parser_cocci_menhir.ml"
+# 42408 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36538 "parser_cocci_menhir.ml"
+# 42414 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36584,17 +42460,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)
-# 36590 "parser_cocci_menhir.ml"
+# 42466 "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)
-# 36596 "parser_cocci_menhir.ml"
+# 42472 "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
@@ -36616,23 +42492,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 41 "standard.mly"
     ( Some x )
-# 36620 "parser_cocci_menhir.ml"
+# 42496 "parser_cocci_menhir.ml"
               
             in
             
-# 538 "parser_cocci_menhir.mly"
+# 665 "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)) )
-# 36630 "parser_cocci_menhir.ml"
+# 42506 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36636 "parser_cocci_menhir.ml"
+# 42512 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36640,13 +42516,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36644 "parser_cocci_menhir.ml"
+# 42520 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36650 "parser_cocci_menhir.ml"
+# 42526 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36691,20 +42567,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)
-# 36697 "parser_cocci_menhir.ml"
+# 42573 "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)
-# 36703 "parser_cocci_menhir.ml"
+# 42579 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 36708 "parser_cocci_menhir.ml"
+# 42584 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36720,17 +42596,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let l = l0 in
             let s = s0 in
             
-# 544 "parser_cocci_menhir.mly"
+# 671 "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)) )
-# 36728 "parser_cocci_menhir.ml"
+# 42604 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36734 "parser_cocci_menhir.ml"
+# 42610 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36738,13 +42614,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36742 "parser_cocci_menhir.ml"
+# 42618 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36748 "parser_cocci_menhir.ml"
+# 42624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36774,9 +42650,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)
-# 36780 "parser_cocci_menhir.ml"
+# 42656 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36786,15 +42662,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 548 "parser_cocci_menhir.mly"
+# 675 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 36792 "parser_cocci_menhir.ml"
+# 42668 "parser_cocci_menhir.ml"
             
           in
           
-# 557 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
                         ( ty )
-# 36798 "parser_cocci_menhir.ml"
+# 42674 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36802,13 +42678,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36806 "parser_cocci_menhir.ml"
+# 42682 "parser_cocci_menhir.ml"
           
         in
         
-# 574 "parser_cocci_menhir.mly"
+# 705 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36812 "parser_cocci_menhir.ml"
+# 42688 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36837,24 +42713,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36843 "parser_cocci_menhir.ml"
+# 42719 "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)
-# 36849 "parser_cocci_menhir.ml"
+# 42725 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let _startpos = _startpos_lp_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_typedef_ctype = 
-# 576 "parser_cocci_menhir.mly"
+# 707 "parser_cocci_menhir.mly"
     ( let (mids,code) = t in
       Ast0.wrap
        (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 36858 "parser_cocci_menhir.ml"
+# 42734 "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)
+# 42755 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ctype = 
+# 710 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 42762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36876,9 +42780,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1640 "parser_cocci_menhir.mly"
+# 1916 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 36882 "parser_cocci_menhir.ml"
+# 42786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36897,17 +42801,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)
-# 36903 "parser_cocci_menhir.ml"
+# 42807 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1642 "parser_cocci_menhir.mly"
+# 1917 "parser_cocci_menhir.mly"
+             ( tmeta_to_type _1 )
+# 42814 "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)
+# 42835 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ident = 
+# 1919 "parser_cocci_menhir.mly"
          ( let (nm,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36911 "parser_cocci_menhir.ml"
+# 42843 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36929,9 +42861,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_ = 
-# 1318 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 36935 "parser_cocci_menhir.ml"
+# 42867 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36954,18 +42886,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)
-# 36962 "parser_cocci_menhir.ml"
+# 42894 "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_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 36969 "parser_cocci_menhir.ml"
+# 42901 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36988,18 +42920,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)
-# 36996 "parser_cocci_menhir.ml"
+# 42928 "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_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37003 "parser_cocci_menhir.ml"
+# 42935 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37027,9 +42959,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_ = 
-# 1324 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37033 "parser_cocci_menhir.ml"
+# 42965 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37052,19 +42984,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)
-# 37060 "parser_cocci_menhir.ml"
+# 42992 "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_ = 
-# 1326 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37068 "parser_cocci_menhir.ml"
+# 43000 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37087,18 +43019,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)
-# 37095 "parser_cocci_menhir.ml"
+# 43027 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37102 "parser_cocci_menhir.ml"
+# 43034 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37132,29 +43064,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37138 "parser_cocci_menhir.ml"
+# 43070 "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)
-# 37144 "parser_cocci_menhir.ml"
+# 43076 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37149 "parser_cocci_menhir.ml"
+# 43081 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37158 "parser_cocci_menhir.ml"
+# 43090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37176,9 +43108,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1318 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37182 "parser_cocci_menhir.ml"
+# 43114 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37201,18 +43133,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)
-# 37209 "parser_cocci_menhir.ml"
+# 43141 "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_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37216 "parser_cocci_menhir.ml"
+# 43148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37235,18 +43167,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)
-# 37243 "parser_cocci_menhir.ml"
+# 43175 "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_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37250 "parser_cocci_menhir.ml"
+# 43182 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37274,9 +43206,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1324 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37280 "parser_cocci_menhir.ml"
+# 43212 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37299,19 +43231,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)
-# 37307 "parser_cocci_menhir.ml"
+# 43239 "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_ = 
-# 1326 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37315 "parser_cocci_menhir.ml"
+# 43247 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37334,18 +43266,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)
-# 37342 "parser_cocci_menhir.ml"
+# 43274 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37349 "parser_cocci_menhir.ml"
+# 43281 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37379,29 +43311,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37385 "parser_cocci_menhir.ml"
+# 43317 "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)
-# 37391 "parser_cocci_menhir.ml"
+# 43323 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37396 "parser_cocci_menhir.ml"
+# 43328 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37405 "parser_cocci_menhir.ml"
+# 43337 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37423,9 +43355,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_ = 
-# 1318 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37429 "parser_cocci_menhir.ml"
+# 43361 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37448,18 +43380,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)
-# 37456 "parser_cocci_menhir.ml"
+# 43388 "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_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37463 "parser_cocci_menhir.ml"
+# 43395 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37482,18 +43414,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)
-# 37490 "parser_cocci_menhir.ml"
+# 43422 "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_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37497 "parser_cocci_menhir.ml"
+# 43429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37521,9 +43453,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_ = 
-# 1324 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37527 "parser_cocci_menhir.ml"
+# 43459 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37546,19 +43478,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)
-# 37554 "parser_cocci_menhir.ml"
+# 43486 "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_ = 
-# 1326 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37562 "parser_cocci_menhir.ml"
+# 43494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37581,18 +43513,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)
-# 37589 "parser_cocci_menhir.ml"
+# 43521 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37596 "parser_cocci_menhir.ml"
+# 43528 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37626,29 +43558,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37632 "parser_cocci_menhir.ml"
+# 43564 "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)
-# 37638 "parser_cocci_menhir.ml"
+# 43570 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37643 "parser_cocci_menhir.ml"
+# 43575 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37652 "parser_cocci_menhir.ml"
+# 43584 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37670,9 +43602,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1318 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37676 "parser_cocci_menhir.ml"
+# 43608 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37695,18 +43627,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)
-# 37703 "parser_cocci_menhir.ml"
+# 43635 "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_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1506 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37710 "parser_cocci_menhir.ml"
+# 43642 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37729,18 +43661,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)
-# 37737 "parser_cocci_menhir.ml"
+# 43669 "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_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1508 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37744 "parser_cocci_menhir.ml"
+# 43676 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37768,9 +43700,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1324 "parser_cocci_menhir.mly"
+# 1510 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37774 "parser_cocci_menhir.ml"
+# 43706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37793,19 +43725,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)
-# 37801 "parser_cocci_menhir.ml"
+# 43733 "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_ = 
-# 1326 "parser_cocci_menhir.mly"
+# 1512 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37809 "parser_cocci_menhir.ml"
+# 43741 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37828,18 +43760,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)
-# 37836 "parser_cocci_menhir.ml"
+# 43768 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1515 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37843 "parser_cocci_menhir.ml"
+# 43775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37873,29 +43805,276 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37879 "parser_cocci_menhir.ml"
+# 43811 "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)
-# 37885 "parser_cocci_menhir.ml"
+# 43817 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37890 "parser_cocci_menhir.ml"
+# 43822 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+                                   P.clt2mcode "(" lp,t,
+                                   P.clt2mcode ")" rp)) )
+# 43831 "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_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 = 
+# 1523 "parser_cocci_menhir.mly"
+                                                          ( _1 )
+# 43855 "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)
+# 43882 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1525 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 43889 "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)
+# 43916 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1527 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 43923 "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 = 
+# 1529 "parser_cocci_menhir.mly"
+      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43953 "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)
+# 43980 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1531 "parser_cocci_menhir.mly"
+      ( let mcode = P.clt2mcode Ast.Not _1 in
+      Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43988 "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)
+# 44015 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1534 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 44022 "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)
+# 44058 "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)
+# 44064 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let s : (
+# 124 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44069 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1536 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37899 "parser_cocci_menhir.ml"
+# 44078 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37914,16 +44093,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 93 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37920 "parser_cocci_menhir.ml"
+# 44099 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1335 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.GetRef _1 )
-# 37927 "parser_cocci_menhir.ml"
+# 44106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37942,16 +44121,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)
-# 37948 "parser_cocci_menhir.ml"
+# 44127 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1336 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.DeRef _1 )
-# 37955 "parser_cocci_menhir.ml"
+# 44134 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37970,16 +44149,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)
-# 37976 "parser_cocci_menhir.ml"
+# 44155 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1337 "parser_cocci_menhir.mly"
+# 1542 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnPlus _1 )
-# 37983 "parser_cocci_menhir.ml"
+# 44162 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37998,16 +44177,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)
-# 38004 "parser_cocci_menhir.ml"
+# 44183 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1338 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnMinus _1 )
-# 38011 "parser_cocci_menhir.ml"
+# 44190 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38026,16 +44205,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)
-# 38032 "parser_cocci_menhir.ml"
+# 44211 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1339 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.Tilde _1 )
-# 38039 "parser_cocci_menhir.ml"
+# 44218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38063,9 +44242,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1860 "parser_cocci_menhir.mly"
+# 2169 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 38069 "parser_cocci_menhir.ml"
+# 44248 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38093,9 +44272,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1862 "parser_cocci_menhir.mly"
+# 2171 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 38099 "parser_cocci_menhir.ml"
+# 44278 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38117,9 +44296,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_w_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_whenppdecs = 
-# 921 "parser_cocci_menhir.mly"
+# 1094 "parser_cocci_menhir.mly"
     ( w )
-# 38123 "parser_cocci_menhir.ml"
+# 44302 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38153,9 +44332,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_ = 
-# 1928 "parser_cocci_menhir.mly"
+# 2216 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNot w] )
-# 38159 "parser_cocci_menhir.ml"
+# 44338 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38189,9 +44368,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_ = 
-# 1929 "parser_cocci_menhir.mly"
+# 2217 "parser_cocci_menhir.mly"
                                              ( [Ast0.WhenAlways w] )
-# 38195 "parser_cocci_menhir.ml"
+# 44374 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38221,9 +44400,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_ = 
-# 1931 "parser_cocci_menhir.mly"
+# 2219 "parser_cocci_menhir.mly"
       ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 38227 "parser_cocci_menhir.ml"
+# 44406 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38257,9 +44436,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_ = 
-# 1932 "parser_cocci_menhir.mly"
+# 2220 "parser_cocci_menhir.mly"
                                         ( [Ast0.WhenNotTrue e] )
-# 38263 "parser_cocci_menhir.ml"
+# 44442 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38293,9 +44472,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_ = 
-# 1933 "parser_cocci_menhir.mly"
+# 2221 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNotFalse e] )
-# 38299 "parser_cocci_menhir.ml"
+# 44478 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38316,106 +44495,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
 
 let rec script_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1805 lexer lexbuf) : (
-# 159 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 38323 "parser_cocci_menhir.ml"
+    (Obj.magic (MenhirInterpreter.entry 2038 lexer lexbuf) : (
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 44502 "parser_cocci_menhir.ml"
     ))
 
 and rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1735 lexer lexbuf) : (
-# 153 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1963 lexer lexbuf) : (
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38331 "parser_cocci_menhir.ml"
+# 44510 "parser_cocci_menhir.ml"
     ))
 
 and reinit =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1733 lexer lexbuf) : (
-# 131 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1961 lexer lexbuf) : (
+# 201 "parser_cocci_menhir.mly"
       (unit)
-# 38339 "parser_cocci_menhir.ml"
+# 44518 "parser_cocci_menhir.ml"
     ))
 
 and plus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1697 lexer lexbuf) : (
-# 140 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1925 lexer lexbuf) : (
+# 210 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38347 "parser_cocci_menhir.ml"
+# 44526 "parser_cocci_menhir.ml"
     ))
 
 and plus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1689 lexer lexbuf) : (
-# 143 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1917 lexer lexbuf) : (
+# 213 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38355 "parser_cocci_menhir.ml"
+# 44534 "parser_cocci_menhir.ml"
     ))
 
 and never_used =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1683 lexer lexbuf) : (
-# 168 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1911 lexer lexbuf) : (
+# 238 "parser_cocci_menhir.mly"
       (unit)
-# 38363 "parser_cocci_menhir.ml"
+# 44542 "parser_cocci_menhir.ml"
     ))
 
 and minus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1603 lexer lexbuf) : (
-# 134 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1826 lexer lexbuf) : (
+# 204 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38371 "parser_cocci_menhir.ml"
+# 44550 "parser_cocci_menhir.ml"
     ))
 
 and minus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1591 lexer lexbuf) : (
-# 137 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1814 lexer lexbuf) : (
+# 207 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38379 "parser_cocci_menhir.ml"
+# 44558 "parser_cocci_menhir.ml"
     ))
 
 and meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1588 lexer lexbuf) : (
-# 157 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : (
+# 227 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38387 "parser_cocci_menhir.ml"
+# 44566 "parser_cocci_menhir.ml"
     ))
 
 and iso_rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1584 lexer lexbuf) : (
-# 149 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1807 lexer lexbuf) : (
+# 219 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38395 "parser_cocci_menhir.ml"
+# 44574 "parser_cocci_menhir.ml"
     ))
 
 and iso_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
-# 165 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1528 lexer lexbuf) : (
+# 235 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38403 "parser_cocci_menhir.ml"
+# 44582 "parser_cocci_menhir.ml"
     ))
 
 and iso_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 162 "parser_cocci_menhir.mly"
+# 232 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 38411 "parser_cocci_menhir.ml"
+# 44590 "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)
-# 38419 "parser_cocci_menhir.ml"
+# 44598 "parser_cocci_menhir.ml"
     ))