From 5636bb2c2537506718da74f85a2b81a5ff3df16f Mon Sep 17 00:00:00 2001 From: Coccinelle Date: Sun, 3 Oct 2010 14:03:51 +0200 Subject: [PATCH] Release coccinelle-0.2.3rc1 Release Candidate 1 for coccinelle-0.2.3 --- Makefile | 214 +- Makefile.release | 228 + changes.txt | 35 +- cocci.ml | 28 +- cocci.mli | 22 + commitmsg | 49 +- commons/common.ml | 2 +- ctl/ast_ctl.ml | 22 + ctl/ctl_engine.ml | 23 + ctl/ctl_engine.mli | 22 + ctl/flag_ctl.ml | 22 + ctl/pretty_print_ctl.ml | 22 + ctl/pretty_print_ctl.mli | 22 + ctl/test_ctl.ml | 22 + ctl/wrapper_ctl.ml | 22 + ctl/wrapper_ctl.mli | 22 + demos/orgmode.cocci | 10 +- docs/manual/cocci_syntax.tex | 26 +- docs/manual/copyright.txt | 3 +- docs/manual/examples.tex | 2 +- docs/manual/installing.tex | 7 + docs/manual/introduction.tex | 17 + docs/manual/isomorphisms.tex | 7 + docs/manual/macros.tex | 3 +- docs/manual/main.tex | 35 +- docs/manual/main_grammar.pdf | Bin 288803 -> 321422 bytes docs/manual/main_grammar.tex | 9 +- docs/manual/main_options.tex | 11 + docs/manual/manual.pdf | Bin 368434 -> 424418 bytes docs/manual/options.pdf | Bin 95945 -> 133301 bytes docs/manual/parsing.tex | 10 +- docs/manual/python.tex | 8 +- docs/manual/spatch_options.tex | 24 +- docs/manual/tips.tex | 2 +- editors/emacs/cocci.el | 12 +- engine/asttoctl.ml | 22 + engine/asttoctl.mli | 22 + engine/asttoctl2.ml | 65 +- engine/asttoctl2.mli | 22 + engine/asttomember.ml | 26 +- engine/asttomember.mli | 22 + engine/c_vs_c.ml | 50 + engine/c_vs_c.mli | 23 + engine/check_exhaustive_pattern.ml | 22 + engine/check_reachability.ml | 47 +- engine/check_reachability.mli | 22 + engine/cocci_vs_c.ml | 198 +- engine/cocci_vs_c.mli | 22 + engine/ctlcocci_integration.ml | 26 +- engine/ctlcocci_integration.mli | 22 + engine/ctltotex.ml | 22 + engine/ctltotex.mli | 22 + engine/flag_engine.ml | 22 + engine/flag_matcher.ml | 22 + engine/isomorphisms_c_c.ml | 22 + engine/lib_engine.ml | 22 + engine/lib_matcher_c.ml | 22 + engine/lib_matcher_c.mli | 22 + engine/main.ml | 22 + engine/pattern_c.ml | 162 +- engine/pattern_c.mli | 22 + engine/postprocess_transinfo.ml | 26 +- engine/postprocess_transinfo.mli | 22 + engine/pretty_print_engine.ml | 26 +- engine/pretty_print_engine.mli | 22 + engine/sgrep.ml | 22 + engine/transformation_c.ml | 22 + engine/transformation_c.mli | 22 + flag_cocci.ml | 22 + globals/config.ml.in | 2 +- globals/flag.ml | 22 + main.ml | 61 +- parsing_c/ast_c.ml | 7 +- parsing_c/compare_c.ml | 18 +- parsing_c/cpp_token_c.ml | 94 +- parsing_c/flag_parsing_c.ml | 2 + parsing_c/parser_c.mly | 8 + parsing_c/pretty_print_c.ml | 2 +- parsing_c/type_annoter_c.ml | 3 +- parsing_c/unparse_c.ml | 114 +- parsing_c/unparse_cocci.ml | 86 +- parsing_c/unparse_cocci.mli | 4 +- parsing_c/unparse_hrule.ml | 10 +- parsing_cocci/adjacency.ml | 22 + parsing_cocci/adjacency.mli | 22 + parsing_cocci/adjust_pragmas.ml | 22 + parsing_cocci/adjust_pragmas.mli | 22 + parsing_cocci/arity.ml | 24 +- parsing_cocci/arity.mli | 22 + parsing_cocci/ast0_cocci.ml | 25 +- parsing_cocci/ast0_cocci.mli | 25 +- parsing_cocci/ast0toast.ml | 34 +- parsing_cocci/ast0toast.mli | 22 + parsing_cocci/ast_cocci.ml | 48 +- parsing_cocci/ast_cocci.mli | 48 +- parsing_cocci/check_meta.ml | 22 + parsing_cocci/check_meta.mli | 22 + parsing_cocci/comm_assoc.ml | 22 + parsing_cocci/comm_assoc.mli | 22 + parsing_cocci/compute_lines.ml | 107 +- parsing_cocci/compute_lines.mli | 22 + parsing_cocci/context_neg.ml | 22 + parsing_cocci/context_neg.mli | 22 + parsing_cocci/data.ml | 22 + parsing_cocci/data.mli | 22 + parsing_cocci/disjdistr.ml | 24 +- parsing_cocci/disjdistr.mli | 22 + parsing_cocci/flag_parsing_cocci.ml | 22 + parsing_cocci/free_vars.ml | 56 +- parsing_cocci/free_vars.mli | 22 + parsing_cocci/function_prototypes.ml | 22 + parsing_cocci/function_prototypes.mli | 22 + parsing_cocci/get_constants.ml | 31 +- parsing_cocci/get_constants.mli | 22 + parsing_cocci/get_constants2.ml | 44 +- parsing_cocci/get_constants2.mli | 22 + parsing_cocci/index.ml | 22 + parsing_cocci/index.mli | 22 + parsing_cocci/insert_plus.ml | 24 +- parsing_cocci/insert_plus.mli | 22 + parsing_cocci/iso_compile.ml | 22 + parsing_cocci/iso_compile.mli | 22 + parsing_cocci/iso_pattern.ml | 22 + parsing_cocci/iso_pattern.mli | 22 + parsing_cocci/lexer_cocci.mll | 37 +- parsing_cocci/lexer_script.mll | 22 + parsing_cocci/main.ml | 22 + parsing_cocci/merge.ml | 22 + parsing_cocci/merge.mli | 22 + parsing_cocci/parse_aux.ml | 42 +- parsing_cocci/parse_cocci.ml | 118 +- parsing_cocci/parse_cocci.mli | 22 + parsing_cocci/parser_cocci.mly | 22 + parsing_cocci/parser_cocci_menhir.ml | 9503 +++++++++++++------------ parsing_cocci/parser_cocci_menhir.mli | 1 + parsing_cocci/parser_cocci_menhir.mly | 149 +- parsing_cocci/plus.ml | 22 + parsing_cocci/plus.mli | 22 + parsing_cocci/pretty_print_cocci.ml | 77 +- parsing_cocci/pretty_print_cocci.mli | 22 + parsing_cocci/semantic_cocci.ml | 22 + parsing_cocci/simple_assignments.ml | 22 + parsing_cocci/simple_assignments.mli | 22 + parsing_cocci/single_statement.ml | 32 +- parsing_cocci/single_statement.mli | 22 + parsing_cocci/test_exps.ml | 22 + parsing_cocci/test_exps.mli | 22 + parsing_cocci/top_level.ml | 22 + parsing_cocci/top_level.mli | 22 + parsing_cocci/type_cocci.ml | 22 + parsing_cocci/type_cocci.mli | 22 + parsing_cocci/type_infer.ml | 22 + parsing_cocci/type_infer.mli | 22 + parsing_cocci/unify_ast.ml | 26 +- parsing_cocci/unify_ast.mli | 22 + parsing_cocci/unitary_ast0.ml | 22 + parsing_cocci/unitary_ast0.mli | 22 + parsing_cocci/unparse_ast0.ml | 22 + parsing_cocci/unparse_ast0.mli | 22 + parsing_cocci/visitor_ast.ml | 48 +- parsing_cocci/visitor_ast.mli | 22 + parsing_cocci/visitor_ast0.ml | 22 + parsing_cocci/visitor_ast0.mli | 22 + parsing_cocci/visitor_ast0_types.ml | 22 + popl/ast_popl.ml | 22 + popl/asttopopl.ml | 22 + popl/asttopopl.mli | 22 + popl/insert_befaft.ml | 22 + popl/insert_befaft.mli | 22 + popl/insert_quantifiers.ml | 22 + popl/insert_quantifiers.mli | 22 + popl/popl.ml | 22 + popl/popl.mli | 22 + popl/popltoctl.ml | 22 + popl/popltoctl.mli | 22 + popl/pretty_print_popl.ml | 22 + popl/pretty_print_popl.mli | 22 + popl09/ast_popl.ml | 22 + popl09/asttopopl.ml | 27 +- popl09/asttopopl.mli | 22 + popl09/flag_popl.ml | 22 + popl09/insert_quantifiers.ml | 22 + popl09/insert_quantifiers.mli | 22 + popl09/popl.ml | 22 + popl09/popl.mli | 22 + popl09/popltoctl.ml | 22 + popl09/popltoctl.mli | 22 + popl09/pretty_print_popl.ml | 22 + popl09/pretty_print_popl.mli | 22 + pycaml/._d/pycaml.d | 2 + pycaml/dllpycaml_stubs.so | Bin 0 -> 47422 bytes pycaml/libpycaml_stubs.a | Bin 0 -> 33908 bytes pycaml/pycaml.a | Bin 0 -> 37708 bytes pycaml/pycaml.cma | Bin 0 -> 13426 bytes pycaml/pycaml.cmi | Bin 0 -> 39117 bytes pycaml/pycaml.cmo | Bin 0 -> 13306 bytes pycaml/pycaml.cmx | Bin 0 -> 2256 bytes pycaml/pycaml.cmxa | Bin 0 -> 276 bytes pycaml/pycaml.customtop | Bin 0 -> 1142339 bytes pycaml/pycaml.o | Bin 0 -> 34512 bytes pycaml/pycaml_ml.o | Bin 0 -> 33072 bytes python/coccilib/org.py | 7 +- python/no_pycocci.ml | 22 + python/no_pycocci_aux.ml | 28 +- python/yes_pycocci.ml | 26 +- python/yes_pycocci_aux.ml | 26 +- standard.iso | 1 - test.ml | 66 + testing.ml | 22 + testing.mli | 22 + tests/bad_kfree.c | 20 + tests/bad_kfree.cocci | 39 + tests/bad_kfree.res | 20 + tests/double_lines.c | 7 + tests/double_lines.cocci | 4 + tests/double_lines.res | 4 + tests/fnty.c | 14 + tests/fnty.cocci | 32 + tests/fnty.res | 14 + tests/insdef.c | 1 + tests/insdef.cocci | 5 + tests/insdef.res | 2 + tools/alloc_free.ml | 22 + tools/bridge.ml | 22 + tools/dir_stats.ml | 22 + tools/extract_c_and_res.ml | 22 + tools/generate_dependencies.ml | 22 + tools/gitgrep.ml | 22 + tools/gitsort.ml | 22 + tools/licensify.ml | 22 + tools/process_isoprofile.ml | 22 + tools/split_patch.ml | 242 +- tools/spp.ml | 22 + 233 files changed, 10320 insertions(+), 5475 deletions(-) create mode 100644 Makefile.release rewrite commitmsg (99%) rewrite docs/manual/options.pdf (90%) create mode 100644 pycaml/._d/pycaml.d create mode 100755 pycaml/dllpycaml_stubs.so create mode 100644 pycaml/libpycaml_stubs.a create mode 100644 pycaml/pycaml.a create mode 100644 pycaml/pycaml.cma create mode 100644 pycaml/pycaml.cmi create mode 100644 pycaml/pycaml.cmo create mode 100644 pycaml/pycaml.cmx create mode 100644 pycaml/pycaml.cmxa create mode 100755 pycaml/pycaml.customtop create mode 100644 pycaml/pycaml.o create mode 100644 pycaml/pycaml_ml.o create mode 100644 tests/bad_kfree.c create mode 100644 tests/bad_kfree.cocci create mode 100644 tests/bad_kfree.res create mode 100644 tests/double_lines.c create mode 100644 tests/double_lines.cocci create mode 100644 tests/double_lines.res create mode 100644 tests/fnty.c create mode 100644 tests/fnty.cocci create mode 100644 tests/fnty.res create mode 100644 tests/insdef.c create mode 100644 tests/insdef.cocci create mode 100644 tests/insdef.res diff --git a/Makefile b/Makefile index 1a4cad6..62afbfe 100644 --- a/Makefile +++ b/Makefile @@ -238,14 +238,14 @@ distclean:: preinstall: scripts/spatch scripts/spatch.opt scripts/spatch.byte # user will use spatch to run spatch.opt (native) -scripts/spatch: +scripts/spatch: Makefile.config cp scripts/spatch.sh scripts/spatch.tmp2 sed "s|SHAREDIR|$(SHAREDIR)|g" scripts/spatch.tmp2 > scripts/spatch.tmp sed "s|LIBDIR|$(LIBDIR)|g" scripts/spatch.tmp > scripts/spatch rm -f scripts/spatch.tmp2 scripts/spatch.tmp # user will use spatch to run spatch (bytecode) -scripts/spatch.byte: +scripts/spatch.byte: Makefile.config cp scripts/spatch.sh scripts/spatch.byte.tmp3 sed "s|\.opt||" scripts/spatch.byte.tmp3 > scripts/spatch.byte.tmp2 sed "s|SHAREDIR|$(SHAREDIR)|g" scripts/spatch.byte.tmp2 \ @@ -257,7 +257,7 @@ scripts/spatch.byte: scripts/spatch.byte.tmp # user will use spatch.opt to run spatch.opt (native) -scripts/spatch.opt: +scripts/spatch.opt: Makefile.config cp scripts/spatch.sh scripts/spatch.opt.tmp2 sed "s|SHAREDIR|$(SHAREDIR)|g" scripts/spatch.opt.tmp2 \ > scripts/spatch.opt.tmp @@ -342,214 +342,10 @@ version: ############################################################################## -# Package rules +# Deb package (for Ubuntu) and release rules ############################################################################## -PACKAGE=$(PRJNAME)-$(VERSION) -CCPACKAGE=coccicheck-$(CCVERSION) - -BINSRC=spatch env.sh env.csh standard.h standard.iso \ - *.txt \ - docs/manual/manual.pdf docs/manual/options.pdf docs/manual/main_grammar.pdf docs/spatch.1 \ - docs/manual/cocci-python.txt \ - demos/* -BINSRC-PY=$(BINSRC) $(PYLIB) python/coccilib/ -BINSRC2=$(BINSRC:%=$(PACKAGE)/%) -BINSRC2-PY=$(BINSRC-PY:%=$(PACKAGE)/%) - -TMP=/tmp -OCAMLVERSION=$(shell ocaml -version |perl -p -e 's/.*version (.*)/$$1/;') - -# Procedure to do first time: -# cd ~/release -# cvs checkout coccinelle -dP -# cd coccinelle -# -# Procedure to do each time: -# -# 1) make prepackage # WARN: These will clean your local rep. of pending modifications -# -# UPDATE VERSION number in globals/config.ml.in -# and commit it with -# -# 2) make release -# -# The project is then automatically licensified. -# -# Remember to comment the -g -dtypes in this Makefile -# You can also remove a few things, for instance I removed in this -# Makefile things related to popl/ and popl09/ -# make sure that ocaml is the distribution ocaml of /usr/bin, not ~pad/... -# -# 3) make package -# -# if WEBSITE is set properly, you can also run 'make website' -# Check that run an ocaml in /usr/bin - -# To test you can try compile and run spatch from different instances -# like my ~/coccinelle, ~/release/coccinelle, and the /tmp/coccinelle-0.X -# downloaded from the website. - -# For 'make srctar' it must done from a clean -# repo such as ~/release/coccinelle. It must also be a repo where -# the scripts/licensify has been run at least once. -# For the 'make bintar' I can do it from my original repo. - -prepackage: - cvs up -CdP - $(MAKE) distclean - sed -i "s|^OCAMLCFLAGS=.*$$|OCAMLCFLAGS=|" Makefile - -release: - cvs ci -m "Release $(VERSION)" globals/config.ml.in - $(MAKE) licensify - -package: - $(MAKE) package-src - $(MAKE) package-nopython - $(MAKE) package-python - -package-src: - $(MAKE) distclean # Clean project - $(MAKE) srctar - $(MAKE) coccicheck - -package-nopython: - $(MAKE) distclean # Clean project - ./configure --without-python - $(MAKE) docs - $(MAKE) bintar - $(MAKE) bytecodetar - $(MAKE) staticbintar - -package-python: - $(MAKE) distclean # Clean project - ./configure # Reconfigure project with Python support - $(MAKE) docs - $(MAKE) bintar-python - $(MAKE) bytecodetar-python - - -# I currently pre-generate the parser so the user does not have to -# install menhir on his machine. We could also do a few cleanups. -# You may have first to do a 'make licensify'. -# -# update: make docs generates pdf but also some ugly .log files, so -# make clean is there to remove them while not removing the pdf -# (only distclean remove the pdfs). -srctar: - make distclean - make docs - make clean - cp -a . $(TMP)/$(PACKAGE) - cd $(TMP)/$(PACKAGE); cd parsing_cocci/; make parser_cocci_menhir.ml - cd $(TMP); tar cvfz $(PACKAGE).tgz --exclude-vcs $(PACKAGE) - rm -rf $(TMP)/$(PACKAGE) - - -bintar: all - rm -f $(TMP)/$(PACKAGE) - ln -s `pwd` $(TMP)/$(PACKAGE) - cd $(TMP); tar cvfz $(PACKAGE)-bin-x86.tgz --exclude-vcs $(BINSRC2) - rm -f $(TMP)/$(PACKAGE) - -staticbintar: all.opt - rm -f $(TMP)/$(PACKAGE) - ln -s `pwd` $(TMP)/$(PACKAGE) - make static - cd $(TMP); tar cvfz $(PACKAGE)-bin-x86-static.tgz --exclude-vcs $(BINSRC2) - rm -f $(TMP)/$(PACKAGE) - -# add ocaml version in name ? -bytecodetar: all - rm -f $(TMP)/$(PACKAGE) - ln -s `pwd` $(TMP)/$(PACKAGE) - make purebytecode - cd $(TMP); tar cvfz $(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz --exclude-vcs $(BINSRC2) - rm -f $(TMP)/$(PACKAGE) - -bintar-python: all - rm -f $(TMP)/$(PACKAGE) - ln -s `pwd` $(TMP)/$(PACKAGE) - cd $(TMP); tar cvfz $(PACKAGE)-bin-x86-python.tgz --exclude-vcs $(BINSRC2-PY) - rm -f $(TMP)/$(PACKAGE) - -# add ocaml version in name ? -bytecodetar-python: all - rm -f $(TMP)/$(PACKAGE) - ln -s `pwd` $(TMP)/$(PACKAGE) - make purebytecode - cd $(TMP); tar cvfz $(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz --exclude-vcs $(BINSRC2-PY) - rm -f $(TMP)/$(PACKAGE) - -coccicheck: - cp -a `pwd`/scripts/coccicheck $(TMP)/$(CCPACKAGE) - tar cvfz $(TMP)/$(CCPACKAGE).tgz -C $(TMP) --exclude-vcs $(CCPACKAGE) - rm -rf $(TMP)/$(CCPACKAGE) - -clean-packages:: - rm -f $(TMP)/$(PACKAGE).tgz - rm -f $(TMP)/$(PACKAGE)-bin-x86.tgz - rm -f $(TMP)/$(PACKAGE)-bin-x86-static.tgz - rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz - rm -f $(TMP)/$(PACKAGE)-bin-x86-python.tgz - rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz - rm -f $(TMP)/$(CCPACKAGE).tgz - -# -# No need to licensify 'demos'. Because these is basic building blocks -# to use SmPL. -# -TOLICENSIFY=ctl engine globals parsing_cocci popl popl09 python scripts tools -licensify: - ocaml str.cma tools/licensify.ml - set -e; for i in $(TOLICENSIFY); do cd $$i; ocaml str.cma ../tools/licensify.ml; cd ..; done - -# When checking out the source from diku sometimes I have some "X in the future" -# error messages. -fixdates: - echo do 'touch **/*.*' - -#fixCVS: -# cvs update -d -P -# echo do 'rm -rf **/CVS' - -ocamlversion: - @echo $(OCAMLVERSION) - - -############################################################################## -# Packaging rules -- To build deb packages -############################################################################## -EXCL_SYNC=--exclude ".git" \ - --exclude ".gitignore" \ - --exclude ".cvsignore" \ - --exclude "tests" \ - --exclude "TODO" \ - --cvs-exclude - -prepack: - rsync -a $(EXCL_SYNC) . $(TMP)/$(PACKAGE) - $(MAKE) -C $(TMP)/$(PACKAGE) licensify - rm -rf $(TMP)/$(PACKAGE)/tools - -packsrc: prepack -# $(MAKE) -C $(TMP)/$(PACKAGE)/debian lucid - $(MAKE) -C $(TMP)/$(PACKAGE)/debian karmic - $(MAKE) push - rm -rf $(TMP)/$(PACKAGE)/ - -push: - cd $(TMP)/ && for p in `ls $(PRJNAME)_$(VERSION).deb*_source.changes`; do dput $(PRJNAME) $$p ; done - rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.changes - rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.$(PRJNAME).upload - rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.dsc - rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.tar.gz - -packbin: prepack - $(MAKE) -C $(TMP)/$(PACKAGE)/debian binary - rm -rf $(TMP)/$(PACKAGE)/ - rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.build +include Makefile.release ############################################################################## # Developer rules diff --git a/Makefile.release b/Makefile.release new file mode 100644 index 0000000..d3a5c0b --- /dev/null +++ b/Makefile.release @@ -0,0 +1,228 @@ + +############################################################################## +# Release rules to generate website archives +############################################################################## + +PACKAGE=$(PRJNAME)-$(VERSION) +CCPACKAGE=coccicheck-$(CCVERSION) + +EXCLUDE=debian + +BINSRC=spatch env.sh env.csh standard.h standard.iso \ + *.txt \ + docs/manual/manual.pdf docs/manual/options.pdf docs/manual/main_grammar.pdf docs/spatch.1 \ + docs/manual/cocci-python.txt \ + demos/* +BINSRC-PY=$(BINSRC) $(PYLIB) python/coccilib/ + +EXCL=$(EXCLUDE:%=--exclude=$(PACKAGE)/%) +BINSRC2=$(BINSRC:%=$(PACKAGE)/%) +BINSRC2-PY=$(BINSRC-PY:%=$(PACKAGE)/%) + +TMP=/tmp +OCAMLVERSION=$(shell ocaml -version |perl -p -e 's/.*version (.*)/$$1/;') + +# Procedure to do first time: +# cd ~/release +# cvs checkout coccinelle -dP +# cd coccinelle +# +# Procedure to do each time: +# +# 1) make prerelease # WARN: These will clean your local rep. of pending modifications +# +# UPDATE VERSION number in globals/config.ml.in +# and commit it with +# +# 2) make release +# +# The project is then automatically licensified. +# +# Remember to comment the -g -dtypes in this Makefile +# You can also remove a few things, for instance I removed in this +# Makefile things related to popl/ and popl09/ +# make sure that ocaml is the distribution ocaml of /usr/bin, not ~pad/... +# +# 3) make package +# +# if WEBSITE is set properly, you can also run 'make website' +# Check that run an ocaml in /usr/bin + +# To test you can try compile and run spatch from different instances +# like my ~/coccinelle, ~/release/coccinelle, and the /tmp/coccinelle-0.X +# downloaded from the website. + +# For 'make srctar' it must done from a clean +# repo such as ~/release/coccinelle. It must also be a repo where +# the scripts/licensify has been run at least once. +# For the 'make bintar' I can do it from my original repo. + +prerelease: + cvs up -CdP + $(MAKE) distclean + sed -i "s|^OCAMLCFLAGS=.*$$|OCAMLCFLAGS=|" Makefile + +release: + cvs ci -m "Release $(VERSION)" globals/config.ml.in + $(MAKE) licensify + +package: + $(MAKE) package-src + $(MAKE) package-nopython + $(MAKE) package-python + +package-src: + $(MAKE) distclean # Clean project + $(MAKE) srctar + $(MAKE) coccicheck + +package-nopython: + $(MAKE) distclean # Clean project + ./configure --without-python + $(MAKE) docs + $(MAKE) bintar + $(MAKE) bytecodetar + $(MAKE) staticbintar + +package-python: + $(MAKE) distclean # Clean project + ./configure # Reconfigure project with Python support + $(MAKE) docs + $(MAKE) bintar-python + $(MAKE) bytecodetar-python + + +# I currently pre-generate the parser so the user does not have to +# install menhir on his machine. We could also do a few cleanups. +# You may have first to do a 'make licensify'. +# +# update: make docs generates pdf but also some ugly .log files, so +# make clean is there to remove them while not removing the pdf +# (only distclean remove the pdfs). +srctar: + make distclean + make docs + make clean + cp -a . $(TMP)/$(PACKAGE) + cd $(TMP)/$(PACKAGE); cd parsing_cocci/; make parser_cocci_menhir.ml + cd $(TMP); tar cvfz $(PACKAGE).tgz --exclude-vcs $(EXCL) $(PACKAGE) + rm -rf $(TMP)/$(PACKAGE) + + +bintar: all + rm -f $(TMP)/$(PACKAGE) + ln -s `pwd` $(TMP)/$(PACKAGE) + cd $(TMP); tar cvfz $(PACKAGE)-bin-x86.tgz --exclude-vcs $(BINSRC2) + rm -f $(TMP)/$(PACKAGE) + +staticbintar: all.opt + rm -f $(TMP)/$(PACKAGE) + ln -s `pwd` $(TMP)/$(PACKAGE) + make static + cd $(TMP); tar cvfz $(PACKAGE)-bin-x86-static.tgz --exclude-vcs $(BINSRC2) + rm -f $(TMP)/$(PACKAGE) + +# add ocaml version in name ? +bytecodetar: all + rm -f $(TMP)/$(PACKAGE) + ln -s `pwd` $(TMP)/$(PACKAGE) + make purebytecode + cd $(TMP); tar cvfz $(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz --exclude-vcs $(BINSRC2) + rm -f $(TMP)/$(PACKAGE) + +bintar-python: all + rm -f $(TMP)/$(PACKAGE) + ln -s `pwd` $(TMP)/$(PACKAGE) + cd $(TMP); tar cvfz $(PACKAGE)-bin-x86-python.tgz --exclude-vcs $(BINSRC2-PY) + rm -f $(TMP)/$(PACKAGE) + +# add ocaml version in name ? +bytecodetar-python: all + rm -f $(TMP)/$(PACKAGE) + ln -s `pwd` $(TMP)/$(PACKAGE) + make purebytecode + cd $(TMP); tar cvfz $(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz --exclude-vcs $(BINSRC2-PY) + rm -f $(TMP)/$(PACKAGE) + +coccicheck: + cp -a `pwd`/scripts/coccicheck $(TMP)/$(CCPACKAGE) + tar cvfz $(TMP)/$(CCPACKAGE).tgz -C $(TMP) --exclude-vcs $(CCPACKAGE) + rm -rf $(TMP)/$(CCPACKAGE) + +clean-packages:: + rm -f $(TMP)/$(PACKAGE).tgz + rm -f $(TMP)/$(PACKAGE)-bin-x86.tgz + rm -f $(TMP)/$(PACKAGE)-bin-x86-static.tgz + rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION).tgz + rm -f $(TMP)/$(PACKAGE)-bin-x86-python.tgz + rm -f $(TMP)/$(PACKAGE)-bin-bytecode-$(OCAMLVERSION)-python.tgz + rm -f $(TMP)/$(CCPACKAGE).tgz + +# +# No need to licensify 'demos'. Because these is basic building blocks +# to use SmPL. +# +TOLICENSIFY=ctl engine globals parsing_cocci popl popl09 python scripts tools +licensify: + ocaml str.cma tools/licensify.ml + set -e; for i in $(TOLICENSIFY); do cd $$i; ocaml str.cma ../tools/licensify.ml; cd ..; done + +# When checking out the source from diku sometimes I have some "X in the future" +# error messages. +fixdates: + echo do 'touch **/*.*' + +#fixCVS: +# cvs update -d -P +# echo do 'rm -rf **/CVS' + +ocamlversion: + @echo $(OCAMLVERSION) + + +############################################################################## +# Packaging rules -- To build deb packages +############################################################################## +# +# Run 'make packsrc' to build a Deb source package +# +# The package is prepared in $(TMP), usually /tmp +# Once the package has been build, it is uploaded +# to a PPA on launchpad. +# +# You should have a "coccinelle" project configured +# for dput in your ~/.dput.cf file. +# +# The 'packbin' target is to build a deb package +# locally. It is only for testing purpose. +# + +EXCL_SYNC=--exclude ".git" \ + --exclude ".gitignore" \ + --exclude ".cvsignore" \ + --exclude "tests" \ + --exclude "TODO" \ + --cvs-exclude + +packsrc: prepack + $(MAKE) -C $(TMP)/$(PACKAGE)/debian lucid + $(MAKE) -C $(TMP)/$(PACKAGE)/debian karmic + $(MAKE) push + rm -rf $(TMP)/$(PACKAGE)/ + +packbin: prepack + $(MAKE) -C $(TMP)/$(PACKAGE)/debian binary + rm -rf $(TMP)/$(PACKAGE)/ + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.build + +prepack: + rsync -a $(EXCL_SYNC) . $(TMP)/$(PACKAGE) + $(MAKE) -C $(TMP)/$(PACKAGE) licensify + rm -rf $(TMP)/$(PACKAGE)/tools + +push: + cd $(TMP)/ && for p in `ls $(PRJNAME)_$(VERSION).deb*_source.changes`; do dput $(PRJNAME) $$p ; done + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.changes + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*_source.$(PRJNAME).upload + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.dsc + rm -rf $(TMP)/$(PRJNAME)_$(VERSION).deb*.tar.gz diff --git a/changes.txt b/changes.txt index cd6ec9f..97724f2 100644 --- a/changes.txt +++ b/changes.txt @@ -13,6 +13,40 @@ - Add more information in documentation, man pages and wiki +* 0.2.3 +** Language: +- <= constraints relating an expression metavariable to one or more + inherited expression metavariables that it should be a subexpression of +- the -inplace and -outplace options have been renamed -in_place and + -out_place. -in_place no longer makes a backup. A backup can be + requested using the option -backup_suffix, eg -backup_suffix .bk +- identifiers can be constrained to be different from an inherited + identifier metavariable, or from a set containing both concrete + identifiers and inherited identifier metavariables. + +** Features: +- drop inconsistent paths check when only one node was matched +- allow #define id with no definition +- attempt to add newlines in the generated code when function calls in the + smpl cause passing column 80 +- allow - in front of statement level nests, if everything inside the nest + is also - + +** Bugfix: +- drop inconsistent paths check when only one node was matched +- better take into account virtual rules when selecting glimpse tokens +- print diff when only a comment is added +- the type of the C code !x should be int regardless of the type of x +- allow python code at the beginning of an included file +- better adjustment of whitespace when deleting adjacent lines. Thanks to + Wolfram Sang for pointing out the problem. +- allow metavariables to be inherited from included files +- allow ? on goto +- more graceful failure on finding a strange character in a macro parameter + list +- support Parameter metavariables +- add space after the last comma in an added portion of an argument list + * 0.2.2 ** Language: - Added ToTestExpression to iso language, see standard.iso for an @@ -416,7 +450,6 @@ - isomorphisms don't apply under signed/unsigned, to prevent the creation of things like unsigned signed int. Need a better solution for this. - * 0.1.3 ** Features: diff --git a/cocci.ml b/cocci.ml index 59cbe46..0ddd588 100644 --- a/cocci.ml +++ b/cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common module CCI = Ctlcocci_integration @@ -1158,7 +1180,7 @@ let apply_python_rule r cache newes e rules_that_have_matched begin let (_, mv, _) = r.scr_ast_rule in let ve = - (List.map (function (n,v) -> (("virtual",n),Ast_c.MetaIdVal v)) + (List.map (function (n,v) -> (("virtual",n),Ast_c.MetaIdVal (v,[]))) !Flag.defined_virtual_env) @ e in let not_bound x = not (Pycocci.contains_binding ve x) in (match List.filter not_bound mv with @@ -1635,7 +1657,9 @@ let pre_engine2 (coccifile, isofile) = function InitialScriptRuleCocciInfo(r) -> (if List.mem r.language languages - then failwith ("double initializer found for "^r.language)); + then + failwith + ("double initializer found for "^r.language)); if interpret_dependencies [] [] r.scr_dependencies then begin diff --git a/cocci.mli b/cocci.mli index d2b6546..a2f0cba 100644 --- a/cocci.mli +++ b/cocci.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (* full_engine takes (coccifile, isofile) and cfiles in parameters and diff --git a/commitmsg b/commitmsg dissimilarity index 99% index c522439..660b462 100644 --- a/commitmsg +++ b/commitmsg @@ -1,46 +1,3 @@ -Release coccinelle-0.2.2 - -** Language: - - Added ToTestExpression to iso language, see standard.iso for an - explanation - - Added depends on to initialize and finalize script code - -** Features: - - Update Emacs mode (cocci.el) to support 'virtual' rules and fix other - keywords sush as 'depends on', 'using', 'disable' - - better treatment of != 0 in isos, communtativity for ==/!= for all - constants - - allow adding // comments and blank lines (even after cocci + code) - - Add support for multiple -I options - -** Bugfix: - - correct interaction between virtual rules and included .cocci files - - improvement in treatment of ! in isos, to avoid duplicating + code - - improvement in treatment of metavars as isos, to avoid duplicating + code - between toplevel and variable instantiation - - test expression of smpl conditional, etc no longer assumed to have type - int - - correct + line numbers in the patch produced when using * - - iso constant metavariable matches an identifier whose name is all capital - letters, eg NULL - - allow / at the end of the name of a directory (-dir) or patch prefix - (-patch) - - dropped space in + code after the binding of a type metavariable that is - a pointer type - - better handling of . or .. in -dir name - - allow keywords and metavariable names in identifier constraints (not sure - keywords is very useful, though) - - no lubtype on arguments of && and || in SmPL - - allow unknown as type for array indices in SmPL - - support matching of static annotation on functions that are both static - and inline - - support ENOTDIR error in Common.lfile_exists, to allow for the case where - an include file is in a subdirectory that exists but is an ordinary file, - not a directory. - - better management of unbound position variables that appear in - constraints - - cause python parser to skip over // comments, hoping that // is not - meaningful inside python - - require + on every line of a multiline comment - - correct calculation of line numbers when there is script code - - always annotate arguments of && || and ! as test expressions in C code. +Release coccinelle-0.2.3rc1 + +Release Candidate 1 for coccinelle-0.2.3 diff --git a/commons/common.ml b/commons/common.ml index 5bf1316..2d26605 100644 --- a/commons/common.ml +++ b/commons/common.ml @@ -1394,7 +1394,7 @@ exception WrongFormat of string (* old: let _TODO () = failwith "TODO", now via fix_caml with raise Todo *) let internal_error s = failwith ("internal error: "^s) -let error_cant_have x = internal_error ("cant have this case" ^(dump x)) +let error_cant_have x = internal_error ("cant have this case: " ^(dump x)) let myassert cond = if cond then () else failwith "assert error" diff --git a/ctl/ast_ctl.ml b/ctl/ast_ctl.ml index 4f86223..b387722 100644 --- a/ctl/ast_ctl.ml +++ b/ctl/ast_ctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ---------------------------------------------------------------------- *) (* Types *) diff --git a/ctl/ctl_engine.ml b/ctl/ctl_engine.ml index ee029fb..d39ad0a 100644 --- a/ctl/ctl_engine.ml +++ b/ctl/ctl_engine.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (*external c_counter : unit -> int = "c_counter"*) let timeout = 800 (* Optimize triples_conj by first extracting the intersection of the two sets, @@ -471,6 +493,7 @@ let merge_subBy eqx (===) (>+<) sub sub' = ;; (* NOTE: functor *) +(* How could we accomadate subterm constraints here??? *) let merge_sub sub sub' = merge_subBy SUB.eq_mvar SUB.eq_val SUB.merge_val sub sub' diff --git a/ctl/ctl_engine.mli b/ctl/ctl_engine.mli index d7f9735..2fe9d10 100644 --- a/ctl/ctl_engine.mli +++ b/ctl/ctl_engine.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_ctl module type SUBST = diff --git a/ctl/flag_ctl.ml b/ctl/flag_ctl.ml index 50c5d41..dc6669c 100644 --- a/ctl/flag_ctl.ml +++ b/ctl/flag_ctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* option -verbose_ctl_engine *) let verbose_ctl_engine = ref false diff --git a/ctl/pretty_print_ctl.ml b/ctl/pretty_print_ctl.ml index 3f4cfdf..25adfc9 100644 --- a/ctl/pretty_print_ctl.ml +++ b/ctl/pretty_print_ctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common open Format diff --git a/ctl/pretty_print_ctl.mli b/ctl/pretty_print_ctl.mli index 9fbafe3..3e14c42 100644 --- a/ctl/pretty_print_ctl.mli +++ b/ctl/pretty_print_ctl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val pp_ctl: ('pred -> unit) * ('mvar -> unit) -> bool (* inline_let_def *) -> diff --git a/ctl/test_ctl.ml b/ctl/test_ctl.ml index 32ab52a..c8dbad2 100644 --- a/ctl/test_ctl.ml +++ b/ctl/test_ctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ********************************************************************** *) (* Module: EXAMPLE_ENGINE (instance of CTL_ENGINE) *) diff --git a/ctl/wrapper_ctl.ml b/ctl/wrapper_ctl.ml index 34448df..3ad9c75 100644 --- a/ctl/wrapper_ctl.ml +++ b/ctl/wrapper_ctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ********************************************************************** * * Wrapping for FUNCTORS and MODULES diff --git a/ctl/wrapper_ctl.mli b/ctl/wrapper_ctl.mli index 231dc2c..caab704 100644 --- a/ctl/wrapper_ctl.mli +++ b/ctl/wrapper_ctl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type info = int type ('pred, 'mvar) wrapped_ctl = diff --git a/demos/orgmode.cocci b/demos/orgmode.cocci index d72baad..d2ffdff 100644 --- a/demos/orgmode.cocci +++ b/demos/orgmode.cocci @@ -37,11 +37,17 @@ coccilib.org.print_safe_link (p2[0], "arr[i]") print "" cocci.print_main ("foo", p1) -cocci.print_sec ("foo", p2) +cocci.print_sec ("foo", p2) cocci.print_secs ("foo", p2) print "" +cocci.print_main ("", p1) +cocci.print_sec ("", p2) +cocci.print_secs ("", p2) + +print "" + cocci.print_main ("foo", p1, "ovl-face3") -cocci.print_sec ("foo", p2, "ovl-face4") +cocci.print_sec ("foo", p2, "ovl-face4") cocci.print_secs ("foo", p2, "ovl-face4") diff --git a/docs/manual/cocci_syntax.tex b/docs/manual/cocci_syntax.tex index c10585b..8929f7e 100644 --- a/docs/manual/cocci_syntax.tex +++ b/docs/manual/cocci_syntax.tex @@ -32,6 +32,7 @@ A HTML version of this documentation is available online at \RULE{\rt{include\_cocci}} \CASE{using \NT{string}} \CASE{using \NT{pathToIsoFile}} + \CASE{virtual \T{id} \ANY{, \T{id}}} \RULE{\rt{changeset}} \CASE{\NT{metavariables} \NT{transformation}} @@ -47,6 +48,11 @@ not be use in this code. Spatch scans the script code for the next \texttt{@} and considers that to be the beginning of the next rule, even if \texttt{@} occurs within e.g., a string or a comment. +\texttt{virtual} keyword is used to declare virtual rules. Virtual +rules may be subsequently used as a dependency for the rules in the +SmPL file. Whether a virtual rule is defined or not is controlled by +the \texttt{-D} option on the command line. + % Between the metavariables and the transformation rule, there can be a % specification of constraints on the names of the old and new files, % analogous to the filename specifications in the standard patch syntax. @@ -74,11 +80,6 @@ section. \RULE{\rt{rulename}} \CASE{\T{id} \OPT{extends \T{id}} \OPT{depends on \NT{dep}} \opt{\NT{iso}} \opt{\NT{disable-iso}} \opt{\NT{exists}} \opt{expression}} - \CASE{script:\T{language} \OPT{depends on \NT{dep}}} - - \RULE{\rt{script\_init\_final}} - \CASE{initialize:\T{language}} - \CASE{finalize:\T{language}} \RULE{\rt{dep}} \CASE{\NT{pnrule}} @@ -191,8 +192,9 @@ constrained by its type. \CASE{\NT{pmid} \~{}= \NT{regexp}} \RULE{\rt{pmid\_with\_not\_eq}} - \CASE{\NT{pmid} \OPT{!= \T{id}}} - \CASE{\NT{pmid} \OPT{!= \ttlb~\NT{COMMA\_LIST}\mth{(}\T{id}\mth{)} \ttrb}} + \CASE{\NT{pmid} \OPT{!= \NT{id\_or\_meta}}} + \CASE{\NT{pmid} + \OPT{!= \ttlb~\NT{COMMA\_LIST}\mth{(}\NT{id\_or\_meta}\mth{)} \ttrb}} \RULE{\rt{pmid\_with\_virt\_or\_not\_eq}} \CASE{virtual.\T{id}} @@ -206,6 +208,10 @@ constrained by its type. \CASE{\T{id}} \CASE{\T{integer}} + \RULE{\rt{id\_or\_meta}} + \CASE{\T{id}} + \CASE{\T{rulename\_id}.\T{id}} + \RULE{\rt{pmid\_with\_not\_eq\_mid}} \CASE{\NT{pmid} \OPT{!= \NT{mid}}} \CASE{\NT{pmid} \OPT{!= \ttlb~\NT{COMMA\_LIST}\mth{(}\NT{mid}\mth{)} \ttrb}} @@ -238,8 +244,8 @@ typing, metavariables for scripts do not include type declarations. \RULE{\rt{script\_metavariables}} \CASE{@ script:\NT{language} \OPT{depends on \NT{dep}} @ \any{\NT{script\_metadecl}} @@} - \CASE{@ initialize:\NT{language} @} - \CASE{@ finalize:\NT{language} @} + \CASE{@ initialize:\NT{language} \OPT{depends on \NT{dep}} @} + \CASE{@ finalize:\NT{language} \OPT{depends on \NT{dep}} @} \RULE{\rt{language}} \CASE{python} @@ -812,7 +818,7 @@ in a concise way. %%% Local Variables: %%% mode: LaTeX %%% TeX-master: "main_grammar" -%%% coding: latin-9 +%%% coding: utf-8 %%% TeX-PDF-mode: t %%% ispell-local-dictionary: "american" %%% End: diff --git a/docs/manual/copyright.txt b/docs/manual/copyright.txt index 3b35fcb..085de10 100644 --- a/docs/manual/copyright.txt +++ b/docs/manual/copyright.txt @@ -4,5 +4,6 @@ Copyright (C) 2010 INRIA, University of Copenhagen DIKU Copyright (C) 2009, Julia Lawall, Yoann Padioleau, Nicolas Palix Permission is granted to copy, distribute and/or modify this document - under the terms of the GNU Free Documentation License, Version 1.3. + under the terms of the GNU Free Documentation License, Version 1.3; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the file license.txt diff --git a/docs/manual/examples.tex b/docs/manual/examples.tex index c9b715f..22951cc 100644 --- a/docs/manual/examples.tex +++ b/docs/manual/examples.tex @@ -536,7 +536,7 @@ Begins by foo: foobar %%% Local Variables: %%% mode: LaTeX %%% TeX-master: "main_grammar" -%%% coding: latin-9 +%%% coding: utf-8 %%% TeX-PDF-mode: t %%% ispell-local-dictionary: "american" %%% End: diff --git a/docs/manual/installing.tex b/docs/manual/installing.tex index e405401..5be272a 100644 --- a/docs/manual/installing.tex +++ b/docs/manual/installing.tex @@ -14,3 +14,10 @@ \section{Running Coccinelle} %coupling: with readme.txt + +%%% Local Variables: +%%% mode: LaTeX +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/introduction.tex b/docs/manual/introduction.tex index 430f2a2..88ed3bc 100644 --- a/docs/manual/introduction.tex +++ b/docs/manual/introduction.tex @@ -39,6 +39,16 @@ simply do: \begin{verbatim} $ spatch -sp_file ex1.cocci *.c \end{verbatim} + + +Coccinelle primarily targets ANSI C, and supports some GCC extensions. It +has only partial support for K\&R C. K\&R function declarations are only +recognized if the parameter declarations are indented. Furthermore, the +parameter names are subsequently considered to be type names, due to +confusion with function prototypes, in which a name by itself is indeed the +name of a type. + + %command line: %can do inplace, or with git, cf chapter on developing ... @@ -57,3 +67,10 @@ $ spatch -sp_file ex1.cocci *.c %features: %src: darcs manual + +%%% Local Variables: +%%% mode: LaTeX +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/isomorphisms.tex b/docs/manual/isomorphisms.tex index c0348f1..3b4be14 100644 --- a/docs/manual/isomorphisms.tex +++ b/docs/manual/isomorphisms.tex @@ -1,2 +1,9 @@ \chapter{Isomorphisms and \texttt{standard.iso}} + +%%% Local Variables: +%%% mode: LaTeX +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/macros.tex b/docs/manual/macros.tex index 0f44e3d..5001ca4 100644 --- a/docs/manual/macros.tex +++ b/docs/manual/macros.tex @@ -4,4 +4,5 @@ \newcommand{\cpp}{\texttt{cpp}\xspace} -\newcommand{\cocciversion}{0.2.1\xspace} +\newcommand{\cocciversion}{0.2.2\xspace} + diff --git a/docs/manual/main.tex b/docs/manual/main.tex index c06003a..e757d98 100644 --- a/docs/manual/main.tex +++ b/docs/manual/main.tex @@ -13,6 +13,7 @@ \usepackage{times} \usepackage{fullpage} +\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{amsmath} @@ -128,22 +129,27 @@ It is organized as follows: %coupling: copyright.txt Coccinelle copyright is\\ -\copyright 2010, University of Copenhagen DIKU and INRIA.\\ -\copyright 2005-2009, University of Copenhagen DIKU and Ecole des Mines de Nantes. +\copyright~2010, University of Copenhagen DIKU and INRIA.\\ +\copyright~2005-2009, University of Copenhagen DIKU and Ecole des Mines de Nantes. Coccinelle is open source and can be freely redistributed under the terms of the GNU General Public License version 2. See the file -\verb+license.txt+ in the distribution for licensing information. +\verb+license.txt+ in the distribution for licensing information.\\ -The present documentation is copyright 2008, 2009 Yoann Padioleau -and Julia Lawall and distributed under the terms of the -GNU Free Documentation License version 1.3. +\noindent +Copyright \copyright~2010, Nicolas Palix, Julia Lawall, and Gilles Muller\\ +Copyright \copyright~2008, 2009, Yoann Padioleau, Nicolas Palix, Julia Lawall, and Gilles Muller\\ + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.3; + with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. + A copy of the license is included in the section entitled "GNU + Free Documentation License". \section*{Availability} Coccinelle can be freely downloaded -from \verb+http://coccinelle.lip6.fr/+. -This website contains also additional information. +from \url{http://coccinelle.lip6.fr}.\\ +This website contains also additional information and a wiki website. \part{User Manual} @@ -188,6 +194,11 @@ This website contains also additional information. % Appendix %****************************************************************************** +\part{Appendix} + +\chapter*{GNU Free Documentation License} + +\input{license.txt} %index {\small @@ -201,3 +212,11 @@ This website contains also additional information. %****************************************************************************** \end{document} + +%%% Local Variables: +%%% mode: LaTeX +%%% TeX-master: t +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index b64df054cec95882ec9757b99e14b7e23ca20ed8..30653b9b4c19e8caf800d1eaa752a6717e9637b3 100644 GIT binary patch delta 193719 zcmbrnc{o+y_W;~AlX;$9GG)Gld#?vu+pbKcU z-)nj(0G@HEW*G^R=vn5nBxA6eq(Y)*8A)aB*2!8%&Uzr6wM`+LB$ib}7NO53TUZGA zhx&!B2^OF*fF(%}!6B1xEJ1on_*z$y|MG?Rou28kc^!qyY;S&>7CgUSNB97^B^ zL=NH*CQ(5Qhazy`Agh{8WJzO?jmRi(ZJU_zNdKs)ps-M|i$gb?Qv~uC<+MRn1)Dg9 zMd|+#SFaBb@dpby)qyCNkO*ZWKROHC<5c6In}F3kvyg`0oZNuSH4{qL<1zqWIW<8d zmk`k55&#Gn8F+GOfhSy0buNDJg=-c#&!q`0xP`%c_`HnU0LXG{f|J}rU?H~vxXkSY zlDOrw+IfK?j|gNqmq(REgHou#oJRoU@#vD6K#U}#xPr-on!1w7hPFW)$X*l8X9O(e zBspnDMo3>0Nt=D#bH$z)=cE#z`t;e!DMe|!J`fV1JD3Kg>Qw~t+_HAn^E-I1%l?S< z0@H)+r%^HXoVa!+W8-4gwW3>%S_ z?SR9<(5h3bBKWP7Z{6v5;kiCq?N!H~-WHXV(c4SC+~r2U?I>dZ{LFBg3)&ZPwhmR8i;GfiD8j_h`5ZP>SL-^n}Gzx;+{RH@-V-5zZ0EIqgE zdgQE``-c=`>@~BqW409M2c5PbFl+R+2y(8XO33L{q^0fk-|_gpUvugrE^CDgy*Ccn z@p|pa>*pPY?(K_PdL}bZp6g%iyK(5n(Pg|xM(!|I1W3=x z-*#WWXCOPlzRyV$N}U*ukvFZugR zWu;@x%e6OVJiJ@-qQZ2WGX?U3QE9qmp2 zqGT6;vyNqFJBqau%<>duA}xix%2x~?^Ev**Qnta7mj{S^;!Gb|8Z`${OslUx4-{L* zNO{_9vmw%jyROdq=(W069%tRy65NH)qfNESA2LTqj`Y8lxy^06@4C9;5|M%b4n3*8 z`RJg3mQvn9BM|`?iL(RN(c>2~bUI{Ny~&2<9a+HVRo`Q5H9NjaR{H}w1WrTh}c zx}1g08LyT7dVZ7zk1n=2^C7Ik$;T!cdtI$nl7w~*%7oljc7q@r3oSr9+omIj6S(E#eDr42s_lrf=xRph`(sQ(W^Qcw6 zYy0xeks3W~Z~d~i@HK2)_dWNAkDJE@?JE)w*-f(-es-7oqqcZ&d2CW#|H8La?m^1w zs%;1NH_fc(AZ5O6v;6b)&?2Lek_QO?#idujN32M-XNP^^Y;Iht?fpRYhpUnWGeEX< z)A2!dlWVJg26Sz2U2$Sbht=L%wZ&99nXqMRKUNzKgt*_V<8#|<-LdzgT+9mcKq}9=8>@>ALvA>r3~VtTdbv&ncf-Zde~7I-h)}T)(IBlk9FAaQN-j4;%J! zW>oTd$ep;|J!kh!`oVcD84GK>NRJh^DtRL5d9V3<*mq()yR6!RgGZAj=Y{WhX{B2( zUGR$R-qj#(@}cNSCnGr^X5>SD$O^?>5^cUuJJl5p4}Fz7@-rlWamu+l(0A7+mW<4- z8AbyMGmi2a7k4+R=f=%3T|8JIe%P$#EQShy&m2Dz@VCj;?+%FH6?bW^uE`7N9xa~Xs=tHtk-xMhIFU(X)^yQF!&BOPT zWh%A8+V-(>;moZ)#U^*9)}1TUVxGE6nn9j-$-iH1&D%pSUVe$OHUduj+_@She-Cu2 zt>O|+lrB2)F)S(aT)^FXLN6}9%$VoDiT|@hhobvUvDxI?x^?XD)=>o}8O@`Ej+ejq zSDGai@np1F8#Xz;Hz+Xt`r?9;s^OUfB^#5kr=R}5C86ln{X;j8teNqUzkjq%N%NLO zw*1Gl&MACSR}8&wWvLrS*D9~Z+ZNY7qZPoQ8B5RMzu|swC6Vij%;x|`-r^H zVJyql@qzoc^*Ri9daicsTx2uXJ{qP^zA z(b#=%{dQLlo*&uM`}9Gg)s^{kluliW*)CFlwVdgG-Z?Th`6%DV2dd{5u_g8&dnLYR zrby*n%a+fxxm4$TS+V=xtc>LUlmr>x@`bP0x$k`=y!qb*>UWLdsd9kWy?43`IstI+x9ybxIeh)Y_u!<&dipz%QsO*k60$1 zNysL9)nBd_5qoS?E@b5P{rIhC{B@aZYop`?+ih5z{2e}dRhYFsc;3@c`z=|lB+uUX zH*&Xmr@Nxhh7%XlyV~mv+U@EtUuih^zH7KYa&X<|QSJ-t{P{&P+YhS!R^63!^P={S zMI4n4>H8W|A2ePlmI~MqBQ=XZ@yds8&c%Uy=1Cqan8E!cVB}PQ*Ul@|Gp!GtV6;CZ zv3*D-_chKBhdG|Vd3@&jd1tSld9vItbB04Fe^|-WPpbF4A3P~=PY}9xVlI7ErKv{d z+r1%(Oc@110VUjXwEdQ|MA+eL3CvcWkBJpM7_lgcW|@b1i9)$z>)zFXXPh z8o8P>+Pm>##aF`_7J}hf-WCd$9|M0%nkT4jKb-EWpS)C|jQ3Vfsf^7|J4D65Y0@Y-emrI@u~L@>5wb(2ibaoBmpQFRHZ3KCg}M|z|hq{Dr{qF)%=sHlTuK`v`@qr3486;{0RO+pmB`_8d2ZOr2 zMAQ?SAV6FNERhxmC&cBzFA*ZMJ{L`pDZvXkCFH=87AasUApuT`PLHJmK08T(4hcmN zB1Xi(l@bx5F$|31k(o}V8Bl0+FF=Zx0wIzLKwDgXif-Bp##9QKPN5pmjLCE(ssV*= z@{iI*S`zR`DS=BOlN5T8b-Qj87gEEbtU zry5Y1WGa;b6`|steXK4G4(JP;%qNeZvkg5wmy?+kG81+-bYn=!#6hP}P@jO|1=-9@ zz!0NBp2?C_#ZVua^ctkfXd=bOIfb|}EO13ePYiXd$w+@>^t7jtqV7h>9L8W>|^OJl+Z%+X;0 zL4!u1pn(q*U`vCRq!^Dq(2d{&8atsa5T8Q9qYgt`lpdcKuz`-Wdyou3T#ztWB*(`| zGlsi48hV`d?1iC+7`vh2N<4q{e}}T{cV%;MUH{T9$sZZGHRN#iGjiKXLj}*s`LSU# z*HxaXt{t|@x%B0Aw${RzftOgHbL8fDe{lQM?-RCW^jAx7j$wmTQ;Fa4mysKz8(O2> zUN`A17T2_?s_Q9BNF50-Rxb5+&#^t2<1=t6IqYr|lkMNys!rOOFPUvzCjlDDPEcC~FSAsPo3sf+(nY*ACE1$gc+zdy6p zC9>)sJ5NS$|EpjjTf}qc-aj)bTuu>lJjJLSCZaa%kfkd=EK6J#?D^`!nYbG&Z_obL zPWnBlUT$LO!ETLb=RSU$$aZARhp6{T9 zf=`j)hFzdxUeQx_gPT@neuSpKRq*vFyWb`$k-s8VHh*d0-tJ$fld#<5MpaUS+kv>H z@s`Slo-Xxd(MV&qzK?#zMY33ly{gaPS^n%Ju4y*5dyUX6w zfI7EIGyF%r?W@2I7iRK($@AZtpt+)T+me@R&ytUuHO{9NzW9(9f7#zN>C>WI)3z|F z+=}p`@Vg{9bmuf$J@#wK=(M~sK^}5n`=Rl(x8Z36`$u2$#{_o$%)ODtTZ6>HD`mP* z9eDREO{noW>xJmrBFE=Jy+6#7i@A&Da$X;}a4GoEs@o6mwJuJ*qV-FWQ(43CSoN3B zf+6YMym9-Jq(t4`lsWxMkqP>pnq<~Cw1gwE@Ot_6hUcR{FOd7Qz1BW*KmWe%cGaD^ zp$E_0oM&32I{#XuXp=`al-+?L@5)>+Q!Kv%1;br3$!yw)C>wlZ=oJX$=9z z-Rrx;4(^cj>i`AG!HMr%kJzo#cGFWRGf9i;Yxyv*TPQ}aCiK-RT{D>uwzYqF#L=Z` z3+qnjyl`7DXP>(8-Gls;Qt#foYxDN~>gXh=&+6vhDp0%W+0Oijakf3TNFfJgfwZ(y zMxC7PvYnyFG?a#a&rm(lUAWvd$G4$E=$xwe=XtEPpViWzY}|NyMHee=wUSw?g1Ykl z{*tESLLJU5(ZVRPQwdy}&-O~LVGHCQ+5GtU=Z&ZGJffoW?tz_92QYcd z5%TThj^}yTaw7~3Z(AqC**Ak-(pR6h&i~NYcTcL~WwYPc`SrKHr85vZ&yCL0?3*T| zJx(HVYfTrBl0-MDf4|}G{kx~=q|$%FjL?$T+vEx~-zVuu^X%JD=Jsq}`#b&OoV5R1 zez6lS7ya;Ev4rpSnw!DqWrLL0@4esL+*x$)s793Y*-LEO1$+)^tImHePJi;Bt;ld_ z<#Jk6Nb$=Z<^xs_&ij+D{B~_GzH~Nla~k`brEN^*a|_YTZ6jJL>$mQ(+Z?{(^p4FV zNyqzjsl4{r6=T$*68UazJ^o0sEgrtGHN22_Tz`gYSHyq+iQPJaJdvy3CcKJd{OQ=Q zleM8yK0;qO`~5%6RBwG=AHs?o@xP{&uz01ITAnqV(UnkZR?BS{*{FZ1QC;M=y!1(q z<7}Htl3!)7Y^uWw-#|New({)qpY);ZNa`>{;d}2I&XLFWaQ>CG^E~|wB#=o@ebFl z0{mqI%W1hgIP2-*qv??s1smOMHtZFY?w_+fWq1rpa2=J@5PMotCNay(rqAQnCDMw)yId zI|fz7+0j(j0*OBNUz?8Itd3L|elt&HSj&u6UwEW$Iauaxq%>OQ*8KBqtXK4pU&*Zp z%7njlHz;g)t9PX4+|%6}{tq@({&#<6r~DgVX@@uc&lJg?7Bw8KQKdnU9y)hJp|0Qo zzs^{LRl9eHUVm~RLWFlls8=0tfF4O`knR^7iI~~2Z$^5@c$pUmDMeS?tZiOh-D|Vw zc(`|$GWYCbLiu$mq;vB(WvDLMt{?f7dr?8KVDIW)y+iMIk~!2|&Kmn0DlU2^DZtth zTlRe~XZH7}NdpB1`!`;cBayn-_3rGss^)*=x%{CFlkkv8(${?^Tk~g1&m%dc21Zv4 zS(vO7M|C&%>M_&Oy%(@?mY$}eGh(9wzpr<>)W)}<;q)yWWMvp zdwd7$Vl_vO-t+SL@U`q=W7>tIHg!PRXI}Yd3-aM>2a^XLh6F`!b6}X)HYPT{3e(};44_w$;efG`n zryWa|#NDpEDllC4ltaht*=vgs&@)Hg_3S!3hn#1-=UGQR52uHJoMC-^%Z*Q8o!OV4 zQ*$VH?pJJFUbnSN`=wy`%q;W3H=nli(0@GZud@Fp{z=N7n~Z~YX6H{ zRQTZ3r=hK^+Vdn;sY~obFL-D%KSf6muRVI}6tj6=@W<%$b02tb`0mlNpeJA9;<~<+ zns44+XZ5p~@6?m3lUC2XV`BGhc1xkW$Ip@#qs@-DDme106*_mN7VtB|-FEsXd(}K# zeemcuN~vJ{(!SF5eZAEQX+kmydb4I+-6Xq$GNd~gA+-Njosi9LpS(c#)cA#tw}ReA z4$9w*PYz%9j=A7#OMaP-=pVtCnW1*|Pecvgt-eN?A>WWve%{{Wb=mfXKlUh>+%!ML zesb~qT(C=PFPamN+7Ri#di~$*xCsrY&Qg=a&TEsx7Zd8V;fo0#x0v8@iwS-LG{Me( zAbnPd5e;vk(C`)t4L=sbgFkleqrhW5dj6weIdoUD7uX`HL5u?6S^l89D&UNk0FTvW zfV$Llk%gg#DvV)tz}qRUE)JTYS%dtSK3j!RIL`D3^GxF)o+2=;+HZ zsRm4FFe(McAjT{*gGDnirZBz0CnqV8I9n2wPfNuxGGH=csA0s!s2NO(fiZ*Xg;)uY zq_AFDX%TzX=cuV{V!(hg6=R&5&M+{7$N$OH15nkTDb%Q{bd~{)0mGzmp^y#5m_8;H zB@5U7KZK4`j|(MG>k&MmLq}7YX+VQMWemeJBRT_`h-Scq;hC|Ci2;j7nIL!n>}lkJ z(|WuzOs0Vm^jE4e)qu{RK~_uy6BY%H31whxD-JYu6bN!*L zQlFoOT3-gnp9~fnHc<^&F#a)SG7K0rmKW&Q-~txt66JO1=*bvUO$>~wFye%uMz_J7lo!X3pAn;>=+DlAsaH4#e(ibC)12!*vvHcLP#4)nj91w z$jT#%M~#Y(B8&Eyng$hM8bfYl)If}~7(Bm3q(moLE`?8KOeP%$`E(XzGS!g=A{CUU z3_HePu*fu;5u8wv0?jMHV3kIP*NQMWN5#b(5(!apLNs3KaVj($Vf>c}>!A(>CK)CL z+7x^Z#AE7-kv(#=kW-Ea2Ivq26w`E&x5(q)QqRG6a(qAH!y_pzoRBsR^XA zfKyHx@4!^P#thW=z%QCQ^f^gmUEoL;Bafv5&?E<%4`IShz?cS2Z$!sg0&<`nqNqd? zaGjhin3PkPm^qk~EP$>~firU~!7wrP05cCJpz*mb$c+_71U*T7Bqmb%lBC1_uzVrt zwiUhf!#z_$J%IW#d5MYoN!GrlD@_jcblU{URF-ma?XRw^S^4|p+YZiStFJAX`HtIE zYdgLF?e9@a@9E}k??}o&M+9qr{x*vp`L*x_FOQtVt5sAL(VJO!BMbPfva=ff80TdT zuIe4w;hxsfb3>&f|H1vJovbC6dOqLS&zttVl3!93B#Lxp$BLg|9<96ehlU43t*sQ&?LhP)0irt)T)dick9$A_<+xd^J1H((BGiIOT)#wY={QGPDcxQ1f z5^xw*s}|0lVOGpheEXo0{mJxoD`V_kj=gNYDD86SgLt8!oU4B9yRDA1nwt7D=4(9n zFkd{jUA01o!8=qpR{Sb5x$(K)x`v zH^55TpmA}-f|=Fw2X{n?taxl&zwMDL&+6dONdG&XuyCM&lIHp zFbBa-_S-Y^F%r_fsja`(zUtTUh!JkH)f~KU-DIMFRb*Z9!MlM{n?;@NSHGw_*5gsv z9iWwNoVl!hfcM+Ml7m*6&O75xflJ&iy;!`-W}nj@{=v31 z-lzM&Rgq#clHwT(eAl+0l-%*COk0uv`bp9nHH)I!Pwf2HwjxaCb%R|jQ0(e?!0twC zM`g*oZ>B!qZL*B23tvQ~%gS1BZ8!aV((1zL*l2$$2bY%J$J`HG5Sq14!mb)d=T_!^<^ zvJ)%i5^u?_VWDk$RYzmHjc* z(rI`YSdgE#i;J$k@yEbEO(oJGmq-8^3~Os4QxDD_JMZ%yIy(7PfpRUg^=GUyx5 zh*MMQWHp+W8(VCU|;cTt^z@ibbQRSl@}`a>fFAV^)bh7 z^*W!EAC9FdT_4JIE(m`;GD8WpWO|7`dGLCVhF5-FLVdK^^YbnzP5szjYeuy0e0RI! zyv45bz}Ct@pYU}mtNPbuoaj>2Z|YgqmnLw#-MVcrf6;SQ+vj!57VZr>DRAcoclnlW zMuHU@Kg`<$=ihqpU!u|s)60K`&42S6Cx*K&PdZZ*?!8bK6LZ-Lavcyj8n!^DM!=GhK7ab*@xfH!06L$9fv8!FM8c zNDzr>xO8#R)##elx%vaPu7Zd6G~Y|<`yrZeR#CI>vD5EIZ6V8k^4##>t6>%C{`1yF zIq^qqyQP=UXrEuX{bc;HomO=b*>UVt@`9RkoaGNz`uDuASZ)-2Im_>e{GMTZ4R&VY zpBLR#3zBk-J_$uqma9Dea#vk;_3d+3q0(O5o~n|U!zD&r(uxZ=7XIG))vWrU)uQ!* zPfzrnA}chl82WBwaf)f+DiJV4hIz*!seTvbgsYHy)Q=Sxg_!-_mPaWP0pB9I#BMv) zK6+F5>$9pynM_~Qo@~B1_TM)iTdDN6E`zN(i{o6yuhDBcR@R(D8@*n=-Y2d1YJ{80 z)#P*7YuP*=&&t;q^^Yc1pZ9WN-cGfv36k{LeCCd=;`N`W=F!D^vW-&~9yu4y(yhsn z@eLqnm{*+zOrA>ahjl5JziSo;4oCQ%2TL65dHfsiUh)nDi+OBZw=EXY;D7HD=2K<0 zfZe6f@^0+N*E`Dc@Q5w+;|~15eKJHk)a!{ z@o;To07#`7p#h)>wwDVSj^AGaE%n)FMCN9abg4#oDj$Xd*j`LE!n65Q{4NZhF7Z&2 zN}+%&mitIvfX_&C@`(~D6d`GX0$Uz%-AWz}wIo5EgBUnrL_F?xSnGl1^W;G1hQ+{} zLOeeAE!P9m*7EQwDh|j}r_$PBba$xJ(bdjJ>HLtqubf-JA5USh-HN~fS5nv(iv@87 zrRPnHQ(&utc48Ljm^W3FCNQ$YnsFAj)&v$X5Yz;Xb`zv*oKHX**Mt`=x0m~8u67#& z9(Eo0(q8o+${JfDii?BozviJS&3%q~KxBbDX1F9fVsFr!y`}}Kn8Bs&iLCn^^+EMQ ze6UW~Pe&WH2&MG{&sJ%JOE%)b#DU1e#X%2jcKquTx|96|^f}sMswFR&j{Q|9T(z); zM7F4ERf}=ebQeuWyViNKYD`BW547`h%Bjx$k@#vx6xW+@r71Koun3C}zzFPki?)n$q( z80*Y-Q^lBUcO@_Zjc&Go$0=b6Av#CBQ5y`qEC2H&^`%55(Ok@S4;766v!z7-=uNYw zCwYPl3GiVVQO6EzUEsVN_r+qjDLj_jjM1BdYImZ1G?o)vsrpYvTMq&X(#HeWpx@rS zpme3o-$5mL66K)7ZtR6yN^tpftwXSNqF3Ko{y#)1{}t1@g2)J61u}i`QT1O*Y(>rK zxN6*Brr_I3f(Vf1s}EMKh8OpkcjCTt){BS*^FUx=H7=#Wn<%9Z`d{gqaVchCi4So| zvV3hONPzQT6%hk9*8)FWg8b?!68y#oO&gSXOMuGNM0!+1v4HV8APGX&5P6`sI0iA$ zJt4-I*xKi!4c4qx`a2+~6k)&Vqyz_!j|XZkanL#i3+>C#K)f$^{fUy$c~~2y{8tjX zpaldFEspYN492xpT}$NA=QkT9u2cNWgBdahRuX3|A?gdcsKAJxPKP-Y2F$?FDOfH8 z%c;Oh1)2#=77}n4HrFIF^MOxV;LGZhL8sW<0c7rK71~kH7 z;S|^fmY-K7mF3dZi`8<@E1~ax)I(){7k%$c>X|OSB5!ZVE4Xc6jdL6=k z1;=e%KGg)KZDHbUyze;2fAX)apGLkCtf8TzX;++>28m%tb4(j-$ib3Og3F;>fTj}6 zV!|Z-7#$rQCMxuuF`)##?}tvK_qe}N8B7DJG0fe;Tpa@*{isZs`J-V;>VUD0Tnxm8 z5j`9BTxrbmRAagU3mR>_>r@7;Jo(pg;qd7?K4$oFTC}i-f@VoE+Hw7Tz~OL0@6j{R zU)5m_3g$Qe3C0x}7cB~wM-Zu@zbTK~e2jX`=wq6oMqdH~A_+QUMpqs)`WPXcrO;w< z5XQugYrP75C6Z6nngVYD(5jkobHS9Ofe{1NGL6sDdr{M9tukh?acVTxX$)&?{!){o zwL#zpg4&bh!t5{w-a`D9i|g@E?yQZ|$Q`#9WsG{vT4QS9*5cYk5IfOYZWk0)Yk;zalFzn2hC)_%NIDt@Gb(DFTpW}lL6M5pe){0u^R3!K%%QYJ{BgbZGgT z6+jw8=zno}44Yfy#Kp$ar+9`I<1fEO0hn(Vm!HxC)8|GE=n+&9v{_wlnr14@vQz0` z)fO1pY!;K94#SuQYs;)s;ceT!Imau2s4e2k)3B$o z;O)v-W_eu}(!|C(8zm`q0V$N#VOX?U?4=!@3_wJCyFi5iQ}KugqSv*jLTylDOu z-!N~Fd`#Csnq%Y(w@=Xqn~Pw zoUX2oKG~)3_O1N&eaFi;DuzB=Mw=fl({U~8?H>x>$I4oMA$6bR-D{<7z5O3X+xpiW z&GSSq9O-ZUc>JEtHq*Fxy}I}F+Sp%i?Z~+Axg?;++Nz?)zoy|^-%xp?MP7mX9O-7+ z^N)Qm&CVIfRgw)~kbL%vZIB3Zc7xBOv)g}fKJ6GaU|3q^OETTRRrYn={E|?ErPT&H zqkB7K)V_ur1l9!nt}_pN`Q_7rWv1QcdzYyiFq)g+F;hxI0~;YrH$uPb^xzdpZU^^YwNzleIzQ)QP@TW97QKG_mq8R1%Hez2T9$6|h{JpbB_ zY=Morw(r{FJB%DYB-GcJm@W@FSTVBql^|mLrM5`%JHM#xam#1nUGHX4vg}{@S*1mr zS<}a%*F1@N0ul2!>9AgBkbT@6e zbaD?@yRl~%N1gBeea0$whM_LUcX|EU@%7)8f6BLf-8gY6|Ba61)$yvH}PxF-Z)BEo20G-kHH*{&)=08 znx5y(!tV?l3GM!IfO4`YsYmGDin9j`U5`K9svCQk{B`7e!)f-O-1Nm8JvVyumx`u- zG?Vg3Tu`zy@W%R&$AIT3(V~V3%4k$XyXo@nm=~s{Bl${E!)Gzq&nPdMF*FcX$ zYVR@%7I)iieJ&wj{Om`DcLo2PRc+D=U#uQmTJwHVb9$5UkoSi3t`!!JmO+gJmRn12B>tUnb1B&E<<#CVJ)+Y||AL6XA^IM@2FSD(9i&UD?issBu zUe5JjYuuWCo>Tk0e)cJ+cBi;?zE1*9P>mnjJLYN5GoD}7b9lw*ev#1sd^VS=%ZImg zK9g}D<`0^oC~(msNIREzg_>YjS%Y1F@KB+D`in!x7WYd^%9lx9&!`t=w{X7KiS@2t z6xQA&KdJ+O>U){{h4>#{Lx@55SnpJ znoF8<{rQ2@Nyb!d}` z$3PUV;zJwz{q_w12Vb&Ma*n0+vLBVIyip06D|+Bio%`jK(8RoV2kT89y0ym64XQm{ zU!UmK8olK;~f0nd%LLWmNQ2LiwfCh`>KUYZd}tZvik4qicRJ(T2kiB1CRET zvtDPM>v?|o&5@xfgP5b&L+-o3(fRmGdCyAAE43EB;_Kup3fFp`^@N*bA!Y|6Z4GX_?POx?-gjyJ+bK>)1z=VclnuXBLX^{tCL@6UVU+~ zI6z~ql1Gf)`MRUXZsiMAzar=}bZblY-84E@+4@G5U7BpTGHjv1W|BxoZf2+~&G*&d z%k3PYvkt^i_a-*ZAq}W;wwTXKB8dvjju^ zOnyggUW{(d)7~fkMu3;Mf|<>8unSYEIsSL&_$tP zk;3WADytpTtG84$7T8cVQ-WS4>AM>jK5lD0mi1@tdd*W&#->G^E46lBIC{ z^-rnyygBFQ%~m=THh8#9LE@7Sv)O~M$Z=seJs^G#v#9RNEkTaTiz^cI&lxAYyY$1O zYK~=RzOaAGihbov(v`9{*02O$_7;kKUY0qxz9>ib%{kWaE1^r-eybYU7a6^C^!-*I z);x4hWWoA~D}P)B77U2|-nWJ_L#wsjXAdP%Kt5XE<`}TcUL(-dD0;3!W^=On6Vp>8 z?V|wRy4iGWPF;H-mSh|0EkcoOe{~gVN1kpWk#}nE5A) z_It;tr>pp4)YL7H@B~y+sm>uKK8qK%-$~^k{d!=qTB%#h|7Wq1#nqC-tCMHm>z;pY zo^=?fx$P0Q#IFCoX8zFSs~wRMs_jVL@%Yu{dqMrXPH}?VH|s1u6}8Fy;Z*tJdSSwC z)YvyqR6uE$7`v5%RX4E8W74gZu`zlprA4@vf^pc`F^nIWuu2Pl_X9&uSX;)zV!6sRJz)NHx?C2TRW?lJmHA5uDOgNcvxQTR zSKx^uZ@0o98Mx(5NJnAGd1VR{rmv`fh0|e}O{MM$Uu|$uTu>v36-w)OFENf@wlJOf-%Y(kVu;dT*TWpVXNN!dT#H zJQjrg`$`HdlT}rsPI^xzGhkS048NAbzMw*Wp5TNNQKD^W0*Lj!W;~S z3Ica4%TEyT7YQb4V0jp5OqT%Ubg^ksV7yObQ30}hmgEEuO!%o8Oc${j;BvYoVo<;- zs6^C+N<%e)83VK?4I#C`Som(bgxmxse=%T2f?)z{wIn1MV?Q7<{wWyj8z{(-L|m@G z5>Ka$>B(VnC6k4cgY*n>ndt<;U>pC^t2IMHb~*&;7c7Kw6Y9vfXL=!U1Yw0RYAO3Y zVk8D|$&}!RZor^mf_Ll@$KUb5EFrWzSe+#SuKq=Y$vZS*kR>Tj_%IFapG&4BH~i?% z1SSI@(cH{2?mVdFX$RYDx#4-Jc@lQua z*7QuqHP)Dx0rZs+W4_suCWoYFlLXk4zp$HF z4L9jKx=DGC|Czw}-!*fSKD{%7iB&woVgcU7t8>sOh}cn*#F;t3h7Vj>FOILvFau9q zmuax%6RyiLQ`Tkt16S}q=Q|*0%OeT8B*J0{(0iQlLS8U854+Qr0C9OT;72ZT85u|G z%EK?WDhlO5X5N%cWT8G-pDzdNtu=vmKC!hDzWtt0MqbQ^W!ZK4#3gQA1UM{<-EN^G zoDLJ2^g$6i1+rN2IPz4Iq>WVAz=`tmFp(X)OY|0uNjqFXY{sSGH(aPBYT;B#_$`~= z5n0e$NHhp~@05E)1@Da45h8n3y8cmEPT)i`1;|k;K$==04e$Bh9wo!RN&|yqzTnhR zq71m`gImYYTPtUfd5owZs==<~cn@wIp9>ZpC(@%z%s)Yf!=VNEP7qrwPuRj1OTt|V zZWkU9UL-#@3i3d|h)CO4s0a9p<%y$kwP-p!Tr5__&BQJyHjhhlKRGT<7KooDVxiJL zLX4;r8lYrKE9zETO2!7-yo5+RE<&ml7vWrL4(^r^J2Z~fUMh=;Nh>AtL5;cm6#6ZJ z22eajXvJ$o22PES=4wz*L;>h{b)No*vG+8A3A{bl1n0{zr!fQ1%Hf4h8FA3ji`mF> zIHcd9(^Q%Q<8oq8`uwy3r2>`(IFV2$#M+IlM@O&X{#7_*pHTx@Sv5}h9t2nEfmu~zBswUD(0&YhU8M^;tHj|u^)q_ngaT-k zXw4Zt;Cu!pDu7T120ek$O$<`3)&m07XzTK7T@X|$h}ABKOkSWTe)T+QP5oa9=1HGM zPx^v-a4+LMr zmuvE63!pirvL9VvlpCN+f0qEv`<9^Z64BjI43y97hJSpft@Q_oF8|ZV`|@=97&QLF z7@7t{8#FaywE)>omS9KY|59bw6-*TrY5tYzkuW*gO;&*G>U4^r9pb$<#>EO;{U1oY zpy?X6WT2dqu1(L07i@1DLt0K)NzwUk-VEn^OE9?KESB9om4i0WY=K>FIS$@T+seGI z46fdE0bg6Dc2paD8EZXzeQK))sJH>m06A~CL6nQu{ak4!W1P3Q5@}KAVz=Q#)!4Ql zSho@BQRm!$6V=QWxZj-Gipu5#p0}WdTaE$ATSN&cz5i{TUi0=;dTlW4&UjIX6nJr) zK##ArXYY{F-DeTlbcZ-SQ2r6^IERXMb3kn;%II6J4fHycaR%?&r!as!%F7NikhrT0 ziaMqcLj%R#g{4SeHvzM|Q)san!wdX7$7hT=Q0*ji0iZ^fyEoQ@p3bREv_aQBCA4m8 z7T9}_(2SRU`FAN{dy#q4;kkt(f_8!Rrhes$G`g96DCI5Zuhfhs^pR~K>0B83&W5Mn$-p`8%gfI-)u>4_8W)KLK(eUK@JUP$L%sx-o520aP!$reV)11Xn`n+NE+>TZpOMz9xMEU557=6LYTxWry;ps*2 zg6m)YnQHr&>6mOD8DnBTLSTY#dO}~(O-Tpb86i@m20Ho`-IQXc=>l3(n(~bdz#nI@ z;2V(^{n*;(y9(Sd90A{Vg87iXC9pvE*Y~kdw(L70pg^`tlk`CSDAqM3m4`GJ#EcRo zphdp=Anu189D~`w_y?gG^#LTDMB)RYKXD780httDx{3SK&Uf8FRyvzwt>$zHA28{U%692LLW;-W&ku+``2WjIb%|o2HiT%c$2XW?sc7dEw@3BOL;M3%jG&**+sOum% zc&1ea^&R9GFU|$6Jwv>Cr|5%w4==*vgMC5|R>;s4B+N^Y8xR8%x1DcVaqj&1Kmq6| zh#Wsr66Pt0yZ{MHk2oO@_@{IToioTife8xl5tzaTBIzT6GskRmWF|=#nKhHB5UQ~r z@*BR#G_IS1Fh03>k-dTtX?(yI3lim_(+g1(8uzZ35PR}4V4Qk{CisRta#(0e-!O$X z3y&$pgupax1Vkp7@TM?P7u1Bd=;_=M*(EZC0gPXet)e9Ca~{k`<&pWK)9axkHl|09 z=oB_%s}3)67DYn+51V)q@M*Hf*xHK(i;tT|Pn?K>&8t}w_{7si-iQ;m!4T>s#wK38 z1d#zc5%iJcl5mXCU&TNZn-j}A-f)CHJf=6TcI~K&W(B~(r zobWyR3wpD}(dG$hB=mij9PF&N9GsDdWJzMAu@?dG1@UfT3|kLj%l$)qj#9#3(LpJN zsNxDe2JV_kB-v!@;|N2BQJz7vC6M2k)TLHqKaoAb`u9vrDF@i(|lGb#( z)}lBZav07C3ZGEGV45On%CR2RHXOc3ycIE7rxhW7r~(GRRfJ;`vVer;v4n&E{v_X| ztAt6}EtuSzzA$o95(_`l;zIy`#&613`dAW+VFZ8GQcj|#6Mp_L08itU2jGwE;GYmq zyy#^Zp%=Z=9e3&YPZQQG&?Y63NOa`ZY*N6ad=?!>b_K*0eCs@D>)kqVNksP*c*h`x z*y#{`55ch1bkT)V8g6w@ApYc;h&gzfE}UoBEWvy@T$jiPy`n{e_26V%(jtM}rjRTU zJ-sQc(7jSiA6@6G^9_d+>N47gLD5Fq=A1{~5xAU~|+^ zytGNZyFn$2!pH6gZES=QZaTF3P8x9m!i2HulMHG_Co;oUOB3UND$PZH(Whng6(UWr zXRYzHtg0CJZi5UnpjMk0L{_*t!BV~uSmWdU$; zJHeX526d_!lW}3=cUY3h9Fr+ygW8@p2cp6|GfiY<3IZNL;qNgeJ zDR_B-$eT{l2;Bd4)x2&nN2&7sFa z<2fO|=0pyt41Hvc1>6E5hBR{6f+U70TTB@%3~d;qVOw@a9K8IFuq4U+)lL-IZ8<&1HCAJXHcUH3tN*1PAMzPu z;szr@1EMnQMyLB2SQ_YLkwW=Iu$B=ilP!^I269p5v7Bm{bG2-ooF3Z#wrEkt|w-4tnC zND@ah7Ea4bZV@_6@!gEGf424zlAij(6sNE(Q>(>NDi zrzr^NX#E^RFh$7Dkj>?(Sm=12UknecsInMR?BXe`P~(I;L*t+q^z*#Q=U}97DM>;C`(cI&=U<42+*k_FMKw#|xsZYIE`#usc#42#3$3?@!?H2nxT% zVY)j>k9gcg1xC6Azai`kmT-lR1o(Xn5)V!%(*&@uEvF2eNJ1T1s{`1ql-z8QNW$7_S;YqaLvo)i3RlQ72-=BrBS{1K5jaH*+Pl`EvHX@mFg#dhK=jFM zFkQ9>Lya*mcELn0s2p3o@zJ!6`bfn(cp}2c*R7k5TpzIt8ME8w5V!;VoPveLLtjGR z&WN$837NuX_4;uw9M%&XF{{gl!Ub4@vJmNBPjqCgkL{u3eFULI1_^E1M5xlCO8Wu?#@OWHchb=YH{Ug*p6n$Rz<^Q zg~}v~LF<~3%4l?h9$zq`qKS6HyAvG)b-}cyL1^++L1%&x57?6EQI7 z*V%$~UIXcNhxO*YRKnQ~!>QkbS`qtq9^y#CmTCDw96rP|9-qu;8hbYUo*HgL6VD9r z~#7TQN8Ug%uMpxFmrz8zj?3IT?`P zHGDvj1i01H5j8eM5@lmZt5Dbphx6GaU2tuT;4#{;8*h+LgsClA50V%Mq{W6dJNeiDXEk?e`=});vifC31ly4Onrm7+#e= zDU(K{qX!S(v5RBmViHLXt+Ho~{S@Ikso%VxIyHdOH~! z)EL>Cf+i7DU{^6%0_jMB%fqP@yfFv*xbQCc;w}DywF{bGa~IawaT7MCppCxxiz>9S z0Ea)Ka4!z)r9u(%sTfgUDtzyT!=g{%A*U`CE&u?3@eD=0m5S-2lm_9MX&8}b8YF_h zmWk@SABDH$u+>w@;J-AIG_imH+5r*W4H19ih>j?1x*KDVx*NJ#3=UsM;d405lMdlw z9G;&}(v>hKl%AkWlTf7abd1qu6fVQz-zfYZhs`peFr5qxCt?q@(e4a5*Vj&X(Tct} zKH&x59{A$Lgcr8(g*aLQFmakf`H-I;;X4wJJWzHkBA?K%kaKG`WP45<}fn&3O}#HAko8p{9hekK->PH-hA{2g$@K8~nvB}s@)_Be=!O$H>g zlq3NKe=LPlx3?5_j)v%;LOXg2gM(4n{S-6?4JkeaarWcyU!(9n99BOK<9vcgqx{#v z_lWapj86dyXW;M?6#joW`|GeemgNl;#@#KryA#|YgkS*z1W0fR1eXw877$zm0T#i6 zy99T4x8UyX?%x3WoU?!XobNu*z5lG|t+%UdYI(1@vHmg9`|()H01p-`db0EV5qmu2fk#~Tj8T3AcCMeX{tyr) zTEBrP;r;zo$?vi7>oZpR1r&}0h5yXHz>#8#0locaJ>g;?QW%S$9BYJx!UcyH17k~* z;wOWZkBS-3n4=Xi2wwvE;(s+0dkLUOTJluMvIMZG31INhGVtH7D*+t*kos3b)%t%M zY5!+D@-!{&uXy}Fk4*j^kKDY^@fcJJiHrbDZ~bdw5bu94*yMd$ut~$s3v8zLn5+Mj zka>Y+dH*N7@&0|`-qR=4!4bv4*}>KU=gb3sTL+xKz%vf41ICMv&)9YbXtaqsNPNtH z#uhiYI1nhqt_QNg0igUWzIzmz>;EN&K8mLQ7JDAW%zumU4S=}vmxu$FYycXXyy0JU zy&gra1|SPP9jM_^ISwcVyxnR5yq$Q)w2c79X?)@h0sPMq2yo)yrPd;L$XN(&M;IL=B&&JogQ?wDp16{V~zr~eD<;K61alqvLK1A1LMP|Cg!Q zejrl60wUl}Yd>)F^UuEy;Qm8D;QrpTj?e&r83&&9ogeY%XI$}!)1UDPfd4BI0(PE) zRALY~KI!0-0n0()JT(TN;sFR!Y;gT!VeE6Eb`sDaqk~Tk759iSfD8v~rvrm;%XMxJ!pYhZ9((WDz!QNTm zio669&jE!-23j_4PPvXI&*!yph8JMIAMp*t=sp+FA`EM~35dTM8 z0)}wFtINPiHvU_cduVx3| zp8+oKo&o2>4i-EIFvIy1c6!9d&$#>%r#<82N4)rq*)D*5O?2^O$KnFuH7=g&<~(BX zGk(fJR~JB|{dp#+E`jdnA9s&@fKyMo>B}XcD1Z561-S9W1{Yldf5V_>;wdBTJZf}2 z6S!Bve-ZlXNn7a(IHu?`4twNXuYed~2lqbm)z3W8!{LHSu7T@y{!B<-1BIN|PX@dn zvCT7Xe8dIM`1TQRKVyztz@@i0z~7AS=Bd&X5%fqH{f+2)B+~vyz}*5)FWx*k1XN)L zlimKOy7w)ht^GHm>5+*48*%?gOg$46_kasRcL4F??#adz;qpkR{*9=5B!2vjI0uM- z_STQh4pe6bqu>9>)R%j}*SGgizCPLheGixl{+q`BBhmdtL}LPX^~?`|4FB+G;z>4p zlqLToXFtl{{v)pg@_+r)_#f*sgCG8_7Ht4U5G@S#m(l2CKyrPOdZ8GjtDqjQ?bH1j z5hN6T^!Z~6a0`YD)_{b<1E#V+%3yCuDBzMlW8gjvxTMec_7QJCV-9HG4BkRP0hbi& zsnQb>^hg-}jp%wL(*8!kK|>MzbMX7voX{JbAb4-zU=Yx!UBzo4*MTdUtpo|q4@a! zKcswUejfJcQ4bm%R3!`)H~&+r0@#11e17i7t*tK=X5h7w~~$jVUq|CSV)<8ySiY%!3St@hEIP3KM?`lqi6Jf%06U`6$Tz zB}4(jKU)DfC>Z#_6D_#*FC|!1KsDKg^>hsYZ0VS{z>hm#vKMF~I30sfC z#9sm>8X#bx{pHG|AoG_H^(e^0LOsv9{eRcFLi6(i^BmBj)**Q-u`r;@APN6+7fF*B z_%!QF?SJj&$j{4PxrhnH0tv}piG~ej3I#^RhC&2;;zIF3zO1aqg<6FIx~Xt7D1ypL ze5l69*|UJz888Mh5I&0NP$A$8A}Bq?zj{3+&B|S3s5g+1Je8cJP@0gy(SfQjp@1pP zi{#Kam|T3kNNjJ7tUiA=c}dR03rsjx5`n^j;RUubeBQ7-)DiZ5l=%dYG8Q8RW&d|9 zD9)&_j=c0(t?W(jIQv4lq
  • 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 z z_vb@Qx-8rQ{%orLdYvDAeOa$c!@-O0wf1Tk|cl_-st&uHG%w}#7BElap zCkvQgQxho4Uz?@wJLr>JiGN|*BdWnuj^b|Bl(RKB4@bL;P!tWJJ9LcgP?%^if@9vO z(7$CQ@?i-w?1o}W(pE6)jZVZoGkwqJJ(p?q3f5aQwdHj`nDe?rMJfGF5fG)V7-`1C zm)8*#f4^YkJ5zXri`-sT4>JP>@WbqO_g!IZC-~*NsAKOfpyUlT&rS35$;0sLVgC20 zOpt&l^}@t{*Ft6o=|+jrTljV!WEVvH%ihlkMg&$pT`7o@Ih7a;kR9Sw0~FaP0k1zU zLK92+)BdNft%^p&9FeUDts!|gdi3>}{L1C{e^juB7}~{Eg`aF-U2q#FO~?bYDAqhi zrP1;ix&dOk*He(ErSEad8oI{y2lyehYTP(&EIfjIcPyJQU~7W`tqDO^B*sRpu8c^IjQh?y#jf0)+sxEx>qY#p(?uEewBM@BJ>AXDE~(oaGu z+)YPh5{XggCju+4ub1ng#IIV{b`foCCC-1j;8Dn27#l)NkTDXoW-gFR_?}9;=0uiU z+q8J*%%^Lbgy@2%#O56MCjcK3qB%(`1S_}JB8!-vqxG_1HqtG-9_b7VrzcQ2e>8QH zIv}i>^J~mdqosHrdaqqVL$2Iw>3-fYXMwC3Sb5?Lbj2G}`_!;$blgu0zeGv?<=%dH z;KMw*7O%V25@$H~aX3TNt;5f<%~27Cox8M`9(tVe3#mnOcTB0b39+|IEh^Cz(G|tL?B$uvmnR{e3aa!w=KWaUj!hfs#seC|YZVXS4Z0(RKA5&fe60KCqHP_;OB zu9;8lT(OC7$7G}@ZO4Tv0$+6^9lI?wok=b^UHorR`|ve#VyCtj2(Q2ve~mw>4D6lt zN$X&lhshMtwIv?FN`bjlWKrM{hoUd-OV`+j&{G<1B`03vZ~F_0DK^K91vy|l!Mzy^ zzstJfvb8!MNG!7oySV$rClN#hfi;yxvU?~<-3}IO0jY8%ASz|#@r6lmS$_L@4GV*V zLmSexOQ&X_+qW9>aD}lre>&SM8{8>yAijKKrTxpP@QS7v3PtmIXBypJy`3?(kVU@ ztR(iF3{*d|#Cc<-n11;43!sOt2==0IPv~xYf}UG-iDhU_d8s;Wf1ccxD$U}B3Qv9p z=F?U{E_{h*u)U)~SA(aj8fTv%q} z)96#cb1BJ20pIkwiJF+Vg+*F~hP;f1v<>{gc-P8p_#O75)VdB#)45BE9acuVc)kO4cv@N1eq6xA22W}|c$YJ10`!`|uL|MZKJNIx#K$olg4nCLnSi5#SaOmMdY<(|ykwWs zry~jJdAOfi01(T5nY_ofyj7jtv3I)OzZ6t3;@@QN^+-v_9bPdz>%!&v5$B}Hp0 zZteO_?i9Bce--v+sY#UeaF^wO{k0P1(Hsm5$EMpo0msGO}m0wD
    )3l_<09bVIKH>(kE#vjM8ix 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 literal 288803 zcmd3P2{_bU`#;iV%a$zB5Fx_sNSh_fR+cOw`;vVtks^g6A(f>)*&`I95-GIHQiKR0 zl_f2b`rqG~A)@CQy#L?(KG*eJ(~LRi`Au#DAF?H-2V}%;?N|6OfJp#i0LXI{bv`aAVW$akKdi3iEGlAxxNM zj4vC#T}W(0S=(4SS$O=>Jrr0z!N$WAW#M9t z(nDB7lFo@d|IIGkzp)EFVHx4Z_@&}w;p_&oKPEo7zp}{Na%@SWC$38T7^BA6?_uL& z;q2gIH#RT+uiTn2?}T-VALE&hjkD`6m=0xuvK^H$3lBSQgpI!+@mDTRc*KN-N*Lqi zCKoRcS8H#w^t#%@lbkKAJY2_SC;XMK6K0>VSP5gy)o^unBymtnUqb^HhlhHy!c@N$JWyB)mjQ64sS-mn{>Y{u5h7#8ARsA@ z^z^jxTsMYX_AdglT^1pg4hki`(ZLI4I_~sBqbc%$Qcz%!*06E01KMC@V6P?p#{dHm z(!xL|*rH(5bG5c%fWyzz%frUPnZc*wGWV;9p1l5%y@!_BSU`-@UQp-tJ`n*Z#i(Ul0B2`4m!~EZlT& zE{FTck7th+6@(i_TNf!v8<~`BEgCi$+Q(NFJfWMe5=P?a%aF^CAXthxhgMZTlL%?d|hTVHz>|UUh!v z9r|ywzDD>zSiWDK?#^*7f#kb9DLy7?Cmic))|d5UetLiO5>C_Ej{eS#>_?j(y~sJx zDa8FvRgbT@tLMJGH9IlOu4C!Ele!}h1!}r346<_FUsp|AlCi$=eA&LsT6WRx0g8qS zt1dOn8yGGK*Lrd}z`zcDBz=3hw;le<9qk{E$*s&oQbGJSm-f9iIj??LftHW?e1sXZ zcm90ui>LPp)Q53!d<+z12(~m(lxgSu!a8R$J)7vYw5A2z0b&C*{Z|8pt z39amK)fg7sUvyAKwKc7ok;O+)x;8ESFy6pU9{H`G;zaiCl5LvEMxl8P;?;p-3pWZ{zavq z;%bjAE3RLVUO;#J(FGY?)8!L8P9Inxt7XC)NaQB+T;sKzuXwN7wM^DW7jYo$Jb^o9W!Ixba#$>hxYG-#?NYTOOv$ z>VBTzr@pH$T}^N9waS+V6<_UL*0*tkxt5uU<1xpTR;*kq`z{^z>)w_*a#*G7Tg$tQ zD?K&lnisd^&wCYVY+4?xeC`a((KEfNN~SG2IU$YdybXcU=BEN4Zc~5CHMlo0(`ny@ zjvr^E?URl1w}uK;a;|8+sTg=E+DZQ??2Z4?TRU&F@}UyZ4Ti==!OVf#(L66YN*yFb z>kE938D!ZdFBC9*llxZovR?@2!XIxRsCfn^r|_rT&|Wg<7}FQ;MSLanx~$f(ZeaEm zS(LMTK7Nm~^Y1pks3t#$%S=IcNzale@m;Sw@9+<(-;(fJFV5MPaO6vM>B_vo&;tAg z&%o_ja?j6S4d7E_e&x-)GF5G#cFl=$o!pOI%rD=?$0avl517*aEUq|lcYy+pl-5pe zm(w1!SkHG6*(Li>21eoRYsG5Zm6k?r=U)mj$+aZzf z%LEkpT7T|sNa8BZ$mDIZV$3nB8!9}@xZ~-%4ci7R>Eh)?h4Pl4ozHN*q+Lxk2K6EM zbmL;*s3k8p>|4J2q+}p3PyFg<#9fcK?+MGrB`mkBxu3tyM)9#(+;;*ii?67veXbe{ zor6tvZPM-AbCZ(}CD=r`(i3=@t(p^04`L6MrE+DCG#<*bzZRI=5R_IaoiZFE$uI9j zQ<^KW*={hyTE(o95IrE@G9(`UgU{f>uY8XfCC9rJUHn%2(#>6}Z4Vmu&S6;BaI0cZ znd6%G>wlqkFJIN+Bvfc#rhP?<#$oS?*t?z9ZooJ+Ro4>^60fP?dID}@hg-V zI4%m$n=2!ma*xK)6Xw=>#$5ge@c9W8Jr#@8jVZqPRI-3qY3pvj zOM-d6zi6#{!k&&?eVSvlC^+iIg%63=9o~9o2mM=va+s?08<~d(2=5tX*BkJQafb~Z z+O=8nw5wGCqjla@KUP<78ejcy7ZyAP88a(#3$dx<$!B%3-;wIzTpih$+}D2`^RY1^ zdeiwO?yv9WZOrOhl*ykPZl$Z&BD}nmK7a3Ee&?cJb3Wh5rbCQc%9%fE_foVklH!1v z11RY&7Iroa(qJ@rA*Kw9tXt?XNbA^mx_Wz9fx&<#*{tx9rj50Og`%quYCEFm5WxH; z%3(|yU;04jI;Ds~>C5xz% zIw(10Vt7GRB6uMyKyu_+OhJV~js6abwm0r~kRHk)t?23jS}_TrjH$Gm^d@N~c!Nfv z0jCbAf~f6SS&S4Ohr$yHQZiUM6b^@%B7%vCmnBHa;jr*EU2jV-AdR$!gNvi|1_cFa zgiz8ONE*GguC%_+CgguHdoM3Hd1+}YS1T(A7aJ!h8!0CTH-eO{hqO58TH~;eSJuch zry45;i@E8n$m4#QL6q-Q%Pk^;{wepm9ws3ISfjB~(Ej*;`y_}u? z_z4u7f;w^|%##@-H-;!HB_l^b;RrHPXd()W#Y^EZC>#+~XY4p?qe$ci*@0(Fbl^C+ zSUGuH+nAWRdANE32Tf#fGA1T^XcH4J8y_!k7ht!im8*vh@;QkaB(r!N{VA&cOu%Dt zSSdM>+fnecAS+I1^}CoQxD6 zmN$+94JQMu0+BE3p-uEN{)vrZTFwO97}?MmDJ)QpfCE{Bg^R($!o^WTHL`<}s&)I1 z1fG0m{loq_ar2Rtlft6qP#8Hm*n4ou2?cvR3X7JJk|D}c^BX+8oe&SypYljLl4i(s zvih zZr}|O-jLNFcq0pM$Vw2rkpodBt3uKn!A*=NIpdKrFfSTI)`z4w!gvf>wSqq&(oNQ^ zU{9BZxQ3Ok4QM-{;3;oJN$bH;iJHK8x$#@-s1FIYYifN+*Nt`@Ys+KXU##7Fo8HXp z@#aM3t@Al6K0o6W_plFeIvZ^+_|Qa}&&Wf0Pj6mDNH3FIjs*?DeBislB_bhmDlDN$W$V?PEnz~Mah%<6Y;(Uk+^AOiyybI} zF|omH#N(6ew-pKgy0#e_y5?OeuWyg6u8P6NU$c%|y6N`Mc(J$9x{;D)Y6mdHLKg*# zm0awDbiOD~Ifb{3CDtp~^grDsWQpN8*?G?re`%>mvge4wA2Ex?Ne?YAs#&)3-LdrpM?CLg1irVGom78PY$$d< zs{Z&VBA+%}?86OpRr%{wYC1C_RgZOR2e}XlLgEs!Z@N7%CWb8&`qr^iTs2oAUK1JTi)U+P!?6t%lg1jd}7CuU<-(GU~+acoeqmGlq*}&*F}S7Dhj4 z&wf85`cV5m%NKEVmJPy342rhzZ}{3^jP><>f{`}b`siAC;dP*=;*;X_n$w?krl*@$K$*KSyJ1Bb{wu-p-#)KC1hY zc0T&$^(gAeS;>zT9EMVH6+8S7?oL`Gu{xwr>S4kAXFF2$Bv+~BDfEx1eB9dEnCr@> zZZ+??;MSm8qae}i2gKB4BUR(GZu@4x5vV^X-*H|&df&n``+kk+oLTStBrZlYTV{9r zIo(L9brGNXzn(H|ypi;7kA=v?#f#>Aw6XZU;Vavon_ewnGu8)u&uGuOp1Ec@TRf}C zjy}72QqpD;eVxMELhkH7I00wDm2~HD@m)ezhbok=M_lj!6wqg`S#)#(^BJ3veL@Kj zgLK=4-h|vxC{gy6%zPo87u9LA@V;k%jgdui_d$!{*mVv#ZQhEQ!}P1)o!&5Cpm+7! zr}<@4LTj98UjOR68?rn9wg2#4%|y0?EGu={7R`@(TvM~^_Dij^j93j@%X-sa~uJe1`maAT&G=7*JYacH1MpH`0~srr2$Kf z`j7Z3R5D=c+%_y;l6bCAVdP1uyxoiA?YeeJH~R`~N<5TzMF=XF5x;)lDU#zf)T1B2 zzWwshK>zZ!yGB-68c4-G&{ufzwlwE-za?*8#;K}ZBP^DkRmJ=n&EJxb*%o}&zMH}l z5i_X2yK_G+YL{toF>#mbYQ7JJ)lo+sMzZ+RcIkfR3yyqaG$`D4n-^6y&@qSi9V1t; zV@b54Lg4qU4U2s;*5`X%U3|87;C9YF_bc8#r!=+`Lyk7fM8?E)y*L}1ZnmS^j{m_= zZu>|P^@h2D4W1wFFt5pG4!{4H)=3t#Vil_lOA^mU{a}|w5&lOmiv*KiT`-nQIR5M< zZMk^t+=HG3gZcq~gBMA)M{~LBN-pgSD!Z#=dVQaRCXSOuxyyt;eOcf_S&^Vvy5!jA z-seN|bx)WKU&U9V6Q39po9zrRJLILh2evm<>-+bv%aG_XF-fvUzw5Rf;^;1{$|E>R zSE(A6FkNB4^ST7qAZc&VR>cIdu2qaPN=mrVCfZ=^4?s*Le)SaeEfLkjrgN{a|1D z(cAf>z#5T*!a}jH_sG;`Xj;wlRm~u1V3|%Rwz@A$`m%ii>o@fcmxj5jzBIJW;bAK~ zGQ560%NuQU10CZcA2%=YcVGK_Gv7&I=BrgK^%3$6s7RQjeq63%#GWNG+-%os&+Rmd zX?LGhT_T2=`Px0>k`Lgi5mx=6{n$I9XlF|AEi?Na!dq=S54Cc?JjJp5+ZuP3a4&|D zO1&Q*`#i7_?FSrx)j4|A$*3p9^p1SF&_!kpjw|j9F+Vctu9Y6F5FKxLTSnYbP$7aFpl@~8ruTSZ*Kiv1| z%&Mr}%j>o(n-|J0`b0qwQ-p0Ie)JGAu?V)zz`r!srjxfdxsA6Uog zut?wYS^n;qIOeG1QaapQ<~S{8KXOTW@Ajrk*voz2@Ak$XHR#S+{p@U~bCtM`6#kXG zLexF>MXDZY-`B_P-F&#hz|pXjgTS|7nUK5a@@4lY*<>6cJrVqRFPh2eJ|FL_~2=68e>G(BmpB!k!cSlpkpl%~MDTOcl*9(Si)P$F`5 zr#SmIx5Zwc&##dG7@%TTYT;TGCXnc6hNqn?Zk@5tJBr5XOmiMR8{wh<5}BwpwAZjc z)-jXsz=BZarn;D0ZZc82Tih6`O+KBT^Srw_$tCN;N$*?yw6qP5)%Ra1oyhk3B07)X zv;Ac|(?^P+g@!FiK6A~M*)(ou|J5hciy5{bo3t7fJY*k-H zuR82neJily-jmW*jo!=-VV&=bFQq0ioesLoFj)ASW@Y2>W7EbJ`QBF(cfN>-uB+lX z6#TZP)xN!%HaN07x-BdFXMl*!S_^@?tNPmt18a9auTc4X_w zlgeA4jZPi&&M5oR81Kxedb7V*-_+{xP2HQlPyI5KqGftz;dHMe>rOe| z@S8VZSnO5#D$e1E`1tDQ9WD6yVV2f3f>X>#mNlmOK0k6Jm6G`TeKiZ5g4xPx>`R4i zw+PwXC}uk;8I_1#6#8?|r?%ZHXByZO*y6Cs1ZKBBym=R$*LgZw#pHna>` zXGY6V=0j8FLsRA>rRBgpVB?dIy7}2BWoMCKdkd9)+5z!3@ia$RRClR5cpIHAX3u+XPOK+a7Qsxz~| zjnZg#h>){>hKSH|h$|0*W_WN_BL^^qONgK>;K8{lN1!SeG1YRLtWQzBe`CP82ulow z$AO0u(zGymj1;&!0U`KG(NrOtGGIeifo4c141{QiNNjNw6r65y1c))t78FSzn<*&d z=mk$b9z6B3NVpKZ$+B?t;=#{KBqG7)e+_LZX=`e3pepL1u}N3&&kc;EM9vWW=;Fl5 zVPO}Aumda!G#HS2B=8F^UKav?4;1^fVAzI=E1^6kI0*pN)D*lz~+%I|dvl zgP1}P6{en)GY3AJR!<7OOn13JZU_Ogp)qneSiyi7VxJ&W5H^;=Q%=j~Pk| z7TLQ&QK8_*A!qTlU{97@49QF%#RE|@vPS`eQ2!K8gk$&jkC-%wC?!Xf1w$AuMSw3( z3Yvk1^RI&mvY-^gsrBbzNPnhcFlYd>u)|LtJYH@63v2=$O_Sq;NVM|bLBjzc13~o3 z&mFG{{^hxNFdi^)noJ%%-thk0U@S=R6aiJx8~+_P9s|M6DFUh(k_YCmqCw^|4nz_M zyWeEk<2RN+VI#qCB2?u3Z8Ye1<8Y4)tWF4@PKdIOkEKospNh09!tH83w`MEP;y~) zLdh1(#$!nqr&V&rG>)8#52c|ii^)={u9`R&l+Y6Crqopq#-~<@H1G zfy@2MfYg1mEd~46ptwJZecW&2eC`5w>BgETD1moO&kuaG=Dhq)gXi$4M!i7t`^uGW#Unr>b%k$5j=fyN@qu ziPD{0X8kZZqlJ(2mqDNC<0R>{7R|gat;|M#iBreTKQ26ZRHNnjoXd+>-909e68GGm z$4~ZrWNFgT=#PpHIyRz5*F@?+8=3Ph?nqqV@h!prYb-x1cOQSM6ScMQ!u+*6)UPaS z`quVzmuj5WqJ=FFn}T{7f941nMjY@Y%wJG;P<-y8dV=`Ug%zoR_muZ;@@|`-#<#|- z2~{NgM&st@R0{#Y^poNGruWxvMIlnzM8Y+-p$n4mG;3ar1N)>NJONbhzLypR8w& z+$z|VcMFQPyIQF(C_60QY<*4nOLN%1eAi4HZOvayTsk5pOPaoQ`m=kybw8@ed#Jav z=rp#dtB$v8o3?KE;lM^4-8CQhnFXYHtiEo(Z_I2Ud{F+8(K`Ke){i6k8$5BE{A_@VLqHv}7BO@h1PrjbRtlmFu*xD(_=@%U6c?vwxc)^>#PUrG}^6wYL}z zK8qbn-$NrJyJ58kN8(UPWz){MjdA&Y?&sO*`>!N#-qzCC-Tl5-tnS#7j#HHz*Oapz z4=K;Sav_{+g;Lsj7D9az=a1E{owslHcW}796uAG)^e%U@-SKiyOZvFuA*(cnR+*)J zw#lU{SagCx?~Yn!eu`w^wfRZ|@)pGkyMp!yM)~t!D_oqU736~9X0O`uRB8CJ_4|=| zE=^vw?1}=RM>%chC=t_9L1Hf6EMJBR?lI466C2Vlz7q_`ygy_;LX&P-duaKV%bd@1 zj^8ZgSi>e)cszb}k?-q0*Dr2J@8#qxvwkR^H*X&2n-({gngQLanB=r`AD4y{oZ?IK zOluAPXkD{5b0}9dyp|(MJ&U87TjAQvU6xIrn}<`(IwjA{Ens=OcKE3(Uxmw}1sNTB zjjF_k745r2_^-d_$jNhgN*5cHxZ<|Ml6e^-zR9&bM^jpNT&ne+_v;qV7xTLEfLEKZ z-48Oh_it6WNSh|uBle`!vGrOs`jtt)>;02nPS1tdhOCUe#_ka`sb!W?JFNd zqi%Sw`!HCb`KWnON`T!~H+%?t^9K!Lu#W3>R%M6FtNVOc1zvf#OJc6rkX*FJ$>aM3 z(&*XGhu&?-i$0Jb)Bji)eMI<5@O*#UV79mVDWS<#!WEn2a}u7d6H`j(*`!`w+;?_9 z0UMgi{N9^ai~prq=ABOB(98N~Dm!cgR$c2j7>$xH57A5e>0z7I@#^Z9CG&U#+BJXG z(mY^Uon><_9Z!f+=#7CC{*pi9m%@2aN8xGsG+TM?Sv9DLF)xin?+gi6T+fi@Hdl{Wo~3AH>+srKn?rlsFLSQ4+lrBD z>yP=ac4FSbfb+>+Wu{1@&b4*vqgA)I1kyTwU>5i0I+^Lx^q>|~>;dWLhU@>U(8 z_o=SvBzMD%&inK)^xaIIBAayl;_Psvm zF3ahcVBa=)_RA$n@0QmG3^eOHEb@wIByPUcdw(NBa$D~ekKk-S&H_=ErXhK+^oIv- zmtK1I(|Td!?%+G$KZ!kQVleQ|FU@N_GR&23DA9D-_KT_IvAk0_`U)eQd-1jngd6Vp z9M4KoIV-om`k-cgW2d32c`w5&Y2y8l4Kd6;HS33kPifL#H%xnct?u5v^KUc#CB(w6 znXlcUrJ(5eWLKaRrt$-i`z1O1)z++vG?MK%wpepr*;)5;@Ksm+esnR*naKe-4Cs5m z6+^Ne@<#xUtT#*uz#-uV2u{r)00){AG7`dBlrS2OG!wi>a3G&k!eNl&MSf2Shk=4e zdXJ}s(eQ{058o$M<07w=`5;x1{5fSlQdKSTcglR=J|_R2G9RfV7XD5uctu_*_`vT) z`W~sM75SVpAGn^#pHt=|6{RA7r_4vB;3HD-kt#{y@1)94O^V{d^C&S=B&im`171qXEBSXIiQVMS$#lU`@&>_SLiwEhTnr^q5CcXL z>HDNSOPG(6CWxV=2qJz*^4}@*LCz`pJ!L*pQ9X>qlIaYdBl6!#<@3nrWPB5n2uU(G zY6wi%)+We;X##Olh?n9aCX10pLqrlsijzW(1~sle2kS{;8j|$S6cHFpuxcowA~2@G z+Yiz~l!0Iujw{uXgNHhJJ6c$n9j-xD^Ms#nMEJ7B~OtFu$Xf$XFjz%KvGSdM6pJ&l72M;f*cmM0xc})XC7nw%B`pCB^-&O^rvz9rL~z)F+k+AXp6OnK?2I!;MBd$?9tQ$* zD5RPK+_wM_Erlmgxw%cE5VGUX6c2bbp}YV^!Gndkp)8z?)50@pvn8nvGX#WW?c?FB zhWM%!7Kw>Lx(pi5N(h{Q`<<$2?-biVNqLzeBFv}|L1Y4nnT!b$lv!a3R0RO0LWCUe zGev}kyaDjk5in3R2l@a8qGCvv|1{#yQz1eQ@|hySBlQlzC5WlYLP`q;iK!xqA5a!V z#8H(vFcl(1<(VlWa8lxsr4KO%JOq+3u)C6IM2<&Ov-D?oBtU>~=HQ{|R0he)qJYPO z2+Dwh2(`6Hc%K^Z|M??f>Qj5PiO!6|Dij{!A*6vGh^{+R0i*C} z6g(CRwa{RMPOD>XqG&h%@I7xBMSJ@)jtjJ|9KwGeD#x@FEd^J$nK3~Es=9^AUY1Z zEO=RvgdyN7HGH)4f>sKDs{y^09#r@-?C=}F5jh?3|5JiB8xI26r;L+@q70zGs85+fng4_RVHP?B zhT>Bm1&;;G3>*^E!2aLkqSa&{@Mv4s8A&ws#zJZbaj<2|folrsG)0797(yB-x}k=T zQ|%A4&>+wRFhXJT#^E8i8N!DUDwKkEfKP@xSJ{;6GAWKZ(>)YPzy+OV6cG}0L!!{r zz%U<{SqI6YAi@9^EV!yE%%TR<>?Dg6zMmm@NUw#qLr4(y zZGci<3Qwt)t4YVJo4H5;`6Id(v<5MF}GjvPC9@Q;z{@_)d?S)AgeQwMayQS8uggH%^XJ@)@5 z6RFBigIvfz;#A~B-I;D8U}!^URB%2cDWL~(^&RV)#l)7160nAMUcXBW>9JeE|O zjr0JffCmo-2FfU>0UqJ^Bzn$b7eO2sBzi(DQV!^ffwo4_GzjPlmK%X8r~XukX0x0} z5rIY~1KK{c_yvO)dc8pImMnFBeWxVSY?diJ8dB+CYoR~_eT0ArAN7!?%myH*qR&v6 z#yAI^9SESOjnN5lo>P?=IVG89p+k=%!pK37382m>q_Gz(pp)KwVbpAN`9fu? zxRvLhmm-jBR%T0XC?S_cHeSj)ruiJZ^?t z)aaTT!wxiw(kvD7Wx*i}j&@n72t|X+50|7+ z!{DjhW*Ab@;7l<=!xN<2Ha{PnQe1f^mkRpqv-fQy>(ywIe{`46-fa zp`$GtKF7;aRroM^?JfE0)!*0dU?y~}f{rNU(&2yWv@?Eh|8o#>#|V+sgLdjxJD3S= zsV0qvf*0hLDWvVF9BdzxTDXup=#CQducN`*kb@MJNuwt;X!`4DEF?q1aWi=|QkMF! z&xTDL4d&qF(c@Er|N3kw%tOkbCyyRqIrF#C5R!&#NTwP+UX%FiXy}NGG%uX|?0@7p zg=0`Y4vCXfjUIne{`J{Vf`y-|J<^26Ow(_=^ZRNN>5acz>-@uICa@qzZ$_c60ndb@ zhSAGRpphxn4S0;2j<=P;WhTX?$94sV3_VvXbmOG=&{K@Qc*K8oiiA;J=G?q?wE<^B zG6nIwwbFx^&F|)`61E7cG&++@%QeQb2ptN)p-}%c^7Zas9SOLB(dnCMN~u6o=<5X z?XOytG+3R)n%31Mn|aiTqRe9s1l--0MOUgUbo6+fEYlf-zLr>qkHGYb)dHD31 z!yTRF*3pu6n-AlTgm&b~)_f4{Wf98ybdza8r0j(^1*d2<*`D1!+^*qi%kz9bF5*(I z;@Q#%hjK~{lW(1W;1JctDNHDJP*1eIzKuQOYyQQD+vJUJZx@%b(X~zR58SEhu_x@4 zx01ATb4+1H!k&XZ?_Rg9Y0D%Yle z)T%d?cJh0$8~5O5T}tQ6=dag#tuDqd)yjV;&wHlfz`R!>D_6(J?cXn3N?2C?ur+E< zDaW~UgzU8LO(nEJIS;-jJEQwP=1UIv*L~w~xFyQ8@Z$ah9nn!88p2-mEEy-RE=*Th zU92Mbnz?lD0pr7B{5mBMPh}~(oMu=ZxmT<5z{_ImciA#gZ0_<0SMbd7A7I%p+fY8p zb=tS(=ZdShxU%`?R%NH;ty;L%AaKM~_)SH4mvnyFdHLQUCG)4sWd!;3y*C*BB5%q% z;RLEAa@`^?oAYd*E6A5R_s7bJtlrDG3wKWn9kC4U$98l|2JrH^Tsf{>@lx~5P`P>G z60L@~kq2q-A2{v!nZBT2CPGEBI@wvae$G+u%eiwB9;AmK3Qv8l+x#lWSI^khefYw2 zEki}I%cVEGR(@EXu}|_fb2%OR0xWZB}H@BHED`4QiqIp6UyNh0@xZx_bOE zB1=}G{a?kZGcXmHl-Qf7W$-a<((ZMf6RvQ2{XliUAyKb3;O4oc0|(}6B!wP}E$9k; zWUwlhyEek(SohE-p4hK~R$Gb9LwAT7YFBKQweH>UEjdV`TP5hobA#)7Yu%2@)!EeU z;gDP*`SS7YPdccKXuV?&Y9|)nc=O7?{)6I*1DwHu%?a)mI9e+UW3M1N?7`@3HY!1y zw3lNmE3!C`CpeV(KdqOt}(YLo9uA+OMdHIy-{W)C=X$B6gyV$U@J6kSi z;3bm-;gMk5Et=>rMceLq9 z6T)+z`0)H_Il1-%(;X!XoH(K!lj%S?uM{u5?ymfP22_go9E2&rjL!bmI|lDICM z-MaYR3Prj)8E)&l?!6zrVM5N!c(W9((sYVFIUvBalN*m)8lf&HFD0GYze+IYw(6&O zEax-szvSN_snn>sXeZn2We+lYuxv`dLhsfmtm_%zA6_J!l=P9=&6fB~>w`wsQm2#c z*VJaNA?nuT3%ct@!N?af8AtW*4o8?Ag6&4CXU#kxmrXSQB=3 zNzMf}Z;bDd$eID)?dRvdiS^uL=F{`-9?!9>-Mw;kgHGq~Dt|9IXCdYIeZyR{b8uJ6 zGWFeVdllaa?#WV`o0lASgN{oH7-OB9H&wB{zp3r4>{i(vON95Id6Z>KI?Dg?_e7c#D1$ z&1Sf3qGKD&`HumiKl)QTzOwFVy}$kp`Ua~|nJZmoK-5Sqd%kyo2nVsa?M}gKx30L$ z+E}*2M@a`c90cqOSN(KfxpKeX9M_n*#{*yVI{X{kq8D?XF5=+IKDm(3_oV(Syr}jo zc69vJ3?FUZ78`xt-WM-9x84_gZdLbT??>%ZJ8Jo}L|N(636j+pnoss@*{AqvPsr}~ zefwe#{SbI0GXHBo{`-K>b&e=r4Vo5Or(^E#`hu;tU%d1!*Xuz~$ITz6ReFP^*^HN3 z)0pn-g_&kwKCqC9=lHpMgi&m^&iaMsqtR|=5GU&eni!xN_KhQd?a9HPVA|__E`3Ehy+PhvLMT94wXZ>C? zIyF9X*$Q5+oRN9%pAT<89?iE@QbZ;1%$0Rv>)xFS&iZisQP@zvM^|iGo|Cv^+bQ=; z-VQ$JS&i2oKB^OSnz4-ghWSJNqrzY9Y@RO&h=~`dOO4N{9?2FBE=s+4E>r&FV7J7= zEWg^v^`gF70*0kl_*ES74CXzLW z@WFk@E(QHPr;jlD+BU5*n>+CSS;!vF_9eacqHk}Ae_3<0#6X^h+bv78C?YVt=b>`- zmrbdwBEI#m-*9iFYTW|K6)nm<-<4L)Q{T|WB4%`7yQYluYDwhvtBd`@RyA*@_v_jl zAn(uq#UN+hA{O^%`^QUHl=f_q6sL`lX_Ss=eILrFtC`_yXd!+Tvpy$q*%`@w#wHs6 zpDgnnB%KtPUssiw-tB#nXm+!tROD1q;fFL|p~fGEYR4*54UJKIAJRI}n$r;OoO!FO zeeQv3weF20ud_C-S$o3j#mx{e`*%;9UHM(Ue<{va8O$gSD%!v6N^w!&4&lz?N4oK3$peTKj(PkxV>Bgp57VKMRg6Y`je z7^!b|4lOQ_YbBwFGAR)U3t0(ZC=(#{7~JX9codxA%3N=_mio_tA?X*)5EXLkGc*4byyW~52eGzc}#8&;>dGZehJGyet9 z(;VDZP%{F#zeGqG#X{DZ95hZPfcF7fG0ck99^CgAD&b2O<#+2}g`^U+Xng@Y6z8CW`h zj)Qgr|L}{!O$NUhJa3TW2;u%IM*kC`$3_#O-3%mNOn&xwiTe}u*l6T78EE`AdGw$D zmGSf%8x8jeL1yL@qsIpg{`zd>W*hK4PJZ@y2mfD3!$kmad;Aom|4F3Bki-2jcqpcw z^y~?>jekBHuBU)BdbqI`ijsislL!B^kWmK1#tq$yrWpOFD{nl>e?J=f)l9WKCe+UT z6*%IIgF|C7@_!Pwv1daDDw69ndGtSt+Sq8sl?N`|$)o>C)R3EnaB!^smE`{GHh)0-$*{8wB@g(|3>l&y>G_(KmXcie8Qd0 z;7R{|wew&7pMUR0KH-{Y8RVjH*d=w4>#6?znrBEk9=D~AdPZeH=Og{cAidGS$;-wA zZkBek@Ul_1v2wMxVSt(8x)~b_X9k~!4&GNDuLxh(?6{z{BZW}PZV>ITdv^n_sa~tF zo8YUiAP|4RCXcftTF>$6V4GjS93A?(^*YgnMgD!E^ej(D<}EGH{VaKQq;u2zeZ^*L zhsyI!9$})zlWZUM7?s*CJi6)8@p=!uAIC__{`wP|Mp>PVnT9n@?PvB}tg6i`D!HDw zlCkN{JLl$Wyr;sPtGh0ye{@%U@gZ}=RdoEv`+>xw&27(D^d3nN$hnnObhGP$P?oPo z@sqglfix4rGEb9Lc@iPwSq8c*Z9*jSAMZjJ8}6H5DlH}w7bDiO(@w;^KD6cZMz!jU z2>bXKop0wmL=P#t@vJ(!)YkcmBY@ZysU>Ke?C7N}?E3vWpK06kjYQA*(oTuS8_k4* z?7O{2dUbb+5w%VFjBl&FL-@A2*Xf;{mm-MT`J&yMv4XaskvAMe*hxFI-Lf?m703Eh zRg8aqX2RawO1`}txLPmtr}4Kd7bN4sSzbfYfodv(<+(ZelbP2t#g5Lc{|sEsBk`ibs>%;0qYK>&|NhA zqPJt@>W{azCS_FvpTmAFALKS%Nu%Z4lAj$uhg)vbaoP)Kb7c#QoR^vql1>}y%il>B zY<_02w9NH>>LNorrLxlzh8G2$x2#a(m3Td}_JI7h!W5}jF4g=ECz20JIDAM`DDvGr z=Lo9alK!)(gcgQf{Y%y2-M7+@ex&0?_ut7~_wcBKGVAA9W?= zNZD`J@ho}1Ki>`a78mXvdi~;|Qt_Os6KdL_^i_A;Ki|ssHS!91Nq@~y(hrxUvhj_> zs?Ukajy+56G(1lXz`5RS}MMO_r}amY5t+dId7}$hjN^cTW_0Sy!TC#=-i5a z-k(tqLKIT>RutT-~2{{dVK2hle+9skSq2x1PI??P8_i zlcD;`>s3ve3%eS$Ke#Fmof2NTF!!uL#}A*sXg!RryH0WRYbgo$Tg+h7% z;#Y-1O3^<9#9r%2MI1c2jP=;CtD^PFIj!+~S|2#bCyn@py3vL3?vu9=%XIhUjxlSd zFRUDLsCE!-6iJIs2_M?JcGauidOzC2MRxDdJC@NcJ00{X?YrBzLDTwOAH>T&yPP=> zO3qz=XXwW7s^YhLnd|9Jc4jYsX;d+GGAR%bLQ{opB>!x%HKHH34?yE}9C)}xND z-0c71mR$7p;6c>|3u7d*Hmo_RsGH@t=Ebq0pa#Odg=&hqx0%AMRQJDVc&lAdbzTA$F^=B4y{>2T?z@jK8~l*<+N8Ae`|gU=a*tT2inc)d zYZvW9n=$gzr)f)Y!t1321&opwRjF^_D(q!<$Gons;&LN^}&WhiWO_e_> zEg*5TnQ-i|O_gNpAdNuXXtulC_C8d-_*wp{ zE{jj0_zU9VAKt4DFgM(A8TdSJv8&nFz@68h#N>$T{Mze$kr;W=veZ8K2uJzikbMNY zoD-*143h4?_WqXB(4Z&eK>xnw`4yK(wF;Sv4Kz)SZBJ~ARtnz8vE*jkLR2vy`F7#l z(kpI@L$I`L=liejUb!eNvLU-^JQ7T<6 zK6_Kdn>U6hmzz86Ox8JSwOCc_j&)I!J?>^e}tQLU{3bf&guma*|hnrnClTGsEx z-3vUkukr?0tUcy(oOP*11--h)=j+E;9Cuw&6`R_s*8e!qQHge*io_ar)3fp-7h;yx z7_Xzdg$?iF|7u1vu;gB5|B3c_#`;EIIkImK?a^ven}75{i^*`x)~~Bdlz2^JH;cEG zb?e;@()yLWJ)`-~*LR`&MEG}a?QG8ykXYMYn3CtLeTC^nE`5Ag$%SI3kjJ+V%Lx!F zS^a*=UlzU{6lI!jHL}0L$lg!vMPl*&gTZm)uh&Xny}x}sC!ZD$F|uFS7%Cn ze3Nr)@N&9OtR?%1(W$E34+S-OsZMzG(6JNliN!>pJg*f*0}M&A;uD z|G81QgQ3nz=wqrA-!WRxxD!OeoI#KIos~sDWeACjf6Naszn?mIJ@@{JT}tNr)f5aL z#@%P>@BO}?_v(s!zc$`E^&(-J*~h~TCOoQHUj+TuZSqR)dl_5$$`4z%_4dHs#Tbs$ zS(du17Yi?IjXpaVU?zF)2d$Y7PG+(f3sQ>5=@nCYvB;{&gzo0hAOlfdX3*Unsq;pZ z9yDfh%cZZ2sYBuG(S$@9U@QIz-O`4CG6nIE}|m;6e`hoxL% z3_Z2TpHsSmLsbar{rIliWLk{c*VA>5AT{D(lt6GCa?3CXp`cj_bjpR!lLRzX2|o@l zR!-j5le}}YDLO`~#Yw0T8y{RXNX9ynsg5*cb;qO& z%b@s+Fp7)x3eHUGaX|xYk4cawFCMDht4J{hQi?JL3Ct}dVQ3nVcH7&yOoD{S=WJyP z>IxuheT;cPEFyKCeE-h8@%HL8MSYBU6j&f*vS0@ygrgD`;xMHu6W!Cxc~UMjX$P7i zMUl!H97F+-#=i(fq4p4mxQeNVJ|&OG8{pF<=GY2_GBu4B4chBq2qz;LgMoVck>p6K9vxOj3Gg z2pwE~uvLL*jY5Y)aU2wxP>V%2sgbBjTs68QYtKqv?QhcNTk&a5-$JW z`;oJ-qoAc4sjm(eE>6Kf5E>dYkZ+xbZnki}3pLv;)vEZU+tJ8grWvva1N}9TGORJ= zfEeyqf-VqLBe(OgaCWw!?jorvz>iNCn5Gg#KFxlEN3>SBU}ZYsXG3p(uvX4*7nI_qB&{z?RG*6;PJ94czQgJ>F@UtQN_#GF5{vZUvhkvW9 z8_%mh2f<~Or0PF79zgad=K&#CeEsJ1Uq_Ry@yRJISm-PD@1v14HaTzr{+SqpozS-7 zZ_mafo#CM4>*UenSJz)hBORt7<8Sh4YN&<-)eQ%>=H$`iMQqZup}7zS@}7{^#zf%Y z*Zw|wyf608(HQ7Xg*5j5+oMVGjM0Vtx5SX~=^qnvIsR4`2j!J$ z%B`M%Tucu}DjJp(Nr*Qh9e98j$Q$Z%K}fNXQM9Ai)Z@Uqq&64C$jFmVg>~Q8EJL4Y z8fMRB?pqft&1Ez@hFc6K(tX9!Lvk2@F6Jue zq+J=H!u{rAiEr@(LbrZkDC>8jgT{wfrxdE+E%r^bE3Damxq3+dk(p3rYnh6$ERE5R za>?E(R%4O&15xt)7xrpI-H&`6`c5c!MD^*@U1#KWYFs^XeUWY4>G`+n3>{wR)HKTX zFJL}&$-~3BqL#~r{+wmFOe?GAf+DV8OCCfW3->77uO!E^ZEN+K>Y*y^Vt}3-Efiob;g|m5$v}Ik^13$Q8pNwnSmv zwqQ24B=IL~B`wGLxAfC)sg~b(y+J3?DzRYG#uy=56MeeJgvYNgTWqtnI4b6{{6~AG z!S%?aYD{l(*oNLFKYSQgdF*vDw?TB?dExc>^6T02ScB?wox5^_-Az$$%aa1%W!r4z z{GpmnY%&VC#dNe`2;(Mvh&6TFXPev28qKSgyjriZ+|oGl1+6eMdgmE8tguhy+wPSK znoc7}dyGYJFBzl<-d%sX5?!(7a5$Y0YtVoJ?^>hdidiz5pJHBq3_!D(m?SQg2~IHx zAkv&b^HkHhkZ{60w%V5(OD~PYRp-b@m*0z88CkB? zuyspSEKRig$^&d2`7)vm`aSRDB}{Ny`#4n{zQrhiA8Ji0+ZyE*VUoB2t=eFwFJqpnob;_`h9Z?&mDSV)xumK-IO5pwYjq%vnV|9NnsQHrjnwK zrDnzYJf8wKaK5*>#rz#x=YPm?!20YHuH!0oyH*rca#^`$NvX@Qo1Gh39hvs!JR9!{ zRVL%GJCZUBR}bwsU%q0|R%1Kj9{F{qg$+IzwmmYvbG3KT`!Zp!s!Ct%l|m(LynvZ( zDrUG)&a9ju7Rg=ju%UfDLyux_fzZLiv>UmcuU{waQMqyMVB`J8ea?-}5n}HT$M0F( zuIJ?Kwl(*jkw^4=jc9ssJe0F(}l&DjM|>g3nf8eJEWy{C=83p?zB+!Yh>u( zxZ>Q;vsx#2YwbPrkd;Z}xlrAb3kQ|`z9iFXtsk)9$vwH9qdGNGE`aW7`o3lrs{-o8`(&U{YVn0PZ>W}-#vE*R+__`A; zIi5a)h&@uoPKt1oT0ua>n{t0N_*^NUQzGM_jF7)aiHwt46CmHGM8-+&0^mJ_gGt|` z+;fg3ag*Ou=A+zmj-}jl4slY--zkxH%01`cS|@)_sf$5URY~)ZYB}IJlzYyRo{Z$r zDflSq#aME24t$S-k8;mBT;4|hJ|#U9R9?z^3O?v{Mw*Xu&pF%>LV7U%i-D|@SA{70P)j8YY)VQjEC#jApS#*WjU)T0{A502h9*X5}=X;j*o!{#Y+x} zDo_u8sy-xSq5FTlT?sgpZ})DY6kv5e`i_)S} zTC_+=l%=SYr3FcnWGP#lmj8L)nGrMZ)H~+?{l4q^F29j8&;35{vz~LG`}7eLlK3D2 zs{vhFRKX*PgdIS;n~9M~hdOzA`Vp O&iF5;dbwl)hpIfpm~6>BbJT0_wFQry4dm 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°k zeYVTeb{c&GOyO<=Y=ZZ&48B*cMNLnj&+%QRbgTC3l&ei&7r{;#JIt^YKI-=Iq9t`b z`^DiKQ(j!NI0(dWE7MPxyPlR<=j}Vx#`va-Jk6Hc6h*G^m1-8^9=Ym_{iA>*d`<&T zxw9cLR3-mSbYMwMaE|lWlwo<9K@o*w&(eqY%d*hB-^I*TGlm=)X~vE=Ie}+!?*}#w z_CiIj;oLHaNr%mR%G8LFX83mR9Ga8gqnKdFDlUsF6RGBJ?Ta<=!owZp-hWbCoMsh# zf}Y>qyL#LvU^XFam8__Hl_3-VhR#rIh58v`1w*v;Jj5$>%ea^;ZES5FT0?fRwffV+ zw#kRFQ?#Uc8qw$b^W@8+=Jh7-QlBOV`8kqEy_-p1 zZ`f5Po^!S7!fq@u`tmB{>hkyRe#pTnGaOw!E+4`YTStm^_R$X0l%Tca1|=X!!ri;q zYw0)42=OK}bH??WN{(;N4?hj<5%KqOb#uG-ysVBw;*ynXFI}vGkT^6Uv z@=9+{Ms5Yw-MWZn8a$|Sy!Om2yFo{7te&AN>#9fe*O42;_h*T>71!if4Ht>GzkFl4 zF&`^|9e4@)0M};Xw8vEIJqSQ=<12(xWD19HZnS zBi>llY~C?_CjOlA*%gPYR$`j6=PppM|BOah$6hGHRc%Q>Mq7kS+$H_y6vh3)toxlO z?uBqWaVhC@mPes!kRDt{d3 z3|*l8g~wX{8Ot+?(gc}@lQDZgo9lBvOc%|(TF7?V=H5w}3rv!qMmI_>@Um9Q1rv(& zxs-f(;59PnJ~G0RGv+Q=JnS(uPBHdYnvR|2$1*l2o#ou(-6Z>Z3pQ8F_ZjO$h%Qm$ zq9mW}q#Ofp&cIPC=^i=X*82tv@8qOTMyO4>(35Ucp05+f9!Ic< zA%2l{RZPWYA!+_Rw)kB_Q8{$RLktq-KSR_uv@6nC3cS#|PMqM5(xI>U?CvIl9jGVr zP=QXTam|H@XmMhtO{tU_yK`mkjmY;H>DT6R$MX!Iba`L3&b?FD^r~Z3);J^}RW3r5 zdHTH9i6=9R^bb9q1{ZrRKS|=Bd68AkF=Ho#K(F_EM3%AT#H)W|;#`?sDuWS!x2r?h z8-v3i>{gtg_5GmbGAf_kaPn8p!Y`Y4Vx^#oF~w}rROEQ7iBCtr>6qWPaNH?g1>-AI zwIVh5-8=yq-f!k~i!aHE@-Eb6p1fVvYms`#jqi&euO;V0OT_{us}us~yjSXV3dEGx zDlqdsQw74xp4{{|(4p)!)W1~S*7W4EyPLj%)S;;9OlQ8r&a&65BS-IWM@rGt{q&cS z|3Vaq^?X3Da+OlBqZa{V0r@R%HM|96r#t-J0b zyF-T5c@&T!;1=-0aC{M{;i(S*!MGZbWe=*QsFA5rfnae~*pP4tRBrD9AXsG+E}|O( zmDhU!$P0`Qa3%m$PVaBPy@5E;pdri50reY|(+dlRG-w#&Hv*N^3kwDsG!kxLi5hnl z77S_7aEd=_+)-FCAbxYhDgHn`{j)Uf6&N6XbHfn75vXxT;ZlZ(-#jqHZv=4e_{WqX z;x`Wr@f)$z<_;>sf7W|JeS?J`cUsrKo3Q+iy}PIPLaxXEQtzF*^aUcR-e@zV$E3VM zz|;JNBpUzdC4QMQ(PNhfdhr~Mdrpih+-7{l6Efw%by_XrEAW_oe(}~aJn^&4xr})Wjc7<;xtsvQEto*=s3f8UhfFuh z|Gh1u_85MxJfYc;+)<~fbPIEPqR*W5O@wP00v1n(-*9SsHR$Ro`QR6nQY3yWh#g2! z#&lQYi+^H7g|}UKV|zG6MH#(`=cAycga7qvZ!Cu-Q1ah8T)n+p848#*<;d*5PLqe zA0EfeZOX(1iJWT^d7dyn9xfm5Mf9OH)*Hoa#1Pnr)pD;$M~I4ZU{uc96JBT;G`FK> zR>XfqNXOVUaJ`K`!X`NcEcQfV(<*p|HA?K%wYng+YWiha@LSDZLo z{jB(NGAmL)+zoqb1DIyLeHcp5y}0C@M<#IGcb3h%gV>tb>4QpuvGOM*#;x~WYk{}O zFt3ycq+Z458f!EbK&s;<4h2c+&$o=pH9lCE8to%PtM+kQQ+pJwefQI7)OU2=iVL-7 zp}uDw4D$6X77)(MNndIv%UWy3yc<(C=f6E9njii!Nzz`P9vJ2GU9-pM%@6(b%)>QF zQ9?gnv^+MxM!Ed7Uy)Fz`YC1N%!EyQ9EB1(y>#B#=TEaP*Q~KdN3uDGqHZ<*w0ri9 zbBxe_Y%D~XlY{T+^p@CzFl{A|w_hK>IsN*1iIs9mm4J88y)-GD=ItsPwjq8lVHyUB z^BGjw{%=!0mm4PG2Oi3Bep2{|BI=Ust8MAyM!s*SRLu2x8$?Y!)C2On+@%}pImzSp+l<1vagr>DHAP{mfCigL|mDf z-Fj60tK{X!tVo4P^@-Ym9Oo)zp3x@pw~FlJ%!CqeV|1ywjmwHm`g0k>?!~bh*_Mev zg9j*}NrtiRvdDMU*!Y-uxcD#3g?$*zB*IatHCMs{|x{fax&xgv!$Vb9sxqn3RlZ#K`pr=LwwIiK@%{*$F;4%R|~uSW*`0Luf1 zz$bG7%*!{0S(-Yt#5rUAy;Y_+V#Zch0`QR&jAeS^EBA56jooqQzOh~v=$FU%@vP=s z1L?+_nQQ6;1_1~O887iQ{g;Jega+$*=iFuN`fS3*1wXCe)Sn{|mX4%k{G4vRol@w> z?3~L?NkG8%t(Eesn@h;jrtl*)Y`y6__RHm^Vrw|0nReSSs@QLy7x1ds&KLT3Rcy!E z<9|}cP-8+Pb~5mvC!-D+kp2Y*f$E#_TSC7&ToB(J*nVIpW_G+r_qshu_uHT19vINV zcwrpG5Wg{g{sab|Fnquhe|NK!yba^+o{3*9wVBK!ybazcv_a zEE1J}42u;6o@p=v-I1sSWLPk;Ov1<)5|w`piv{6g-~zfMQ3=SfV6YZ3Ok^I&to)A> zBESPY(_kE}kic{6pTU3!3>VKGiAq3*%QeIUhKuKpL}ehuf&md2E}lCQm4OTk76hJY zKqW?Pk4V72{Kt0&i$4NC(}R-~NK^_kY|8u~kTOjCXDCF`Kc~zGJkwy>f5{#YxobkWVf{?2zT-yIh$o@hL@Pb%? zFeQ#kLxz8EelU86nUO-G@{r-tya-Nym?Tm5&Uc_8$ls zNK`^HJo*m|3?wQe86N!y3I-B2=p!upPaF*7Z}cTp^=7Y){fUHu{EeUdNAw?97{~)u zCb(}4wB{)s4Fh?Ap9G8k0}lgYhX1p)K+B%O5iyVl7)r2d|AC2tJU~&}kN%~P@&Th4 z6m{-EFLZ#S1P2C2FDQb=K`<(T1P%xB{(pcHb%gB8Xyl)lwiP65J5ffgNFU?~~O3>+A~TZ$za%D>GQn<6m2ub(*gND|7$GnUeHg zoI1a@<@5`EBm7pyy-fNlB(_5dr!>S~e4pVPMB|r#pZ`eEifkZ?fiRik*pU^3kZZ*> zOE;?0mbZRPOl$}pTGEk_CUkOe8>#yoO2MS@X25!+Vuiwxo#Jt)A&1WJbMFeB`KWc> z(sL#+gD|Sp*7Pe@ZI-aEnK0tLZlzp`6QL7PO5v-0QC57d=9!NKOL)DPnQ^23%J%_1 z#)#sV?51{7GknQff|qrh*Db=%pmQ-Hdbv~ubWy}S-FoO9Z#q;>AmpRe}h z85V>Wy{r%C#OeR`?CoW$%y0PJ51q9WnZMkvq&Xx{%&a6D$Af*vB%Yl)WAG|hi^z9O zg}Wr2R%m3Y9_|B8?f2UmPf^E^Rj4i&6yDIY5N-G}_HKEAi@{o9H5R>Meg3BO`Ma#Q z@aUZguTWQ&(q)p}<-b^dGk&SDxe)JG%u(~&B;u1plvH2nRNH0FOO;g9-}d#4!?otT)N4YXxB}K>6hvAfWBh#T{A|${L_dTV%8(p@(+=6?F%PVU%c+~ z^2JqBecT*Cy^{$@BJSOBd4)2V~-ToTMcDAl9~2FUD1Pgho=mpZ+G@N&LRJ z$G3vG9mC6xhSH9QP8E^=fZ4?Mw(jd%ANW8UMSQ$!urwGu)21=nf?J8WATp1i%*?G|Q3k=4PG zE~aikb4U7U{Aor$ZR+o=0}h8)uZER4^jg=Zcq^RkF~yxm6sh&RO6WJFAx>JXE=HHf z_=pF;rmj%#RDpjR5?eUk$LQy_&`8_sw@jA?F+1*W^kS!1HQpxcnWb$$B78gB@bj2C z6K*rkGy{&C1Xc{*^;q+++s}F>`N_}fPZehl3{_((cp5!i&eg=1|B+=M8jdlU-=wkj zTK&GNF=l3)2o}B9B$b}eXYJXWR+V^d)H3lkzNKr&4oB!!$p*LcAd+(0IP3>6{ZtH% zj^wmY;GcE)N!Oh1lYBvqu$4uHL`2tjEL&)jFfjt_5i*$me7g;gOG0+pk%onB;(;8C z4eyRIY@PQdk8XVM%vR8K^?qx7h7=hZroifSEU8dS_D)Osk;*icWcA{>+izlS8#{1c zH|WQ?XxV<|*+mh_OY<{Y51-9!VczLCWM_5~jkaWLG_zuU%}*N}&u{h`?-J$Er(oX3 zg3b$us#NcxjO*-L)alG6wz<$(g7eCN$`Mi{lOGb#=HlB&>#YagAVc1|6_^* zAZR=<7-1bu5k)UVO%aOY2WQhjrF|a20VXs*41XJmO8Gnh1YzF!VWOoYQLXg{fDnxt zZm5Au^*jIs6lOuV`bVXC9smORvLKNE1BLqA>^2yT9smOBvJjk&>o)=m3=oR8Cj>XN z_>JWW2ZSigu$ta}%hvyWeQA&Uf^%6AnD+l4+w`H2D$rbUpmq0lnj_9-D3}8uod6Pq z(xd}^>YO}u0)X4Y2UKTZ>IAVGc5ua0l4g{U#6askzBVIZopjPwJ2}0IiIw3H*!AFMx##}x+Xst^@IsuSh z0XpDy0?r6RhBrFUD8Ze;Cm(vw?mL08xe&0J3xcQb+z0t_&_N6%et?1AS^zB4$43W- zy1z<90GxsDhpr0J@d5KM^0)opMZ*uwltOd@pcDn^fUy%immiqHz!QNvOMs3a_)mcI z;Clu3K+XgpQ!pJLNC#X4!P0i`6QqNdWCV2qstAZ5C-1&W`_&Y1E(?Kx68kRf(V%cH z@6X-erMg?O+jUjKca?XR!hfj= z0^>6R)EQKl(0yPYZ%5XkJ9g0^j4T~6!T-Ac>)cMs|9Uzf;Oc-nhD!0*^LJzf5>6l- z;Nidi6oewr?R(LkO#fYsd)zNjjQgZ`_xSHJ`}^ou>O1%T>3By5Ajp3Q`_tog&;Ko0 z`|tbv>|T0*pV>J=1@9Ke?jH75Uhr|=xgZF>1wwSYd%(Q{HM6^ihOE2gzPsPOW9Lv?y-uY`6}6N2V0!B+&RFQ5&8sYp=M(04{)x4NJplHkh&yw*UQg<1hHD?#_~J_l%D zf>1CHIv!ro48ScrjR=I50CfujR{|kG><9~RZ-YRPv(3%}Ktl!AM9_G6Ab~>yy#h!E zXyo9N0IcbdXhI^m|5ag*cO+={CHQwf1PAwfrN6()p-S4XxeXk^p#43W1>$i1yA8B*b937)Ua9 z_Ph7|Dh|+zfKTr3ey5CgUu8E3NJxzWUl*wQ1c4Otf@T3#oFI@t(76CHhPn<&)Iq-r z$rgA%5Os)S0Y2kEuK^tnwCCXi;fsXmfH5CD4$Oputbpai!A;N^BoI~5r-6xJsDIlP z+TA_yE`r_;_$uzC1wNNx77*&JcRIm+@4Nrqe;w~DK>=_-)C>>ocO+}K9QZ*O2|ClA zJ(wv3$NPn5w={Oo>|O=deek9T(2?@cfz?w%t{?>vl-0gm?H7uDsqYi=UxN`K;a%(=mC46fBOCFIp7&kR(CegGe9$6pxXjp9v~0kckdW{Wx!_< z$Sl}^Z|AQb1V|~k53;xK+zYP#bsxY&g|z=UyWjnN4}~(ZS8@VCuAodq=XNp=z);CS z57{fhz4L!zz%}R?Dx95Kfx0$u?k^0;=+5(?bKn}3$(?6#bMLFzUxUT}Cw1xnUyKcQ z8^nJzirL?U{(#$8!M_IepyfjH0k*xC3(3izEJ1RzD}4|nXjhIPLEn?n{YmaW-nkBj zy?YIjAJ7!`(t+f1r@??<=sswJu0bj6-T%KfT<95l8}v*hNEd2+JKL|uyZ85ALx$3a z+7i?#p?8P!x7R>-8ZKxb(C<$E!S$WS5B}b{4>}LEBd|f`vQuv07sOKExqt87AnZ=N z{q+moxAQ#kH*^eb&~@l{Uwi!Po}DuP_58hOL3xBQ&<3vWtJ+^?7civwRlE=!43l=V z2hQy!xtH~S`u*#E@C@iVI~#aqsC(WitG)8tDI1WlopSs2E)W>X^ZxSPDSL2!2lwkf z==iVl2FK6`bm!c!^Lv?qe))kd2Ff(#1p8O!K^l9(UxV+xr1qK(lywNcSLVMy+B@bt=-N&-{VMzYO=bTvgyjJv!o6m| z57=vaV)CbEBLGs^yZ^s!Hc)>$-XQ#PmvfK zO4;5gT|~hXGU{>l?BwQ*J+j88iPAwl3-~626?~73{6k3C+#<|eO>KL2nWf4xEx0z3G7#{@Um!^>t=np2I39JY3YvOAjBz|Kw83K!5E# zD*<<|P%^15S`j;8ntG$H@A=VyTkM_$IEmOEPOPp`WLD^(coTicCb2mOv7OJcqNgWS zw_ExuJe~Eu!tLLBo8CecSztv~J$&}Ux4>;y8DBzedmQeB0;{8q7u1lp=8O`Dt+>-E zXmS z;rmNAU5Rq$9jA*X37L=5wVN}u7R-pGC_ccI$UK`Ohke-6l$k7fge36pP&_LiodO>7;#bL#auv?X=X!1v;LB8)+tXg^h$SxGK&#^lhJ`5JP%n5rW* zgwJADCzu@K#k|8{G_TAkH|k4>*WRO{g64}}YLbq9?{zfop|4F;XqHq*1afqVi#9Zl;m~DlOQ`dqVc&KcS6b`bzSBtS_Y*tM60OPXZs|jpma2l>f{~;CN7aw{ zRwp!9JZxbLE%Ye#=&R1GT60DeW^y6MRJfPw z7Vt`i(?aJibYXv#(PDPEubUxu+rB8O+KpC|NTc?9yw($fGCf%}tI@WXZ*3njNphJ= z7KfN7zA`e1`&dg5Q@rIBOY`+}j(*KsF+oOsF5D`spF_c0I)>6qKZ!nmv<$tTHN^NW zExUDGnJ4Vi=vW6+qQ+*8tB%CQ$2KRwZ)S46bec~ge(K90x-IcR+(v1ND?`i9;p`)e z#G~=aQpq3b^S6q~%~&5S3B7K&Aph}L%);qx`E00bZe)dvjBo8p8~rA&x|IwpnHQ9N^XKp>l=RsAuE6<=0LtIg?K+BPelxkdRi%x|-=QK^~f+12T6 zN8nc_9$7iIE{wNbGE_1@=9`gWVQ7B$rL~xf|0|s5IjmEHMIt7|Mpu4z=VCt=*nY1X zoXv$?ET&J*dbez$Sj6IX2fA944&qwq02!n%qo1+|TSrA~mu#Fo|Y%{Wc& zhtB@YCnhhgA7@pCVfv>=4cL*TSK?-cXbIf^`D&Sn=3f8SJL_B~@A$8yvoe#t32T0V zFDY1*2JVFU$IXmsmXTn|6kR%D7|m~K`}V=zwBs}sVTv-GGIBb19+lKt8Gr6NzF7YG zduChFx1~ZVR#H|T$6#tc-f{wh>pCKDFDFij#nPIhul0V;&M=d*?TO8)J=!vra&uH` zi{9s@L&bN`>GE0A$-wuV1uq-WjaHd9`!Nt%jt$Qi6B1YF>{+&mNE_yv#ZP;kXP>b1 zxY&S4l`Z_V_G9sKX}Ob4xK>jN8F8NoAvx(u`5@!GV11Gy7e(%9A)Ujw*{u4%Tof8J;=6B3s}1s#w2aVqTABe$F;0ywyyJ;qYUFZ^6pr z&&^EQYbNFTIPAZsKImQiS~^3~cCT>S=HAza3{k3!);BI$DWo5__*vd@i{Glfvg`wH z>S&<+XLmu`md1IyN?Ei)YmQnQUE`Z> zb8p@lB_jstSL_x&W+^|>hE!4utR*X&q{IdjQdZqOo}7;#K-^~9L!#89m&lK2z)I7z zkS`GR#_+A=Hs8I=`l2|}`8}?;K)+l4G|?UIw#Eyk zFX`qUZR$vrKllN7p4B45uZCCO9Nyxf%r|SS?e7m0E@pQ6EF`I{y82w!C z@{NRgg%KaILNH5 zJQQ2Pzh1yCZBeRL{4T{Du_ElSJzgP9 zvUI~PZ?~CO1mJ35mvXsl0yQvQ+;SuIcZ&|6g*s>R#%~K{m6K3G#low&G(2a2Kj~-c~ z{o!T%B2M&_h7YM-P&SiQdKONKZo+&X(=$r?vOIfk4uTi=u1IGwCaI>#8Y=mm>0?b% z71!}p^rNtQBUd$;2QoBNvPY>R!s(6P$EU;q(zw`--5q?{0pPY`?M`c>jaGK}G}O0;0>}PGnOpJFgU(p;cJd z#}8*HbviDyUX-`QmdGg?GXJD|)}#BV4o&y`PuGF#G1p@Hf*yINCC%AbzQ?_|+`je0 zzd}_&lXIl>Vn8HDrGA^t^Xtp29dqBO_`awo^_Be$9T0Fdaq-CCc)LCjXrHpmHIm^8 zv!EaHx0Qf)`3ca3rL>ugiL;fXtAjHR7xecy(_SPgFB^+9M79sSy+NU5qvmY zP%_Xp4iH@(hfCho$kxi_oV|su88`z@sJoikX#vF*hfC)dil2`MJjBw-S>4Q)j+M*A z!OqTz%aqH^(Z$Nv!Jf;W%f;5n#q#uSmSnBKgCIu{Xhn#>7ZpVAFz5EjaC?fW5I;!p zFU6Ec@Got2zhVkJFp&RRF}-W0L99)F`|znxbfnzfmsGio{R^3Jqu%&p9m75we6IRd znjkaAF-AV55qdD)4PzDzZwNckm%jI1xT>gD+kr?-^r^Y$~-{A|7;1V|J>$BQ!*L z$5tN^k=OETRL3?|$MsOFUcn_feEJdn>Db0AXs6k0s_j{i$p#hbGIBAJ9G)z;%TSoJ zC&4@Y$dUC5U!eRUL^_F#=}Ec($zXo^ko!l5*tfB|ue-R%DlwBZTTEH_t+(m02bv{S z9e$?wu$GRA@PXR-;FkCsM=H#SCDe47?u#$gzTwrWm8mr)%r!%(jN?0OIL4fPaXbAK zd9=TuN*+5-(hsR1S21jwFH~6XycHjCH%>(tlbsbJ4mQHXZD*yE*p?H~=G)4c3yR4- zY5P=t-1P|OoBQt1sTW$Er5K-)$kzH&M<0Hp@K{GGeMIZ35_6Cl8u=YbYqSifDvGXnmDkKvz%x6X`j`WB0HlI*SW5-b-^2xrC$?ljIv4~7`XUi!( zEb;t)B2%JFwZ#Pj@j0Y&^le@&Ee)5ElO~&1@+&PTFPx8w4%m`aW@4Z}yL7J*&rR`b zLkEpp&YGsvx9F!US@j!_Y{(22sm*h%bmzX>NRI3GFD|S$a$P#|DtzIwmS14-*}{+4 z3C>*(TrcoRI=Lhf+CDw}TNQ zB0jovdeIh9b?eJRJ>OpqtqK?vbz9ti*;?u)A{KQofm|4uA!2pLlIHo;gU|dH&tJKo zK3%ura>BA~8cU0cccYuDyy@nAh22}RN9!U1sa=7QDiYI)beui>P*6`t*exVKW zWktgAo(6BS2Q*D9Q~J*xoF8s#|@(UA5wEjx%}>3$SyPZs5vw9-C{g0%d2u@qKK})NNLSAYQa?gp-r6T zaxmM)(V%siu0)f7;?Q`4+&Hhp*L(;($#uWAEi#{VAkyVlxi`MGSj|K%EH9Q*vE12P z7(BJIYW18gBV6d+Y4>DWJY=GU!+aN2)93q1@g2?#D_vsRBMOmXb*;E3u`QSsPsX>3 ziSUz*c(E|pUhY-#3UlS#XcKDSYA#y9P&_9Q*lZs21&v1|Q@s{9Wm6en%Reov zy_Lfw*I7z4f@`O5Cy;xJ89CZhIWMA;0_bh1~&mKAASU6piC zVXFK_*3`#SCY~7|B$TZ_P5gY{G6WsC}RYeMf zixS86B2zXz@|S89&N&9ZllwOPQ|#8`zE}GGV!EX6QoR=RDa|K26z$U;Ts;Y;$`oav z4b9#TJRaWO85)*jAM)b{Hm^0Zf_0$JYDuiQF|94K@26JmchVuHfUKJ4MID(P9Y6?H1>pXr0Pp~c z*#8*?00H{^KPUk9zjgJyl=$DeddQ5A+SLP>*L_{RfFNS;ul-#;FSHKe&Oh*$R<^EY z&UBE%<7y^tX5wIK1`@$>adkE`vcvJ{1vV%|%n!;ZufK-bb?PY0_vG`L+%u2jP>8lW zb*hV$DbnUuwX$HHQ98q0_$ZI{0dZ&(&zqA**uH+a*rA7VWy!-t)fAg=;@w3OhL*;* z9KuFB5h-*iSpuj0CRxqruq*brI?<_g=UcJ$TfZoK`>lzC8cw7up^ z307%!S6S`Exbd_S2(!iv0ZhjbXj>rAE5`MJ@oCg0vt#xUa8CeS@|?`!}cdG^=Ay5&&W z%|K=>sj$W>BApugA*v|6l3Yu=d!@WxlzQEx=p7Gc2V-CG1-AG;yV@dg56^@QWz&bv<}wXdrS|j{l)S&qJgS4XRa0DjWfpA!opvKf$r?d9 z-K=}d@)dRw+d0<|Q(FS*ANRKQ67Q+ns4z__An&R+S2|)pF=FJI?ck)oX}veC2ne ztpyV^@2HeMBt323w27svOJTf8K;&_*i3o4qTb=#fYEo$dkp(Z=@)oC$WCWXv02AK$ zLwOUy8Lk+nN2WPH>C2moIndDE^KPonjS;2ekNFS3lv|Zi{XxAVo}^JelQ2xgW7N(% ztGbbGHYBbhR{ll9N4&ze;e$&;Q&_=^OpU1=B30ZGiDk0u8NLag=Uuq%Pss{KtKWU) zm6M%QlH_UpXEvJlJwM5ez1LN(DPL0J~517 zlBLdNO34|}w9tMVN*mEO%se1OpmH^?`1EPn3FZa0#7qW%|IPSNW{Xq3=acKSU1cOOR!Fof~9P z=q;q_HoBay+v~D^ochF1VvVQfW`TlNpFYWZoOEa|*wWgvX)R?S0j=M@VXO3wG+OkJFM80OTE78W!pRyp!StF^2Ye5~~rGNf#N|J=4)B3bvo(6&ql zYvDtO<(Q47x!R2SgeOIXOkNJ37xiu$_-@JXeD;)*#pKdQLz7rF zYoZU-($tTS9G<6bkhvZC<4ZY^t1D~uH#R1jM+4rd~C_Jd#UfF-1)5T)K(SZ@pTQ$qzkU(HneM_AMfVNc)d2` zOR<%`sz1%+7u{Qw-C(8NSytC{*G4NclY64%!qsg4e#xbQ+hZr=ta!Ia!hL$a&&D~c zf9v`%o`OAn{4MVyKbDQ^IWIS5qM7c~z3CxkZ?{Aq7M;@-o_MMrnf2vNM;Bc#3W4?HeV0iIlSHz>K5^A~Cx>Grm_8Ak3%2(cI zl8kst-#)FX-`}=YMfo&f*e!9eB z+=_p)Zud-Tg#OEyPg0sIUmX&}8CcXvyn>#q&HwaMs!LK6OU<#i?WwdEl0>k*6}7wQ z8BKuA)S!Ii>bnyyBwdTrSJ0_NpSq;d&g!QeVx>r7(U-|9OB8>kO3;-wEf{lb1wS^j z$tIqo<%Zqhjdsp~YyF><5)v$X3aF_idL&tXCZEd;z)zHax0JCyEGFOdc{(`kbjsy3 z!q)w*n$@23K0kab@~R-UGK=%IM(6|!lE6<3wEuC8AV(Ui%M zNmak^*3ti>=IrznjyE*5btZlf`*lY+V}mNL@l<|C+$xPtaC6MQ=3u`T;O_rp<@uxL zJe&YcngF>Ci)?GrXmnb`k26gP%;!DcOy#j2d&+Go9t+V=k4|DGE!Zy>W7Z(&RQptR8c`tqbd0wY&l?+IXFM1#98X z(UYg#3YmhRAwmRoi(A{R+QvTlw2f_!d8f`S-1su)J&==eXXcO%FL4CgY3_R#;dwQm zFtQD{q|r?LWD}BJIiC|IxYc9tN@GcIj6+*JEW% z!b&K+^ddM24SC|LNiIxbjY-q zj+@*Uo5w=}ll*Yr@n-_!{8t%|5sJT85*u?ledud_^MymB&e11)Kc6BtFYrer4wHUR zZnUQV;B(XV>(2U760y*47b5j-xZ1vRXWk(bclrOxIu%DcX}u;JHk4g3B6mVl+drn_|PdD@1H*Y$Hd}s^F4noFhox9 zMfiWMx%B|el#WK!p8`KEVIiD?v}sy=;JHSghHLPvq#qo1rCjRDv~Sf-W8FRLb;Ys> z3|_Ex$XtA;M9$1f`R4vBrmfE?R^2Ido&>cwI4vT&Rejx!hGpE@ zr*Pwu$8I6)*n{_~4D3eXG!=|yKm$12tRV>?!Pc1D}8qD8TXMNMq z!^}!XR-`kJYc4S@8q~+TPQA5DY%B5Zw>5vid9wj4abgSGR60!g+U2G*8yJS;y|_nN z3s)EWV~p^6S@WJ2T>Af5d&eM28!c_OY#Uv+ZQHhOb=kJvWxI=Awr$(C&9B})GaKL8 z6Ektn`H>M7`70|TBi8k-yzYBdx}Qt0-lY;(Uv*N`rZOc;5SKNecFA-w-8;*asjU&t zoKU6B{%KL!r%t|*k)g1t>o(DK;Ul&|f@2;ge^GVTTgh6JVY!4`8Fc_NAy_hWb5?y2 zX$5Rpvrs33ZTz&XDd|~6Bc|hSYoq1RyuX;~DDt6X+Ph~s7S{7vo=}(c%!O3RM2J4P z%Jl8;v>|Ily6^7!;*l+H-B0tB<`ZR@09C_Ns8monL|}NpmcY>L)8z4;-fVJkYQ(2X zWJX8LR)}waQA4Yr4=u;RcmvBY5^Nr3+{6^j`Bn3qIwp9I@}3LO z&OGFS93LaRTzZ}9&0yJWDt;w$x5-6zoL$p_K!iI)(=qAymEs5reB_%{0olyFiLXqxhlR)dYg`p$-!mOhbl8M2f!=EFO z&186UtnmFk6es(g?K(=w1d03itPE0~6)1ysK&FNnsqs)`E+eU0MrV0SpPgZ=4re?X zS){FD^9-q{^?fClI#MnmXrY@FL`g zNVnR81&uxlmcyiZ#VmLV78{~WDdv;e3~afJYSa ze`JUyJACX(h3#xSx7Te?WeA^H@ zIOfBaFg}m!Q$?w?@;dUPYuH#9CTDZb@ND=sPa7s>ql%@fUccfo&f48ynU^#5V^^mmS7`|mmC zZ@BVJCUj1&cK=Ezf3e8F(#b!^LH~YCtffYdKjUwNtG`_oR$IU0MEq6ZbNd8VD@IgXEJZVYx z0Oo1f>-(cCFiZe(BYA6UZhH_ydFfM7#4v1t*46+3F#;fdv~K-2225LO)&a2VenVw; z$_PRLuBqrdLe}nhe0EB|LO(uXVFDzF5C9}#FKIu*pa`&^{f78%okDORL=GUaBKlaM zAb=RC2>ir^f<-8=?L>NI2*AsB`s#>xF%cp^IV_-Rh-7R*#3SiRQOf}^5EYLBG2GDv zIbVEJHM!Tt2++X!6JBnhDL(u|iA&WVRQ)9kQ9uHKKQW@VX9s3=hOr$#A)+XWBQ^AZ zkP3iel!-+F#HP~*e;RfW$hW}%7T)GhLJ$TN6sHzL`zZ`X*C;sHq#rc-0C&4GY46sy z1j>jYSky180s}<9S&nXb?JZLrR3M3;DPTm;uPE+w^+||^b4Y`#Pfv*oDE$i>V28ah zKaMV}LY@ByM6M!+0#I0jlXQs$Lx45lu=y?^L5R}f5)`90fCq8VRDm5JDdct>03wm# zZkK*Z({;wgC%9QWeGAq;Pd~shlJf7kt|fqbj9S=0(6FR+C?Gm|-|?uifh7AFX|?W| zh2VBzh*kh=R;o|mARy3~L?yIrlC<|W&9HbOZE%QDu3=2-}|2SFOR*ihh;W2HH;4(;FHcWzsw|_!elzwo* zs%nJ)T-|iw(ejkgYjUDdDSEpwyYp2cHD$9y<^Cx147I~oxh!b3LHDu6-~g22%@>9+ zT3f>j0ONST5%LC?-d;&=-)qz1 zv>LRT-&puzds$#cY*Ws#X0SSYg~C$TIY5AahKyLSWU&Gtn0%)B#0T}#2_v0_J*%ge zd0h(Lve!PGVsVQT@yWmgFpy}?zVjX8%71GIWSFYP z&0a5+i`U?%#=;!u;Z={7W>HuDme1ACWLp`iE9|qCqb@uhmfc4kBm2CEkGRJw4h^P~ zWkRnj{e$Jweerwui@Fvb;9UexFECw>Dr8~4%T%tUj+g2)p%wxko;*uCT$}PAPRbQJ z29AZN#MK?UzeC6(n$3l+GUj$FB|3HRYQJ>xUJyoc_SkYb&wi?^HEejydyDDF7!6AU z@tKU+6I{W>A*<&rYY`K3B0$lK!GOlm%NdJZbve0G-$4;C0?~EYUNKoXRpit; z-?oy=OtU#aBZZSgPH&#d1kb(lN>%MDvzQdflcI4GZ|Iptl*Jhb7wckDYpChl;>{Ue?VPI2;$-16EY27?bp3lb^;b`M02RQJ zCB84aSW~8~HRa;VnDh_4HppzBUn$xPq|oy+ANlMm&YUmGe#P(5qJwrK>OSg$bqW&C z<42cMQLdeaHX0qI)Q_?!g(>GQA`=RHJ&UJdW|RwT;cWU-oPlEpW@k&5vB_p;+8+#0 zE+HQ8mw=(2M`LyiL%fV7A)pvIuR4y^@qBZ8h)34%3k{7DTE<_K!z-BqCtVM(IB_Pl zXE%+P??ZtbxZ|&n7A1gE$`eWBpYL`ab!N%`Zu#-g%@h98n*BZHF0f4lwQ zz^D1EOMu~f2!G4eEdN-3d=td~J7a~N<-cEl7&!cG?P2ow1&GOiY&i^_t*uR*=xi)( zznS9a_nUUcf2lDh4kpI`iWh&u#J}Rjzw@lw{<3EN11P@LbCz${=HJi-^Y;a?|1Dko zr_F-+$8s5}Ool&3SHxJ3F&+a=f&d>X83PSepp1YCl4wL414t$+cL+2&znOqmnbki) zkt#q?LV#bv^LMW5DUd4vN?`;LIJe&g$mtEr*W-B3OXpL^miMJ+^#q|oSRGrG7?BTq zu~P^}9M?4@%t|*XLZHZ>KQ{yj@kj#{<6+ksT` zAe7MxKwNm9S>e#_2N3=dA{Y=T6h;Uf975Cy{s`Jpgpw@4Zezyy>P>{WAVfD1@nPLC zP=BEXl>jrL2m_Q7_DvD-6Z~w6JdT0I$~5YLpTA zKWwDQ1l^bp1~tFzi$Rz-;Z+D~5L6Ez~saT<}yGGLY^z(Zs8p=TNfl` z$ORcpN;Ulf7RBz2VZAFxq9Bw(2{mBQpb4Y*pLXo#>N`{o4S$F-Q0P1U0!9=Fn@2(8 zh?v*`fCZ6<5mg3Ii0_sL3!xez@slQn6#p5J-!^aJM-f4mD7a@d!WBLfp6DG03rI?x zAUT5I+#v@)e6&Xy&GdqiwZV>Xa#RDjl$>>sSHSL%k08zQ5;UC3JCBqUg(jdJmU>$X zitc&7nc&V*#O`k5<2XWnxbDg(<%u`ZiKUz7g%zAA$Zi&ZCXsCR=D$2x6zH4EI2 zi>aKyzUzliV@V$C(MiZsLjOJuCrh(u03p*s_0W9dDYnM@71I1bR{Q8Q?pjU4DR

    D0NwYXWBIJoKS3g)``B~m5W9pJ9gQ;?Bo|F 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�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 diff --git a/docs/manual/main_grammar.tex b/docs/manual/main_grammar.tex index 38c628d..25a3d20 100644 --- a/docs/manual/main_grammar.tex +++ b/docs/manual/main_grammar.tex @@ -3,8 +3,8 @@ \usepackage{times} \usepackage{fullpage} +\usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -%\usepackage[latin9]{inputenc} \usepackage{ifthen} \usepackage{hevea} @@ -45,3 +45,10 @@ \end{document} +%%% Local Variables: +%%% mode: LaTeX +%%% TeX-master: t +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/main_options.tex b/docs/manual/main_options.tex index 8e9a787..72248e6 100644 --- a/docs/manual/main_options.tex +++ b/docs/manual/main_options.tex @@ -1,5 +1,8 @@ \documentclass{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + \usepackage{ifthen} \usepackage{fullpage} @@ -23,3 +26,11 @@ \input{spatch_options} \end{document} + +%%% Local Variables: +%%% mode: LaTeX +%%% TeX-master: t +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index 54b13f688ef4f6a79fc7f582c7a13fa1c1f16816..e8e15cdf5d11ca153fdd4f0beadd392d4c5712d9 100644 GIT binary patch delta 252591 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

    1^?(L%{bto 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

    BjZ#V!clF8G_av_YX? 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

    T479uYyr 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 delta 199606 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'Y?^;BaK)BMzV+}pZBm}Q>dwkV}m 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∾S<{+2oMVJ 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 SEZfV9YU{b@UUv26TmK)C@snQw diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf dissimilarity index 90% index 9eb276d386549137e1ac0bf6eb420c78b5a4c1db..1ef11316a27578345f2b9ae0b5693828b55f4491 100644 GIT binary patch literal 133301 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 z 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

    xrUhaYKakmto*e@*)lV_5#Cp`;S-W~ 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 Q#}Q#dHxG}XKEZDP0l9kn82|tP literal 95945 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

    $Q0Grtze6EqL4LnO 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 z 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 diff --git a/docs/manual/parsing.tex b/docs/manual/parsing.tex index 1d17780..e8dae3e 100644 --- a/docs/manual/parsing.tex +++ b/docs/manual/parsing.tex @@ -1 +1,9 @@ -\chapter{Parsing C, \cpp, and \texttt{standard.h}} \ No newline at end of file +\chapter{Parsing C, \cpp, and \texttt{standard.h}} + + +%%% Local Variables: +%%% mode: LaTeX +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/python.tex b/docs/manual/python.tex index ef9367d..abe25ae 100644 --- a/docs/manual/python.tex +++ b/docs/manual/python.tex @@ -1,4 +1,8 @@ \documentclass{article} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + \usepackage{listings} \begin{document} @@ -42,8 +46,8 @@ def print_secs(ps, msg="", color="ovl-face2") : %%% Local Variables: %%% mode: LaTeX -%%% TeX-master: "python" -%%% coding: latin-9 +%%% TeX-master: t +%%% coding: utf-8 %%% TeX-PDF-mode: t %%% ispell-local-dictionary: "american" %%% End: diff --git a/docs/manual/spatch_options.tex b/docs/manual/spatch_options.tex index 62fff3a..fd2eb5c 100644 --- a/docs/manual/spatch_options.tex +++ b/docs/manual/spatch_options.tex @@ -296,9 +296,9 @@ type specifications on expression metavariables, then the default is {\bf -local\_includes}. Otherwise the default is {\bf -no\_includes}. At most one of these options can be specified.} -\normal{-I $\langle$path$\rangle$}{ This option specifies the directory in - which to find non-local include files. This option should be used only - once, as each use will overwrite the preceding one.} +\normal{-I $\langle$path$\rangle$}{ This option specifies a directory + in which to find non-local include files. This option can be used + several times.} \rare{-relax\_include\_path}{This option when combined with -all\_includes causes the search for local @@ -442,9 +442,15 @@ Normally, the only output is a diff printed to standard output. \rare{-o $\langle$file$\rangle$}{ The output file.} -\rare{-inplace}{ Modify the input file.} +\rare{-in\_place}{ Modify the input file. By default, the input file is + overwritten, with no backup.} -\rare{-outplace}{ Store modifications in a .cocci\_res file.} +\rare{-backup\_suffix}{The suffix of the file to use in making a backup of + the original file(s). This suffix should include the leading ``.'', if + one is desired. This option only has an effect when the option + {\tt -in\_place} is also used.} + +\rare{-out\_place}{ Store modifications in a .cocci\_res file.} \rare{-no\_show\_diff}{ Normally, a diff between the original and transformed code is printed on the standard output. This option causes this not to be @@ -520,3 +526,11 @@ condition occurs, rather than only once.} \developer{-pad, -hrule $\langle$dir$\rangle$, -xxx, -l1}{} + +%%% Local Variables: +%%% mode: LaTeX +%%% TeX-master: "main_options" +%%% coding: utf-8 +%%% TeX-PDF-mode: t +%%% ispell-local-dictionary: "american" +%%% End: diff --git a/docs/manual/tips.tex b/docs/manual/tips.tex index 978fd30..6b755b7 100644 --- a/docs/manual/tips.tex +++ b/docs/manual/tips.tex @@ -41,7 +41,7 @@ Finally, it will generate \verb|bar = readb(foo)| as expected. %%% Local Variables: %%% mode: LaTeX %%% TeX-master: "main_grammar" -%%% coding: latin-9 +%%% coding: utf-8 %%% TeX-PDF-mode: t %%% ispell-local-dictionary: "american" %%% End: diff --git a/editors/emacs/cocci.el b/editors/emacs/cocci.el index bf2a786..072e4a9 100644 --- a/editors/emacs/cocci.el +++ b/editors/emacs/cocci.el @@ -33,6 +33,7 @@ ;;; History +;; 2010-04-02 Nico: Fix 'script' with 'depends on'. Add 'when forall', 'when any' ;; 2010-02-01 Nico: Add support for 'disable', 'using', scripting, 'virtual' rules ;; 2009-11-05 Nico: Cleanups, Change shortcut % to C-M-% (% is used in Python rule) ;; Some cleanups done by Rene Rydhof Hansen @@ -90,6 +91,11 @@ (((background dark)) (:foreground "purple"))) "Highlighting lines to be matched (sgrep)") +(defface cocci-script-face + '((((background light)) (:foreground "red")) + (((background dark)) (:foreground "SeaGreen3"))) + "Highlighting script language name") + ;; can look in lexer_cocci.mll for new identifiers @@ -197,7 +203,7 @@ (2 'cocci-script-face t) ) - ("@.*\\b\\(script\\)[ \t]*:[ \t]*\\(.*\\)[ \t]*@" + ("@.*\\b\\(script\\)[ \t]*:[ \t]*\\([^ ]*\\)[ \t]*.*@" (1 'cocci-special-face t) (2 'cocci-script-face t) ) @@ -241,6 +247,10 @@ ("\\bWHEN[ \t]+!=" . 'font-lock-keyword-face) ("\\bwhen[ \t]+=" . 'font-lock-keyword-face) ("\\bWHEN[ \t]+=" . 'font-lock-keyword-face) + ("\\bwhen[ \t]+forall" . 'font-lock-keyword-face) + ("\\bWHEN[ \t]+forall" . 'font-lock-keyword-face) + ("\\bwhen[ \t]+any" . 'font-lock-keyword-face) + ("\\bWHEN[ \t]+any" . 'font-lock-keyword-face) ; used in iso files ("<=>" . 'font-lock-keyword-face) diff --git a/engine/asttoctl.ml b/engine/asttoctl.ml index dd6a128..f9df539 100644 --- a/engine/asttoctl.ml +++ b/engine/asttoctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* true = don't see all matched nodes, only modified ones *) let onlyModif = ref true(*false*) (* set to true for line numbers in the output of ctl_engine *) diff --git a/engine/asttoctl.mli b/engine/asttoctl.mli index cebc2a5..af6749e 100644 --- a/engine/asttoctl.mli +++ b/engine/asttoctl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * string Ast_ctl.modif type formula = (cocci_predicate,string, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/engine/asttoctl2.ml b/engine/asttoctl2.ml index 8978836..9ffd8b3 100644 --- a/engine/asttoctl2.ml +++ b/engine/asttoctl2.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* for MINUS and CONTEXT, pos is always None in this file *) (*search for require*) (* true = don't see all matched nodes, only modified ones *) @@ -218,7 +240,8 @@ let elim_opt = | (Ast.Dots(_,_,_,_)::Ast.OptStm(stm)::(Ast.Dots(_,_,_,_) as u)::urest, d0::s::d1::rest) - | (Ast.Nest(_,_,_,_,_)::Ast.OptStm(stm)::(Ast.Dots(_,_,_,_) as u)::urest, + | (Ast.Nest(_,_,_,_,_,_,_)::Ast.OptStm(stm)::(Ast.Dots(_,_,_,_) as u) + ::urest, d0::s::d1::rest) -> (* why no case for nest as u? *) let l = Ast.get_line stm in let new_rest1 = stm :: (dots_list (u::urest) (d1::rest)) in @@ -323,7 +346,7 @@ let elim_opt = Ast.inherited = inh_both; Ast.saved_witness = saved_both}] - | ([Ast.Nest(_,_,_,_,_);Ast.OptStm(stm)],[d1;_]) -> + | ([Ast.Nest(_,_,_,_,_,_,_);Ast.OptStm(stm)],[d1;_]) -> let l = Ast.get_line stm in let rw = Ast.rewrap stm in let rwd = Ast.rewrap stm in @@ -605,7 +628,7 @@ and get_before_e s a = match Ast.unwrap s with Ast.Dots(d,w,_,aft) -> (Ast.rewrap s (Ast.Dots(d,get_before_whencode w,a,aft)),a) - | Ast.Nest(stmt_dots,w,multi,_,aft) -> + | Ast.Nest(starter,stmt_dots,ender,w,multi,_,aft) -> let w = get_before_whencode w in let (sd,_) = get_before stmt_dots a in (*let a = @@ -626,7 +649,8 @@ and get_before_e s a = | _ -> true) | _ -> true) a in*) - (Ast.rewrap s (Ast.Nest(sd,w,multi,a,aft)),[Ast.Other_dots stmt_dots]) + (Ast.rewrap s (Ast.Nest(starter,sd,ender,w,multi,a,aft)), + [Ast.Other_dots stmt_dots]) | Ast.Disj(stmt_dots_list) -> let (dsl,dsla) = List.split (List.map (function e -> get_before e a) stmt_dots_list) in @@ -711,7 +735,7 @@ and get_after_e s a = match Ast.unwrap s with Ast.Dots(d,w,bef,_) -> (Ast.rewrap s (Ast.Dots(d,get_after_whencode a w,bef,a)),a) - | Ast.Nest(stmt_dots,w,multi,bef,_) -> + | Ast.Nest(starter,stmt_dots,ender,w,multi,bef,_) -> let w = get_after_whencode a w in let (sd,_) = get_after stmt_dots a in (*let a = @@ -732,7 +756,8 @@ and get_after_e s a = | _ -> true) | _ -> true) a in*) - (Ast.rewrap s (Ast.Nest(sd,w,multi,bef,a)),[Ast.Other_dots stmt_dots]) + (Ast.rewrap s (Ast.Nest(starter,sd,ender,w,multi,bef,a)), + [Ast.Other_dots stmt_dots]) | Ast.Disj(stmt_dots_list) -> let (dsl,dsla) = List.split (List.map (function e -> get_after e a) stmt_dots_list) in @@ -747,7 +772,7 @@ and get_after_e s a = (function Ast.Other x -> (match Ast.unwrap x with - Ast.Dots(_,_,_,_) | Ast.Nest(_,_,_,_,_) -> + Ast.Dots(_,_,_,_) | Ast.Nest(_,_,_,_,_,_,_) -> failwith "dots/nest not allowed before and after stmt metavar" | _ -> ()) @@ -755,7 +780,7 @@ and get_after_e s a = (match Ast.undots x with x::_ -> (match Ast.unwrap x with - Ast.Dots(_,_,_,_) | Ast.Nest(_,_,_,_,_) -> + Ast.Dots(_,_,_,_) | Ast.Nest(_,_,_,_,_,_,_) -> failwith ("dots/nest not allowed before and after stmt "^ "metavar") @@ -1530,9 +1555,9 @@ let rec dots_and_nests plus nest whencodes bef aft dotcode after label plus_modifier (dots_au is_strict ((after = Tail) or (after = VeryEnd)) label (guard_to_strict guard) wrapcode just_nest - (ctl_and_ns dotcode - (ctl_and_ns (ctl_and_ns (ctl_not bef_aft) ornest) labelled)) - aft ender quantifier) + (ctl_and_ns dotcode + (ctl_and_ns (ctl_and_ns (ctl_not bef_aft) ornest) labelled)) + aft ender quantifier) and get_whencond_exps e = match Ast.unwrap e with @@ -1893,7 +1918,7 @@ and statement stmt after quantified minus_quantified llabel slabel true guard) stmt_dots_list)) - | Ast.Nest(stmt_dots,whencode,multi,bef,aft) -> + | Ast.Nest(starter,stmt_dots,ender,whencode,multi,bef,aft) -> (* label in recursive call is None because label check is already wrapped around the corresponding code *) @@ -1906,12 +1931,20 @@ and statement stmt after quantified minus_quantified (* no minus version because when code doesn't contain any minus code *) let new_quantified = Common.union_set bfvs quantified in + let dot_code = + match Ast.get_mcodekind starter with (*ender must have the same mcode*) + Ast.MINUS(_,_,_,_) as d -> + (* no need for the fresh metavar, but ... is a bit weird as a + variable name *) + Some(make_match (make_meta_rule_elem d ([],[],[]))) + | _ -> None in + quantify guard bfvs (let dots_pattern = statement_list stmt_dots (a2n after) new_quantified minus_quantified None llabel slabel true guard in dots_and_nests multi - (Some dots_pattern) whencode bef aft None after label + (Some dots_pattern) whencode bef aft dot_code after label (process_bef_aft new_quantified minus_quantified None llabel slabel true) (function x -> @@ -2167,12 +2200,16 @@ and statement stmt after quantified minus_quantified Common.union_set mb1fvs (Common.union_set mb2fvs (Common.union_set mb3fvs minus_quantified)) in + let not_minus = function Ast.MINUS(_,_,_,_) -> false | _ -> true in let optim1 = match (Ast.undots body, contains_modif rbrace or contains_pos rbrace) with ([body],false) -> (match Ast.unwrap body with - Ast.Nest(stmt_dots,[],false,_,_) -> + Ast.Nest(starter,stmt_dots,ender,[],false,_,_) + (* perhaps could optimize for minus case too... TODO *) + when not_minus (Ast.get_mcodekind starter) + -> (* special case for function header + body - header is unambiguous and unique, so we can just look for the nested body anywhere else in the CFG *) diff --git a/engine/asttoctl2.mli b/engine/asttoctl2.mli index 9e43721..33d564f 100644 --- a/engine/asttoctl2.mli +++ b/engine/asttoctl2.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/engine/asttomember.ml b/engine/asttomember.ml index 6a99509..6e8b144 100644 --- a/engine/asttomember.ml +++ b/engine/asttomember.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* on the first pass, onlyModif is true, so we don't see all matched nodes, only modified ones *) @@ -223,10 +245,10 @@ and statement testfn mcode tail stmt : 'a list list = then [] else Common.union_all processed - | Ast.Nest(stmt_dots,whencode,true,_,_) -> + | Ast.Nest(starter,stmt_dots,ender,whencode,true,_,_) -> statement_list testfn mcode false stmt_dots - | Ast.Nest(stmt_dots,whencode,false,_,_) -> [] + | Ast.Nest(starter,stmt_dots,ender,whencode,false,_,_) -> [] | Ast.Dots(_,whencodes,_,_) -> [] diff --git a/engine/asttomember.mli b/engine/asttomember.mli index fca0030..8b38708 100644 --- a/engine/asttomember.mli +++ b/engine/asttomember.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val asttomember : Ast_cocci.rule -> Ast_cocci.meta_name list list -> (Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif) list list list diff --git a/engine/c_vs_c.ml b/engine/c_vs_c.ml index c78dda1..aaf3231 100644 --- a/engine/c_vs_c.ml +++ b/engine/c_vs_c.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common open Ast_c @@ -319,3 +341,31 @@ let eq_type a b = let merge_type a b = Common.profile_code "C_vs_c" (fun () -> merge_type2 a b) + + +(* ------------------------------------------------------------------------- *) + +(* This seemed like a reasonable place to put this, given the file name, +but not sure that it is the case... This has to be compatible with the +function equal_inh_metavarval. It is indeed not so clear why that is +defined in cocci_vs_c.ml, and not here, since it is comparing C code to C +code. *) + +let subexpression_of_expression small_exp big_exp = + let res = ref false in (* because no appropriate functional visitor... *) + let expr (k,bigf) big_exp = + (* comparison used in Cocci_vs_c.equal_inh_metavarval *) + (* have to strip each subexp, because stripping puts some offsets in the + term rather than setting everything to 0. No idea why... *) + if small_exp =*= Lib_parsing_c.al_inh_expr big_exp + then res := true + else k big_exp in + let bigf = { Visitor_c.default_visitor_c with Visitor_c.kexpr = expr } in + Visitor_c.vk_expr bigf big_exp; + (*Printf.printf "comparison gives %b\n" !res; + Pretty_print_c.pp_expression_simple small_exp; + Format.print_newline(); + Pretty_print_c.pp_expression_simple big_exp; + Format.print_newline(); + Printf.printf "--------------------------------\n";*) + !res diff --git a/engine/c_vs_c.mli b/engine/c_vs_c.mli index 3603abc..86e9c83 100644 --- a/engine/c_vs_c.mli +++ b/engine/c_vs_c.mli @@ -20,6 +20,29 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + val eq_type : Ast_c.fullType -> Ast_c.fullType -> bool val merge_type : Ast_c.fullType -> Ast_c.fullType -> Ast_c.fullType + +val subexpression_of_expression : Ast_c.expression -> Ast_c.expression -> bool diff --git a/engine/check_exhaustive_pattern.ml b/engine/check_exhaustive_pattern.ml index 47386ae..6315bed 100644 --- a/engine/check_exhaustive_pattern.ml +++ b/engine/check_exhaustive_pattern.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Just to warn me when there is some news in the types in * ast_cocci.ml or even ast_c.ml, so that I can then adjust my code in diff --git a/engine/check_reachability.ml b/engine/check_reachability.ml index 6e48faa..5acf0df 100644 --- a/engine/check_reachability.ml +++ b/engine/check_reachability.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ---------------------------------------------------------------- *) (* code to check for ambiguities *) @@ -91,19 +113,24 @@ let create_formulas _ = let match_roots = List.map (function n -> Ast_ctl.Pred(Node(n))) (List.sort compare !roots) in - let roots = + let or_roots = List.fold_left (function prev -> function cur -> Ast_ctl.Or(prev,cur)) (List.hd match_roots) (List.tl match_roots) in - (node, - Ast_ctl.AF(Ast_ctl.BACKWARD,Ast_ctl.NONSTRICT, - Ast_ctl.Or(roots,Ast_ctl.Pred(After))), - Ast_ctl.And - (Ast_ctl.NONSTRICT, - Ast_ctl.Not(roots), - Ast_ctl.EX - (Ast_ctl.BACKWARD, - Ast_ctl.EU(Ast_ctl.BACKWARD,roots,match_node)))) + (* no point to search if no path, and the presence of after + in the AF formula can make things slow *) + if List.mem node !roots + then acc + else + (node, + Ast_ctl.AF(Ast_ctl.BACKWARD,Ast_ctl.NONSTRICT, + Ast_ctl.Or(or_roots,Ast_ctl.Pred(After))), + Ast_ctl.And + (Ast_ctl.NONSTRICT, + Ast_ctl.Not(or_roots), + Ast_ctl.EX + (Ast_ctl.BACKWARD, + Ast_ctl.EU(Ast_ctl.BACKWARD,or_roots,match_node)))) (*exef (wrap(Ast_ctl.And(Ast_ctl.NONSTRICT,match_node,exef(roots))))*) :: acc) diff --git a/engine/check_reachability.mli b/engine/check_reachability.mli index b803cd7..c4c0fa8 100644 --- a/engine/check_reachability.mli +++ b/engine/check_reachability.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type witness = (Ograph_extended.nodei, unit, (Ograph_extended.nodei, unit, unit) Ast_ctl.generic_ctl list) diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml index 64354e5..c726fb9 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Yoann Padioleau, Julia Lawall * * Copyright (C) 2006, 2007, 2008 Ecole des Mines de Nantes @@ -258,7 +280,7 @@ let equal_storage a b = let equal_metavarval valu valu' = match valu, valu' with - | Ast_c.MetaIdVal a, Ast_c.MetaIdVal b -> a =$= b + | Ast_c.MetaIdVal (a,_), Ast_c.MetaIdVal (b,_) -> a =$= b | Ast_c.MetaFuncVal a, Ast_c.MetaFuncVal b -> a =$= b | Ast_c.MetaLocalFuncVal a, Ast_c.MetaLocalFuncVal b -> (* do something more ? *) @@ -270,7 +292,7 @@ let equal_metavarval valu valu' = * just isomorphisms). => TODO call isomorphism_c_c instead of * =*=. Maybe would be easier to transform ast_c in ast_cocci * and call the iso engine of julia. *) - | Ast_c.MetaExprVal a, Ast_c.MetaExprVal b -> + | Ast_c.MetaExprVal (a,_), Ast_c.MetaExprVal (b,_) -> Lib_parsing_c.al_expr a =*= Lib_parsing_c.al_expr b | Ast_c.MetaExprListVal a, Ast_c.MetaExprListVal b -> Lib_parsing_c.al_arguments a =*= Lib_parsing_c.al_arguments b @@ -315,7 +337,7 @@ metavariables containing expressions are stripped in advance. But don't know which one is which... *) let equal_inh_metavarval valu valu'= match valu, valu' with - | Ast_c.MetaIdVal a, Ast_c.MetaIdVal b -> a =$= b + | Ast_c.MetaIdVal (a,_), Ast_c.MetaIdVal (b,_) -> a =$= b | Ast_c.MetaFuncVal a, Ast_c.MetaFuncVal b -> a =$= b | Ast_c.MetaLocalFuncVal a, Ast_c.MetaLocalFuncVal b -> (* do something more ? *) @@ -327,7 +349,7 @@ let equal_inh_metavarval valu valu'= * just isomorphisms). => TODO call isomorphism_c_c instead of * =*=. Maybe would be easier to transform ast_c in ast_cocci * and call the iso engine of julia. *) - | Ast_c.MetaExprVal a, Ast_c.MetaExprVal b -> + | Ast_c.MetaExprVal (a,_), Ast_c.MetaExprVal (b,_) -> Lib_parsing_c.al_inh_expr a =*= Lib_parsing_c.al_inh_expr b | Ast_c.MetaExprListVal a, Ast_c.MetaExprListVal b -> Lib_parsing_c.al_inh_arguments a =*= Lib_parsing_c.al_inh_arguments b @@ -720,44 +742,39 @@ let dots2metavar (_,info,mcodekind,pos) = (("","..."),info,mcodekind,pos) let metavar2dots (_,info,mcodekind,pos) = ("...",info,mcodekind,pos) -let satisfies_iconstraint c id : bool = +let satisfies_regexpconstraint c id : bool = match c with - A.IdNoConstraint -> true - | A.IdNegIdSet l -> not (List.mem id l) - | A.IdRegExp (_,recompiled) -> - if Str.string_match recompiled id 0 then - true - else - false - | A.IdNotRegExp (_,recompiled) -> - if Str.string_match recompiled id 0 then - false - else - true + A.IdRegExp (_,recompiled) -> Str.string_match recompiled id 0 + | A.IdNotRegExp (_,recompiled) -> not (Str.string_match recompiled id 0) + +let satisfies_iconstraint c id : bool = + not (List.mem id c) let satisfies_econstraint c exp : bool = - match Ast_c.unwrap_expr exp with - Ast_c.Ident (name) -> - ( - match name with - Ast_c.RegularName rname -> satisfies_iconstraint c (Ast_c.unwrap_st rname) - | Ast_c.CppConcatenatedName _ -> - pr2_once ("WARNING: Unable to apply a constraint on a CppConcatenatedName identifier !"); true - | Ast_c.CppVariadicName _ -> - pr2_once ("WARNING: Unable to apply a constraint on a CppVariadicName identifier !"); true - | Ast_c.CppIdentBuilder _ -> - pr2_once ("WARNING: Unable to apply a constraint on a CppIdentBuilder identifier !"); true - ) - | Ast_c.Constant cst -> - (match cst with - | Ast_c.String (str, _) -> satisfies_iconstraint c str - | Ast_c.MultiString strlist -> - pr2_once ("WARNING: Unable to apply a constraint on an multistring constant !"); true - | Ast_c.Char (char , _) -> satisfies_iconstraint c char - | Ast_c.Int (int , _) -> satisfies_iconstraint c int - | Ast_c.Float (float, _) -> satisfies_iconstraint c float - ) - | _ -> pr2_once ("WARNING: Unable to apply a constraint on an expression !"); true + let warning s = pr2_once ("WARNING: "^s); false in + match Ast_c.unwrap_expr exp with + Ast_c.Ident (name) -> + (match name with + Ast_c.RegularName rname -> + satisfies_regexpconstraint c (Ast_c.unwrap_st rname) + | Ast_c.CppConcatenatedName _ -> + warning + "Unable to apply a constraint on a CppConcatenatedName identifier!" + | Ast_c.CppVariadicName _ -> + warning + "Unable to apply a constraint on a CppVariadicName identifier!" + | Ast_c.CppIdentBuilder _ -> + warning + "Unable to apply a constraint on a CppIdentBuilder identifier!") + | Ast_c.Constant cst -> + (match cst with + | Ast_c.String (str, _) -> satisfies_regexpconstraint c str + | Ast_c.MultiString strlist -> + warning "Unable to apply a constraint on an multistring constant!" + | Ast_c.Char (char , _) -> satisfies_regexpconstraint c char + | Ast_c.Int (int , _) -> satisfies_regexpconstraint c int + | Ast_c.Float (float, _) -> satisfies_regexpconstraint c float) + | _ -> warning "Unable to apply a constraint on an expression!" (*---------------------------------------------------------------------------*) (* toc: @@ -832,52 +849,31 @@ let rec (expression: (A.expression, Ast_c.expression) matcher) = acc >|+|> compatible_type ta tb) fail ) >>= (fun () () -> - match constraints with - Ast_cocci.NoConstraint -> - let max_min _ = - Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_expr expb) in - X.envf keep inherited (ida, Ast_c.MetaExprVal expb, max_min) - (fun () -> - X.distrf_e ida expb >>= - (fun ida expb -> - return ( - A.MetaExpr (ida,constraints,keep,opttypa,form,inherited)+> - A.rewrap ea, - expb - )) - ) - - | Ast_cocci.NotIdCstrt cstrt -> - X.check_idconstraint satisfies_econstraint cstrt eb - (fun () -> - let max_min _ = - Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_expr expb) in - X.envf keep inherited (ida, Ast_c.MetaExprVal expb, max_min) - (fun () -> - X.distrf_e ida expb >>= - (fun ida expb -> - return ( - A.MetaExpr (ida,constraints,keep,opttypa,form,inherited)+> - A.rewrap ea, - expb - )) - )) - - | Ast_cocci.NotExpCstrt cstrts -> - X.check_constraints_ne expression cstrts eb - (fun () -> - let max_min _ = - Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_expr expb) in - X.envf keep inherited (ida, Ast_c.MetaExprVal expb, max_min) - (fun () -> - X.distrf_e ida expb >>= - (fun ida expb -> - return ( - A.MetaExpr (ida,constraints,keep,opttypa,form,inherited)+> - A.rewrap ea, - expb - )) - ))) + let meta_expr_val l x = Ast_c.MetaExprVal(x,l) in + match constraints with + Ast_cocci.NoConstraint -> return (meta_expr_val [],()) + | Ast_cocci.NotIdCstrt cstrt -> + X.check_idconstraint satisfies_econstraint cstrt eb + (fun () -> return (meta_expr_val [],())) + | Ast_cocci.NotExpCstrt cstrts -> + X.check_constraints_ne expression cstrts eb + (fun () -> return (meta_expr_val [],())) + | Ast_cocci.SubExpCstrt cstrts -> + return (meta_expr_val cstrts,())) + >>= + (fun wrapper () -> + let max_min _ = + Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_expr expb) in + X.envf keep inherited (ida, wrapper expb, max_min) + (fun () -> + X.distrf_e ida expb >>= + (fun ida expb -> + return ( + A.MetaExpr (ida,constraints,keep,opttypa,form,inherited)+> + A.rewrap ea, + expb + )) + )) else fail (* old: @@ -1198,12 +1194,16 @@ let rec (expression: (A.expression, Ast_c.expression) matcher) = ((B.ParenExpr (eb), typ), [ib1;ib2]) )))) - | A.NestExpr(exps,None,true), eb -> + | A.NestExpr(starter,exps,ender,None,true), eb -> + (match A.get_mcodekind starter with + A.MINUS _ -> failwith "TODO: only context nests supported" + | _ -> ()); (match A.unwrap exps with A.DOTS [exp] -> X.cocciExpExp expression exp eb >>= (fun exp eb -> return ( - (A.NestExpr(A.rewrap exps (A.DOTS [exp]),None,true)) +> wa, + (A.NestExpr + (starter,A.rewrap exps (A.DOTS [exp]),ender,None,true)) +> wa, eb ) ) @@ -1275,6 +1275,16 @@ and (ident_cpp: info_ident -> (A.ident, B.name) matcher) = and (ident: info_ident -> (A.ident, string * Ast_c.info) matcher) = fun infoidb ida ((idb, iib)) -> (* (idb, iib) as ib *) + let check_constraints constraints idb = + let meta_id_val l x = Ast_c.MetaIdVal(x,l) in + match constraints with + A.IdNoConstraint -> return (meta_id_val [],()) + | A.IdNegIdSet (str,meta) -> + X.check_idconstraint satisfies_iconstraint str idb + (fun () -> return (meta_id_val meta,())) + | A.IdRegExpConstraint re -> + X.check_idconstraint satisfies_regexpconstraint re idb + (fun () -> return (meta_id_val [],())) in X.all_bound (A.get_inherited ida) >&&> match A.unwrap ida with | A.Id sa -> @@ -1287,12 +1297,12 @@ and (ident: info_ident -> (A.ident, string * Ast_c.info) matcher) = else fail | A.MetaId(mida,constraints,keep,inherited) -> - X.check_idconstraint satisfies_iconstraint constraints idb - (fun () -> + check_constraints constraints idb >>= + (fun wrapper () -> let max_min _ = Lib_parsing_c.lin_col_by_pos [iib] in (* use drop_pos for ids so that the pos is not added a second time in the call to tokenf *) - X.envf keep inherited (A.drop_pos mida, Ast_c.MetaIdVal (idb), max_min) + X.envf keep inherited (A.drop_pos mida, wrapper idb, max_min) (fun () -> tokenf mida iib >>= (fun mida iib -> return ( @@ -1303,8 +1313,8 @@ and (ident: info_ident -> (A.ident, string * Ast_c.info) matcher) = | A.MetaFunc(mida,constraints,keep,inherited) -> let is_function _ = - X.check_idconstraint satisfies_iconstraint constraints idb - (fun () -> + check_constraints constraints idb >>= + (fun wrapper () -> let max_min _ = Lib_parsing_c.lin_col_by_pos [iib] in X.envf keep inherited (A.drop_pos mida,Ast_c.MetaFuncVal idb,max_min) (fun () -> @@ -1327,8 +1337,8 @@ and (ident: info_ident -> (A.ident, string * Ast_c.info) matcher) = | A.MetaLocalFunc(mida,constraints,keep,inherited) -> (match infoidb with | LocalFunction -> - X.check_idconstraint satisfies_iconstraint constraints idb - (fun () -> + check_constraints constraints idb >>= + (fun wrapper () -> let max_min _ = Lib_parsing_c.lin_col_by_pos [iib] in X.envf keep inherited (A.drop_pos mida,Ast_c.MetaLocalFuncVal idb, max_min) diff --git a/engine/cocci_vs_c.mli b/engine/cocci_vs_c.mli index 63fccf3..b4f1a7b 100644 --- a/engine/cocci_vs_c.mli +++ b/engine/cocci_vs_c.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (*****************************************************************************) (* Cocci vs C *) (*****************************************************************************) diff --git a/engine/ctlcocci_integration.ml b/engine/ctlcocci_integration.ml index 4ba7f5c..1b9f524 100644 --- a/engine/ctlcocci_integration.ml +++ b/engine/ctlcocci_integration.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common open Ograph_extended @@ -456,8 +478,8 @@ let strip env = (function (v,vl) -> let vl = match vl with - Ast_c.MetaExprVal a -> - Ast_c.MetaExprVal(Lib_parsing_c.al_inh_expr a) + Ast_c.MetaExprVal (a,c) -> + Ast_c.MetaExprVal(Lib_parsing_c.al_inh_expr a,c) | Ast_c.MetaExprListVal a -> Ast_c.MetaExprListVal(Lib_parsing_c.al_inh_arguments a) | Ast_c.MetaStmtVal a -> diff --git a/engine/ctlcocci_integration.mli b/engine/ctlcocci_integration.mli index 00059d8..3edb984 100644 --- a/engine/ctlcocci_integration.mli +++ b/engine/ctlcocci_integration.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ograph_extended val labels_for_ctl : diff --git a/engine/ctltotex.ml b/engine/ctltotex.ml index c685886..5e18fef 100644 --- a/engine/ctltotex.ml +++ b/engine/ctltotex.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module CTL = Ast_ctl let prelude = diff --git a/engine/ctltotex.mli b/engine/ctltotex.mli index 9dc13a4..1d5a5e8 100644 --- a/engine/ctltotex.mli +++ b/engine/ctltotex.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val totex : string -> Ast_cocci.rule list -> diff --git a/engine/flag_engine.ml b/engine/flag_engine.ml index 81b982b..ca07510 100644 --- a/engine/flag_engine.ml +++ b/engine/flag_engine.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let debug_engine = ref false (* false = simpler formulas, only for debugging *) diff --git a/engine/flag_matcher.ml b/engine/flag_matcher.ml index 0a28952..128ff88 100644 --- a/engine/flag_matcher.ml +++ b/engine/flag_matcher.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let debug_engine = ref false let verbose_matcher = ref true diff --git a/engine/isomorphisms_c_c.ml b/engine/isomorphisms_c_c.ml index be16941..87e3cb3 100644 --- a/engine/isomorphisms_c_c.ml +++ b/engine/isomorphisms_c_c.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (* When in a semantic patch there is f(X) ... f(X) we want to force diff --git a/engine/lib_engine.ml b/engine/lib_engine.ml index 604ebac..171bb4b 100644 --- a/engine/lib_engine.ml +++ b/engine/lib_engine.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ograph_extended (*****************************************************************************) diff --git a/engine/lib_matcher_c.ml b/engine/lib_matcher_c.ml index 05b4a2c..26fb1f5 100644 --- a/engine/lib_matcher_c.ml +++ b/engine/lib_matcher_c.ml @@ -20,3 +20,25 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + diff --git a/engine/lib_matcher_c.mli b/engine/lib_matcher_c.mli index 05b4a2c..26fb1f5 100644 --- a/engine/lib_matcher_c.mli +++ b/engine/lib_matcher_c.mli @@ -20,3 +20,25 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + diff --git a/engine/main.ml b/engine/main.ml index fa1c82a..877022f 100644 --- a/engine/main.ml +++ b/engine/main.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ----------------------------------------------------------------------- *) (* Entry point *) diff --git a/engine/pattern_c.ml b/engine/pattern_c.ml index 89abfb4..fd7b11a 100644 --- a/engine/pattern_c.ml +++ b/engine/pattern_c.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Yoann Padioleau * * Copyright (C) 2006, 2007 Ecole des Mines de Nantes @@ -362,51 +384,101 @@ module XMATCH = struct else None | None -> - let valu' = - match valu with - Ast_c.MetaIdVal a -> Ast_c.MetaIdVal a - | Ast_c.MetaFuncVal a -> Ast_c.MetaFuncVal a - | Ast_c.MetaLocalFuncVal a -> Ast_c.MetaLocalFuncVal a (*more?*) - | Ast_c.MetaExprVal a -> - Ast_c.MetaExprVal - (if strip - then Lib_parsing_c.al_expr a - else Lib_parsing_c.semi_al_expr a) - | Ast_c.MetaExprListVal a -> - Ast_c.MetaExprListVal - (if strip - then Lib_parsing_c.al_arguments a - else Lib_parsing_c.semi_al_arguments a) - - | Ast_c.MetaStmtVal a -> - Ast_c.MetaStmtVal - (if strip - then Lib_parsing_c.al_statement a - else Lib_parsing_c.semi_al_statement a) - | Ast_c.MetaTypeVal a -> - Ast_c.MetaTypeVal - (if strip - then Lib_parsing_c.al_type a - else Lib_parsing_c.semi_al_type a) - - | Ast_c.MetaInitVal a -> - Ast_c.MetaInitVal - (if strip - then Lib_parsing_c.al_init a - else Lib_parsing_c.semi_al_init a) - - | Ast_c.MetaListlenVal a -> Ast_c.MetaListlenVal a - - | Ast_c.MetaParamVal a -> failwith "not handling MetaParamVal" - | Ast_c.MetaParamListVal a -> - Ast_c.MetaParamListVal - (if strip - then Lib_parsing_c.al_params a - else Lib_parsing_c.semi_al_params a) - - | Ast_c.MetaPosVal (pos1,pos2) -> Ast_c.MetaPosVal (pos1,pos2) - | Ast_c.MetaPosValList l -> Ast_c.MetaPosValList l - in Some (tin.binding +> Common.insert_assoc (k, valu')) + let success valu' = + Some (tin.binding +> Common.insert_assoc (k, valu')) in + (match valu with + Ast_c.MetaIdVal (a,c) -> + (* c is a negated constraint *) + let rec loop = function + [] -> success(Ast_c.MetaIdVal(a,[])) + | c::cs -> + let tmp = + Common.optionise + (fun () -> tin.binding0 +> List.assoc c) in + (match tmp with + Some (Ast_c.MetaIdVal(v,_)) -> + if a =$= v + then None (* failure *) + else success(Ast_c.MetaIdVal(a,[])) + | Some _ -> failwith "Not possible" + | None -> success(Ast_c.MetaIdVal(a,[]))) in + loop c + | Ast_c.MetaFuncVal a -> + success(Ast_c.MetaFuncVal a) + | Ast_c.MetaLocalFuncVal a -> + success(Ast_c.MetaLocalFuncVal a) (*more?*) + | Ast_c.MetaExprVal (a,c) -> + (* c in the value is only to prepare for the future in which + we figure out how to have subterm constraints on unbound + variables. Now an environment will only contain expression + values with empty constraints, as all constraints are + resolved at binding time *) + let stripped = + if strip + then Lib_parsing_c.al_expr a + else Lib_parsing_c.semi_al_expr a in + let inh_stripped = Lib_parsing_c.al_inh_expr a in + let rec loop = function + [] -> success(Ast_c.MetaExprVal(stripped,[])) + | c::cs -> + let tmp = + Common.optionise + (fun () -> tin.binding0 +> List.assoc c) in + (match tmp with + Some (Ast_c.MetaExprVal(v,_)) -> + if C_vs_c.subexpression_of_expression inh_stripped v + then loop cs (* forget satisfied constraints *) + else None (* failure *) + | Some _ -> failwith "not possible" + (* fail if this should be a subterm of something that + doesn't exist *) + | None -> None) in + loop c + | Ast_c.MetaExprListVal a -> + success + (Ast_c.MetaExprListVal + (if strip + then Lib_parsing_c.al_arguments a + else Lib_parsing_c.semi_al_arguments a)) + + | Ast_c.MetaStmtVal a -> + success + (Ast_c.MetaStmtVal + (if strip + then Lib_parsing_c.al_statement a + else Lib_parsing_c.semi_al_statement a)) + | Ast_c.MetaTypeVal a -> + success + (Ast_c.MetaTypeVal + (if strip + then Lib_parsing_c.al_type a + else Lib_parsing_c.semi_al_type a)) + + | Ast_c.MetaInitVal a -> + success + (Ast_c.MetaInitVal + (if strip + then Lib_parsing_c.al_init a + else Lib_parsing_c.semi_al_init a)) + + | Ast_c.MetaListlenVal a -> success(Ast_c.MetaListlenVal a) + + | Ast_c.MetaParamVal a -> + success + (Ast_c.MetaParamVal + (if strip + then Lib_parsing_c.al_param a + else Lib_parsing_c.semi_al_param a)) + | Ast_c.MetaParamListVal a -> + success + (Ast_c.MetaParamListVal + (if strip + then Lib_parsing_c.al_params a + else Lib_parsing_c.semi_al_params a)) + + | Ast_c.MetaPosVal (pos1,pos2) -> + success(Ast_c.MetaPosVal (pos1,pos2)) + | Ast_c.MetaPosValList l -> success (Ast_c.MetaPosValList l)) let envf keep inherited = fun (k, valu, get_max_min) f tin -> let x = Ast_cocci.unwrap_mcode k in diff --git a/engine/pattern_c.mli b/engine/pattern_c.mli index 9641023..539fbfc 100644 --- a/engine/pattern_c.mli +++ b/engine/pattern_c.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val match_re_node : string list (* dropped isos *) -> diff --git a/engine/postprocess_transinfo.ml b/engine/postprocess_transinfo.ml index c054cea..d880125 100644 --- a/engine/postprocess_transinfo.ml +++ b/engine/postprocess_transinfo.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* two goals: first drop from the environments things that are not used, and second prompt for the names of fresh variables that are used *) @@ -55,7 +77,7 @@ let get_vars = function Lib_engine.Match(re) -> (Ast.get_fvs re, Ast.get_fresh re) | _ -> ([],[]) -let string2val str = Lib_engine.NormalMetaVal(Ast_c.MetaIdVal(str)) +let string2val str = Lib_engine.NormalMetaVal(Ast_c.MetaIdVal(str,[])) (* ----------------------------------------------------------------------- *) (* Get values for fresh variables *) @@ -92,7 +114,7 @@ let process_tree inherited_env l = | Ast.SeedId id -> try (match List.assoc id env with - Lib_engine.NormalMetaVal(Ast_c.MetaIdVal(str)) -> + Lib_engine.NormalMetaVal(Ast_c.MetaIdVal(str,_)) -> str | _ -> failwith "bad id value") with diff --git a/engine/postprocess_transinfo.mli b/engine/postprocess_transinfo.mli index b9c030a..bf1c06e 100644 --- a/engine/postprocess_transinfo.mli +++ b/engine/postprocess_transinfo.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : Ast_cocci.meta_name list (* used after *) -> (Ast_cocci.meta_name * Lib_engine.metavar_binding_kind2) list diff --git a/engine/pretty_print_engine.ml b/engine/pretty_print_engine.ml index 04286bb..deba5b7 100644 --- a/engine/pretty_print_engine.ml +++ b/engine/pretty_print_engine.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common.Infix open Lib_engine @@ -30,10 +52,10 @@ let pp = Common.pp let pp_meta (_,x) = pp x let rec pp_binding_kind = function - | Ast_c.MetaIdVal s -> pp ("id " ^ s) + | Ast_c.MetaIdVal (s,_) -> pp ("id " ^ s) | Ast_c.MetaFuncVal s -> pp ("func " ^ s) | Ast_c.MetaLocalFuncVal s -> pp ("localfunc " ^ s) - | Ast_c.MetaExprVal expr -> Pretty_print_c.pp_expression_simple expr + | Ast_c.MetaExprVal (expr,_) -> Pretty_print_c.pp_expression_simple expr | Ast_c.MetaExprListVal expr_list -> pp "<>" | Ast_c.MetaInitVal ini -> Pretty_print_c.pp_init_simple ini diff --git a/engine/pretty_print_engine.mli b/engine/pretty_print_engine.mli index 7ca906f..b217367 100644 --- a/engine/pretty_print_engine.mli +++ b/engine/pretty_print_engine.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* could be in pretty_print_c because dependent of ast_c but metavars * are in ast_c for "bad" reason, so better put the pretty_print * of metavars here diff --git a/engine/sgrep.ml b/engine/sgrep.ml index fbe81de..1c142d6 100644 --- a/engine/sgrep.ml +++ b/engine/sgrep.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type marker = NoMark | BefMark of string | AftMark of string | BefAftMark of string * string diff --git a/engine/transformation_c.ml b/engine/transformation_c.ml index e9f6162..55c220f 100644 --- a/engine/transformation_c.ml +++ b/engine/transformation_c.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Yoann Padioleau * * Copyright (C) 2006, 2007 Ecole des Mines de Nantes diff --git a/engine/transformation_c.mli b/engine/transformation_c.mli index aaabd4c..0b57d32 100644 --- a/engine/transformation_c.mli +++ b/engine/transformation_c.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* note that now we do the transformation via side effect on ast *) val transform : string (* rule name *) -> string list (* dropped isos *) -> diff --git a/flag_cocci.ml b/flag_cocci.ml index f7b10c5..26ad3bc 100644 --- a/flag_cocci.ml +++ b/flag_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* the inputs *) let show_c = ref false let show_cocci = ref false diff --git a/globals/config.ml.in b/globals/config.ml.in index f1b8fd4..6cefbb9 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.2" +let version = "0.2.3rc1" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/globals/flag.ml b/globals/flag.ml index 6e26234..24b58ce 100644 --- a/globals/flag.ml +++ b/globals/flag.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let sgrep_mode2 = ref false let show_misc = ref true diff --git a/main.ml b/main.ml index f088e9f..f180c38 100644 --- a/main.ml +++ b/main.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common module FC = Flag_cocci @@ -35,7 +57,9 @@ module FC = Flag_cocci let cocci_file = ref "" let output_file = ref "" -let inplace_modif = ref false (* but keeps a .cocci_orig *) +let inplace_modif = ref false (* but keeps nothing *) +let backup_suffix = + ref (None : string option) (* suffix for backup if one is desired *) let outplace_modif = ref false (* generates a .cocci_res *) let preprocess = ref false (* run the C preprocessor before cocci *) let compat_mode = ref false @@ -268,9 +292,11 @@ let short_options = [ "-o", Arg.Set_string output_file, " the output file"; - "-inplace", Arg.Set inplace_modif, + "-in_place", Arg.Set inplace_modif, " do the modification on the file directly"; - "-outplace", Arg.Set outplace_modif, + "-backup_suffix", Arg.String (function s -> backup_suffix := Some s), + " suffix to use when making a backup for inplace"; + "-out_place", Arg.Set outplace_modif, " store modifications in a .cocci_res file"; "-U", Arg.Int (fun n -> Flag_parsing_c.diff_lines := Some (i_to_s n)), @@ -331,7 +357,7 @@ let short_options = [ " guess what"; "-date", Arg.Unit (fun () -> - pr2 "version: $Date: 2010/03/09 08:29:04 $"; + pr2 "version: $Date: 2010/05/03 11:10:04 $"; raise (Common.UnixExit 0) ), " guess what"; @@ -700,7 +726,7 @@ let glimpse_filter (coccifile, isofile) dir = None -> pr2 "no glimpse keyword inferred from snippet"; None | Some [query] -> (let suffixes = if !include_headers then ["c";"h"] else ["c"] in - pr2 ("glimpse request = " ^ query); + Printf.fprintf stderr "%s\n" ("glimpse request = " ^ query); let command = spf "glimpse -y -H %s -N -W -w '%s'" dir query in let (glimpse_res,stat) = Common.cmd_to_list_and_status command in match stat with @@ -870,7 +896,10 @@ let main_action xs = outopt +> Common.do_option (fun outfile -> if !inplace_modif then begin - Common.command2 ("cp "^infile^" "^infile^".cocci_orig"); + (match !backup_suffix with + Some backup_suffix -> + Common.command2 ("cp "^infile^" "^infile^backup_suffix) + | None -> ()); Common.command2 ("cp "^outfile^" "^infile); end; @@ -975,18 +1004,20 @@ let main () = | [x] when !test_mode -> begin let prefix = "tests/" in - try - FC.include_path := [prefix^"include"]; - Testing.testone prefix x !compare_with_expected - with error -> - let testfile = prefix ^ x ^ ".cocci" in - if not (Sys.file_exists testfile) then + let testfile = x ^ ".cocci" in + if Sys.file_exists (prefix ^ testfile) then begin - FC.include_path := ["include"]; - Testing.testone "" x !compare_with_expected + FC.include_path := [prefix^"include"]; + Testing.testone prefix x !compare_with_expected end else - raise error + if Sys.file_exists testfile then + begin + FC.include_path := ["include"]; + Testing.testone "" x !compare_with_expected + end + else + pr2 (spf "ERROR: File %s does not exist" testfile) end | [] when !test_all -> diff --git a/parsing_c/ast_c.ml b/parsing_c/ast_c.ml index 149d031..2c4c5ff 100644 --- a/parsing_c/ast_c.ml +++ b/parsing_c/ast_c.ml @@ -685,11 +685,14 @@ and program = toplevel list *) and metavars_binding = (Ast_cocci.meta_name, metavar_binding_kind) assoc and metavar_binding_kind = - | MetaIdVal of string + | MetaIdVal of string * + Ast_cocci.meta_name list (* negative constraints *) | MetaFuncVal of string | MetaLocalFuncVal of string - | MetaExprVal of expression (* a "clean expr" *) + | MetaExprVal of expression (* a "clean expr" *) * + (*subterm constraints, currently exprs*) + Ast_cocci.meta_name list | MetaExprListVal of argument wrap2 list | MetaParamVal of parameterType | MetaParamListVal of parameterType wrap2 list diff --git a/parsing_c/compare_c.ml b/parsing_c/compare_c.ml index 9888185..43fd3cf 100644 --- a/parsing_c/compare_c.ml +++ b/parsing_c/compare_c.ml @@ -249,13 +249,13 @@ let compare_ast filename1 filename2 = (* Pass only "true" comments, dont pass TCommentMisc and TCommentCpp *) -let is_normal_space_or_comment = function - | Parser_c.TComment _ +let is_normal_space_or_comment to_expected = function | Parser_c.TCommentSpace _ | Parser_c.TCommentNewline _ (* | Parser_c.TComma _ *) (* UGLY, because of gcc_opt_comma isomorphism *) -> true + | Parser_c.TComment _ -> to_expected (* only ignore in compare to expected *) | _ -> false @@ -263,7 +263,7 @@ let is_normal_space_or_comment = function * because when there is a notparsablezone in generated_file, I * don't issue a PbOnlyInNotParsedCorrectly *) -let do_compare_token adjust_cvs filename1 filename2 = +let do_compare_token adjust_cvs to_expected filename1 filename2 = let rec loop xs ys = match xs, ys with @@ -298,8 +298,10 @@ let do_compare_token adjust_cvs filename1 filename2 = in let final_loop xs ys = loop - (xs +> List.filter (fun x -> not (is_normal_space_or_comment x))) - (ys +> List.filter (fun x -> not (is_normal_space_or_comment x))) + (xs +> + List.filter (fun x -> not (is_normal_space_or_comment to_expected x))) + (ys +> + List.filter (fun x -> not (is_normal_space_or_comment to_expected x))) in (* @@ -356,16 +358,16 @@ let do_compare_token adjust_cvs filename1 filename2 = res, xs -let compare_token = do_compare_token true +let compare_token = do_compare_token true true (*****************************************************************************) (* compare to a res file *) -let compare_default = do_compare_token true +let compare_default = do_compare_token true true (* compare to the source of the transformation *) -let compare_to_original = do_compare_token false +let compare_to_original = do_compare_token false false let compare_result_to_string (correct, diffxs) = diff --git a/parsing_c/cpp_token_c.ml b/parsing_c/cpp_token_c.ml index ac88346..1c25d90 100644 --- a/parsing_c/cpp_token_c.ml +++ b/parsing_c/cpp_token_c.ml @@ -498,6 +498,7 @@ let macro_body_to_maybe_hint body = ) | xs -> DefineBody body +exception Bad_param let rec (define_parse: Parser_c.token list -> (string * define_def) list) = fun xs -> @@ -507,49 +508,56 @@ let rec (define_parse: Parser_c.token list -> (string * define_def) list) = (* note: the macro could be badly written and have no closing ')' for * its param, which would make us go too far away, but I don't think * it's important to handle such an error *) - let (tokparams, _, xs) = - xs +> Common.split_when (function TCPar _ -> true | _ -> false) in - let (body, _, xs) = - xs +> Common.split_when (function TDefEOL _ -> true | _ -> false) in - let params = - tokparams +> Common.map_filter (function - | TComma _ -> None - | TIdent (s, _) -> Some s - - (* TODO *) - | TDefParamVariadic (s, _) -> Some s - (* TODO *) - | TEllipsis _ -> Some "..." - - | x -> - (* bugfix: param of macros can be tricky *) - let s = TH.str_of_tok x in - if s ==~ Common.regexp_alpha - then begin - pr2 (spf "remapping: %s to a macro parameter" s); - Some s - end - else - error_cant_have x - ) in - (* bugfix: also substitute to ident in body so cpp_engine will - * have an easy job. - *) - let body = body +> List.map (fun tok -> - match tok with - | TIdent _ -> tok - | _ -> - let s = TH.str_of_tok tok in - let ii = TH.info_of_tok tok in - if s ==~ Common.regexp_alpha && List.mem s params - then begin - pr2 (spf "remapping: %s to an ident in macro body" s); - TIdent (s, ii) - end - else tok - ) +> List.map (TH.visitor_info_of_tok Ast_c.make_expanded) in - let def = (s, (s, Params params, macro_body_to_maybe_hint body)) in - def::define_parse xs + let def = + try + let (tokparams, _, xs) = + xs +> Common.split_when (function TCPar _ -> true | _ -> false) in + let (body, _, xs) = + xs +> Common.split_when (function TDefEOL _ -> true | _ -> false) in + let params = + tokparams +> Common.map_filter (function + | TComma _ -> None + | TIdent (s, _) -> Some s + + (* TODO *) + | TDefParamVariadic (s, _) -> Some s + (* TODO *) + | TEllipsis _ -> Some "..." + + | x -> + (* bugfix: param of macros can be tricky *) + let s = TH.str_of_tok x in + if s ==~ Common.regexp_alpha + then begin + pr2 (spf "remapping: %s to a macro parameter" s); + Some s + end + else + begin + pr2 (spf "bad character %s in macro parameter list" s); + raise Bad_param + end) in + (* bugfix: also substitute to ident in body so cpp_engine will + * have an easy job. + *) + let body = body +> List.map (fun tok -> + match tok with + | TIdent _ -> tok + | _ -> + let s = TH.str_of_tok tok in + let ii = TH.info_of_tok tok in + if s ==~ Common.regexp_alpha && List.mem s params + then begin + pr2 (spf "remapping: %s to an ident in macro body" s); + TIdent (s, ii) + end + else tok) +> + List.map (TH.visitor_info_of_tok Ast_c.make_expanded) in + Some (s, (s, Params params, macro_body_to_maybe_hint body)) + with Bad_param -> None in + (match def with + Some def -> def::define_parse xs + | None -> define_parse xs) | TDefine i1::TIdentDefine (s,i2)::xs -> let (body, _, xs) = diff --git a/parsing_c/flag_parsing_c.ml b/parsing_c/flag_parsing_c.ml index 1106dd4..8852ffa 100644 --- a/parsing_c/flag_parsing_c.ml +++ b/parsing_c/flag_parsing_c.ml @@ -249,6 +249,8 @@ let spacing = ref LINUX let set_linux_spacing _ = spacing := LINUX (*follow the conventions of Linux*) let set_smpl_spacing _ = spacing := SMPL (*use spacing from the SP*) +let max_width = 78 + (*****************************************************************************) (* drop back edges made by proper loop constructs - diff --git a/parsing_c/parser_c.mly b/parsing_c/parser_c.mly index 2560b74..f63cdba 100644 --- a/parsing_c/parser_c.mly +++ b/parsing_c/parser_c.mly @@ -1617,6 +1617,14 @@ start_fun2: decl_spec declaratorfd /*(* workarounds *)*/ /*(*----------------------------*)*/ +/* It would be very nice if we could make declarator aware that this is +coming from a function definition. Then on the ( and ) cases, it could +set the state to something other than InParameter. Then the case +(TIdent (s, i1)::(TComma _|TCPar _)::_ , (TComma _ |TOPar _)::_ ) +in parsing_hacks.ml would not have to consider K&R variable declarations +as typedefs. Unfortunately, doing something about this problem seems to +introduce conflicts in the parser. */ + declaratorfd: | declarator { et "declaratorfd" (); $1, Ast_c.noattr } /*(* gccext: *)*/ diff --git a/parsing_c/pretty_print_c.ml b/parsing_c/pretty_print_c.ml index 801e2a6..ff542fb 100644 --- a/parsing_c/pretty_print_c.ml +++ b/parsing_c/pretty_print_c.ml @@ -427,7 +427,7 @@ let mk_pretty_printers | (ParenType t, _) -> pp_base_type t sto | (Array (eopt, t), [i1;i2]) -> pp_base_type t sto | (FunctionType (returnt, paramst), [i1;i2]) -> - pp_base_type returnt sto + pp_base_type returnt sto; | (StructUnion (su, sopt, fields),iis) -> diff --git a/parsing_c/type_annoter_c.ml b/parsing_c/type_annoter_c.ml index a55753a..9c7fc4b 100644 --- a/parsing_c/type_annoter_c.ml +++ b/parsing_c/type_annoter_c.ml @@ -907,7 +907,8 @@ let annotater_expr_visitor_subpart = (fun (k,bigf) expr -> | Unary (e, Not) -> k expr; (* recurse to set the types-ref of sub expressions *) - Ast_c.get_type_expr e + (* the result of ! is always 0 or 1, not the argument type *) + make_info_def (type_of_s "int") | Unary (e, Tilde) -> k expr; (* recurse to set the types-ref of sub expressions *) Ast_c.get_type_expr e diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 0cabad4..23a6fc6 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -59,6 +59,7 @@ type token2 = int option (* orig index, abstracting away comments and space *) | Fake2 | Cocci2 of string * int (* line *) * int (* lcol *) * int (* rcol *) + * Unparse_cocci.nlhint option | C2 of string | Indent_cocci2 | Unindent_cocci2 of bool (* true for permanent, false for temporary *) @@ -96,7 +97,7 @@ let print_token1 = function let str_of_token2 = function | T2 (t,_,_) -> TH.str_of_tok t | Fake2 -> "" - | Cocci2 (s,_,_,_) -> s + | Cocci2 (s,_,_,_,_) -> s | C2 s -> s | Indent_cocci2 -> "" | Unindent_cocci2 _ -> "" @@ -111,7 +112,7 @@ let print_token2 = function | Ctx -> "" in "T2:"^b_str^TH.str_of_tok t | Fake2 -> "fake" - | Cocci2 (s,_,lc,rc) -> Printf.sprintf "Cocci2:%d:%d%s" lc rc s + | Cocci2 (s,_,lc,rc,_) -> Printf.sprintf "Cocci2:%d:%d%s" lc rc s | C2 s -> "C2:"^s | Indent_cocci2 -> "Indent" | Unindent_cocci2 _ -> "Unindent" @@ -299,7 +300,12 @@ let displace_fake_nodes toks = (*****************************************************************************) let comment2t2 = function - (Token_c.TCommentCpp x,(info : Token_c.info)) -> + (Token_c.TCommentCpp + (* not sure iif the following list is exhaustive or complete *) + (Token_c.CppAttr|Token_c.CppMacro|Token_c.CppPassingCosWouldGetError), + (info : Token_c.info)) -> + C2(info.Common.str) + | (Token_c.TCommentCpp x,(info : Token_c.info)) -> C2("\n"^info.Common.str^"\n") | x -> failwith (Printf.sprintf "unexpected comment %s" (Common.dump x)) @@ -354,8 +360,8 @@ let expand_mcode toks = let (mcode,env) = Ast_c.mcode_and_env_of_cocciref ((info_of_token1 t).cocci_tag) in - let pr_cocci s ln col rcol = - push2 (Cocci2(s,ln,col,rcol)) toks_out in + let pr_cocci s ln col rcol hint = + push2 (Cocci2(s,ln,col,rcol,hint)) toks_out in let pr_c info = (match Ast_c.pinfo_of_info info with Ast_c.AbstractLineTok _ -> @@ -369,7 +375,7 @@ let expand_mcode toks = List.iter (fun x -> Common.push2 (comment2t2 x) toks_out) in let pr_barrier ln col = (* marks a position, used around C code *) - push2 (Cocci2("",ln,col,col)) toks_out in + push2 (Cocci2("",ln,col,col,None)) toks_out in let pr_nobarrier ln col = () in (* not needed for linux spacing *) let pr_cspace _ = push2 (C2 " ") toks_out in @@ -638,7 +644,7 @@ let remove_minus_and_between_and_expanded_and_fake xs = @ (adjust_within_minus cp (t2::xs)) | (T2(_,Min adj2,_) as t2)::xs -> let is_whitespace_or_plus = function - (T2 _) as x -> is_space x + (T2 _) as x -> is_whitespace x | _ -> true (*plus*) in if List.for_all is_whitespace_or_plus not_minus_list then @@ -752,7 +758,7 @@ let rec add_space xs = match xs with | [] -> [] | [x] -> [x] - | (Cocci2(sx,lnx,_,rcolx) as x)::((Cocci2(sy,lny,lcoly,_)) as y)::xs + | (Cocci2(sx,lnx,_,rcolx,_) as x)::((Cocci2(sy,lny,lcoly,_,_)) as y)::xs when !Flag_parsing_c.spacing = Flag_parsing_c.SMPL && not (lnx = -1) && lnx = lny && not (rcolx = -1) && rcolx < lcoly -> (* this only works within a line. could consider whether @@ -766,7 +772,78 @@ let rec add_space xs = then x::C2 " "::(add_space (y::xs)) else x::(add_space (y::xs)) - +(* The following only works for the outermost function call. Stack records +the column of all open parentheses. Space_cell contains the most recent +comma in the outermost function call. The goal is to decide whether this +should be followed by a space or a newline and indent. *) +let add_newlines toks tabbing_unit = + let create_indent n = + let (tu,tlen) = + match tabbing_unit with + Some ("\t",_) -> ("\t",8) + | Some ("",_) -> ("\t",8) (* not sure why... *) + | Some (s,_) -> (s,String.length s) (* assuming only spaces *) + | None -> ("\t",8) in + let rec loop seen = + if seen + tlen <= n + then tu ^ loop (seen + tlen) + else String.make (n-seen) ' ' in + loop 0 in + let check_for_newline count x = function + Some (start,space_cell) when count > Flag_parsing_c.max_width -> + space_cell := "\n"^(create_indent x); + Some (x + (count - start)) + | _ -> None in + (* the following is for strings that may contain newline *) + let string_length s count = + let l = list_of_string s in + List.fold_left + (function count -> + function + '\t' -> count + 8 + | '\n' -> 0 + | c -> count + 1) + count l in + let rec loop info count = function + [] -> [] + | ((T2(tok,_,_)) as a)::xs -> + a :: loop info (string_length (TH.str_of_tok tok) count) xs + | ((Cocci2(s,line,lcol,rcol,hint)) as a)::xs -> + let (stack,space_cell) = info in + let rest = + match hint with + None -> loop info (count + (String.length s)) xs + | Some Unparse_cocci.StartBox -> + let count = count + (String.length s) in + loop (count::stack,space_cell) count xs + | Some Unparse_cocci.EndBox -> + let count = count + (String.length s) in + (match stack with + [x] -> + (match check_for_newline count x space_cell with + Some count -> loop ([],None) count xs + | None -> loop ([],None) count xs) + | _ -> loop (List.tl stack,space_cell) count xs) + | Some (Unparse_cocci.SpaceOrNewline sp) -> + let count = count + (String.length s) + 1 (*space*) in + (match stack with + [x] -> + (match check_for_newline count x space_cell with + Some count -> loop (stack,Some (x,sp)) count xs + | None -> loop (stack,Some (count,sp)) count xs) + | _ -> loop info count xs) in + a :: rest + | ((C2(s)) as a)::xs -> a :: loop info (string_length s count) xs + | Fake2 :: _ | Indent_cocci2 :: _ + | Unindent_cocci2 _::_ -> + failwith "unexpected fake, indent, or unindent" in + let redo_spaces prev = function + Cocci2(s,line,lcol,rcol,Some (Unparse_cocci.SpaceOrNewline sp)) -> + C2 !sp :: Cocci2(s,line,lcol,rcol,None) :: prev + | t -> t::prev in + (match !Flag_parsing_c.spacing with + Flag_parsing_c.SMPL -> toks + | _ -> List.rev (List.fold_left redo_spaces [] (loop ([],None) 0 toks))) (* When insert some new code, because of a + in a SP, we must add this * code at the right place, with the good indentation. So each time we @@ -836,7 +913,7 @@ let rec adjust_indentation xs = | [] -> [] (* patch: coccinelle *) | ((T2 (tok,_,_)) as x)::(T2 (Parser_c.TCommentNewline s, _, _)):: - ((Cocci2 ("{",_,_,_)) as a)::xs + ((Cocci2 ("{",_,_,_,_)) as a)::xs when started && str_of_token2 x =$= ")" -> (* to be done for if, etc, but not for a function header *) x::(C2 " ")::a::(aux started xs) @@ -857,7 +934,7 @@ let rec adjust_indentation xs = None -> aux started xs | Some (tu,_) -> _current_tabbing := (!_current_tabbing)^tu; - Cocci2 (tu,-1,-1,-1)::aux started xs) + Cocci2 (tu,-1,-1,-1,None)::aux started xs) | Unindent_cocci2(permanent)::xs -> (match !tabbing_unit with None -> aux started xs @@ -865,7 +942,7 @@ let rec adjust_indentation xs = _current_tabbing := remtab tu (!_current_tabbing); aux started xs) (* border between existing code and cocci code *) - | ((T2 (tok,_,_)) as x)::((Cocci2("\n",_,_,_)) as y)::xs + | ((T2 (tok,_,_)) as x)::((Cocci2("\n",_,_,_,_)) as y)::xs when str_of_token2 x =$= "{" -> x::aux true (y::Indent_cocci2::xs) | ((Cocci2 _) as x)::((T2 (tok,_,_)) as y)::xs @@ -873,15 +950,15 @@ let rec adjust_indentation xs = x::aux started (y::Unindent_cocci2 true::xs) (* starting the body of the function *) | ((T2 (tok,_,_)) as x)::xs when str_of_token2 x =$= "{" -> x::aux true xs - | ((Cocci2("{",_,_,_)) as a)::xs -> a::aux true xs - | ((Cocci2("\n",_,_,_)) as x)::Unindent_cocci2(false)::xs -> + | ((Cocci2("{",_,_,_,_)) as a)::xs -> a::aux true xs + | ((Cocci2("\n",_,_,_,_)) as x)::Unindent_cocci2(false)::xs -> x::aux started xs - | ((Cocci2("\n",_,_,_)) as x)::xs -> + | ((Cocci2("\n",_,_,_,_)) as x)::xs -> (* dont inline in expr because of weird eval order of ocaml *) let s = !_current_tabbing in - x::Cocci2 (s,-1,-1,-1)::aux started xs + x::Cocci2 (s,-1,-1,-1,None)::aux started xs | x::xs -> x::aux started xs in - aux false xs + (aux false xs,!tabbing_unit) let rec find_paren_comma = function @@ -1048,11 +1125,12 @@ let pp_program2 xs outfile = then drop_minus toks (* nothing to do for sgrep *) else (* phase2: can now start to filter and adjust *) - let toks = adjust_indentation toks in + let (toks,tu) = adjust_indentation toks in let toks = adjust_before_semicolon toks in(*before remove minus*) let toks = remove_minus_and_between_and_expanded_and_fake toks in (* assert Origin + Cocci + C and no minus *) let toks = add_space toks in + let toks = add_newlines toks tu in let toks = fix_tokens toks in toks in diff --git a/parsing_c/unparse_cocci.ml b/parsing_c/unparse_cocci.ml index 6b9cb59..af78f20 100644 --- a/parsing_c/unparse_cocci.ml +++ b/parsing_c/unparse_cocci.ml @@ -33,6 +33,7 @@ exception CantBeInPlus (*****************************************************************************) type pos = Before | After | InPlace +type nlhint = StartBox | EndBox | SpaceOrNewline of string ref let unknown = -1 @@ -44,8 +45,11 @@ let rec do_all (* Just to be able to copy paste the code from pretty_print_cocci.ml. *) let print_string s line lcol = let rcol = if lcol = unknown then unknown else lcol + (String.length s) in - pr s line lcol rcol in -let print_text s = pr s unknown unknown unknown in + pr s line lcol rcol None in +let print_string_with_hint hint s line lcol = + let rcol = if lcol = unknown then unknown else lcol + (String.length s) in + pr s line lcol rcol (Some hint) in +let print_text s = pr s unknown unknown unknown None in let close_box _ = () in let force_newline _ = print_text "\n" in @@ -144,7 +148,6 @@ let mcode fn (s,info,mc,pos) = | Ast.Indent s -> s in print_string str line col; Some line | Some lb when line =|= lb -> - Printf.printf "some, line same case\n"; let str = match str with Ast.Noindent s | Ast.Indent s -> s in print_string str line col; Some line | _ -> @@ -224,22 +227,15 @@ let dots between fn d = | Ast.STARS(l) -> print_between between fn l in -let nest_dots multi fn f d = - let mo s = if multi then "<+"^s else "<"^s in - let mc s = if multi then s^"+>" else s^">" in - match Ast.unwrap d with - Ast.DOTS(l) -> - print_text (mo "..."); f(); start_block(); - print_between force_newline fn l; - end_block(); print_text (mc "...") - | Ast.CIRCLES(l) -> - print_text (mo "ooo"); f(); start_block(); - print_between force_newline fn l; - end_block(); print_text (mc "ooo") - | Ast.STARS(l) -> - print_text (mo "***"); f(); start_block(); - print_between force_newline fn l; - end_block(); print_text (mc "***") +let nest_dots starter ender fn f d = + mcode print_string starter; + f(); start_block(); + (match Ast.unwrap d with + Ast.DOTS(l) -> print_between force_newline fn l + | Ast.CIRCLES(l) -> print_between force_newline fn l + | Ast.STARS(l) -> print_between force_newline fn l); + end_block(); + mcode print_string ender in (* --------------------------------------------------------------------- *) @@ -250,7 +246,7 @@ let rec ident i = Ast.Id(name) -> mcode print_string name | Ast.MetaId(name,_,_,_) -> handle_metavar name (function - | (Ast_c.MetaIdVal id) -> print_text id + | (Ast_c.MetaIdVal (id,_)) -> print_text id | _ -> raise Impossible ) | Ast.MetaFunc(name,_,_,_) -> @@ -282,14 +278,9 @@ let rec expression e = Ast.Ident(id) -> ident id | Ast.Constant(const) -> mcode constant const | Ast.FunCall(fn,lp,args,rp) -> - expression fn; mcode print_string_box lp; - let comma e = - expression e; - match Ast.unwrap e with - Ast.EComma(cm) -> pr_space() - | _ -> () in - dots (function _ -> ()) comma args; - close_box(); mcode print_string rp + expression fn; mcode (print_string_with_hint StartBox) lp; + dots (function _ -> ()) arg_expression args; + mcode (print_string_with_hint EndBox) rp | Ast.Assignment(left,op,right,_) -> expression left; pr_space(); mcode assignOp op; pr_space(); expression right @@ -330,7 +321,7 @@ let rec expression e = | Ast.MetaExpr (name,_,_,_typedontcare,_formdontcare,_) -> handle_metavar name (function - | Ast_c.MetaExprVal exp -> + | Ast_c.MetaExprVal (exp,_) -> pretty_print_c.Pretty_print_c.expression exp | _ -> raise Impossible ) @@ -348,13 +339,14 @@ let rec expression e = if generating then print_disj_list expression exp_list else raise CantBeInPlus - | Ast.NestExpr(expr_dots,Some whencode,multi) when generating -> - nest_dots multi expression + | Ast.NestExpr(starter,expr_dots,ender,Some whencode,multi) + when generating -> + nest_dots starter ender expression (function _ -> print_text " when != "; expression whencode) expr_dots - | Ast.NestExpr(expr_dots,None,multi) when generating -> - nest_dots multi expression (function _ -> ()) expr_dots - | Ast.NestExpr(_) -> raise CantBeInPlus + | Ast.NestExpr(starter,expr_dots,ender,None,multi) when generating -> + nest_dots starter ender expression (function _ -> ()) expr_dots + | Ast.NestExpr _ -> raise CantBeInPlus | Ast.Edots(dots,Some whencode) | Ast.Ecircles(dots,Some whencode) | Ast.Estars(dots,Some whencode) -> @@ -374,6 +366,14 @@ let rec expression e = | Ast.OptExp(exp) | Ast.UniqueExp(exp) -> raise CantBeInPlus +and arg_expression e = + match Ast.unwrap e with + Ast.EComma(cm) -> + (* space is only used by add_newline, and only if not using SMPL + spacing. pr_cspace uses a " " in unparse_c.ml. Not so nice... *) + mcode (print_string_with_hint (SpaceOrNewline (ref " "))) cm + | _ -> expression e + and unaryOp = function Ast.GetRef -> print_string "&" | Ast.DeRef -> print_string "*" @@ -637,7 +637,11 @@ and parameterTypeDef p = | Ast.Param(ty,None) -> fullType ty | Ast.MetaParam(name,_,_) -> - failwith "not handling MetaParam" + handle_metavar name + (function + Ast_c.MetaParamVal p -> + pretty_print_c.Pretty_print_c.param p + | _ -> raise Impossible) | Ast.MetaParamList(name,_,_,_) -> failwith "not handling MetaParamList" @@ -867,9 +871,9 @@ let rec statement arity s = stmt_dots_list; print_text "\n)") else raise CantBeInPlus - | Ast.Nest(stmt_dots,whn,multi,_,_) when generating -> + | Ast.Nest(starter,stmt_dots,ender,whn,multi,_,_) when generating -> pr_arity arity; - nest_dots multi (statement arity) + nest_dots starter ender (statement arity) (function _ -> print_between force_newline (whencode (dots force_newline (statement "")) (statement "")) whn; @@ -1062,7 +1066,13 @@ in | Ast.Token(t,_) when List.mem t ["if";"for";"while";"do"] -> (* space always needed *) pr_space(); false - | _ -> true in + | Ast.ExpressionTag(e) -> + (match Ast.unwrap e with + Ast.EComma _ -> + (* space always needed *) + pr_space(); false + | _ -> true) + | t -> true in let indent_needed = let rec loop space_after indent_needed = function [] -> indent_needed diff --git a/parsing_c/unparse_cocci.mli b/parsing_c/unparse_cocci.mli index 54cf9c8..73200a4 100644 --- a/parsing_c/unparse_cocci.mli +++ b/parsing_c/unparse_cocci.mli @@ -1,11 +1,13 @@ exception CantBeInPlus type pos = Before | After | InPlace +type nlhint = StartBox | EndBox | SpaceOrNewline of string ref val pp_list_list_any : Ast_c.metavars_binding list * (* pr cocci *) - (string -> int (*line*) -> int (*lcol*) -> int (*rcol*) -> unit) * + (string -> int (*line*) -> int (*lcol*) -> int (*rcol*) -> nlhint option + -> unit) * (Ast_c.info -> unit) (* pr c *) * (unit -> unit) (* pr C space *) * (unit -> unit) (* pr space *) * diff --git a/parsing_c/unparse_hrule.ml b/parsing_c/unparse_hrule.ml index f6a780c..9f23e45 100644 --- a/parsing_c/unparse_hrule.ml +++ b/parsing_c/unparse_hrule.ml @@ -135,7 +135,7 @@ let get_function_name rule env = match names with [name] -> (match env_lookup (function nm -> nm = name) env with - Ast_c.MetaIdVal(s) | Ast_c.MetaFuncVal(s) + Ast_c.MetaIdVal(s,_) | Ast_c.MetaFuncVal(s) | Ast_c.MetaLocalFuncVal(s) -> s | _ -> error rule "not possible") | _ -> error rule "inconsistent rule generation" @@ -227,7 +227,7 @@ let print_extra_typedefs pr env = match vl with Ast_c.MetaIdVal(_) | Ast_c.MetaFuncVal(_) | Ast_c.MetaLocalFuncVal(_) -> () - | Ast_c.MetaExprVal(exp) -> Visitor_c.vk_expr bigf exp + | Ast_c.MetaExprVal(exp,_) -> Visitor_c.vk_expr bigf exp | Ast_c.MetaExprListVal(args) -> Visitor_c.vk_argument_list bigf args | Ast_c.MetaParamVal(param) -> Visitor_c.vk_param bigf param | Ast_c.MetaParamListVal(params) -> Visitor_c.vk_param_list bigf params @@ -264,8 +264,8 @@ let rename argids env = match vl with Ast_c.MetaIdVal(_) | Ast_c.MetaFuncVal(_) | Ast_c.MetaLocalFuncVal(_) -> vl - | Ast_c.MetaExprVal(exp) -> - Ast_c.MetaExprVal(Visitor_c.vk_expr_s bigf exp) + | Ast_c.MetaExprVal(exp,c) -> + Ast_c.MetaExprVal(Visitor_c.vk_expr_s bigf exp,c) | Ast_c.MetaExprListVal(args) -> Ast_c.MetaExprListVal(Visitor_c.vk_arguments_s bigf args) | Ast_c.MetaParamVal(param) -> @@ -478,7 +478,7 @@ let pp_rule local_metas ast env srcfile = error rule "not an abstract line" in let pr_space _ = pr " " in Unparse_cocci.pp_list_list_any - ([env], (fun s _ _ _ -> pr s), pr_c, pr_space, pr_space, pr, + ([env], (fun s _ _ _ _ -> pr s), pr_c, pr_space, pr_space, pr, (fun _ _ -> ()), (function _ -> ()), (function _ -> ())) true printable Unparse_cocci.InPlace; print_end pr; diff --git a/parsing_cocci/adjacency.ml b/parsing_cocci/adjacency.ml index 0b8fbe9..9a83b82 100644 --- a/parsing_cocci/adjacency.ml +++ b/parsing_cocci/adjacency.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module V0 = Visitor_ast0 module VT0 = Visitor_ast0_types diff --git a/parsing_cocci/adjacency.mli b/parsing_cocci/adjacency.mli index 636c91b..2932028 100644 --- a/parsing_cocci/adjacency.mli +++ b/parsing_cocci/adjacency.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val compute_adjacency : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/adjust_pragmas.ml b/parsing_cocci/adjust_pragmas.ml index c4881f2..09d041f 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Find a directive or comment at the end of a statement. Things with aft given None, because they can accomodate their own directives or comments *) diff --git a/parsing_cocci/adjust_pragmas.mli b/parsing_cocci/adjust_pragmas.mli index 647c3a1..34f8e9c 100644 --- a/parsing_cocci/adjust_pragmas.mli +++ b/parsing_cocci/adjust_pragmas.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/arity.ml b/parsing_cocci/arity.ml index 44e1bca..dda5557 100644 --- a/parsing_cocci/arity.ml +++ b/parsing_cocci/arity.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Arities matter for the minus slice, but not for the plus slice. *) (* ? only allowed on rule_elems, and on subterms if the context is ? also. *) @@ -790,7 +812,7 @@ and statement tgt stm = let arity = stm_same (mcode2line goto) (List.map mcode2arity [goto;sem]) in let goto = mcode goto in - let l = ident false tgt l in + let l = ident false arity l in let sem = mcode sem in make_rule_elem stm tgt arity (Ast0.Goto(goto,l,sem)) | Ast0.Return(ret,sem) -> diff --git a/parsing_cocci/arity.mli b/parsing_cocci/arity.mli index 9a3ab2d..9f6d0eb 100644 --- a/parsing_cocci/arity.mli +++ b/parsing_cocci/arity.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val minus_arity : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index 659763a..921e991 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci (* --------------------------------------------------------------------- *) @@ -158,8 +180,9 @@ and expression = base_expression wrap and constraints = NoConstraint - | NotIdCstrt of Ast.idconstraint + | NotIdCstrt of Ast.reconstraint | NotExpCstrt of expression list + | SubExpCstrt of Ast.meta_name list and listlen = Ast.meta_name mcode option diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index 4cd02f9..902c894 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* --------------------------------------------------------------------- *) (* Modified code *) @@ -148,8 +170,9 @@ and expression = base_expression wrap and constraints = NoConstraint - | NotIdCstrt of Ast_cocci.idconstraint + | NotIdCstrt of Ast_cocci.reconstraint | NotExpCstrt of expression list + | SubExpCstrt of Ast_cocci.meta_name list and listlen = Ast_cocci.meta_name mcode option diff --git a/parsing_cocci/ast0toast.ml b/parsing_cocci/ast0toast.ml index 0411cdc..53d3770 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Arities matter for the minus slice, but not for the plus slice. *) (* + only allowed on code in a nest (in_nest = true). ? only allowed on @@ -375,9 +397,11 @@ and expression e = | Ast0.EComma(cm) -> Ast.EComma(mcode cm) | Ast0.DisjExpr(_,exps,_,_) -> Ast.DisjExpr(List.map expression exps) - | Ast0.NestExpr(_,exp_dots,_,whencode,multi) -> + | Ast0.NestExpr(starter,exp_dots,ender,whencode,multi) -> + let starter = mcode starter in let whencode = get_option expression whencode in - Ast.NestExpr(dots expression exp_dots,whencode,multi) + let ender = mcode ender in + Ast.NestExpr(starter,dots expression exp_dots,ender,whencode,multi) | Ast0.Edots(dots,whencode) -> let dots = mcode dots in let whencode = get_option expression whencode in @@ -401,6 +425,7 @@ and constraints c = Ast0.NoConstraint -> Ast.NoConstraint | Ast0.NotIdCstrt idctrt -> Ast.NotIdCstrt idctrt | Ast0.NotExpCstrt exps -> Ast.NotExpCstrt (List.map expression exps) + | Ast0.SubExpCstrt ids -> Ast.SubExpCstrt ids (* --------------------------------------------------------------------- *) (* Types *) @@ -721,9 +746,10 @@ and statement s = | Ast0.Disj(_,rule_elem_dots_list,_,_) -> Ast.Disj(List.map (function x -> statement_dots seqible x) rule_elem_dots_list) - | Ast0.Nest(_,rule_elem_dots,_,whn,multi) -> + | Ast0.Nest(starter,rule_elem_dots,ender,whn,multi) -> Ast.Nest - (statement_dots Ast.Sequencible rule_elem_dots, + (mcode starter,statement_dots Ast.Sequencible rule_elem_dots, + mcode ender, List.map (whencode (statement_dots Ast.Sequencible) (statement Ast.NotSequencible)) diff --git a/parsing_cocci/ast0toast.mli b/parsing_cocci/ast0toast.mli index 92fe22e..2198e6b 100644 --- a/parsing_cocci/ast0toast.mli +++ b/parsing_cocci/ast0toast.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val ast0toast : string -> Ast_cocci.dependency -> string list (* dropped isos *) -> Ast_cocci.exists -> Ast0_cocci.rule -> bool list -> Ast_cocci.ruletype -> diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 998e52c..1446b48 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -20,12 +20,27 @@ *) -(* Constraints on Meta-* Identifiers, Functions *) -type idconstraint = - IdNoConstraint - | IdNegIdSet of string list - | IdRegExp of string * Str.regexp - | IdNotRegExp of string * Str.regexp +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + (* --------------------------------------------------------------------- *) (* Modified code *) @@ -197,7 +212,10 @@ and base_expression = | EComma of string mcode (* only in arg lists *) | DisjExpr of expression list - | NestExpr of expression dots * expression option * multi + | NestExpr of string mcode (* <.../<+... *) * + expression dots * + string mcode (* ...>/...+> *) * + expression option * multi (* can appear in arg lists, and also inside Nest, as in: if(< ... X ... Y ...>) @@ -211,8 +229,19 @@ and base_expression = and constraints = NoConstraint - | NotIdCstrt of idconstraint + | NotIdCstrt of reconstraint | NotExpCstrt of expression list + | SubExpCstrt of meta_name list + +(* Constraints on Meta-* Identifiers, Functions *) +and idconstraint = + IdNoConstraint + | IdNegIdSet of string list * meta_name list + | IdRegExpConstraint of reconstraint + +and reconstraint = + | IdRegExp of string * Str.regexp + | IdNotRegExp of string * Str.regexp (* ANY = int E; ID = idexpression int X; CONST = constant int X; *) and form = ANY | ID | LocalID | CONST (* form for MetaExp *) @@ -474,7 +503,8 @@ and base_statement = statement (*decl*) dots * case_line list * rule_elem(*}*) | Atomic of rule_elem | Disj of statement dots list - | Nest of statement dots * + | Nest of string mcode (* <.../<+... *) * statement dots * + string mcode (* ...>/...+> *) * (statement dots,statement) whencode list * multi * dots_whencode list * dots_whencode list | FunDecl of rule_elem (* header *) * rule_elem (* { *) * diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index a894f9a..5381972 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -20,12 +20,27 @@ *) -(* Constraints on Meta-* Identifiers, Functions *) -type idconstraint = - IdNoConstraint - | IdNegIdSet of string list - | IdRegExp of string * Str.regexp - | IdNotRegExp of string * Str.regexp +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + (* --------------------------------------------------------------------- *) (* Modified code *) @@ -182,7 +197,10 @@ and base_expression = | EComma of string mcode (* only in arg lists *) | DisjExpr of expression list - | NestExpr of expression dots * expression option * multi + | NestExpr of string mcode (* <.../<+... *) * + expression dots * + string mcode (* ...>/...+> *) * + expression option * multi (* can appear in arg lists, and also inside Nest, as in: if(< ... X ... Y ...>) @@ -196,8 +214,19 @@ and base_expression = and constraints = NoConstraint - | NotIdCstrt of idconstraint + | NotIdCstrt of reconstraint | NotExpCstrt of expression list + | SubExpCstrt of meta_name list + +(* Constraints on Meta-* Identifiers, Functions *) +and idconstraint = + IdNoConstraint + | IdNegIdSet of string list * meta_name list + | IdRegExpConstraint of reconstraint + +and reconstraint = + | IdRegExp of string * Str.regexp + | IdNotRegExp of string * Str.regexp and form = ANY | ID | LocalID | CONST (* form for MetaExp *) @@ -451,7 +480,8 @@ and base_statement = statement (*decl*) dots * case_line list * rule_elem(*}*) | Atomic of rule_elem | Disj of statement dots list - | Nest of statement dots * + | Nest of string mcode (* <.../<+... *) * statement dots * + string mcode (* ...>/...+> *) * (statement dots,statement) whencode list * multi * dots_whencode list * dots_whencode list | FunDecl of rule_elem (* header *) * rule_elem (* { *) * diff --git a/parsing_cocci/check_meta.ml b/parsing_cocci/check_meta.ml index 28633c4..2d95149 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* For minus fragment, checks that all of the identifier metavariables that are used are not declared as fresh, and check that all declared variables are used. For plus fragment, just check that the variables declared as diff --git a/parsing_cocci/check_meta.mli b/parsing_cocci/check_meta.mli index 2b52885..8d57309 100644 --- a/parsing_cocci/check_meta.mli +++ b/parsing_cocci/check_meta.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val check_meta : string -> Ast_cocci.metavar list (* old metavariables *) -> diff --git a/parsing_cocci/comm_assoc.ml b/parsing_cocci/comm_assoc.ml index fb1c37c..58791f2 100644 --- a/parsing_cocci/comm_assoc.ml +++ b/parsing_cocci/comm_assoc.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* searches for E op ..., for any commutative and associative binary operator. When this satisfies the isomorphism conditions (ie all minus, or context for the op and ...), then this is converted to Nested(E,op). diff --git a/parsing_cocci/comm_assoc.mli b/parsing_cocci/comm_assoc.mli index 52ac9eb..bf1914b 100644 --- a/parsing_cocci/comm_assoc.mli +++ b/parsing_cocci/comm_assoc.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val comm_assoc : Ast0_cocci.rule -> string (* rule name *) -> string list (* dropped isos *) -> Ast0_cocci.rule diff --git a/parsing_cocci/compute_lines.ml b/parsing_cocci/compute_lines.ml index d843977..6325aae 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Computes starting and ending logical lines for statements and expressions. every node gets an index as well. *) @@ -29,6 +51,12 @@ module Ast = Ast_cocci (* --------------------------------------------------------------------- *) (* Result *) +(* This is a horrible hack. We need to have a special treatment for the code +inside a nest, and this is to avoid threading that information around +everywhere *) +let in_nest_count = ref 0 +let check_attachable v = if !in_nest_count > 0 then false else v + let mkres x e left right = let lstart = Ast0.get_info left in let lend = Ast0.get_info right in @@ -41,8 +69,8 @@ let mkres x e left right = Ast0.offset = lstart.Ast0.pos_info.Ast0.offset;} in let info = { Ast0.pos_info = pos_info; - Ast0.attachable_start = lstart.Ast0.attachable_start; - Ast0.attachable_end = lend.Ast0.attachable_end; + Ast0.attachable_start = check_attachable lstart.Ast0.attachable_start; + Ast0.attachable_end = check_attachable lend.Ast0.attachable_end; Ast0.mcode_start = lstart.Ast0.mcode_start; Ast0.mcode_end = lend.Ast0.mcode_end; (* only for tokens, not inherited upwards *) @@ -71,8 +99,10 @@ let mkmultires x e left right (astart,start_mcodes) (aend,end_mcodes) = Ast0.offset = lstart.Ast0.pos_info.Ast0.offset; } in let info = { Ast0.pos_info = pos_info; - Ast0.attachable_start = if !inherit_attachable then astart else false; - Ast0.attachable_end = if !inherit_attachable then aend else false; + Ast0.attachable_start = + check_attachable (if !inherit_attachable then astart else false); + Ast0.attachable_end = + check_attachable (if !inherit_attachable then aend else false); Ast0.mcode_start = start_mcodes; Ast0.mcode_end = end_mcodes; (* only for tokens, not inherited upwards *) @@ -118,7 +148,8 @@ let promote_to_statement stm mcodekind = {info with Ast0.pos_info = new_pos_info; Ast0.mcode_start = [mcodekind]; Ast0.mcode_end = [mcodekind]; - Ast0.attachable_start = true; Ast0.attachable_end = true} in + Ast0.attachable_start = check_attachable true; + Ast0.attachable_end = check_attachable true} in {(Ast0.wrap ()) with Ast0.info = new_info; Ast0.mcodekind = ref mcodekind} let promote_to_statement_start stm mcodekind = @@ -131,13 +162,16 @@ let promote_to_statement_start stm mcodekind = {info with Ast0.pos_info = new_pos_info; Ast0.mcode_start = [mcodekind]; Ast0.mcode_end = [mcodekind]; - Ast0.attachable_start = true; Ast0.attachable_end = true} in + Ast0.attachable_start = check_attachable true; + Ast0.attachable_end = check_attachable true} in {(Ast0.wrap ()) with Ast0.info = new_info; Ast0.mcodekind = ref mcodekind} (* mcode is good by default *) let bad_mcode (t,a,info,mcodekind,pos,adj) = let new_info = - {info with Ast0.attachable_start = false; Ast0.attachable_end = false} in + {info with + Ast0.attachable_start = check_attachable false; + Ast0.attachable_end = check_attachable false} in (t,a,new_info,mcodekind,pos,adj) let get_all_start_info l = @@ -174,11 +208,11 @@ let dot_list is_dots fn = function let last = List.hd backward in let first_info = { (Ast0.get_info first) with - Ast0.attachable_start = first_attachable; + Ast0.attachable_start = check_attachable first_attachable; Ast0.mcode_start = first_mcode } in let last_info = { (Ast0.get_info last) with - Ast0.attachable_end = last_attachable; + Ast0.attachable_end = check_attachable last_attachable; Ast0.mcode_end = last_mcode } in let first = Ast0.set_info first first_info in let last = Ast0.set_info last last_info in @@ -191,7 +225,9 @@ let dots is_dots prev fn d = | (None,Ast0.DOTS([])) -> Ast0.set_info d {(Ast0.get_info d) - with Ast0.attachable_start = false; Ast0.attachable_end = false} + with + Ast0.attachable_start = check_attachable false; + Ast0.attachable_end = check_attachable false} | (_,Ast0.DOTS(x)) -> let (l,lstart,lend) = dot_list is_dots fn x in mkres d (Ast0.DOTS l) lstart lend @@ -205,17 +241,21 @@ let dots is_dots prev fn d = (* --------------------------------------------------------------------- *) (* Identifier *) -let rec ident i = +(* for #define name, with no value, to compute right side *) +let mkidres a b c d r = (mkres a b c d,r) + +let rec full_ident i = match Ast0.unwrap i with Ast0.Id(name) as ui -> - let name = promote_mcode name in mkres i ui name name + let name = promote_mcode name in mkidres i ui name name name | Ast0.MetaId(name,_,_) | Ast0.MetaFunc(name,_,_) | Ast0.MetaLocalFunc(name,_,_) as ui -> - let name = promote_mcode name in mkres i ui name name + let name = promote_mcode name in mkidres i ui name name name | Ast0.OptIdent(id) -> - let id = ident id in mkres i (Ast0.OptIdent(id)) id id + let (id,r) = full_ident id in mkidres i (Ast0.OptIdent(id)) id id r | Ast0.UniqueIdent(id) -> - let id = ident id in mkres i (Ast0.UniqueIdent(id)) id id + let (id,r) = full_ident id in mkidres i (Ast0.UniqueIdent(id)) id id r +and ident i = let (id,_) = full_ident i in id (* --------------------------------------------------------------------- *) (* Expression *) @@ -593,14 +633,14 @@ let rec define_param p = let res = define_param dp in mkres p (Ast0.UniqueDParam(res)) res res -let define_parameters x = +let define_parameters x id = match Ast0.unwrap x with - Ast0.NoParams -> x (* no info, should be ignored *) + Ast0.NoParams -> (x,id) (* no info, should be ignored *) | Ast0.DParams(lp,dp,rp) -> let dp = dots is_define_param_dots None define_param dp in let l = promote_mcode lp in let r = promote_mcode rp in - mkres x (Ast0.DParams(lp,dp,rp)) l r + (mkres x (Ast0.DParams(lp,dp,rp)) l r, r) (* --------------------------------------------------------------------- *) (* Top-level code *) @@ -731,7 +771,27 @@ let rec statement s = | Ast0.Nest(starter,rule_elem_dots,ender,whencode,multi) -> let starter = bad_mcode starter in let ender = bad_mcode ender in - let rule_elem_dots = dots is_stm_dots None statement rule_elem_dots in + let wrapper f = + match Ast0.get_mcode_mcodekind starter with + Ast0.MINUS _ -> + (* if minus, then all nest code has to be minus. This is + checked at the token level, in parse_cocci.ml. All nest code + is also unattachable. We strip the minus annotations from + the nest code because in the CTL another metavariable will + take care of removing all the code matched by the nest. + Without stripping the minus annotations, we would get a + double transformation. Perhaps there is a more elegant + way to do this in the CTL, but it is not easy, because of + the interaction with the whencode and the implementation of + plus *) + in_nest_count := !in_nest_count + 1; + let res = f() in + in_nest_count := !in_nest_count - 1; + res + | _ -> f() in + let rule_elem_dots = + wrapper + (function _ -> dots is_stm_dots None statement rule_elem_dots) in mkres s (Ast0.Nest(starter,rule_elem_dots,ender,whencode,multi)) (promote_mcode starter) (promote_mcode ender) | Ast0.Dots(dots,whencode) -> @@ -791,9 +851,9 @@ let rec statement s = | Ast0.Include(inc,stm) -> mkres s (Ast0.Include(inc,stm)) (promote_mcode inc) (promote_mcode stm) | Ast0.Define(def,id,params,body) -> - let id = ident id in - let params = define_parameters params in - let body = dots is_stm_dots None statement body in + let (id,right) = full_ident id in + let (params,prev) = define_parameters params right in + let body = dots is_stm_dots (Some prev) statement body in mkres s (Ast0.Define(def,id,params,body)) (promote_mcode def) body | Ast0.OptStm(stm) -> let stm = statement stm in mkres s (Ast0.OptStm(stm)) stm stm @@ -847,14 +907,17 @@ let top_level t = (* Entry points *) let compute_lines attachable_or x = + in_nest_count := 0; inherit_attachable := attachable_or; List.map top_level x let compute_statement_lines attachable_or x = + in_nest_count := 0; inherit_attachable := attachable_or; statement x let compute_statement_dots_lines attachable_or x = + in_nest_count := 0; inherit_attachable := attachable_or; statement_dots x diff --git a/parsing_cocci/compute_lines.mli b/parsing_cocci/compute_lines.mli index 6faa8de..5395aba 100644 --- a/parsing_cocci/compute_lines.mli +++ b/parsing_cocci/compute_lines.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val compute_lines : bool -> Ast0_cocci.rule -> Ast0_cocci.rule val compute_statement_dots_lines : bool -> diff --git a/parsing_cocci/context_neg.ml b/parsing_cocci/context_neg.ml index 096002d..eafd4d2 100644 --- a/parsing_cocci/context_neg.ml +++ b/parsing_cocci/context_neg.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Detects subtrees that are all minus/plus and nodes that are "binding context nodes". The latter is a node whose structure and immediate tokens are the same in the minus and plus trees, and such that for every child, diff --git a/parsing_cocci/context_neg.mli b/parsing_cocci/context_neg.mli index 123d484..07365da 100644 --- a/parsing_cocci/context_neg.mli +++ b/parsing_cocci/context_neg.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val context_neg : Ast0_cocci.rule -> Ast0_cocci.rule -> (Ast0_cocci.top_level * Ast0_cocci.top_level) list diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index 48ddc71..562cd75 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/data.mli b/parsing_cocci/data.mli index 84dd031..2ca4644 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* types that clutter the .mly file *) (* for iso metavariables, true if they can only match nonmodified, unitary metavariables *) diff --git a/parsing_cocci/disjdistr.ml b/parsing_cocci/disjdistr.ml index 40d510a..b2014ff 100644 --- a/parsing_cocci/disjdistr.ml +++ b/parsing_cocci/disjdistr.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module V = Visitor_ast @@ -171,7 +193,7 @@ and disjexp e = | Ast.MetaExprList(_,_,_,_) | Ast.EComma(_) -> [e] | Ast.DisjExpr(exp_list) -> List.concat (List.map disjexp exp_list) - | Ast.NestExpr(expr_dots,whencode,multi) -> + | Ast.NestExpr(starter,expr_dots,ender,whencode,multi) -> (* not sure what to do here, so ambiguities still possible *) [e] | Ast.Edots(dots,_) | Ast.Ecircles(dots,_) | Ast.Estars(dots,_) -> [e] diff --git a/parsing_cocci/disjdistr.mli b/parsing_cocci/disjdistr.mli index 9c838c4..d7f5702 100644 --- a/parsing_cocci/disjdistr.mli +++ b/parsing_cocci/disjdistr.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val disj : Ast_cocci.rule_with_metavars list -> Ast_cocci.rule_with_metavars list diff --git a/parsing_cocci/flag_parsing_cocci.ml b/parsing_cocci/flag_parsing_cocci.ml index c375bd8..460721b 100644 --- a/parsing_cocci/flag_parsing_cocci.ml +++ b/parsing_cocci/flag_parsing_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* uses E rather than A and adds comments indicating the start and end of each matched term *) diff --git a/parsing_cocci/free_vars.ml b/parsing_cocci/free_vars.ml index b5ff789..09d7bd9 100644 --- a/parsing_cocci/free_vars.ml +++ b/parsing_cocci/free_vars.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* For each rule return the list of variables that are used after it. Also augment various parts of each rule with unitary, inherited, and freshness informations *) @@ -86,8 +108,16 @@ let collect_refs include_constraints = let astfvident recursor k i = bind (k i) (match Ast.unwrap i with - Ast.MetaId(name,_,_,_) | Ast.MetaFunc(name,_,_,_) - | Ast.MetaLocalFunc(name,_,_,_) -> [metaid name] + Ast.MetaId(name,idconstraint,_,_) | Ast.MetaFunc(name,idconstraint,_,_) + | Ast.MetaLocalFunc(name,idconstraint,_,_) -> + let metas = + if include_constraints + then + match idconstraint with + Ast.IdNegIdSet (_,metas) -> metas + | _ -> [] + else [] in + bind (List.rev metas) [metaid name] | _ -> option_default) in let rec type_collect res = function @@ -101,10 +131,26 @@ let collect_refs include_constraints = let astfvexpr recursor k e = bind (k e) (match Ast.unwrap e with - Ast.MetaExpr(name,_,_,Some type_list,_,_) -> + Ast.MetaExpr(name,constraints,_,Some type_list,_,_) -> let types = List.fold_left type_collect option_default type_list in - bind [metaid name] types - | Ast.MetaErr(name,_,_,_) | Ast.MetaExpr(name,_,_,_,_,_) -> [metaid name] + let extra = + if include_constraints + then + match constraints with + Ast.SubExpCstrt l -> l + | _ -> [] + else [] in + bind extra (bind [metaid name] types) + | Ast.MetaErr(name,constraints,_,_) + | Ast.MetaExpr(name,constraints,_,_,_,_) -> + let extra = + if include_constraints + then + match constraints with + Ast.SubExpCstrt l -> l + | _ -> [] + else [] in + bind extra [metaid name] | Ast.MetaExprList(name,None,_,_) -> [metaid name] | Ast.MetaExprList(name,Some (lenname,_,_),_,_) -> [metaid name;metaid lenname] diff --git a/parsing_cocci/free_vars.mli b/parsing_cocci/free_vars.mli index 7875d0b..e720430 100644 --- a/parsing_cocci/free_vars.mli +++ b/parsing_cocci/free_vars.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Used after things can only have one binding. Positions can have many bindings. These are combined in ctlcocciintegration, ie after the CTL generation. *) diff --git a/parsing_cocci/function_prototypes.ml b/parsing_cocci/function_prototypes.ml index a387c64..c503d12 100644 --- a/parsing_cocci/function_prototypes.ml +++ b/parsing_cocci/function_prototypes.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/function_prototypes.mli b/parsing_cocci/function_prototypes.mli index 07f4b35..d6417a9 100644 --- a/parsing_cocci/function_prototypes.mli +++ b/parsing_cocci/function_prototypes.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : string (* name *) -> Ast_cocci.metavar list -> string list (* dropped isos *) -> Ast0_cocci.rule -> Ast0_cocci.rule -> Ast_cocci.ruletype -> diff --git a/parsing_cocci/get_constants.ml b/parsing_cocci/get_constants.ml index 83854d1..3c2f055 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* get a list of all of the constants in the - slice of a SmPL file, to be used to select which files to process *) @@ -72,8 +94,8 @@ let get_minus_constants bind orbind = | Ast.DisjExpr(exps) -> disj_union_all (List.map r.V.combiner_expression exps) | Ast.Edots(_,_) | Ast.Ecircles(_,_) | Ast.Estars(_,_) -> [] - | Ast.NestExpr(expr_dots,whencode,false) -> [] - | Ast.NestExpr(expr_dots,whencode,true) -> + | Ast.NestExpr(starter,expr_dots,ender,whencode,false) -> [] + | Ast.NestExpr(starter,expr_dots,ender,whencode,true) -> r.V.combiner_expression_dots expr_dots | _ -> k e in @@ -112,8 +134,9 @@ let get_minus_constants bind orbind = Ast.Disj(stmt_dots) -> disj_union_all (List.map r.V.combiner_statement_dots stmt_dots) | Ast.Dots(d,whn,_,_) | Ast.Circles(d,whn,_,_) | Ast.Stars(d,whn,_,_) -> [] - | Ast.Nest(stmt_dots,whn,false,_,_) -> [] - | Ast.Nest(stmt_dots,whn,true,_,_) -> r.V.combiner_statement_dots stmt_dots + | Ast.Nest(starter,stmt_dots,ender,whn,false,_,_) -> [] + | Ast.Nest(starter,stmt_dots,ender,whn,true,_,_) -> + r.V.combiner_statement_dots stmt_dots | _ -> k e in V.combiner bind option_default diff --git a/parsing_cocci/get_constants.mli b/parsing_cocci/get_constants.mli index fc5219f..a48ed3a 100644 --- a/parsing_cocci/get_constants.mli +++ b/parsing_cocci/get_constants.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val get_constants : Ast_cocci.rule list -> string list list diff --git a/parsing_cocci/get_constants2.ml b/parsing_cocci/get_constants2.ml index 90a0aa3..c3406e6 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module V = Visitor_ast module TC = Type_cocci @@ -249,8 +271,8 @@ let do_get_constants constants keywords env neg_pos = bind (k e) (bind (minherited name) (minherited lenname)) | Ast.SizeOfExpr(sizeof,exp) -> bind (keywords "sizeof") (k e) | Ast.SizeOfType(sizeof,lp,ty,rp) -> bind (keywords "sizeof") (k e) - | Ast.NestExpr(expr_dots,wc,false) -> option_default - | Ast.NestExpr(expr_dots,wc,true) -> + | Ast.NestExpr(starter,expr_dots,ender,wc,false) -> option_default + | Ast.NestExpr(starter,expr_dots,ender,wc,true) -> r.V.combiner_expression_dots expr_dots | Ast.DisjExpr(exps) -> disj_union_all (List.map r.V.combiner_expression exps) @@ -347,8 +369,8 @@ let do_get_constants constants keywords env neg_pos = match Ast.unwrap s with Ast.Disj(stmt_dots) -> disj_union_all (List.map r.V.combiner_statement_dots stmt_dots) - | Ast.Nest(stmt_dots,whn,false,_,_) -> option_default - | Ast.Nest(stmt_dots,whn,true,_,_) -> + | Ast.Nest(starter,stmt_dots,ender,whn,false,_,_) -> option_default + | Ast.Nest(starter,stmt_dots,ender,whn,true,_,_) -> r.V.combiner_statement_dots stmt_dots | Ast.OptStm(s) -> option_default | Ast.Dots(d,whn,_,_) | Ast.Circles(d,whn,_,_) | Ast.Stars(d,whn,_,_) -> @@ -521,16 +543,16 @@ let get_constants rules neg_pos_vars = let (cur_info,cur_plus) = rule_fn cur in_plus ((nm,True)::env) neg_pos_vars in - if List.for_all all_context.V.combiner_top_level cur - then (rest_info,cur_plus,(nm,cur_info)::env,nm::locals) - else + (match dependencies env dep with + False -> (rest_info,cur_plus,env,locals) + | dependencies -> + if List.for_all all_context.V.combiner_top_level cur + then (rest_info,cur_plus,(nm,cur_info)::env,nm::locals) + else (* no constants if dependent on another rule; then we need to find the constants of that rule *) - match dependencies env dep with - False -> (rest_info,cur_plus,env,locals) - | dependencies -> (build_or (build_and dependencies cur_info) rest_info, - cur_plus,env,locals)) + cur_plus,env,locals))) (False,[],[],[]) (List.combine (rules : Ast.rule list) neg_pos_vars) in interpret true info diff --git a/parsing_cocci/get_constants2.mli b/parsing_cocci/get_constants2.mli index 5d6788d..e7cdc48 100644 --- a/parsing_cocci/get_constants2.mli +++ b/parsing_cocci/get_constants2.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val get_constants : Ast_cocci.rule list -> (((Ast_cocci.meta_name list) list) list) (*negated pos vars*) -> diff --git a/parsing_cocci/index.ml b/parsing_cocci/index.ml index 86f450d..e6391da 100644 --- a/parsing_cocci/index.ml +++ b/parsing_cocci/index.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* create an index for each constructor *) (* current max is 147 *) diff --git a/parsing_cocci/index.mli b/parsing_cocci/index.mli index 63f6117..d9a1cf1 100644 --- a/parsing_cocci/index.mli +++ b/parsing_cocci/index.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val expression_dots : Ast0_cocci.expression Ast0_cocci.dots -> int list val initialiser_dots : Ast0_cocci.initialiser Ast0_cocci.dots -> int list val parameter_dots : Ast0_cocci.parameterTypeDef Ast0_cocci.dots -> int list diff --git a/parsing_cocci/insert_plus.ml b/parsing_cocci/insert_plus.ml index 7ad8c5a..f09bb8b 100644 --- a/parsing_cocci/insert_plus.ml +++ b/parsing_cocci/insert_plus.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* The error message "no available token to attach to" often comes in an argument list of unbounded length. In this case, one should move a comma so that there is a comma after the + code. *) @@ -957,7 +979,7 @@ let merge_one : (minus_join_point * Ast0.info * 'a) list * m; Printf.printf "plus code\n"; List.iter - (function (info,p) -> + (function (info,_,p) -> Printf.printf "start %d end %d real_start %d real_end %d\n" info.Ast0.pos_info.Ast0.logical_start info.Ast0.pos_info.Ast0.logical_end diff --git a/parsing_cocci/insert_plus.mli b/parsing_cocci/insert_plus.mli index f25f352..9f2b935 100644 --- a/parsing_cocci/insert_plus.mli +++ b/parsing_cocci/insert_plus.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val insert_plus : Ast0_cocci.rule -> Ast0_cocci.rule -> bool -> unit (* bool is true if no isos *) diff --git a/parsing_cocci/iso_compile.ml b/parsing_cocci/iso_compile.ml index 687c942..5dd2065 100644 --- a/parsing_cocci/iso_compile.ml +++ b/parsing_cocci/iso_compile.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module V0 = Visitor_ast0 module VT0 = Visitor_ast0_types module Ast0 = Ast0_cocci diff --git a/parsing_cocci/iso_compile.mli b/parsing_cocci/iso_compile.mli index ac45296..d3ecd82 100644 --- a/parsing_cocci/iso_compile.mli +++ b/parsing_cocci/iso_compile.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : Iso_pattern.isomorphism -> unit diff --git a/parsing_cocci/iso_pattern.ml b/parsing_cocci/iso_pattern.ml index 0c83e25..eb1223c 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Potential problem: offset of mcode is not updated when an iso is instantiated, implying that a term may end up with many mcodes with the same offset. On the other hand, at the moment offset only seems to be used diff --git a/parsing_cocci/iso_pattern.mli b/parsing_cocci/iso_pattern.mli index 608c22b..9cea445 100644 --- a/parsing_cocci/iso_pattern.mli +++ b/parsing_cocci/iso_pattern.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type isomorphism = Ast_cocci.metavar list * Ast0_cocci.anything list list * string(*iso name*) diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index a9e1e4a..d2a4ec8 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + { open Parser_cocci_menhir module D = Data @@ -427,6 +449,13 @@ let init _ = List.iter (function (name,fn) -> Hashtbl.add metavariables name fn) (Hashtbl.find all_metavariables parent)) +(* the following is needed to properly tokenize include files. Because an +include file is included after seeing a @, so current_line_started is true. +Current_line_started is not important for parsing the name of a rule, so we +don't have to reset this value to true after parsing an included file. *) +let include_init _ = + current_line_started := false + let drop_spaces s = let len = String.length s in let rec loop n = @@ -513,9 +542,9 @@ rule token = parse TOEllipsis (get_current_line_type lexbuf) } | "...>" { start_line true; check_context_linetype (tok lexbuf); TCEllipsis (get_current_line_type lexbuf) } - | "<+..." { start_line true; check_context_linetype (tok lexbuf); + | "<+..." { start_line true; check_minus_context_linetype (tok lexbuf); TPOEllipsis (get_current_line_type lexbuf) } - | "...+>" { start_line true; check_context_linetype (tok lexbuf); + | "...+>" { start_line true; check_minus_context_linetype (tok lexbuf); TPCEllipsis (get_current_line_type lexbuf) } (* | "=" { start_line true; TLogOp(Ast.SupEq,get_current_line_type lexbuf) } | "<=" { start_line true; - TLogOp(Ast.InfEq,get_current_line_type lexbuf) } + if !Data.in_meta + then TSub(get_current_line_type lexbuf) + else TLogOp(Ast.InfEq,get_current_line_type lexbuf) } | "<" { start_line true; TLogOp(Ast.Inf,get_current_line_type lexbuf) } | ">" { start_line true; diff --git a/parsing_cocci/lexer_script.mll b/parsing_cocci/lexer_script.mll index 1cab41c..05a85fd 100644 --- a/parsing_cocci/lexer_script.mll +++ b/parsing_cocci/lexer_script.mll @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + { open Parser_cocci_menhir module D = Data diff --git a/parsing_cocci/main.ml b/parsing_cocci/main.ml index b2eec93..42f2004 100644 --- a/parsing_cocci/main.ml +++ b/parsing_cocci/main.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* ----------------------------------------------------------------------- *) (* Entry point *) diff --git a/parsing_cocci/merge.ml b/parsing_cocci/merge.ml index c871899..8cd7da5 100644 --- a/parsing_cocci/merge.ml +++ b/parsing_cocci/merge.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* given parsed minus code and a stream of + code, figure out where to put the + code in the mcode of the minus code *) diff --git a/parsing_cocci/merge.mli b/parsing_cocci/merge.mli index c21e377..ffe7a07 100644 --- a/parsing_cocci/merge.mli +++ b/parsing_cocci/merge.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val do_merge : Ast0_cocci.rule -> (Ast_cocci.anything * int * int * int * int) list list list -> diff --git a/parsing_cocci/parse_aux.ml b/parsing_cocci/parse_aux.ml index 891a0af..7813f63 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* exports everything, used only by parser_cocci_menhir.mly *) module Ast0 = Ast0_cocci module Ast = Ast_cocci @@ -188,7 +210,7 @@ let iso_adjust first_fn fn first rest = front::after -> (first_fn first::front)::after | _ -> failwith "not possible" -let check_meta tok = +let check_meta_tyopt type_irrelevant tok = let lookup rule name = try let info = Hashtbl.find Data.all_metadecls rule in @@ -254,21 +276,21 @@ let check_meta tok = ("incompatible inheritance declaration "^name))) | Ast.MetaExpDecl(Ast.NONE,(rule,name),ty) -> (match lookup rule name with - Ast.MetaExpDecl(_,_,ty1) when ty = ty1 -> () + Ast.MetaExpDecl(_,_,ty1) when type_irrelevant or ty = ty1 -> () | _ -> raise (Semantic_cocci.Semantic ("incompatible inheritance declaration "^name))) | Ast.MetaIdExpDecl(Ast.NONE,(rule,name),ty) -> (match lookup rule name with - Ast.MetaIdExpDecl(_,_,ty1) when ty = ty1 -> () + Ast.MetaIdExpDecl(_,_,ty1) when type_irrelevant or ty = ty1 -> () | _ -> raise (Semantic_cocci.Semantic ("incompatible inheritance declaration "^name))) | Ast.MetaLocalIdExpDecl(Ast.NONE,(rule,name),ty) -> (match lookup rule name with - Ast.MetaLocalIdExpDecl(_,_,ty1) when ty = ty1 -> () + Ast.MetaLocalIdExpDecl(_,_,ty1) when type_irrelevant or ty = ty1 -> () | _ -> raise (Semantic_cocci.Semantic @@ -311,7 +333,7 @@ let check_meta tok = ("incompatible inheritance declaration "^name))) | Ast.MetaConstDecl(Ast.NONE,(rule,name),ty) -> (match lookup rule name with - Ast.MetaConstDecl(_,_,ty1) when ty = ty1 -> () + Ast.MetaConstDecl(_,_,ty1) when type_irrelevant or ty = ty1 -> () | _ -> raise (Semantic_cocci.Semantic @@ -332,6 +354,16 @@ let check_meta tok = raise (Semantic_cocci.Semantic ("arity not allowed on imported declaration")) +let check_meta m = check_meta_tyopt false m + +let check_inherited_constraint meta_name fn = + match meta_name with + (None,_) -> failwith "constraint must be an inherited variable" + | (Some rule,name) -> + let i = (rule,name) in + check_meta_tyopt true (fn i); + i + let create_metadec ar ispure kindfn ids current_rule = List.concat (List.map diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index e78b7a0..d4d78a4 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* splits the entire file into minus and plus fragments, and parses each separately (thus duplicating work for the parsing of the context elements) *) @@ -157,6 +179,7 @@ let token2c (tok,_) = | PC.TAnd (clt) -> "&"^(line_type2c clt) | PC.TEqEq(clt) -> "=="^(line_type2c clt) | PC.TNotEq(clt) -> "!="^(line_type2c clt) + | PC.TSub(clt) -> "<="^(line_type2c clt) | PC.TTildeEq(clt) -> "~="^(line_type2c clt) | PC.TTildeExclEq(clt) -> "~!="^(line_type2c clt) | PC.TLogOp(op,clt) -> @@ -306,7 +329,8 @@ let plus_attachable only_plus (tok,_) = | PC.TString(_,clt) | PC.TChar(_,clt) | PC.TFloat(_,clt) | PC.TInt(_,clt) | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) - | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TLogOp(_,clt) + | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) + | PC.TLogOp(_,clt) | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) @@ -323,6 +347,9 @@ let plus_attachable only_plus (tok,_) = | PC.TWhen(clt) | PC.TWhenTrue(clt) | PC.TWhenFalse(clt) | PC.TAny(clt) | PC.TStrict(clt) | PC.TEllipsis(clt) (* | PC.TCircles(clt) | PC.TStars(clt) *) + | PC.TOEllipsis(clt) | PC.TCEllipsis(clt) + | PC.TPOEllipsis(clt) | PC.TPCEllipsis(clt) (* | PC.TOCircles(clt) + | PC.TCCircles(clt) | PC.TOStars(clt) | PC.TCStars(clt) *) | PC.TWhy(clt) | PC.TDotDot(clt) | PC.TBang(clt) | PC.TOPar(clt) | PC.TCPar(clt) @@ -339,11 +366,9 @@ let plus_attachable only_plus (tok,_) = else if only_plus then NOTPLUS else if line_type clt = D.CONTEXT then PLUS else NOTPLUS - | PC.TOPar0(clt) | PC.TMid0(clt) | PC.TCPar0(clt) - | PC.TOEllipsis(clt) | PC.TCEllipsis(clt) - | PC.TPOEllipsis(clt) | PC.TPCEllipsis(clt) (* | PC.TOCircles(clt) - | PC.TCCircles(clt) | PC.TOStars(clt) | PC.TCStars(clt) *) -> NOTPLUS + | PC.TOPar0(clt) | PC.TMid0(clt) | PC.TCPar0(clt) -> NOTPLUS | PC.TMetaPos(nm,_,_,_) -> NOTPLUS + | PC.TSub(clt) -> NOTPLUS | _ -> SKIP @@ -371,7 +396,8 @@ let get_clt (tok,_) = | PC.TString(_,clt) | PC.TChar(_,clt) | PC.TFloat(_,clt) | PC.TInt(_,clt) | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) - | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TLogOp(_,clt) + | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) + | PC.TSub(clt) | PC.TLogOp(_,clt) | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) @@ -473,6 +499,7 @@ let update_clt (tok,x) clt = | PC.TEqEq(_) -> (PC.TEqEq(clt),x) | PC.TNotEq(_) -> (PC.TNotEq(clt),x) | PC.TTildeEq(_) -> (PC.TTildeEq(clt),x) + | PC.TSub(_) -> (PC.TSub(clt),x) | PC.TLogOp(op,_) -> (PC.TLogOp(op,clt),x) | PC.TShOp(op,_) -> (PC.TShOp(op,clt),x) | PC.TPlus(_) -> (PC.TPlus(clt),x) @@ -644,14 +671,15 @@ let split_token ((tok,_) as t) = | PC.TFunDecl(clt) | PC.TWhen(clt) | PC.TWhenTrue(clt) | PC.TWhenFalse(clt) | PC.TAny(clt) | PC.TStrict(clt) | PC.TLineEnd(clt) - | PC.TEllipsis(clt) (* | PC.TCircles(clt) | PC.TStars(clt) *) -> split t clt + | PC.TEllipsis(clt) (* | PC.TCircles(clt) | PC.TStars(clt) *) + | PC.TOEllipsis(clt) | PC.TCEllipsis(clt) + | PC.TPOEllipsis(clt) | PC.TPCEllipsis(clt) -> split t clt - | PC.TOEllipsis(_) | PC.TCEllipsis(_) (* clt must be context *) - | PC.TPOEllipsis(_) | PC.TPCEllipsis(_) (* clt must be context *) (* | PC.TOCircles(_) | PC.TCCircles(_) (* clt must be context *) | PC.TOStars(_) | PC.TCStars(_) (* clt must be context *) *) + | PC.TBang0 | PC.TPlus0 | PC.TWhy0 -> ([t],[t]) @@ -665,7 +693,8 @@ let split_token ((tok,_) as t) = split t clt | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) - | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TTildeExclEq(clt) | PC.TLogOp(_,clt) + | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) + | PC.TTildeExclEq(clt) | PC.TSub(clt) | PC.TLogOp(_,clt) | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) -> split t clt @@ -946,6 +975,36 @@ let rec translate_when_true_false = function (* ----------------------------------------------------------------------- *) +(* In a nest, if the nest is -, all of the nested code must also be -. +All are converted to context, because the next takes care of the -. *) +let check_nests tokens = + let is_minus t = + let (line_type,a,b,c,d,e,f,g) = get_clt t in + List.mem line_type [D.MINUS;D.OPTMINUS;D.UNIQUEMINUS] in + let drop_minus t = + let clt = try Some(get_clt t) with Failure _ -> None in + match clt with + Some (line_type,a,b,c,d,e,f,g) -> + (match line_type with + D.MINUS -> update_clt t (D.CONTEXT,a,b,c,d,e,f,g) + | D.OPTMINUS -> update_clt t (D.OPT,a,b,c,d,e,f,g) + | D.UNIQUEMINUS -> update_clt t (D.UNIQUE,a,b,c,d,e,f,g) + | _ -> failwith "minus token expected") + | None -> t in + let rec outside = function + [] -> [] + | ((PC.TPOEllipsis(clt),q) as t)::r when is_minus t -> t :: inside 0 r + | t::r -> t :: outside r + and inside stack = function + [] -> failwith "missing nest end" + | ((PC.TPCEllipsis(clt),q) as t)::r -> + (drop_minus t) + :: (if stack = 0 then outside r else inside (stack - 1) r) + | ((PC.TPOEllipsis(clt),q) as t)::r -> + (drop_minus t) :: (inside (stack + 1) r) + | t :: r -> (drop_minus t) :: (inside stack r) in + outside tokens + let check_parentheses tokens = let clt2line (_,line,_,_,_,_,_,_) = line in let rec loop seen_open = function @@ -1236,7 +1295,10 @@ let prepare_tokens tokens = (translate_when_true_false (* after insert_line_end *) (insert_line_end (detect_types false - (find_function_names (detect_attr (check_parentheses tokens)))))) + (find_function_names + (detect_attr + (check_nests + (check_parentheses tokens))))))) let prepare_mv_tokens tokens = detect_types false (detect_attr tokens) @@ -1384,7 +1446,7 @@ let parse_iso file = let tokens = prepare_tokens (start@tokens) in (* print_tokens "iso tokens" tokens; - *) + å*) let entry = parse_one "iso main" PC.iso_main file tokens in let entry = List.map (List.map Test_exps.process_anything) entry in if more @@ -1462,6 +1524,7 @@ let eval_depend dep virt = let parse file = Lexer_cocci.init(); let rec parse_loop file = + Lexer_cocci.include_init (); let table = Common.full_charpos_to_pos file in Common.with_open_infile file (fun channel -> let lexbuf = Lexing.from_channel channel in @@ -1489,12 +1552,12 @@ let parse file = List.iter (function x -> Hashtbl.add Lexer_cocci.rule_names x ()) virt; - let (extra_iso_files, extra_rules, extra_virt) = + let (extra_iso_files, extra_rules, extra_virt, extra_metas) = let rec loop = function - [] -> ([],[],[]) - | (a,b,c)::rest -> - let (x,y,z) = loop rest in - (a::x,b::y,c::z) in + [] -> ([],[],[],[]) + | (a,b,c,d)::rest -> + let (x,y,z,zz) = loop rest in + (a::x,b::y,c::z,d@zz) in loop (List.map parse_loop include_files) in let parse_cocci_rule ruletype old_metas @@ -1694,21 +1757,28 @@ let parse file = let (more, rule, metavars, tokens) = parse_rule old_metas starts_with_name in + let all_metas = metavars @ old_metas in + if more then - rule:: - (loop (metavars @ old_metas) (gen_starts_with_name more tokens)) - else [rule] in + let (all_rules,all_metas) = + loop all_metas (gen_starts_with_name more tokens) in + (rule::all_rules,all_metas) + else ([rule],all_metas) in + + let (all_rules,all_metas) = + loop extra_metas (x = PC.TArob) in (List.fold_left (function prev -> function cur -> Common.union_set cur prev) iso_files extra_iso_files, (* included rules first *) List.fold_left (function prev -> function cur -> cur@prev) - (loop [] (x = PC.TArob)) (List.rev extra_rules), - List.fold_left (@) virt extra_virt (*no dups allowed*)) + all_rules (List.rev extra_rules), + List.fold_left (@) virt extra_virt (*no dups allowed*), + (all_metas : 'a list)) | _ -> failwith "unexpected code before the first rule\n") | (false,[(PC.TArobArob,_)]) | (false,[(PC.TArob,_)]) -> - ([],([] : Ast0.parsed_rule list),[] (*virtual rules*)) + ([],([] : Ast0.parsed_rule list),[] (*virtual rules*), [] (*all metas*)) | _ -> failwith "unexpected code before the first rule\n" in res) in parse_loop file @@ -1716,7 +1786,7 @@ let parse file = (* parse to ast0 and then convert to ast *) let process file isofile verbose = let extra_path = Filename.dirname file in - let (iso_files, rules, virt) = parse file in + let (iso_files, rules, virt, _metas) = parse file in eval_virt virt; let std_isos = match isofile with diff --git a/parsing_cocci/parse_cocci.mli b/parsing_cocci/parse_cocci.mli index d34a836..2be34ee 100644 --- a/parsing_cocci/parse_cocci.mli +++ b/parsing_cocci/parse_cocci.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : string (* filename *) -> string option (* iso filename *) -> bool (* verbose? *) -> diff --git a/parsing_cocci/parser_cocci.mly b/parsing_cocci/parser_cocci.mly index 3b1f4aa..ff484e3 100644 --- a/parsing_cocci/parser_cocci.mly +++ b/parsing_cocci/parser_cocci.mly @@ -20,6 +20,28 @@ */ +/* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + */ + + %{ (* Not clear how to allow function declarations to specify a return type diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index 6fdb1a3..b7b84d2 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -2,140 +2,140 @@ exception Error type token = | Tvolatile of ( -# 54 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 8 "parser_cocci_menhir.ml" ) | Tvoid of ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) # 13 "parser_cocci_menhir.ml" ) | Tunsigned of ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) # 18 "parser_cocci_menhir.ml" ) | Tunion of ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) # 23 "parser_cocci_menhir.ml" ) | Ttypedef of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 28 "parser_cocci_menhir.ml" ) | Tstruct of ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) # 33 "parser_cocci_menhir.ml" ) | Tstatic of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 38 "parser_cocci_menhir.ml" ) | Tsigned of ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) # 43 "parser_cocci_menhir.ml" ) | Tshort of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 48 "parser_cocci_menhir.ml" ) | Tregister of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 53 "parser_cocci_menhir.ml" ) | Tlong of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 58 "parser_cocci_menhir.ml" ) | Tlist | Tint of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 64 "parser_cocci_menhir.ml" ) | Tinline of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 69 "parser_cocci_menhir.ml" ) | Tfloat of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 74 "parser_cocci_menhir.ml" ) | Textern of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 79 "parser_cocci_menhir.ml" ) | Tenum of ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) # 84 "parser_cocci_menhir.ml" ) | Tdouble of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 89 "parser_cocci_menhir.ml" ) | Tconst of ( -# 54 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) # 94 "parser_cocci_menhir.ml" ) | Tchar of ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) # 99 "parser_cocci_menhir.ml" ) | Tauto of ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) # 104 "parser_cocci_menhir.ml" ) | Tattr of ( -# 55 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (string * Data.clt) # 109 "parser_cocci_menhir.ml" ) | TXor of ( -# 93 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) # 114 "parser_cocci_menhir.ml" ) | TWords | TWhy0 | TWhy of ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) # 121 "parser_cocci_menhir.ml" ) | TWhile of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) # 126 "parser_cocci_menhir.ml" ) | TWhenTrue of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) # 131 "parser_cocci_menhir.ml" ) | TWhenFalse of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) # 136 "parser_cocci_menhir.ml" ) | TWhen of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) # 141 "parser_cocci_menhir.ml" ) @@ -143,290 +143,295 @@ type token = | TUsing | TTypedef | TTypeId of ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) # 149 "parser_cocci_menhir.ml" ) | TType | TTildeExclEq of ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 155 "parser_cocci_menhir.ml" ) | TTildeEq of ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) # 160 "parser_cocci_menhir.ml" ) | TTilde of ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 165 "parser_cocci_menhir.ml" ) | TSwitch of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) # 170 "parser_cocci_menhir.ml" +) + | TSub of ( +# 117 "parser_cocci_menhir.mly" + (Data.clt) +# 175 "parser_cocci_menhir.ml" ) | TString of ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 175 "parser_cocci_menhir.ml" +# 180 "parser_cocci_menhir.ml" ) | TStrict of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) -# 180 "parser_cocci_menhir.ml" +# 185 "parser_cocci_menhir.ml" ) | TStatement | TSizeof of ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 186 "parser_cocci_menhir.ml" +# 191 "parser_cocci_menhir.ml" ) | TShOp of ( -# 97 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 191 "parser_cocci_menhir.ml" +# 196 "parser_cocci_menhir.ml" ) | TScriptData of ( -# 72 "parser_cocci_menhir.mly" +# 94 "parser_cocci_menhir.mly" (string) -# 196 "parser_cocci_menhir.ml" +# 201 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 202 "parser_cocci_menhir.ml" +# 207 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 208 "parser_cocci_menhir.ml" +# 213 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( -# 105 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) -# 214 "parser_cocci_menhir.ml" +# 219 "parser_cocci_menhir.ml" ) | TPtVirg of ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 219 "parser_cocci_menhir.ml" +# 224 "parser_cocci_menhir.ml" ) | TPragma of ( -# 60 "parser_cocci_menhir.mly" +# 82 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) -# 224 "parser_cocci_menhir.ml" +# 229 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( -# 84 "parser_cocci_menhir.mly" +# 106 "parser_cocci_menhir.mly" (string * Data.clt) -# 231 "parser_cocci_menhir.ml" +# 236 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 237 "parser_cocci_menhir.ml" +# 242 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( -# 80 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (string) -# 242 "parser_cocci_menhir.ml" +# 247 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 248 "parser_cocci_menhir.ml" +# 253 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 253 "parser_cocci_menhir.ml" +# 258 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( -# 90 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (Data.clt) -# 259 "parser_cocci_menhir.ml" +# 264 "parser_cocci_menhir.ml" ) | TOr of ( -# 92 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 264 "parser_cocci_menhir.ml" +# 269 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 270 "parser_cocci_menhir.ml" +# 275 "parser_cocci_menhir.ml" ) | TOPar of ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 275 "parser_cocci_menhir.ml" +# 280 "parser_cocci_menhir.ml" ) | TOInit of ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 280 "parser_cocci_menhir.ml" +# 285 "parser_cocci_menhir.ml" ) | TOEllipsis of ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 285 "parser_cocci_menhir.ml" +# 290 "parser_cocci_menhir.ml" ) | TOCro of ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 290 "parser_cocci_menhir.ml" +# 295 "parser_cocci_menhir.ml" ) | TOBrace of ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 295 "parser_cocci_menhir.ml" +# 300 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 301 "parser_cocci_menhir.ml" +# 306 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 308 "parser_cocci_menhir.ml" +# 313 "parser_cocci_menhir.ml" ) | TMinusFile of ( -# 84 "parser_cocci_menhir.mly" +# 106 "parser_cocci_menhir.mly" (string * Data.clt) -# 313 "parser_cocci_menhir.ml" +# 318 "parser_cocci_menhir.ml" ) | TMinus of ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 318 "parser_cocci_menhir.ml" +# 323 "parser_cocci_menhir.ml" ) | TMid0 of ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 323 "parser_cocci_menhir.ml" +# 328 "parser_cocci_menhir.ml" ) | TMetaType of ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 328 "parser_cocci_menhir.ml" +# 333 "parser_cocci_menhir.ml" ) | TMetaStmList of ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 333 "parser_cocci_menhir.ml" +# 338 "parser_cocci_menhir.ml" ) | TMetaStm of ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 338 "parser_cocci_menhir.ml" +# 343 "parser_cocci_menhir.ml" ) | TMetaPos of ( -# 69 "parser_cocci_menhir.mly" +# 91 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 343 "parser_cocci_menhir.ml" +# 348 "parser_cocci_menhir.ml" ) | TMetaParamList of ( -# 67 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 348 "parser_cocci_menhir.ml" +# 353 "parser_cocci_menhir.ml" ) | TMetaParam of ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 353 "parser_cocci_menhir.ml" +# 358 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 358 "parser_cocci_menhir.ml" +# 363 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 363 "parser_cocci_menhir.ml" +# 368 "parser_cocci_menhir.ml" ) | TMetaIterator of ( -# 63 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 368 "parser_cocci_menhir.ml" +# 373 "parser_cocci_menhir.ml" ) | TMetaInit of ( -# 66 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (Parse_aux.info) -# 373 "parser_cocci_menhir.ml" +# 378 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 378 "parser_cocci_menhir.ml" +# 383 "parser_cocci_menhir.ml" ) | TMetaId of ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 383 "parser_cocci_menhir.ml" +# 388 "parser_cocci_menhir.ml" ) | TMetaFunc of ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 388 "parser_cocci_menhir.ml" +# 393 "parser_cocci_menhir.ml" ) | TMetaExpList of ( -# 67 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 393 "parser_cocci_menhir.ml" +# 398 "parser_cocci_menhir.ml" ) | TMetaExp of ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 398 "parser_cocci_menhir.ml" +# 403 "parser_cocci_menhir.ml" ) | TMetaErr of ( -# 64 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 403 "parser_cocci_menhir.ml" +# 408 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( -# 63 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 408 "parser_cocci_menhir.ml" +# 413 "parser_cocci_menhir.ml" ) | TMetaConst of ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 413 "parser_cocci_menhir.ml" +# 418 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( -# 96 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 419 "parser_cocci_menhir.ml" +# 424 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) -# 425 "parser_cocci_menhir.ml" +# 430 "parser_cocci_menhir.ml" ) | TIteratorId of ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 430 "parser_cocci_menhir.ml" +# 435 "parser_cocci_menhir.ml" ) | TIterator | TIsoType @@ -440,62 +445,62 @@ type token = | TIso | TInvalid | TInt of ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 446 "parser_cocci_menhir.ml" +# 451 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( -# 81 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (string * Data.clt) -# 453 "parser_cocci_menhir.ml" +# 458 "parser_cocci_menhir.ml" ) | TIncludeL of ( -# 81 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (string * Data.clt) -# 458 "parser_cocci_menhir.ml" +# 463 "parser_cocci_menhir.ml" ) | TInc of ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 463 "parser_cocci_menhir.ml" +# 468 "parser_cocci_menhir.ml" ) | TIf of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 468 "parser_cocci_menhir.ml" +# 473 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 474 "parser_cocci_menhir.ml" +# 479 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 480 "parser_cocci_menhir.ml" +# 485 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 487 "parser_cocci_menhir.ml" +# 492 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 494 "parser_cocci_menhir.ml" +# 499 "parser_cocci_menhir.ml" ) | TFloat of ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 499 "parser_cocci_menhir.ml" +# 504 "parser_cocci_menhir.ml" ) | TFinalize | TExtends @@ -504,160 +509,160 @@ type token = | TEver | TError | TEqEq of ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 510 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TEq of ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 515 "parser_cocci_menhir.ml" +# 520 "parser_cocci_menhir.ml" ) | TElse of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 520 "parser_cocci_menhir.ml" +# 525 "parser_cocci_menhir.ml" ) | TEllipsis of ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 525 "parser_cocci_menhir.ml" +# 530 "parser_cocci_menhir.ml" ) | TDotDot of ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 530 "parser_cocci_menhir.ml" +# 535 "parser_cocci_menhir.ml" ) | TDot of ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 535 "parser_cocci_menhir.ml" +# 540 "parser_cocci_menhir.ml" ) | TDo of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 540 "parser_cocci_menhir.ml" +# 545 "parser_cocci_menhir.ml" ) | TDmOp of ( -# 98 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 545 "parser_cocci_menhir.ml" +# 550 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( -# 83 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 552 "parser_cocci_menhir.ml" +# 557 "parser_cocci_menhir.ml" ) | TDefine of ( -# 82 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt * token) -# 557 "parser_cocci_menhir.ml" +# 562 "parser_cocci_menhir.ml" ) | TDefault of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 562 "parser_cocci_menhir.ml" +# 567 "parser_cocci_menhir.ml" ) | TDeclarerId of ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 567 "parser_cocci_menhir.ml" +# 572 "parser_cocci_menhir.ml" ) | TDeclarer | TDec of ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 573 "parser_cocci_menhir.ml" +# 578 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 579 "parser_cocci_menhir.ml" +# 584 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 586 "parser_cocci_menhir.ml" +# 591 "parser_cocci_menhir.ml" ) | TChar of ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 591 "parser_cocci_menhir.ml" +# 596 "parser_cocci_menhir.ml" ) | TCase of ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 596 "parser_cocci_menhir.ml" +# 601 "parser_cocci_menhir.ml" ) | TCPar0 of ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 601 "parser_cocci_menhir.ml" +# 606 "parser_cocci_menhir.ml" ) | TCPar of ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 606 "parser_cocci_menhir.ml" +# 611 "parser_cocci_menhir.ml" ) | TCEllipsis of ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 611 "parser_cocci_menhir.ml" +# 616 "parser_cocci_menhir.ml" ) | TCCro of ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 616 "parser_cocci_menhir.ml" +# 621 "parser_cocci_menhir.ml" ) | TCBrace of ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 621 "parser_cocci_menhir.ml" +# 626 "parser_cocci_menhir.ml" ) | TBreak of ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 626 "parser_cocci_menhir.ml" +# 631 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 632 "parser_cocci_menhir.ml" +# 637 "parser_cocci_menhir.ml" ) | TAssign of ( -# 109 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 637 "parser_cocci_menhir.ml" +# 642 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( -# 75 "parser_cocci_menhir.mly" +# 97 "parser_cocci_menhir.mly" (Data.clt) -# 644 "parser_cocci_menhir.ml" +# 649 "parser_cocci_menhir.ml" ) | TAndLog of ( -# 91 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) -# 649 "parser_cocci_menhir.ml" +# 654 "parser_cocci_menhir.ml" ) | TAnd of ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 654 "parser_cocci_menhir.ml" +# 659 "parser_cocci_menhir.ml" ) | EOF and _menhir_jeton = token -# 23 "parser_cocci_menhir.mly" +# 45 "parser_cocci_menhir.mly" (* Not clear how to allow function declarations to specify a return type @@ -672,7 +677,7 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 676 "parser_cocci_menhir.ml" +# 681 "parser_cocci_menhir.ml" let _eRR = Error @@ -686,278 +691,280 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 176 + 177 | TAnd _ -> - 175 + 176 | TAndLog _ -> - 174 + 175 | TAny _ -> - 173 + 174 | TArob -> - 172 + 173 | TArobArob -> - 171 + 172 | TAssign _ -> - 170 + 171 | TBang _ -> - 169 + 170 | TBang0 -> - 168 + 169 | TBreak _ -> - 167 + 168 | TCBrace _ -> - 166 + 167 | TCCro _ -> - 165 + 166 | TCEllipsis _ -> - 164 + 165 | TCPar _ -> - 163 + 164 | TCPar0 _ -> - 162 + 163 | TCase _ -> - 161 + 162 | TChar _ -> - 160 + 161 | TComma _ -> - 159 + 160 | TConstant -> - 158 + 159 | TContext -> - 157 + 158 | TContinue _ -> - 156 + 157 | TCppConcatOp -> - 155 + 156 | TDec _ -> - 154 + 155 | TDeclarer -> - 153 + 154 | TDeclarerId _ -> - 152 + 153 | TDefault _ -> - 151 + 152 | TDefine _ -> - 150 + 151 | TDefineParam _ -> - 149 + 150 | TDepends -> - 148 + 149 | TDisable -> - 147 + 148 | TDmOp _ -> - 146 + 147 | TDo _ -> - 145 + 146 | TDot _ -> - 144 + 145 | TDotDot _ -> - 143 + 144 | TEllipsis _ -> - 142 + 143 | TElse _ -> - 141 + 142 | TEq _ -> - 140 + 141 | TEqEq _ -> - 139 + 140 | TError -> - 138 + 139 | TEver -> - 137 + 138 | TExists -> - 136 + 137 | TExpression -> - 135 + 136 | TExtends -> - 134 + 135 | TFinalize -> - 133 + 134 | TFloat _ -> - 132 + 133 | TFor _ -> - 131 + 132 | TForall -> - 130 + 131 | TFresh -> - 129 + 130 | TFunDecl _ -> - 128 + 129 | TFunction -> - 127 + 128 | TGenerated -> - 126 + 127 | TGoto _ -> - 125 + 126 | TIdExpression -> - 124 + 125 | TIdent _ -> - 123 + 124 | TIdentifier -> - 122 + 123 | TIf _ -> - 121 + 122 | TInc _ -> - 120 + 121 | TIncludeL _ -> - 119 + 120 | TIncludeNL _ -> - 118 + 119 | TInitialiser -> - 117 + 118 | TInitialize -> - 116 + 117 | TInt _ -> - 115 + 116 | TInvalid -> - 114 + 115 | TIso -> - 113 + 114 | TIsoArgExpression -> - 112 + 113 | TIsoDeclaration -> - 111 + 112 | TIsoExpression -> - 110 + 111 | TIsoStatement -> - 109 + 110 | TIsoTestExpression -> - 108 + 109 | TIsoToTestExpression -> - 107 + 108 | TIsoTopLevel -> - 106 + 107 | TIsoType -> - 105 + 106 | TIterator -> - 104 + 105 | TIteratorId _ -> - 103 + 104 | TLineEnd _ -> - 102 + 103 | TLocal -> - 101 + 102 | TLogOp _ -> - 100 + 101 | TMPtVirg -> - 99 + 100 | TMetaConst _ -> - 98 + 99 | TMetaDeclarer _ -> - 97 + 98 | TMetaErr _ -> - 96 + 97 | TMetaExp _ -> - 95 + 96 | TMetaExpList _ -> - 94 + 95 | TMetaFunc _ -> - 93 + 94 | TMetaId _ -> - 92 + 93 | TMetaIdExp _ -> - 91 + 92 | TMetaInit _ -> - 90 + 91 | TMetaIterator _ -> - 89 + 90 | TMetaLocalFunc _ -> - 88 + 89 | TMetaLocalIdExp _ -> - 87 + 88 | TMetaParam _ -> - 86 + 87 | TMetaParamList _ -> - 85 + 86 | TMetaPos _ -> - 84 + 85 | TMetaStm _ -> - 83 + 84 | TMetaStmList _ -> - 82 + 83 | TMetaType _ -> - 81 + 82 | TMid0 _ -> - 80 + 81 | TMinus _ -> - 79 + 80 | TMinusFile _ -> - 78 + 79 | TMul _ -> - 77 + 78 | TName -> - 76 + 77 | TNever -> - 75 + 76 | TNotEq _ -> - 74 + 75 | TNothing -> - 73 + 74 | TOBrace _ -> - 72 + 73 | TOCro _ -> - 71 + 72 | TOEllipsis _ -> - 70 + 71 | TOInit _ -> - 69 + 70 | TOPar _ -> - 68 + 69 | TOPar0 _ -> - 67 + 68 | TOn -> - 66 + 67 | TOr _ -> - 65 + 66 | TOrLog _ -> - 64 + 65 | TPArob -> - 63 + 64 | TPCEllipsis _ -> - 62 + 63 | TPOEllipsis _ -> - 61 + 62 | TParameter -> - 60 + 61 | TPathIsoFile _ -> - 59 + 60 | TPlus _ -> - 58 + 59 | TPlus0 -> - 57 + 58 | TPlusFile _ -> - 56 + 57 | TPosAny -> - 55 + 56 | TPosition -> - 54 + 55 | TPragma _ -> - 53 + 54 | TPtVirg _ -> - 52 + 53 | TPtrOp _ -> - 51 + 52 | TPure -> - 50 + 51 | TReturn _ -> - 49 + 50 | TRightIso -> - 48 + 49 | TRuleName _ -> - 47 + 48 | TScript -> - 46 + 47 | TScriptData _ -> - 45 + 46 | TShOp _ -> - 44 + 45 | TSizeof _ -> - 43 + 44 | TStatement -> - 42 + 43 | TStrict _ -> - 41 + 42 | TString _ -> + 41 + | TSub _ -> 40 | TSwitch _ -> 39 @@ -1318,6 +1325,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 -> @@ -1398,19 +1407,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\002\155\000z\000\000\000\000\002\227\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\136\000\000\000\000\000\138\000\000\000\000\001x\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\026\003\025\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\016\000\000\000\000\000\000\000\000\000\000\003\021\000\000\000\000\000\168\000\000\003\023\000\000\000\000\000\000\003\146\002e\000\000\003\144\000\000\002\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\143\003\145\002k\001?\002j\001=\001>\002i\002h\002g\002c\000\000\000\000\002d\001\012\000\000\002f\000\000\003\142\000\000\000c\001<\002F\000\000\000\000\002I\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002b\002n\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\002L\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\n\000\209\000\000\000\000\000n\000o\002\t\001\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\237\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\128\000\000\000\000\003\018\000\000\003\017\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\020\003\024\000\189\000\000\000\000\001\027\000\000\000\000\002G\002J\000\000\002H\002K\003u\003v\003t\000\000\002l\003s\000\000\002\134\000\000\000\000\002\133\002\132\002\131\002\130\002\129\002}\000\000\000\000\002~\000\000\002\128\000\000\000\000\000g\002T\000\000\000\000\002W\000\000\000\000\002Z\000\000\000\000\002U\002X\000\000\002V\002Y\002\136\002|\003\131\003\132\003\130\003\129\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\246\000\000\000\000\000\000\000\000\000\000\001\017\001\252\000\000\000\000\001\160\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\002m\000\000\000\204\000\000\000\000\001\231\000\000\001\150\001\212\000\000\000\000\001\230\000\000\001\148\001\211\000\000\000\000\000d\000\000\002\135\000\000\000\000\003\134\003\133\000\000\001\247\000\000\000\000\003x\003w\000\000\000Q\000\205\000\000\001z\000\000\003\019\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\001p\000\000\001\138\000\000\000\000\000\000\003H\000\000\000\000\003;\000\000\000\000\003@\003?\000\000\003<\000\000\003:\000\000\000\000\000\000\003>\000\000\003=\000\000\000\000\0034\000\000\000\000\0039\0038\000\000\0035\000\000\0033\000\000\000\000\000\000\0037\000\000\0036\000\000\003B\000\000\000\000\003G\003F\000\000\003C\000\000\003J\000\000\000\000\003K\000\000\003I\000\000\003A\000\000\003P\000\000\000\000\000\000\003E\000\000\000\000\003o\000\000\000\000\000\000\000\000\003O\003D\000\000\003q\000\000\000\000\002\243\003p\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003M\000\000\000\000\000\000\000\000\003N\003L\000\000\000\000\003f\000\000\000\000\003Y\000\000\000\000\003^\003]\000\000\003Z\000\000\003X\000\000\000\000\000\000\003\\\000\000\003[\000\000\000\000\003R\000\000\000\000\003W\003V\000\000\003S\000\000\003Q\000\000\000\000\000\000\003U\000\000\003T\000\000\003`\000\000\000\000\003e\003d\000\000\003a\000\000\003h\000\000\000\000\003i\000\000\003g\000\000\003_\000\000\003n\000\000\000\000\000\000\003c\000\000\000\000\000\000\000\000\003m\003b\000\000\000\000\000\000\000\000\003k\000\000\000\000\000\000\000\000\003l\003j\003\012\003\014\003\015\003\013\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\002r\000\000\000\000\000\000\002z\000\000\000\000\002y\000\000\003\127\002x\002w\002v\002u\002t\001^\002p\000\000\000\000\002q\000\000\002s\000\000\000\000\000\000\000\000\000\000\000e\002M\000\000\000\000\002P\000\000\000\000\002S\000\000\000\000\002N\002Q\000\000\002O\002R\002{\002o\000f\003|\003}\003{\003z\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\132\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\221\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\140\000\000\000\000\000\000\000\000\002\147\000\000\000\000\002\146\002\145\002\144\002\143\002\142\002\138\000\000\000\000\002\139\000\000\002\141\000\000\000\000\000i\002[\000\000\000\000\002^\000\000\000\000\002a\000\000\000\000\002\\\002_\000\000\002]\002`\002\149\002\137\003\138\003\139\003\137\003\136\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\148\000\000\001\213\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\141\003\140\000\000\003\003\000\000\003\002\000\000\000\000\000\000\000\000\003\153\000\000\000\000\000\000\003\154\000\000\000\018\000\000\000\000\000\000\003\149\000\000\001\162\000\000\000\000\000\000\000\222\002\249\001v\001u\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\134\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\005\000\000\003\004\002\246\000\000\000\000\000\000\000\000\000\000\002\255\000\000\000\000\000\000\000\000\003\000\002\248\000\000\003\006\000\000\002\250\000\000\000\226\000\000\003\t\000\000\001P\000\000\000\000\003\030\000\000\003%\000\228\000\000\000\233\000\000\003\031\000\227\000\000\003 \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\253\000\000\000\000\001\235\000\000\001\158\001\217\000\000\002\247\000\000\000\000\000\000\002\252\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\008\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\232\000\000\0013\000\000\0014\000\000\001\152\001\214\000\000\000\000\000\000\001\242\000\000\001\240\000\000\000\000\001\244\001\238\000\000\001\245\001\239\000\000\003\n\001\248\000\000\000\225\000\000\000\000\001\233\000\000\001\154\001\215\000\000\003\150\000\000\003\147\000\000\003\148\000\019\000\020\000\000\000\000\002\199\000\000\002\198\000\000\000\000\002\201\000\000\002\200\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\001\234\000\000\000\000\002\017\000\000\000\000\002\021\002\196\002\014\000\000\002\197\000\000\000\000\000\000\000\000\002\027\000\000\002\011\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\018\000\000\000\000\002\022\000\000\001\156\001\216\000\000\002\202\000\000\000\000\000\000\003\151\000\017\000u\000\000\003\152\000\000\000\000\002\217\000\000\000\000\003\011\000a\000\000\000\000\000\000\000b\000\000\003\001\000\000\001|\000\000\001\130\002\254\000\000\000\000\001h\000\000\001g\000\000\001q\000\000\001\144\000\000\000\000\000\000\001f\000\000\001e\000\000\001n\000\000\001\142\000\000\000\000\000\000\001m\000\000\000\000\000\000\001j\000\000\001i\000\000\001o\000\000\001\146\000\000\000\000\000\000\001k\000\000\000\000\000\000\001d\000\000\001c\000\000\001r\000\000\001\140\000\000\000\000\000\000\001l\000\002\000\000\000N\000O\000\000\000\000\002\165\002\169\002\173\002\161\002\158\000\000\000\000\002\170\002\177\002\162\002\176\002\160\002\175\002\164\002\156\002\163\002\172\002\159\002\166\002\157\002\168\002\174\002\171\002\167\001\180\001\179\000\127\000\000\000\000\002\237\000\000\000\000\002\211\000\000\000\000\002\213\002\212\002\186\000\000\000\000\002\245\002\179\002\178\002\180\000\000\001\192\000M\001s\000\003\000\000\000\000\002\152\000\000\002!\000\000\000\129\000\000\000\000\002\241\000\000\000\000\000\000\000y\000\000\000\000\002\225\000\000\002\006\002\005\001\174\002\188\000\000\001\208\000\000\002\153\000\000\000\000\000{\000\000\000\000\002\229\000\000\001\189\000\000\000\000\001\185\000\000\000\000\000\000\001\188\000\000\001\187\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\182\000\000\000v\000\000\000\000\002\219\000\000\000\000\001\178\000\000\000\000\000}\000\000\000\000\002\233\000\000\000\000\002\194\000\000\002\193\000\000\000\000\000\000\002\004\002\003\002\191\002'\002\182\002\192\000\000\001\195\000\000\000\000\000\000\001\191\000\000\001\197\000\000\000\000\001\186\000\000\000\000\000\000\002\184\000~\000\000\000\000\002\235\000\000\002\183\000\000\001\193\000\000\000\000\001\194\000\000\000\000\000\000\000\000\000\000\000\000\001\210\000\000\001\184\000\000\001\254\000\128\000\000\000\000\002\239\000\000\000\000\000\000\001F\000x\001E\000\000\000\000\002\223\000\000\002\000\001\255\001\172\002\187\000\000\000|\000\000\000\000\002\231\000\000\000\000\000\000\000\000\002\002\002\001\002\189\002%\002\181\002\190\000\000\001\202\000\000\001\206\000\000\000\000\001\198\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\000\000\000\000\001\177\000\000\000\000\001\205\000\000\001\204\000\000\000\000\000\000\000\000\001\201\000\000\000\000\001\200\000\000\001\199\000\000\000\000\000\000\000\000\001\203\000\000\001\207\000\000\000\000\001t\000\004\000\000\001\181\000\005\000\000\000\000\001#\000\006\000\000\001\221\001\222\001\220\000\000\001\219\003\027\001\168\000\000\000\007\000\000\001\224\001\225\001\223\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\028\000\000\000\000\000\000\000\000\003-\000\000\000\000\003,\001\229\001\228\000\000\000\000\001\170\001\218\001\226\000\000\000\000\000\000\000\000\002\008\000\000\000\000\000l\000m\002\007\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\0031\000\000\0032\000\000\000\000\001\251\001\249\000\000\001\250\000\008\000\000\000\t\000\000\0026\0027\0025\000\000\0024\000\000\000\n\000\000\0029\002:\0028\000\000\002<\000\000\000\000\000\000\002.\000\000\000\000\0020\000\000\002*\000\000\002,\000\000\0021\000\000\0022\000\000\002+\002)\002=\001\176\0023\000\000\002?\000\000\002>\000\000\002@\000\000\002\195\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\002D\000\000\002C\000\000\002B\001\002\000\000\000\000\000\000\000\000\001\003\002E\000\000\000\000\002\206\000\000\000\000\000\000\000\000\002\207\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\215\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001`\000\000\002\205\001\166\001\164\000\000\000\000\000\000\000\000\002\208\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\204\000\000\000\000\000\000\000\000\000\000\000\000\002\203\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\210\000\000\000\000\000\000\002\209") + (16, "\000\000\000\000\002\158\000z\000\000\000\000\002\231\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\137\000\000\000\000\000\138\000\000\000\000\001y\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\030\003\029\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\020\000\000\000\000\000\000\000\000\000\000\003\025\000\000\000\000\000\168\000\000\003\027\000\000\000\000\000\000\003\152\002h\000\000\003\150\000\000\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\149\003\151\002n\001?\002m\001=\001>\002l\002k\002j\002f\000\000\000\000\002g\001\012\000\000\002i\000\000\003\148\000\000\000c\001<\002I\000\000\000\000\002L\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002e\002q\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\002O\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\011\000\209\000\000\000\000\000n\000o\002\n\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\129\000\000\000\000\003\022\000\000\003\021\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\024\003\028\000\189\000\000\000\000\001\027\000\000\000\000\002J\002M\000\000\002K\002N\003{\003|\003z\000\000\002o\003y\000\000\002\137\000\000\000\000\002\136\002\135\002\134\002\133\002\132\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000g\002W\000\000\000\000\002Z\000\000\000\000\002]\000\000\000\000\002X\002[\000\000\002Y\002\\\002\139\002\127\003\137\003\138\003\136\003\135\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\161\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\002p\000\000\000\204\000\000\000\000\001\230\000\000\001\151\001\211\000\000\000\000\001\229\000\000\001\149\001\210\000\000\000\000\000d\000\000\002\138\000\000\000\000\003\140\003\139\000\000\001\246\000\000\000\000\003~\003}\000\000\000Q\000\205\000\000\001{\000\000\003\023\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\001c\000\000\001b\000\000\001q\000\000\001\139\000\000\000\000\000\000\003N\000\000\000\000\003A\000\000\000\000\003F\003E\000\000\003B\000\000\003@\000\000\000\000\000\000\003D\000\000\003C\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\003H\000\000\000\000\003M\003L\000\000\003I\000\000\003P\000\000\000\000\003Q\000\000\003O\000\000\003G\000\000\003V\000\000\000\000\000\000\003K\000\000\000\000\003u\000\000\000\000\000\000\000\000\003U\003J\000\000\003w\000\000\000\000\002\247\003v\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\000\003T\003R\000\000\000\000\003l\000\000\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003^\000\000\000\000\000\000\003b\000\000\003a\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\003f\000\000\000\000\003k\003j\000\000\003g\000\000\003n\000\000\000\000\003o\000\000\003m\000\000\003e\000\000\003t\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\003s\003h\000\000\000\000\000\000\000\000\003q\000\000\000\000\000\000\000\000\003r\003p\003\016\003\018\003\019\003\017\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\002u\000\000\000\000\000\000\002}\000\000\000\000\002|\000\000\003\133\002{\002z\002y\002x\002w\001_\002s\000\000\000\000\002t\000\000\002v\000\000\000\000\000\000\000\000\000\000\000e\002P\000\000\000\000\002S\000\000\000\000\002V\000\000\000\000\002Q\002T\000\000\002R\002U\002~\002r\000f\003\130\003\131\003\129\003\128\003\132\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001U\000\000\001\019\001R\000\000\001\007\001X\000\000\000\000\000\000\001Y\000\000\000\000\001Z\000\000\001\133\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\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\001W\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001^\001T\000\000\001S\000\000\000\242\000\000\002\225\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\143\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\149\002\148\002\147\002\146\002\145\002\141\000\000\000\000\002\142\000\000\002\144\000\000\000\000\000i\002^\000\000\000\000\002a\000\000\000\000\002d\000\000\000\000\002_\002b\000\000\002`\002c\002\152\002\140\003\144\003\145\003\143\003\142\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\151\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\147\003\146\000\000\003\007\000\000\003\006\000\000\000\000\000\000\000\000\003\159\000\000\000\000\000\000\003\160\000\000\000\018\000\000\000\000\000\000\003\155\000\000\001\163\000\000\000\000\000\000\000\222\002\253\001w\001v\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\014\001\015\000\255\000\000\001\135\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\t\000\000\003\008\002\250\000\000\000\000\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\003\004\002\252\000\000\003\n\000\000\002\254\000\000\000\226\001O\000\000\003\013\000\000\001Q\000\000\000\000\003$\000\000\003+\000\228\000\000\000\233\000\000\003%\000\227\000\000\003&\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\0030\000\000\0031\000\000\001P\003\001\000\000\000\000\001\234\000\000\001\159\001\216\000\000\002\251\000\000\000\000\000\000\003\000\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\012\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\153\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\014\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\155\001\214\000\000\003\156\000\000\003\153\000\000\003\154\000\019\000\020\000\000\000\000\002\203\000\000\002\202\000\000\000\000\002\205\000\000\002\204\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\027\000\000\000\000\002\030\000\000\002\014\000\000\000\000\002\017\000\000\000\000\000\000\002\021\000\000\000\000\002\025\000\000\000\000\001\233\000\000\000\000\002\018\000\000\000\000\002\022\002\200\002\015\000\000\002\201\000\000\000\000\000\000\000\000\002\028\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\001\157\001\215\000\000\002\206\000\000\000\000\000\000\003\157\000\017\000u\000\000\003\158\000\000\000\000\002\221\000\000\000\000\003\015\000a\000\000\000\000\000\000\000b\000\000\003\005\000\000\001}\000\000\001\131\003\002\000\000\000\000\001i\000\000\001h\000\000\001r\000\000\001\145\000\000\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\143\000\000\000\000\000\000\001n\000\000\000\000\000\000\001k\000\000\001j\000\000\001p\000\000\001\147\000\000\000\000\000\000\001l\000\000\000\000\000\000\001e\000\000\001d\000\000\001s\000\000\001\141\000\000\000\000\000\000\001m\000\002\000\000\000N\000O\000\000\000\000\002\168\002\172\002\176\002\164\002\161\000\000\000\000\002\173\002\180\002\165\002\179\002\163\002\178\002\167\002\159\002\166\002\175\002\162\002\169\002\160\002\171\002\177\002\174\002\170\001\179\001\178\000\128\000\000\000\000\002\243\000\000\000\000\002\215\000\000\000\000\002\217\002\216\002\190\000\000\000\000\002\249\002\182\002\181\002\183\000\000\001\191\000M\001t\000\003\000\000\000\000\002\155\000\000\002\"\000\000\000\129\000\000\000\000\002\245\000\000\000\000\000\000\000y\000\000\000\000\002\229\000\000\002\007\002\006\001\173\002\191\000\000\001\207\000\000\002\156\000\000\000\000\000{\000\000\000\000\002\233\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\223\000\000\000\000\001\177\000\000\000\000\000~\000\000\000\000\002\239\000\000\000\000\002\198\000\000\002\197\000\000\000\000\000\000\002\005\002\004\002\195\002*\002\186\002\196\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\188\000\127\000\000\000\000\002\241\000\000\002\187\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|\000\000\000\000\002\235\000\000\000\000\000\000\000\000\003 \003\031\000\000\000\000\001F\000x\001E\000\000\000\000\002\227\000\000\001\255\001\254\002\001\002\184\002&\002\000\000\000\000}\000\000\000\000\002\237\000\000\000\000\000\000\000\000\002\003\002\002\002\194\002\192\002(\002\185\002\193\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\001u\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!\001\169\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'\0034\000\000\003(\000\000\003)\000\000\000\000\003\"\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\001\228\001\227\000\000\000\000\001\171\001\217\001\225\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000l\000m\002\008\000\000\000\000\000\000\000\218\000\000\001\127\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0037\000\000\0038\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0029\002:\0028\000\000\0027\000\000\000\n\000\000\002<\002=\002;\000\000\002?\000\000\000\000\000\000\0021\000\000\000\000\0023\000\000\002-\000\000\002/\000\000\0024\000\000\0025\000\000\002.\002,\002@\001\175\0026\000\000\002B\000\000\002A\000\000\002C\000\000\002\199\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002D\000\000\000\000\002G\000\000\002F\000\000\002E\001\002\000\000\000\000\000\000\000\000\001\003\002H\000\000\000\000\002\210\000\000\000\000\000\000\000\000\002\211\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\219\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001a\000\000\002\209\001\167\001\165\000\000\000\000\000\000\000\000\002\212\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\002\213") let error = - (177, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\024\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\024\000\000\000\000\000\000\000\000\000\000\016\002\024\000\000\016!\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\001\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\001\128\000\000\000\000\000\000\000\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\224\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\170\026\001@\134\168 $3\0020\026\001\016\239\004\128\001\028\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\187G\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023h\224\000\000\024\128\000\128\012\008\192 \004\001\008\000\000\000\019!\136\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002e\012\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\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\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000@\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000D\000 \000\002\008\008\000\000\000\000\002\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\003\214\171\192\001\000\008\000\000\130\002\000\000\000\000\000\128\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\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002\000\016\000\001\004\004\000\000\000\000\001\000\000 \000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\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\144\008\002\000 \132A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016OZ\175\000\004R \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\019\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\000\000D\1936Y,\000\000P\002\004\000\000\221\001\t\225\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\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000\016\144\008\002\000 \144A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002\"\0080\t`\000\002\128\016\000\000\006\200\000M\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\001\178\000\019\195\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\128\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\005 \000H4\n\003;@\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\164\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\014\181Z\000\008\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\160@\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\004\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\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\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\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\004\000\000\000\000\000\000\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\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\153C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\001\016\000\016\t\001\024\004\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\004\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\002 \000\"\018\0020\008\001\000B\000\000\000\004\200b\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\007\173W\128\002\000\016\000\001\004\004\000\000\000\000\001\000\000 \000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\016\000\000\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\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\004@\000\245\170\240\000@\002\000\000 \000\140\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\128\000\000\128\000\000\001\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\016\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\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\181^\000\008\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\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\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\016\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\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\001\214\171@\001\000\008\000\000\000\002\000\000\000\000\000\128\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\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\017\000\001\016\144\017\128@\008\002\016\000\000\000&C\023\173W\128\002\000\016\000\001\004\004\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\000\000\000\000\000\000\000\004@\000\245\170\240\000E\"\000H4\n\131?@\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\016\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\008\000\000 \128A\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\004\008\017d\146\128\000\004\000\000@\000\013P\016\004\017\128\000\000\000\000\000\000\000\000\000\000\002\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\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\005 \000H4\n\003;@\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\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\001\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\t\000\000@\001\022\001(\000\000@\000\000\000\000\209\000\000A\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\008\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\016\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\003\000 \128A\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\164\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\n@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\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\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\002\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\005 \000H4\n\003;@\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\003\214\171\192\001\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\245\170\240\000E\"\000H4\n\131;@\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\020\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\016\000\000\000\000\000\000\000\000\128\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\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@\016\128\000\000\0012\024\189j\188\000\016\000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\145C\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\011\214\171\192\001\000\008\000\000\128\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\245\170\240\000@\002\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\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\t\235U\224\000\128\004\000\000@\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\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*\004\000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\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\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\002\129\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000\128\004\000\000A\001\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\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\008\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\130\002\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\008\000\000\016\001\000\160BD\016\002\024\128\000\t\000\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\004\000@(\016\145\004\000\198 \000\002@\002\029\160\144\000#\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\170\208\000@\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000@\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000\160BD\016\002\024\128\000\t\000\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\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\129\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\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\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\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\002\000 \020\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\016\001\000\160BD\016\002\024\128\000\t\000\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\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\002\129\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\n\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\002\000\016\000\001\004\004\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\001@\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\008\000@\000\004\016\016\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\005\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@\132\136 \0061\000\000\018\000\016\237\004\128\001\024\000\000\245\170\240\000@\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\004\000@(\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \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\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\001\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\016\000\000\001\128B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\005 \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\0000\144\008\n\128 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A=j\188\000\017H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000 @\131$\148\000\000 \000\002\000\000B\128\132\000\012\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\016\012\194\128\206\208\000\024H\004\005@\016A \128\000\000H\000\002&\t\178\201`\000\002\128\016 \000\006\232\008J\014\224\000\000\000@R\000\004\0030\1603\180\000\006\018\001\001P\004\016H \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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\t\000\000@\193\006I,\000\000@\000\004\000\000\205\001\t\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\005 \000@3\n\003;@\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\000\128\000\000\000\000\000\000\000\000\164\000\008\006a@gh\000\012$\002\002 \008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\000\000\000\000\000\000\000\000\000\000\000\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\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\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\008\000\000\000\000\000\000\n@\000\128f\020\006v\128\000\194@ *\000\130\t\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\144\000 \025\133\001\157\160\0000\144\008\n\128 \130A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\164\000\008\006a@gh\000\012$\002\002\160\008 \144@\000\000\000\000R\000\004\0030\1603\180\000\006\018\001\001\016\004\016H \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\020\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\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\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\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\128\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\128\000\008\192\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\016\000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\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\001\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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\004\000 \000\002\000\008\192\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\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\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\001\214\171@\001\000\008\000\000\000\002\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\016\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\144\008\002\000 \128A\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\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\128\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\005 \000H5\n\003{@\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\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\016\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\030\163\013\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\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\001H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\164@\t\006\129Pgh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\n@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000R\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\"`\155,\150\000\000(\001\002\000\000j\128\128\160\238\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=j\188\000\017H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\002\"\t\176\137`\000\002\128\016\000\000\006\136\000\n\014\224\000\000\000\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002@\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\1280\002\008\004\016\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\n@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000\164\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000)\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\221\235U\224\000\138D\000\144h\021\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\164\002\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240x\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\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\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?\250\254\008\017\200\160\016\012B\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(PO\254\191\131\196r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\241\028\138\001\000\198/\142\239\024\001\158\164\192\002=G\026\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002F\168\161A?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#TA\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\001\0009\004\002\001\136Q\029\218\016\003=A\128\004b\136\020\016\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\004\018\013\002\128\206\208\000\008H\004\001\000\016@ \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\000R\001\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\130\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 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\001\000\000\008\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\000\001\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\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\136\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\016\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\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\020\136\001 \208*\012\253\000\000\132\128@\016\001\004\130\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 \007 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\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\001\255\215\240@\142E\000\144j\021\199w\132\000\207P`\t\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\0003\212\152\000G\168\227Y\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255_\193\0029\020\002\001\140W\029\2220\003=A\128\004j\136\020\016\000\000\000\000\000\000\000 \016\000\000\000\016\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\198\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\000H\000\002&\t\178\201`\002\002\128\016$\000\006\232\008\n\014\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\128@ \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\255\235\248 G\"\128H5\n\227\187\198\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?\250\254\008\017\200\160\016\012b\184\238\241\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\002)\016\002A\160T\025\250\000\001\t\000\128 \002\t\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\008\000\000\140\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\004\000\000@\001\024\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\008\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\164\000\t\006\161@oh\000\004$\002\000\128\008 \016@\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000\128\004\000\000@\001\024\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\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\002\000\000\000\000\000\000\000\000\000\000\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\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\002\000\000@\000\000\000\000\000\000R\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\228P\t\006\161\\wx\192\012\245\006\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\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\255\235\248 G\"\128H5\n\227\187\198\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\004\000\004\000\000F\001\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\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\128\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\128\000\000\008\000\000\000\000\000\000\000\000\000\002\000\003\255\191\240\129\028\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\014A\000\128b\020Gv\132\000\207P`\001\024\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\127\245\252\016#\145@ \024\197\241\221\225\0003\212\024\000G\168\227A\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\001\000\000\000\000\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\2348\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\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\001\255\215\240@\142E\000\144j\023\199w\132\000\207P`\t\030\163\141\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\0003\212\024\002G\168\227A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\031\253\127\004\008\228P\008\0061|wx@\012\245\006\000\017\170(P@\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000@\000\004\000\007\255_\193\0029\020\002\001\140_\029\222\016\003=A\128\004j\138\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\016\000\016\001\001\024\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000@\000\000\002\000\000\008\000\191\250\254\008\017\200\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\008\000\000\000@\000\001\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\142E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\017\200\224\019\013B\184\238\240\1289\234\012\001#TD\160\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\031\253\127\004\008\228P\t\006\161|wx@\012\245\006\000\145\170(P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\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\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\004\002\001\000\000\000\001\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\015\254\191\130\004r(\004\131P\174;\188`\006z\131\000H\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\235\248\000E\"\128@0\n\131;\192\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\191_\192\002)\020\002\001\128T\025\222\000\003\t\000\128\000\n\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\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=j\188\000\016\000\128\000\008\000 \000\000\000\000\008\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\000\000\000\000\000\000\000\000\001\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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000\016\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\002\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\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\001\000\008\000\000\128\0020\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\016\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\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \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\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\029j\180\000\016\000\128\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\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\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\020\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000 \000=\250\254\000\017H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\001\003\004\025$\176\001\001\000\000\018\000\003\020\004\004\004`\000\000\000\000\000\000\128\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\n@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\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\001\235U\224\000\138D\000\144h\021\006~\128\000B@ \008\000\130A\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\002\000\002\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\002\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000)\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \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\003\173V\128\002\000\016\000\000\000\004\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\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\002\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\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\008\000\000\000\128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\004\000\004\000@F\000\000\000\008\000\000\000\000\016\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\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\002\000\000\000\000\000\000\001\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016@\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000?\250\254\008\017\200\160\018\013B\184\238\240\128\025\234\012\001#\212a\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\000@\002\000\000 \000\128\000\128\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 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000/\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005 \000H4\n\003;@\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\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\200 \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\002\000r\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\028\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\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\255\235\248\000@\002\000\000 \000\128\000\128\000\000 \000\000\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\191\250\254\000\016\000\128\000\008\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\015\254\191\128\004\000 \000\002\000\008\000\008\000\000\002\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\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\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\225\001\192\132\137 B\001\000\000\018\000\016\165\004\128\001\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\016\000\000\000\000\000\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000@(\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\004\000\000\000\016\001\000\160BD\016\000\016\000\000\t\000\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\008\000\000\000\000\004\000\000\128\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\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\008\000\000\000\000\000\000\008\128\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\007\173W\128\007\002\018 \129\008\004\000\000H\000B\144\018\000\004`\000\003\214\171\192\003\129\008\000@\132\002\000\000$\000!H\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000\160BF\016\000\016\000\000\t\000\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\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\004\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\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@\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\007\173W\128\007\002\018\000\129\008\004\000\000H\000B\144\018\000\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\001\192\132\000 B\001\000\000\018\000\016\164\004\128\001\008\000\000\000\016\001\000\160BD\016\000\016\000\000\t\000\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\008\000\000\000\000\000\000\000\129\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\008H\130\000\002\000\000\005 \001\014\208H\000\017\192\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\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\016\001\000\160BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\004;A \000G\000\000\000\004\000@(\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\008\000@\000\004\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016 \003\214\171\192\001\000\008\000\000\128\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\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\000\000\000\000\000\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\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\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@\004\002\129\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\004\000@.\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\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\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 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\168\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\016\001\002\160BD\016\000\016\000\000\t\000\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\006\000\000\000\000\016\000\000\008\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\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\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\012\000\000\004\128\004;A \000F\000\000\000\004\000@(\016\145\004\000\148\000\000\n@\002\029\160\144\000#\128\000\000\002\000 \020\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\005\002\018 \128\000\128\000\000H\000C\180\018\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\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@(\016\145\004\000\006\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\016\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\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\008\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\008\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\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\001\000\016\n\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\128\000\001H\000C\180\018\000\004p\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=n\188@8\016\145\004\008D \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\001\000\016\n\004\004A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\194\018 \128\002\192\000\001H\000C\180\018\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\001@\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\007\173\215\136\007\002\018 \129\008\196\000\000H\000C\180\018\000\004`\000\000\000@\004\002\129\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\004;A \000F\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\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\002\129\t\016@\008@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\001\000\160BD\016\000\016\000\000\t\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004)A \000F\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\004\131@\2243\180\000\002\018\001\000@\004\016\008 \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\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\000R\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\239\252 G\"\128H=\014\227\187\194\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\129\028\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\004\000\000@\001\000\000\000\000\000\002\000\000\000\000\000\000\247\239\252\000@\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\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\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000$P\192\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\t\0200\000\000\000\000\000\000\000\000\000\000\000\000\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\007\255_\193\2269\020\002\001\140W\029\222\016\003=A\128\004j\136\020\019\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 G\"\128@1\138\227\187\194\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\002\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\129\028\138\001 \212+\142\239\008\001\158\160\192\0185D\n\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\005 \000@3\n\003;@\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\007\136\228P\008\0061\\wx@\012\245\006\000\017\170 PO\254\191\130\004r(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\003\255\175\224\129\028\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248\148\000\000>\232/\144/\144\020*\020*>\148\020*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\156/\144\000\000\000\000;\156\000\000;\156\000\000/\144\000\000\000\000\000\000\023z\000\131\000\000\020*\000\000,J/\144\028>/\144\000\000\000\000\000\000\000\000\000\000\000\000\031\184/\144 \178/\144!\012/\144\"\006/\144\000\000/\144\000\000/\144\"`/\144#Z/\144#\180/\144$\174/\144%\008/\144\0018/\144\000\000\000\000\000\000\000\000\000\000/\144&\002/\144&\\/\144'V/\144\000\000\000\000/\144\000\000\000\000\001\166\000\000\000\000\000\000\000\000\021\156\018\202\000\000\001\142\018\202\000\000=\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\001\210\002\002\018\202\000\000\018\202\000\000\003x\018\202\000\000?\176\018\202\000\000\000\000\018\202\000\000\018\202\000\000\002\004\002p\018\202\000\000\018\202\000\000\018\202\000\000?\204\018\202\000\000\000\000\018\202\000\000\018\202\000\000\000\131\018\202\000\000\018\202\000\000\018\202\000\000\018\202\000\000\002h\002\198\018\202\000\000=\190A\200\002\140\018\202\000\000J\242J^\000\000\002r\003Z\000\131\002\180\003\208\029\228\000\000\000\000\000\247K\160\000\000\000\000\000\000\000\000\0010\003\206\000Q\0042\029\228\000\141\029\228\000\000\000\000\003\128\000\000\003\174\004\168\029\228\003\246\000\000\000\000\000\000\000\247\000\000\004\014\005\n\000\000\005D\000\000\021\156\001\164A\200\004\150\018\202\000\000=\204A\200\004\218\018\202\000\000\000\000\000\131\005\202\000\000\000\000\000\000\001*\020*\000\000/\144\005\028\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\0056\000\000\000\000\005v\000\000\005z>\148\000\000\000\000\000\000\000\000\000\000\000\000@\202/\144\000\000@\202\000\000@\202>\148\000\000\000\000A\024\000\131\000\000\020*\005\136\000\000/\144\005\200\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\006/\144\000\000/\144\000\000\000\000\005\216\000\000\000\013<(\006\144/\144\006j\000\000\000\000>\148\000\013\000\000\000\000\000\000\000\000\000\000:\192>\148L*>\148L`>\148L\164>\148\000\000>\148\000\000>\148M\022>\148M`>\148M\164>\148M\238>\148N2/\144\006B>\148\000\000>\148N|>\148N\192>\148O\n\006N\000\000\006d\000\000\000b/\144\000\000\000b\000\000\000\000\000\152\024*\000\000\000\152\000\000\000\000\006h/\144\000\000\006l\000\000\020*\006l\000\000\000\000\0078\000\000\020*\006p\000\000\000\000\006n\000\000\000\000\003N\000\000\007V\000\000?\176A\200\006z\018\202\000\000\000\000\006\252\000\000\006\138\018\202\000\000\000\000\000v\024*\000\000\024*\000\000\006\136\000\000\000v\000\000\016~\027\142\018\186\000\000\003\186\018\186\000\000\018\186\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\202\006\246\018\186\000\000\018\186\000\000\005\174\018\186\000\000\018\202\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\206\006\252\018\186\000\000\018\186\000\000\018\186\000\000\018\206\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\006\212\007\000\018\186\000\000\024*\006\184\000\000\018\186A\200\006\178\018\186\000\000\000\000\000\166\000\000\002\022\000\166\000\000\000\000\000\000\007\154\000\000\002\158A\200\006\186\018\186\000\000\018\202A\200\006\196\018\186\000\000\000\000\026\140\018\186\000\000\006\000\018\186\000\000\018\216\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\244\007\"\018\186\000\000\018\186\000\000\006|\018\186\000\0001\018\018\186\000\000\000\000\018\186\000\000\018\186\000\000\006\250\007&\018\186\000\000\018\186\000\000\018\186\000\0001F\018\186\000\000\000\000\018\186\000\000\018\186\000\000\000\131\018\186\000\000\018\186\000\000\018\186\000\000\018\186\000\000\007\004\0070\018\186\000\000\018\206A\200\006\220\018\186\000\000\000\000\004\016A\200\006\226\018\186\000\0001\018A\200\006\230\018\186\000\000\000\000\000\000\000\000\000\000\000\000\007\176/\144\006\244\021\156\007\206/\144\007\020\007\222/\176\000\000\000\000,\250\000\131\000\000\0024/\144(t\000\000A\202/\144\007,\000\000\020*\007,\000\000\0070\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000BV/\144\000\000BV\000\000BVB\170\020*\0072B\170\000\000\000\000K\254\000\131\000\000\020*\0074\000\000/\144\0076\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\144\001\234/\144\007:\000\000\000\000)*\025\220'\162\007\242/\144\000\000\007\188\000\000\000\000\000\131\000\000\000\000\024\218\007~ \004\000\000\007z \004\000\000\002\162\000\000\000\000+RB\170B\254B\170ONB\170O\152B\170\000\000B\170\000\000B\170O\188B\170P B\170PjB\170P\160B\170P\210B\170P\246B\170QLB\170Q\162\000\000\007V\000\000\007f)\224\000\000*\150\007h*\150-&\007j*\150\000\000\000\000\000\000\000\000\000\000\007^\000\000\008D\000\000\000\131\000\000\0024\008F\000\000\001~\008\022\000\131\007p\0084\029\228\007|\002\212\000\000/\144\008`\000\000\007R\007T\008D\029\228\007\138\008j\000\000\003`/\144\008l\000\000\008r\000\000\021\156\000\131\003v/\144\008v\000\000\008~\000\000\000\131\003\148/\144\008\128\000\000\008\130\000\000\000Q\007\212\006\222\000\000C6C\138\020*\007\180\000\000\007\190C\138\000\000\000\000\000\000\000\000\000\000\000\000D\022/\144\000\000D\022\000\000D\022C\138\000\000\000\000\026\222\000\131\000\000\020*\007\192\000\000/\144\007\192\000\000\000\000\000\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\208/\144\000\000/\144\000\000\007\202\000\000\000b\000\000\000\000\000\000\000\000\000\0002\018C\1382BC\1383LC\1383|C\138\000\000C\138\000\000C\1384\134C\1384\182C\1385\192C\1385\240C\1386\250/\144\007\242C\138\000\000C\1387*C\13884C\1388d\020*\007\204\000\000\000\000/\144\000\000\008\172\000\000\001^\008\130/\144\008N\000\000\008\136/\144\008R\000\000\004\030\000\000\006\222\006\222\001^\000\000\001^\000\000\016~\006\222\006\222\000\000\000\000\000\000\000\000\000\000\000\000\008\160/\144\007\236\021\156\022\138\000\131\008\206\000\000\008\1809^\008\2149^\008\216/\144\008\n\021\156\021\156\000\131\002`\003\228\000\000\000\000\000\000\002`\000\000\003\020\000\131\000\000\000\000\008\012\000\000\000\000\000\000\008\236\000\000\008\238\000\000\000\000\t&\008\214/\144\008\028\t\004\000\000\008\232\020*\008.\021\156\000\000\000\000\008Z\000\000\000#\000\000\005~\000\000\001^\000\000\008\174\000\000\012^\000M\000\000\012^\000\000\000\000\024\218\000\000\002\174\000\000\000\000\t\158\000\000\012^\000\000\008\244\020*\008:\t\026\000\000\000%\000\000\008\234\000\131\008B\t\002\029\228\008H\002\216\000\000/\144\t*\000\000\t\012\029\228\008R\t2\000\000\004~/\144\tN\000\000\tR\000\000\021\156\000\131\004\214/\144\tb\000\000\td\000\000\000\000\000\000\t\158\000\000\000\000\000#\000\000\006\222\000\000\000%\000\000\000\000\003\228\022\138\000\000\003\228\000\000\000\000\008\138\000\000\000\174\000\003\021\156\000\000\004\030\000O\004\030\000\000\000#\000\000\006\222\000\000\006\222\000\000\000\000\000\000\008\132\000\000\000\000\008\142\000\000\003\240\005~\002\026\004\030\000\000\000\000\000\000\002\026\000\000\006\222\000\000\003\240\000\000\000\000\001\178\000\015\016~\000\000\000\015\000\000\008>\016~\000\000\000\000\008>\000\000\000\000\008\142\000\000\000\000\008\148\000\000\004\002\006\222\000\000\004\002\000\000\000\000\t\014\000\000\000#\000\000\006\222\000\000\000\000\000\000\017\2109\178\000\000\tv\000\000\017\210\tx\000\000\t|\000\000,\250\000\131\005\018\000\000/\144\t\136\000\000\004B\tX\000\131\008\176\tp\029\228\008\180\005\148\000\000/\144\t\154\000\000\005\152\000\000/\144\t\156\000\000\021\156\000\131\006P\000\000/\144\t\158\000\000\004\164\017\210\000\000\024\218\006^\000\000/\144\t\160\000\000\000\000\000\000\001\192\000\000\t\130\020*\008\198\t\166\000\000\005\210\000\000\tv\000\131\008\206\t\142\029\228\008\212\006\142\000\000/\144\t\180\000\000\006\168\000\000/\144\t\182\000\000\021\156\000\131\006\224\000\000/\144\t\184\000\000\004\164\000\000\000\000\008\222\000\000\001\192\005\210\t\\\000\000\000\000\000\000\t`\000\000\000P\000\174\000\000\016~\t\182\000\000\000\000/\144\t\024\006\222\000\000\008\238\000\000\000Q\000\000/\176\000\000\000\000\000x\016~\000\000\016~\000\000\008\222\000\000\000x\000\000/\144\002&/\144\000\000/\144\000\000\008\230\000\000\002&\000\000/\144\002&\008\232\000\000\021\156\002\240\021\156\000\000\021\156\000\000\008\234\000\000\002\240\000\000/\144\002&\008\242\000\000,\250\003\152,\250\000\000,\250\000\000\008\250\000\000\003\152\000\000/\144\002&\t\004\000\000\000\000\024\218\000\000\000\000\tr0T\000\000\000\000\000\000\000\000\000\000\tH\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e0T\000\000\004*\005\156\000\000\tN\000\197\000\000\000\000\000\000\003 \005\156\000\000\000\000\000\000\000\000\t\170\000\000\000\000\000\000\000\000\028>\029\158\000\000D\200\000\0000T\000\000\00140T\000\000\001\178\000\t\000\t\000\000\004r\000\t\000\000\t&\000\000\000\000\000\000\000\000\t\174\000\000\030\158\000\000\03120T\000\000\005\0200T\000\000\t\176\000\0000T\t\178\000\000F\220:~\t\180\000\000\t\182\000\000G6<\1940T\t40T\t\186\000\000\t\192\000\000\t\194\000\000\024*\000\000\005\n\024*\000\000\tF\018\186\000\000\000}0T\000\000\003\1920T\000\000\003\184\nF\000\000\nJ\000\0000T0T\tP\000\000\000\000\000\000\000\000\000\000\000\000\t\216\000\000G\2200T\t\218\000\000\t\220\000\0000T\t\226\000\0000T\t\138\000\197\000\000\000\000\004\0300T\000\000\003\184\000\000\t\230\000\0000T\t\232\000\000E6:~0T\tf0T\t\236\000\000\t\238\000\000E\220\000\000\000\000\005\2060T\000\000\005\030\002\178\000\129\000\000\000\000\000\000\005*\000\129\000\000\tj\000\000\000\000\000\000\000\0000T\000\000\006\0120T\000\000\007>\002\142\000\197\tl\000\000\000\000\000\000\000\000\000\000\000\000\t\246\000\000\t\248\000\0000T\t\252\000\000H60T\t\254\000\000\n\000\000\000\0212\t\172H\176.r\000\0000T\n\n\000\000\n\014\000\000\t\224\02120T\n\020\000\0000T\n\022\000\000\n\026\000\000F6\t\1520T\n\030\000\000\n \000\000\000\197\t\144\000\000\000\000\024\218\000\000\000\000\002b\nz\000\000\000\000\004\238\000\000\000\000\000\000/\144\000\000\000\000\000\000\002\190\000\000\005F\000\000\000\000\000\000\004\030A\200A\200A\200\000\000\005\202\005\202\005\202\005\202\000\000\000\000\000\000\000\000\000\000\000\000\001^\016~\nr\013\190\000O\000\000\000\000\001$\000\000\t\158\000\000 \004\t\166\000\000\001^\016~\t\176\015\030\000\000\001^\013\190\000\000\000\000\000\000A\200\014\002\000\000\000\000\000\000\t\250\000\129\n\142J\242\000\000\005BK\204\000\000\000\000\000\000\001R\n\146\000\131\000\000\005B\000\000\006\014J\242\000\000\000\000\t\232\n\160\006\222\t\230\000\000\001$\000\000\t\158\000\000D\140\006Z\000\000\000\000\n\142\000\000\000\000\002b\000\000\005\226\000\000\000\000\000\000/\144\000\000\002\190\000\000\005\238\000\000\000\000\000\000\005~\000\000\n\254\002\178\n\254\000\000\006\222\n\254\000\000\004\014\000\000\006\222\000\000\006\222\000\000\006\222\000\000\011B\000\000\000\000\000\000\000\000\000\000\006\222\000\000\004\014\000\000\006\222\000\000OD\000\000\000\000\008>\n\026\000\197\006\n\n\182\005h\000\000\005h\n\222\000\000\n\224\000\000\n\226\000\000\000\000\006\016\005h\006\024\005h\000\000\000\000\008\216\t\236\000\000\n(\000\197\006\n\t\240\000\000\004\170\n\244\000\000\006\n\007\176\011\008\006L\011\008\000\000\000\000\002\140\000\197\000\000\000)\000\000\000\000\001L\000\000\n\002\000\000\000\000\000\000\nF\000\197\006\n\n\014\000\000\000\000\004\170\006\n\007\176\002\140\000)\001L\n\016\000\000\006\n\007\176\002\140\000)\001L\n\018\000\000\000\197\000\000\011\024\007<\nT\000\197\n\176\000\000\nX\000\197\n\180\000\000"), (16, "\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\000&\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\011\233\014\218\014\218\001\230\000\n\011\233\001\"\001\238\001\242\000*\015\014\015\014\011\233\016\134\016\022\004^\011\233\011\233\011\233\005\249\007\193\011\233\021\"\014\218\016\022\011\233\011\233\011\233\011\173\016\138\023\202\001\"\015\014\014\218\007\193\006y\011\233\000\n\000\n\011\233\011\233\008y\015\014\012\141\022\206\011\233\011\233\022\002\011\233\001\230\011\233\0007\000;\012\226\001\242\011\233\015\138\011\233\011\233\011\233\011\233\011\233\000\n\017*\012\141\011\233\011\233\011\233\004\138\011\233\011\233\011\233\003i\011\233\011\233\011\233\011\233\003\237\000\006\000\"\011\233\011\233\016\"\016\"\000\n\007\193\007\150\020.\021~\027\218\013V\011\233\011\233\011\233\004u\027\222\011\233\011\233\011\233\011\233\019\254\011\233\004~\011\233\016\"\005\233\011\233\015\002\006\222\011\233\011\233\012\141\012\141\012\141\016\"\006\026\012\141\012\141\016\022\017Z\011\233\011]\000\150\011\233\000\154\011\133\011\133\011\233\011\233\011\233\011\233\004u\011\233\000\226\011\233\006\246\007\193\006y\011\233\011\233\011\233\000\230\011\233\008\210\011\233\011\233\006\222\011\233\007\193\011\233\011\233\007\158\0206\011\233\011\233\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\000.\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\006\129\016\022\019\230\001R\001V\006\129\014\222\014\238\014\254\000\n\014\218\003:\006\129\003B\006Q\003R\006\129\006\129\006\129\015\014\018V\006\129\003Z\004v\001v\006\129\018Z\006\129\000N\007\182\020N\020v\020\134\020\174\020\190\020\230\006\129\011\133\006!\0069\026\018\006I\006\025\006\025\001~\006\129\006\129\001\"\011\133\003b\006\129\006\129\006Q\011\133\011\133\006\129\011\189\006\129\006\129\006\129\006\129\006\129\012\182\019\210\001\"\006\129\006\129\006\129\001\138\006\129\006\129\006\129\016\134\006\129\006\129\006\129\006\129\000\022\000\n\0192\006\129\006\129\001\230\003r\011\133\004\222\012\226\001\242\016\138\011\133\011\133\016\"\006\129\006\129\021\254\000\n\006\129\006\129\006\129\006\129\006\246\006\129\002\206\006\129\027\230\001\"\006\129\006\222\001\230\006\129\006\129\005\030\012\226\001\242\0039\004e\021\242\000\n\0039\006\177\012\141\012\141\011\197\006\129\016\022\012\141\020V\006\129\006\129\006\129\006\129\0039\006\129\014\218\006\129\0039\000\n\011m\006\129\006\129\006\129\005y\015\014\000\n\006\129\006\129\006\153\006\129\006\153\006\129\006\129\006\153\004\213\006\129\006\129\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\006\153\003\026\006\153\006\177\003f\006\153\006I\003j\004>\006\153\024\242\006\153\006\153\006Q\011v\020^\006\153\006\153\006\153\006\153\006\153\006\153\016\022\006\153\006\153\006\153\024\018\006\153\006\153\003\170\006\153\014\218\001\"\014\218\008\246\011n\006\153\011\130\016\"\006\153\015\014\012\210\015\014\016\166\023\198\006\153\006\153\006\153\006\153\n\158\006\153\020\142\006\153\008\218\001\"\006\153\024\242\006\153\004\213\006\153\006\153\006\153\003\174\000\n\006\153\006\153\006\153\006\153\012\158\006\153\006\153\006\153\012\141\006\153\006\153\006\153\006\153\000\n\0061\004\014\003~\006\153\003\134\006\145\003\150\000\n\006\153\023\202\006\145\006\145\015\142\003\158\006\153\006\153\006\017\000\n\006\153\006\153\006\153\006\153\027\206\006\153\005\225\006\153\006\t\004\018\006\153\006\153\011\170\006\153\006\153\011m\016\"\007\202\016\"\007\210\020\150\007\226\003\166\004&\006\153\001\162\011m\006\153\007\234\006\145\011\205\006\153\006\153\012\214\006\153\016\170\006\153\004B\006\153\020\198\004J\011m\006\153\022\230\022\238\012\141\012\141\008\177\008\177\006\153\012\141\006\153\008\177\006\153\006\153\007\242\003\182\006\153\006\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\014\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\022\246\021\018\006A\015\170\nb\021\170\004N\003\241\008\002\011\205\021\022\001F\021\026\005\225\004z\001\166\nr\013^\015\002\021\030\013b\016\022\013\002\020\206\001N\008\149\014\202\021*\0176\011\157\014\218\021.\005\225\013\"\017\170\001\178\005\225\0212\025r\015\014\001\"\012\158\n*\018*\015\"\013j\025\158\025\170\013>\015&\017f\015\006\012\158\0216\001\218\004\130\001\222\004\177\001b\016\030\015.\004\154\001\"\018\166\013~\001\230\0152\012\158\013\130\011\138\001\242\000\n\013\134\013\138\n\134\013\142\011\165\011m\021:\004\129\0156\021>\n\225\001\230\004\162\008\149\006)\012\226\001\242\022\218\015\146\n\226\013\146\000\n\021B\015:\015>\013\150\015B\021F\000\n\021J\015V\021N\021R\004\141\021V\018V\015b\013\158\006q\016\"\021Z\018Z\004\166\021^\006Y\018^\000\n\025\190\004\174\011m\015\130\021\138\019\006\006a\015\134\015\194\004\177\n\138\021b\013\162\004\198\015\198\021f\021j\023^\013\166\004\177\004\177\008\177\008\177\n\225\004\177\015\206\008\177\013\170\004\202\006\161\006\161\019\210\018\146\002\"\006\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\206\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\004\210\004\129\022\014\023\194\nb\027\166\004\129\004\129\012\158\011}\008\014\001F\008\022\027F\008&\001\166\nr\013^\004\129\004\129\013b\008.\nR\011\141\001N\nV\014\202\004\230\006\169\025N\006i\nZ\021\142\016\238\027J\001\178\n^\025R\014\218\021\146\018\194\027N\018\214\004\129\015\"\013j\025\158\015\014\0086\015&\017\174\t.\012\158\t6\001\218\tF\001\222\004\193\001b\016\030\015.\004\250\tN\018\150\013~\001\230\0152\005\014\013\130\011\138\001\242\019N\013\134\013\138\n\134\013\142\025\003\025\007\022\182\004\017\0156\025\011\008F\022J\021\158\011e\004\013\019R\006\169\tV\011\141\n\226\013\146\005.\023\218\015:\015>\013\150\015B\006\246\000\n\011u\015V\027V\005R\004\141\025\254\001\230\015b\013\158\005\241\012\226\001\242\tr\027n\tz\011\181\t\138\004\013\016\"\025+\025/\015\130\tf\t\146\0253\015\134\015\194\018\198\n\138\018\218\013\162\026c\015\198\018\242\027^\005^\013\166\005f\004\193\026g\019\022\000\n\004\161\015\206\005\186\013\170\011\149\006\185\006\185\026j\t\154\002\"\006\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\019n\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\023\182\004\017\019\130\005\198\nb\006I\004\017\004\017\004\013\t\170\006\018\001F\006\"\004\013\004\013\001\166\nr\013^\004\017\027>\013b\006*\026\131\026\135\001N\004\013\014\202\026\139\026\163\026\167\019\158\024\002\026*\026\171\011U\001\178\003]\027~\014\218\011U\011U\004\013\006\170\004\017\015\n\013j\018\246\015\014\027v\015&\004\013\011U\027v\019\026\001\218\028^\001\222\004\221\001b\015*\015.\022\230\022\238\027\190\013~\001\230\0152\006\206\013\130\011\138\001\242\028n\013\134\013\138\n\134\013\142\011U\019r\006\214\012\149\0156\007\014\007\026\007&\0072\007>\007J\005\013\005\t\007^\019\134\n\226\013\146\007n\007~\015:\015>\013\150\015B\024\014\000\n\007\134\015V\004\241\004\237\004\141\005\013\005\t\015b\013\158\007\171\007\246\007\250\008:\027\182\008>\008\158\008\162\019\162\016\"\008\178\008\194\015\130\008\238\008\141\008\254\015\134\015\194\004\221\n\138\t\018\013\162\tZ\015\198\t^\t\158\t\162\013\166\004\221\004\221\n\002\n\006\n\026\004\221\015\206\n2\013\170\nF\008\185\008\185\nf\nn\002\"\008\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\nv\001\014\n~\001\022\nZ\001\030\0012\001:\001>\n^\005\013\005\t\n\130\n\182\n\194\nb\n\202\011\014\011.\008\141\004\129\011:\001F\011~\011\150\011\162\001\166\nr\013^\005\013\005\t\013b\011\190\011\202\0272\001N\007\201\014\202\012R\012Z\012j\012v\012\146\012\154\012\174\012\186\001\178\006\137\012\194\014\218\007\201\012\198\006\137\006\137\012\206\015\n\013j\012\222\015\014\012\238\015&\012\246\012\250\013\n\006\137\001\218\013\018\001\222\013*\001b\015*\015.\0132\013F\013N\013~\001\230\0152\013Z\013\130\011\138\001\242\013r\013\134\013\138\n\134\013\142\013z\013\206\006\137\013\218\0156\014\"\014\154\014\194\014\214\014\226\004\021\014\234\014\242\014\250\007\201\n\226\013\146\027\142\015F\015:\015>\013\150\015B\015N\000\n\015^\015V\027\162\015f\015n\015v\004\129\015b\013\158\027\250\027\166\004\129\004\129\015~\015\186\015\202\015\210\027n\016\"\015\222\015\226\015\130\015\234\004\129\004\129\015\134\015\194\015\238\n\138\015\246\013\162\015\254\015\198\016\014\016.\016r\013\166\016z\016~\016\142\007\201\016\150\016\154\015\206\016\162\013\170\016\178\016\186\004\129\016\194\016\198\002\"\007\201\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\214\001\014\016\222\001\022\nZ\001\030\0012\001:\001>\n^\016\246\016\254\017N\017\150\017\162\nb\018\022\018\"\018B\004\021\018n\018z\001F\018\130\004\021\004\021\001\166\nr\013^\018\158\018\170\013b\018\178\018\182\018\190\001N\004\021\014\202\018\206\018\226\018\254\019\"\019:\019B\019F\019V\001\178\019^\019b\014\218\019j\019z\019\142\019\170\019\190\015\n\013j\019\206\015\014\019\222\015&\004\021\019\246\027v\020\006\001\218\020\018\001\222\020C\001b\015*\015.\020k\020\131\020\163\013~\001\230\0152\020\187\013\130\011\138\001\242\020\219\013\134\013\138\n\134\013\142\020\243\021\n\021&\012\149\0156\021\150\021\195\022\026\022/\022W\022c\022s\022{\022\142\022\151\n\226\013\146\022\159\022\167\015:\015>\013\150\015B\022\194\000\n\022\234\015V\022\242\023\002\023\031\023/\0237\015b\013\158\023C\023N\023s\023\127\023\146\023\155\023\163\023\230\024\026\016\"\0247\024?\015\130\024K\024[\024c\015\134\015\194\024n\n\138\024\131\013\162\024\139\015\198\024\146\024\159\024\171\013\166\024\179\024\190\024\199\024\207\024\219\024\246\015\206\025~\013\170\025\166\012\149\012\149\025\182\025\234\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\025\242\001\014\025:\001\022\nZ\001\030\0012\001:\001>\n^\025>\026\022\026:\026>\026F\nb\026o\0276\027B\027R\027Z\027b\001F\027\139\027\146\027\159\001\166\nr\013^\nR\027\170\013b\nV\027\186\027\239\001N\025N\014\202\nZ\027\254\028\011\028/\028K\n^\025R\028Z\001\178\028b\028k\028r\028{\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\026\186\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\016\134\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\016\138\0156\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\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\004\141\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\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\157\008\157\000\000\000\000\002\"\008\157\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\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\000\015\"\013j\000\000\000\000\000\000\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\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\012q\0156\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\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\012q\012q\000\000\000\000\002\"\012q\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\013^\nR\000\000\013b\nV\000\000\000\000\001N\025N\014\202\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\130\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\012\182\0156\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\015:\015>\013\150\015B\001\230\000\n\000\000\015V\012\226\001\242\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\n\000\000\000\000\013\166\000\000\004\161\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\189\012\189\000\000\000\000\002\"\012\189\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\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\000\015\"\013j\000\000\000\000\000\000\015&\025\130\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\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\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\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\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\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\000\000\000\000\000\000\001N\000\000\018b\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\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\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\000\000\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\007\214\005\217\000\000\000\000\005\217\013\158\000\000\005\217\008\026\005\217\008Z\005\217\000\000\005\217\000\000\t:\005\217\000\000\005\217\005\217\000\000\005\217\005\217\005\217\005\217\n\138\000\000\013\162\005\217\018v\005\217\005\217\005\217\013\166\005\217\000\000\005\217\005\217\000\000\005\217\018~\005\217\013\170\005\217\005\217\005\217\005\217\005\217\002\"\005\217\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\005\217\005\217\008\186\000\000\000\000\005\217\005\217\000Z\000\000\005\217\t\n\005\217\n\018\000\000\005\217\000Z\005\217\000Z\005\217\005\217\000\000\005\217\000Z\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\005\217\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\005\217\005\217\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\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\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\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\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\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\000\000\000\174\000\000\008\n\008N\002\018\008V\021\014\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\018\000\000\000\000\000\000\002\026\000\000\000\000\004a\000\000\021\022\008\146\021\026\000\000\002\030\000\000\000\000\000\000\000\000\021\030\002\"\000\000\000\000\000\000\024j\000\000\000\000\021*\000\000\000\000\000\000\021.\003.\0036\000\170\000\000\000\174\0212\003z\003\190\000\000\003\198\000\000\003\214\008\170\003\222\000\000\003\230\003\242\022\170\003\250\000\000\000\000\0216\023\166\000\000\000\000\nb\008\182\000\000\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\004\n\021:\014\202\000\000\021>\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\015R\013j\021F\000\n\021J\015&\021N\021R\000\000\021V\001\218\000\000\001\222\000\000\004\026\021Z\015.\000\000\021^\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021b\000\000\000\000\0156\021f\021j\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\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\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\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\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\013\197\000\000\015\130\013\197\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\013\197\000\000\000\000\015\206\013\197\013\170\000\000\002:\013\197\000\000\000\000\002\"\000\000\000\000\013\197\000\000\000\000\013\197\013\197\000\000\013\197\013\197\000\000\000\000\002B\000\000\013\197\005&\000\000\000\000\013\197\000\000\000\000\013\197\000\000\013\197\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\013\197\001\014\013\197\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\0052\000\000\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\001N\000\000\000\000\000\000\013\197\013\197\000\000\013\197\013\197\0056\000\000\013\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\001^\000\000\000\000\000\000\013\197\000\000\000\000\013\197\013\197\013\197\013\197\000\000\000\000\000\000\001b\013\197\013\197\013\197\000\000\013\197\013\197\013\197\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\254\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\021\002\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\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\021\006\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\198\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\000\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\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\004\241\t\202\004\241\t\210\000\000\t\218\t\230\000\000\t\238\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\t\246\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\254\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\000\000\000\000\000\000\000\000\000\000\014\025\000\000\004\241\014\025\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\n\014\004\241\004\241\004\241\014\025\004\241\004\241\004\241\014\025\000\000\000\000\013\190\014\025\000\000\000\000\000\000\000\000\000\000\014\025\000\000\000\000\014\025\014\025\000\000\014\025\014\025\000\000\000\000\013\198\000\000\014\025\013\210\000\000\000\000\014\025\000\000\000\000\014\025\000\000\014\025\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\000\000\008V\014\025\008f\014\025\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\008\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\008\154\000\000\000\000\000\000\014\025\014\025\000\000\014\025\000\000\013\226\000\000\014\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\008\170\000\000\000\000\000\000\000\000\000\000\000\000\014\025\000\000\014\025\000\000\000\000\000\000\000\000\008\182\014\025\014\025\014\025\000\000\014\025\014\025\014\025\ne\ne\ne\ne\000\000\ne\000\000\ne\ne\000\000\ne\000\000\ne\000\000\ne\000\000\ne\ne\ne\ne\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\001\137\000\000\000\000\ne\001\137\000\000\021\214\000\000\001\137\000\000\021\222\000\000\000\000\000\000\001\137\000\000\ne\001\137\001\137\000\000\001\137\001\137\000\000\ne\000\000\000\000\001\137\000\000\ne\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\ne\001\137\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\ne\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\ne\000\000\000\000\000\000\0222\ne\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\nU\nU\nU\nU\000\000\nU\000\000\nU\nU\000\000\nU\000\000\nU\000\000\nU\000\000\nU\nU\nU\nU\000\000\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\000R\000V\000f\000\170\000\000\000\174\nU\000\178\000\246\000\000\000\254\nU\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\nU\000\000\001F\000\000\000\000\nU\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nU\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\000\nU\001^\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\001b\nU\000\000\000\000\004R\004V\nU\000\000\nU\000\000\000\000\nU\000\000\nY\nY\nY\nY\000\000\nY\nU\nY\nY\nU\nY\000\000\nY\000\000\nY\000\000\nY\nY\nY\nY\000\000\000\000\000\000\000\000\nU\000\000\000\000\000\000\021\218\nU\000\000\000\000\nY\nY\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\nY\000\000\004Z\0226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\003U\000\000\nY\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\nY\008\n\008N\000\000\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\000\000\nY\000\000\000\000\022>\008\146\022Z\000\000\000\000\000\000\000\000\000\000\000\000\022f\nY\000\000\000\000\000\000\008\154\nY\000\000\nY\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\022~\nY\000\000\000\000\nY\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\170\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\008\182\000\000\000\000\nY\000\000\000\000\000\000\000\000\000\000\002v\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\202\000\000\000\000\023\"\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\002\t\000\000\023:\000\000\002\t\000\000\000\000\023F\000\000\008u\002\134\000\000\023v\002\t\002\t\000\000\002\230\002\238\000\000\000\000\023\130\000\000\002\t\024B\000\000\000\000\002\166\000\000\001\166\002\142\n\166\002\158\002\t\n\170\000\000\000\000\000\000\000\000\024N\000\000\000\000\000\000\000\000\024f\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\174\000\000\002\t\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\002\t\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\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\n\226\n\230\000\000\000\000\000\000\000\000\n\234\002\t\000\000\000\n\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\n\242\002\t\002\t\000}\002\246\002\190\002\t\000}\006\t\000\000\011\142\000\000\011\170\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\n\246\000e\000\000\000}\000e\000\000\n\250\002\166\000\000\000\000\002\142\000\000\002\158\000}\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\174\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\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\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\000}\000}\000\000\000e\002\150\000e\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\000\000}\000}\000}\000}\000\000\000\000\000\000\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\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\000a\000\000\000]\000a\000\000\000\000\000]\000\000\000\000\002\142\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\000a\000\000\000\000\000\000\000a\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\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\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000a\002\150\000a\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\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\000i\000\000\000q\000i\000\000\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\174\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000q\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\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\000i\002\150\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\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\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\000u\000\000\000m\000u\000\000\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\174\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000m\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\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\002\174\002\150\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000m\000\000\000\000\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\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\002v\000\000\000\133\000y\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\002\174\000\000\000\133\002\134\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\002\166\000\000\000\000\002\142\000\000\002\158\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\002\182\000\000\000\000\000\133\000\133\000\000\002\174\002\150\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\000\000\002v\000\000\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~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\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\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\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\t\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\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\t\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\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\t\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\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\000\000\n\226\n\230\000\000\011\226\000\000\000\000\n\234\000\000\003)\000\n\000j\003)\000r\000\000\000\130\003)\000\000\003)\n\242\000\000\000\000\000\138\003)\003)\011\234\000\000\006\t\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\n\246\000\000\000\000\000\000\0122\012:\n\250\000\000\000\146\003)\000\000\000\000\001\189\003)\012\018\n\254\000\000\011\250\000\000\012\n\000\000\002\"\000\000\000\000\003%\000\000\000\182\003%\000\190\003)\000\206\003%\000\000\003%\000\000\000\000\000\000\000\214\003%\003%\012\026\003)\000\162\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\222\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\003)\003%\012\002\001\137\000\000\003)\001\137\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\238\005Q\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\001\137\003%\003%\000\000\001\137\000\000\012B\012*\001\137\000\000\000\000\003%\003)\000\000\001\137\003)\003)\000\000\000\000\003)\001\137\001\137\003%\000\000\003)\003)\000\000\000\000\000\000\003)\001\137\000\000\003%\001\137\000\000\001\137\001\137\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\001\137\001\014\001\137\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\003%\001\137\000\000\003%\003%\000\000\000\000\003%\000\000\000\000\001F\000\000\003%\003%\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\001\166\000\000\n\166\000\000\000\000\n\170\000\000\001^\000\000\000\000\000\000\001\137\000\000\001j\001\137\001\137\000\000\001\137\000\000\000\000\001\178\001b\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\n\134\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\n\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\n\138\000\000\n\242\001\161\000\000\001\153\000\000\001\161\001\153\000\000\006\t\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\001\153\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\001\153\000\000\000\000\000\000\001\153\002\"\001\153\001\153\005\217\000\000\000\000\000\000\000\000\000\000\000\000\001\161\001\153\001\161\000\000\001\153\005\217\001\153\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\217\000\000\005\217\ni\ni\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\153\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\001\161\014\014\005\217\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\ni\000\000\005\217\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\001\153\005\250\000\000\001\153\014\022\001\161\001\161\001\153\001\161\001\161\001\161\000\000\000\000\000\000\ni\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\006\002\005\217\000\000\000\000\001\153\001\153\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\ni\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\000\000\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\000\000\021\014\000\000\000\000\n\134\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\000\000\000\000\000\000\000\000\023J\000\000\021\022\002\014\021\026\n\189\n\189\000\000\000\000\000\000\000\n\021\030\000\000\002\018\008\133\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\002\022\000\000\000\000\000\000\0212\000\000\002\026\000\000\000\000\008\133\000\000\008\133\000\000\006\001\n\138\002\030\022\250\000\000\n\189\000\000\0216\002\"\000\000\006\001\000\000\000\000\000\000\000\000\006\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\n\189\005\217\021:\000\000\005\217\021>\000\000\t~\005\217\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\021B\000\000\005\217\000\000\000\000\021F\000\n\021J\000\000\021N\021R\005\217\021V\005\217\000\000\t\190\005\217\000\000\021Z\000\000\005\217\021^\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\189\000\000\005\217\000\000\005\217\000\000\001f\005\217\n>\005\217\000\000\000Z\005\217\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\005\217\000Z\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\014B\005\217\005\217\014\146\005\217\000\000\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\014J\000\000\005\217\001%\002\025\000\000\001%\005\217\002\025\000\000\000\000\005\217\005\217\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\000\000\001\013\000\000\000\000\001\013\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%\001\013\000\000\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\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\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\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\014J\000\000\000\000\014B\001\029\000\000\001-\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\014B\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\014\178\014\138\001-\014J\000\000\000\000\014B\001!\000\000\001)\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\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\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\001\170\000\000\000\000\001\174\000\000\000\000\001)\001)\000\000\001)\014\138\001)\008\133\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\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\001\170\000\000\000\000\001\174\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\018f\001\246\001\250\000\000\001\254\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\000\000\002\002\000\000\000\000\000\000\001\218\002\006\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\002\014\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\002\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\021\014\002\002\000\000\000\000\002\026\000\000\002\006\000\000\000\000\000\n\000\000\000\000\021\018\002\030\000\000\000\000\000\000\000\000\002\014\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\002\018\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\002\022\000\000\021.\000\000\006R\000\000\002\026\006\162\0212\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\023\138\000\000\002\"\n\145\000\000\0216\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\n\145\000\000\021:\000\000\000\000\021>\000\000\000\000\006\130\000\000\000\000\006j\001\166\006z\001\170\000\000\000\000\001\174\021B\000\000\000\000\000\000\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\001\178\000\000\006\138\001\182\021Z\000\000\000\000\021^\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\021b\000\000\000\000\000\000\021f\021j\n\145\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\006\146\000\000\000\000\002\017\000\000\000\000\000\000\006r\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\002\017\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\006\194\006\154\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\006\030\000\000\000\000\000\000\000\000\002\"\000\000\000\000\004=\000\000\004=\000\000\000\000\004=\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\004=\000\000\000\000\004=\002\014\000\000\000\000\000\000\000\000\004=\004=\000\000\004=\000\000\002\018\000\000\000\000\000\000\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\022\000\000\000\000\004=\004=\021\014\002\026\004=\004=\004=\000\000\004=\004=\000\000\004=\002\030\000\000\021\018\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\021\022\000\000\021\026\000\000\000\000\004=\000\000\000\000\000\000\021\030\004=\000\000\000\000\004=\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\004=\000\000\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\134\000\000\000\000\000\000\005\217\0216\004=\005\217\000v\000\000\000\000\005\217\004=\005\217\000\000\000\000\000\000\000\000\005\217\005\217\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\n\145\000\000\021:\000\000\000\000\021>\005\217\000\000\000\000\005\217\000\194\000\000\000\000\005\217\000\000\005\217\000\000\005\217\021B\000\000\005\217\005\217\000\000\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\005\217\000\000\021Z\005\217\001\002\021^\000\000\005\217\000\000\005\217\005\217\003F\000Z\005\217\005\217\005\217\005\217\005\217\000\000\000\000\021b\005\217\005\217\005\217\021f\021j\n\145\005\217\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000Z\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\005\217\000\000\004\030\000\000\005\217\005\217\000\000\000Z\000\000\004\242\005\217\000\000\000\000\000\000\000Z\005\217\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\005\217\000\000\000\000\000\000\005\217\005\217\005\217\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\005\217\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\005\217\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\001\166\000\000\001\186\005\217\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\000\000\001\178\005\217\000\000\001\182\005\217\005\217\005\217\005\217\005\217\001\194\001\214\005\217\001\210\005\217\005\217\000\000\000\000\000\000\005\217\001\218\000\000\001\222\001\166\000\000\001\186\000\000\000\000\001\190\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\000\000\000\000\005~\000\000\000\000\000\000\001\218\005\130\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\005\138\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\005\217\000\000\000\000\005\217\003\138\005\142\000\000\005\217\005~\005\217\000\000\005\146\000\000\005\130\005\217\005\217\000\n\005\217\003\202\000\000\005\150\005\217\000\000\005\217\000\000\005\138\002\"\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\142\000\000\000\000\000\000\000\000\000\000\005\146\000\000\005\217\000\000\000\000\000\000\005\217\000\000\005\217\005\150\000\000\000\000\007f\000\000\000\000\002\"\000\000\000Z\000\000\000\000\005\217\000\000\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000Z\005\217\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\005\217\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\217\000\000\000\000\005\217\005\217\000\000\000\000\005\217\000\000\000\000\000\000\000\000\005\217\005\217\005\217\000\000\000\000\005\217\005\217\000\000\001\166\005\217\001\186\000\000\000\000\001\190\005\217\005\217\000\000\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\013\253\000\000\000\000\013\253\000\000\001\194\005\134\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\013\253\000\000\000\000\000\000\005j\001\230\000\000\005\170\005n\001\238\001\242\000\000\005r\005v\013\253\005z\000\000\000\000\013\253\000\000\013\253\013\253\000\000\000\000\005\178\000\000\000\000\005\190\000\000\000\000\013\253\000\000\005~\013\253\000\000\013\253\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\013\253\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\000\000\000\000\005\202\005\146\001F\000\000\000\000\000\000\000\000\001\166\000\000\n\166\005\150\000\000\n\170\000\000\000\000\001N\002\"\000\000\000\000\013\253\013\253\000\000\013\253\000\000\005\206\000\000\013\253\001\178\000\000\000\000\000\000\000\000\000\000\000\000\005\214\001^\n\174\n\186\000\000\000\000\000\000\001j\000\000\000\000\013\253\000\000\001\218\000\000\001\222\001b\013\253\000\000\000\000\000\000\013\253\013\253\n\206\001\230\000\000\000\000\n\210\001\238\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\001\166\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\n\000\n\000\000\000\000\000\000\004\141\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\n\238\000\000\000\000\001n\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\n\166\000\000\n\246\n\170\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\181\000\000\n\174\011\006\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\001\218\n\234\001\222\000\000\000\n\000\000\000\000\000\000\000\000\011\234\n\206\001\230\000\000\n\242\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\181\000\181\001\166\000\000\013^\000\000\n\246\013b\n\226\n\230\012\018\000\000\n\250\011\250\n\234\012\n\000\000\000\n\000\000\000\000\000\000\n\254\001\178\000\000\000\000\000\000\n\242\002\"\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\001\218\000\000\001\222\001\166\000\000\013^\000\000\n\246\013b\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\013f\013j\012\"\000\000\000\000\n\226\013\146\000\000\000\000\012\002\001\218\013\150\001\222\000\000\000\n\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\181\013\158\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\000\000\000\181\012*\000\000\000\000\001\166\000\000\013^\000\000\013\162\013b\n\226\013\146\000\000\000\000\013\166\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013\170\001\178\000\000\000\000\000\000\013\158\002\"\000\000\000\000\nR\013f\013\154\nV\000\000\000\000\000\000\025N\000\000\nZ\000\000\001\218\000\000\001\222\n^\025R\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\008}\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\016\134\000\000\008}\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\008}\000\n\008}\000\000\000\000\016\138\000\000\000\000\000\000\008}\013\158\000\000\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\000\000\008}\021\226\000\000\000\000\001\230\000\000\008}\000\000\012\226\001\242\000\000\013\162\000\000\023\134\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\008}\000\000\000\000\021\018\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\021\022\000\000\021\026\000\000\000\000\000\n\000\000\000\000\000\000\021\030\004\161\000\000\000\000\008}\021\"\000\000\008}\021*\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\0212\000\000\008}\000\000\000\000\000\000\000\000\008}\008}\008}\000\000\008}\008}\000\000\008}\000\000\0216\023\166\000\000\000\000\008}\000\000\000\000\008}\000\000\000\000\007\137\007\137\000\000\000\000\000\000\007\137\000\000\000\000\000\000\007\241\000\000\000\000\008}\000\000\000\000\021:\008}\008}\021>\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\241\021B\007\241\000\000\000\000\000\000\021F\000\n\021J\007\241\021N\021R\000\000\021V\007\241\000\000\000\000\007\241\000\000\021Z\000\000\007\241\021^\000\000\021\014\000\000\000\000\007\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\007\241\023\166\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\007\241\000\000\000\000\007\241\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\186\007\241\000\000\000\000\000\000\0216\007\241\007\241\007\241\000\000\007\241\007\241\000\000\007\241\000\000\000\000\000\000\000\000\000\000\007\241\000\000\000\000\007\241\000\000\022j\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\007\241\000\000\000\000\000\000\007\241\007\241\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\022\130\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\0216\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\000\000\000\000\000\000\0216\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\000\000\021\014\000\000\000\000\000\000\000\000\000\000\021:\000\000\000\000\021>\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\021\022\021B\021\026\000\000\000\000\000\000\021F\000\n\021J\021\030\021N\021R\000\000\021V\021\"\000\000\000\000\021*\000\000\021Z\000\000\021.\021^\000\000\021\014\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021b\000\000\000\000\000\000\021f\021j\023&\000\000\021\022\000\000\021\026\000\000\000\000\000\000\000\000\000\000\000\000\021\030\000\000\000\000\000\000\000\000\021\"\000\000\000\000\021*\000\000\000\000\000\000\021.\000\000\021:\000\000\000\000\021>\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021B\021\014\000\000\000\000\024R\021F\000\n\021J\000\000\021N\021R\000\000\021V\021\018\000\000\000\000\000\000\000\000\021Z\000\000\000\000\021^\021\022\000\000\021\026\000\000\000\000\000\000\000\000\021:\000\000\021\030\021>\000\000\000\000\000\000\021b\000\000\000\000\021*\021f\021j\000\000\021.\000\000\021B\000\000\000\000\000\000\0212\021F\000\n\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\0216\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\021b\000\000\000\000\000\000\021f\021j\000\000\000\000\000\000\021:\000\000\000\000\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\021B\000\000\000\000\000\000\000\000\021F\024r\021J\000\000\021N\021R\000\000\021V\000\000\000\000\000\000\000\000\000\000\021Z\000\000\000\000\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\021b\000\000\000\000\000\000\021f\021j\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\000\000\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\000\000\000\000\000\000\004M\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000R\000V\000f\000\170\000\000\000\174\001b\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\n\000\000\000\000\000\000\000\000\000\000\000\000\001F\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001n\001N\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\001n\000\000\012U\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\246\004V\000\000\000R\000V\000f\000\170\0021\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\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\250\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\013\225\000\000\000\000\000\000\000\000\000\000\003M\000\000\000\000\002)\000\000\001b\000\000\000\000\000\000\004R\004V\000\000\000\000\001^\000\000\013\225\000\237\000\000\000\000\000\237\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001b\000\000\013\225\000\000\025\246\004V\000\000\000\000\013\225\013\225\006Z\000\000\011&\000\000\000\000\0112\000\213\000\000\013\225\000\213\000\000\013\225\000\000\013\225\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\213\000\000\004b\006\130\000\000\000\000\006j\013\225\006z\000\000\000\000\000\000\000\000\000\205\006b\000\000\000\205\000\000\000\213\000\000\000\213\000\213\000\000\000\000\026\002\000\000\000\000\011>\000\000\006\138\000\213\000\000\000\000\006j\000\205\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\225\000\000\000\205\000\000\000\000\011B\000\205\013\225\000\205\000\205\000\213\000\000\000\000\000\000\000\000\011J\000\000\000\000\000\205\000\000\013\225\006j\006\146\000\205\000\209\000\237\000\000\000\209\000\000\006r\000\000\000\000\000\000\000\000\000\000\013\225\013\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\209\000\000\000\237\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\006r\000\237\006\154\000\209\000\000\000\225\000\000\000\209\000\225\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\209\000\000\000\000\006j\000\000\000\209\000\000\006Z\000\205\000\213\000\213\000\205\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\217\006b\000\000\000\217\000\000\000\225\000\209\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\225\000\000\000\000\006j\006Z\006z\000\205\000\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\221\000\000\000\217\000\221\000\217\000\217\006\138\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\217\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\229\006b\000\000\000\229\000\000\000\221\000\217\000\221\000\221\000\209\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\221\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\225\006R\000\000\000\229\000\245\000\229\000\229\006\138\000\000\000\217\000\225\000\225\000\217\000\000\000\000\006\130\006r\000\000\006j\000\000\006z\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\006R\006b\000\000\000\233\000\000\000\245\006\138\000\245\006\186\000\217\000\217\000\221\000\000\000\000\000\221\000\000\000\000\006\130\006r\000\000\006j\006Z\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\221\006R\000\000\000\233\000\241\000\233\000\233\006\138\000\000\006\146\000\221\000\221\000\229\000\000\nR\006\130\006r\nV\006j\000\000\006z\025N\006Z\nZ\000\000\000\000\000\000\000\000\n^\025R\000\000\000\000\000\000\000\000\000\229\000\157\006b\000\000\000\000\000\000\000\241\006\138\000\241\006\186\000\229\000\229\006\146\000\000\000\000\000\245\000\000\000\000\006\130\006r\000\000\006j\000\157\006z\000\000\016\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\245\000\149\000\000\000\000\016\138\000\157\000\157\006\138\000\000\006\146\006\194\006\154\000\233\000\000\000\000\000\157\006r\000\000\011\250\000\153\012\n\000\000\000\149\000\000\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\000\000\000\000\000\233\000\000\000\149\000\000\000\000\000\000\000\153\000\157\000\149\000\149\000\233\006\154\006\146\000\000\000\000\000\241\000\000\000\000\000\149\006r\000\153\011\250\000\000\000\149\000\000\000\n\000\153\000\153\000\000\000\000\004\161\000\000\000\000\000\000\000\000\000\169\000\153\000\241\000\000\011\250\000\000\000\153\000\000\000\000\000\149\000\000\000\157\000\241\006\154\000\000\000\000\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\000\011\242\000\000\000\161\008\233\008\233\000\000\000\169\000\169\008\233\000\000\000\000\000\157\000\157\000\149\000\000\000\000\000\169\000\000\000\000\011\250\012\002\012\n\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\153\000\000\000\149\000\000\000\000\000\000\011\242\012\002\000\000\000\000\000\000\012\026\000\161\000\161\000\000\000\000\000\000\000\149\000\149\011\234\000\153\000\000\000\161\000\173\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\153\000\153\000\000\000\000\000\165\000\165\011\226\000\000\000\000\011\234\000\000\000\000\000\000\000\161\000\165\000\169\000\000\011\250\000\000\012\n\000\000\000\000\012\002\011\242\000\000\000\000\000\000\011\234\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\012\018\012\026\011\242\011\250\000\000\012\n\000\000\000\000\000\189\012:\011\226\000\169\000\169\000\161\000\000\000\000\000\000\000\000\012\018\000\000\012\002\011\250\000\000\012\n\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\012\026\011\242\000\000\012\002\000\161\000\161\000\000\000\177\000\177\011\226\000\000\000\000\000\000\000\000\000\000\000\000\000\165\012\018\000\000\000\000\011\250\012\"\012\n\000\000\000\000\000\000\000\000\000\000\012\002\000\000\011\234\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\173\000\000\012\026\011\242\000\000\012\002\000\000\000\000\000\000\000\185\012:\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\189\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\012\026\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\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\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, "\000\136\000\193\000\000\000\000\t\156\000\193\000\000\000\000\000\021\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\001^,4\000\000\018\212\018\212\000\000\000\000*L\018\212\000\000<\208\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000%\000B\018\212\000\000\018\212\000\000\000\000\000\000*\180\018\212\000\000<\220\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000|\000\244\018\212\000\000\018\212\000\000\018\212\000\000=\012\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\000\000\000\000\018\212\000\000\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000\252\001\180\018\212\000\000,4<\208I,\000\000\021@\002&-\176\000EI,\000\000\001\188\018\212\000\000I,\000\000\000w\003z/\226\000\000\000\0009\138\000\000=\212\000\000>`-\228-\228\0206\0206=\212\0206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\022-\228\000\000\000\000:\022\000\000:\022\000\000-\228\000\000\000\000\000\000\023\186\000w\000\000\0206\000\000+F-\228\027\232-\228\000\000\000\000\000\000\000\000\000\000\000\000\030\198-\228\031\192-\228 \030-\228!\024-\228\000\000-\228\000\000-\228!v-\228\"p-\228\"\206-\228#\200-\228$&/\226\002\"-\228\000\000\000\000\000\000\000\000\000\000-\228% -\228%~-\228&x-\228\000\000\000\000-\228\000\000\000\000\002x\000\000\000\000\000\000\000\000\001\182\018\212\000\000\000\252\018\212\000\000>\226\018\212\000\000\000\000\018\212\000\000\018\212\000\000\002\180\003\002\018\212\000\000\018\212\000\000\007\230\018\212\000\000?\022\018\212\000\000\000\000\018\212\000\000\018\212\000\000\0030\003\226\018\212\000\000\018\212\000\000\018\212\000\000?\"\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\018\212\000\000\018\212\000\000\018\212\000\000\018\212\000\000\003\218\004\006\018\212\000\000= I,\003\238\018\212\000\000I\160IX\000\000\000\031\004\178\000w\004\028\004\230-\176\000\000\000\000\000)JZ\000\000\000\000\000\000\000\000\005\218\005X\000E\005\146-\176\001B-\176\000\000\000\000\004\234\000\000\005\006\005\210-\176\005\022\000\000\000\000\000\000\000)\000\000\0054\006.\000\000\0062\000\000\005\220\000\150I,\005p\018\212\000\000>\226I,\005t\018\212\000\000\000\000\000w\006Z\000\000\000\000\000\000\001v\0206\000\000-\228\005\130\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\005\136\000\000\000\000\005\144\000\000\005\148=\212\000\000\000\000\000\000\000\000\000\000\000\000@\020-\228\000\000@\020\000\000@\020=\212\000\000\000\000@\176\000w\000\000\0206\005\156\000\000-\228\005\208\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\166-\228\000\000-\228\000\000\000\000\005\214\000\000\000\000:\192\006\142-\228\006\\\000\000\000\000=\212\000\000\000\000\000\000\000\000\000\000\000\000J\234=\212Kv=\212K\166=\212K\234=\212\000\000=\212\000\000=\212LD=\212L\156=\212L\246=\212M:=\212Mj/\226\0062=\212\000\000=\212M\174=\212N\008=\212N`\006\016\000\000\006\"\000\000\000\132-\228\000\000\000\132\000\000\000\000\002\016,4\000\000\002\016\000\000\000\000\006\"-\228\000\000\006&\000\000\0206\0064\000\000\000\000\007\000\000\000\0206\0068\000\000\000\000\006:\000\000\000\000\003z\000\000\007(\000\000?\022I,\006H\018\212\000\000\000\000\006\226\000\000\006f\018\212\000\000\000\000\000\t,4\000\000,4\000\000\006X\000\000\000\t\000\000\016\150\030\198\018\170\000\000\008d\018\170\000\000\018\170\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\156\006\200\018\170\000\000\018\170\000\000\t\002\018\170\000\000\018\212\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\160\006\210\018\170\000\000\018\170\000\000\018\170\000\000\018\226\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\170\006\218\018\170\000\000,4\006\142\000\000\018\196I,\006\144\018\170\000\000\000\000\000=\000\000\002\028\000=\000\000\000\000\000\000\007|\000\000\001\020I,\006\154\018\170\000\000\018\212I,\006\158\018\170\000\000\000\000\007>\018\170\000\000\n\002\018\170\000\0000\174\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\212\007\002\018\170\000\000\018\170\000\000\n0\018\170\000\0000\198\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\220\007\012\018\170\000\000\018\170\000\000\018\170\000\0000\202\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\230\007\018\018\170\000\000\018\226I,\006\194\018\170\000\000\000\000\002bI,\006\196\018\170\000\0000\198I,\006\206\018\170\000\000\000\000\000\000\000\000\000\000\000\000\007\150-\228\006\220\021\246\007\156-\228\006\224\007\158-\176\000\000\000\000-\176\000w\000\000\001\192-\228'\152\000\000@\246-\228\006\236\000\000\0206\006\236\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\160-\228\000\000A\160\000\000A\160B,\0206\006\246B,\000\000\000\000J\\\000w\000\000\0206\006\252\000\000-\228\007\022\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\228\001,-\228\007\026\000\000\000\000(B\026(&\196\007\230-\228\000\000\007\184\000\000\000\000\000w\000\000\000\000;\\\007n'\152\000\000\007p'\152\000\000\001L\000\000\000\000\023FB,\0312B,*\190B,90B,\000\000B,\000\000B,N\160B,N\194B,O\006B,OFB,O\192B,P\000B,P@B,P\146\000\000\007D\000\000\007T(\236\000\000)\150\007^)\150,\"\007`)\150\000\000\000\000\000\000\000\000\000\000\007V\000\000\008<\000\000\000w\000\000\001\192\008>\000\000\004F\008\020\000w\007j\008,-\176\007p\002*\000\000-\228\008R\000\000\005\252\006\174\0084-\176\007z\008`\000\000\002.-\228\008d\000\000\008l\000\000\005\220\000w\002\190-\228\008p\000\000\008t\000\000\000w\003t-\228\008v\000\000\008x\000\000\001\018\007\196\006\232\000\000B\184CD\0206\007\160\000\000\007\172CD\000\000\000\000\000\000\000\000\000\000\000\000C\208-\228\000\000C\208\000\000C\208CD\000\000\000\000\026\134\000w\000\000\0206\007\174\000\000-\228\007\172\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\204-\228\000\000-\228\000\000\007\186\000\000\000\132\000\000\000\000\000\000\000\000\000\0001\176CD1\224CD2\234CD3\026CD\000\000CD\000\000CD4$CD4TCD5^CD5\142CD6\152/\226\007\242CD\000\000CD6\200CD7\210CD8\002\0206\007\206\000\000\000\000-\228\000\000\008\180\000\000\001`\008\138-\228\008T\000\000\008\142-\228\008X\000\000\000\031\000\000\006\232\006\232\001`\000\000\001`\000\000\016\150\006\232\006\232\000\000\000\000\000\000\000\000\000\000\000\000\008\158-\228\007\228\021\246\022\198\000w\008\202\000\000\008\172/\226\008\214/\226\008\218-\228\008\002\021\246\021\246\000w\002^\001T\000\000\000\000\000\000\002^\000\000\003,\000w\000\000\000\000\008\004\000\000\000\000\000\000\008\238\000\000\008\242\000\000\000\000\t(\008\214-\228\008\"\t\002\000\000\008\232\0206\008,\021\246\000\000\000\000\008Z\000\000\000\015\000\000\005\134\000\000\000\000\001`\000\000\008\176\000\000\012p\004\020\000\000\012p\000\000\000\000\025\028\000\000\004\020\000\000\000\000\t\172\000\000\012p\000\000\008\248\0206\008>\t \000\000\000%\000\000\008\242\000w\008J\t\012-\176\008T\002\146\000\000-\228\t>\000\000\t>-\176\008\144\tv\000\000\004\028-\228\tz\000\000\t|\000\000\005\220\000w\004\156-\228\t~\000\000\t\128\000\000\000\000\000\000\t\172\000\000\000\000\004\020\000\000\006\232\000\000\000%\000\000\000\000\003^\022\198\000\000\003^\000\000\000\000\008\168\000\000\003:\000\003\021\246\000\000\004$\000O\004$\000\000\000\015\000\000\006\232\000\000\006\232\000\000\000\000\000\000\008\164\000\000\000\000\008\182\000\000\004\216\005\134\001V\004$\000\000\000\000\000\000\008J\000\000\006\232\000\000\004\216\000\000\000\000\003\022\000\015\016\150\000\000\000\015\000\000\008J\016\150\000\000\000\000\008J\000\000\000\000\008\182\000\000\000\000\008\188\000\000\004\222\006\232\000\000\004\222\000\000\000\000\t8\000\000\004\020\000\000\006\232\000\000\000\000\000\000\017\2368\254\000\000\t\160\000\000\017\236\t\164\000\000\t\168\000\000-\176\000w\003\140\000\000-\228\t\172\000\000\005\166\t~\000w\008\214\t\150-\176\008\220\003\180\000\000-\228\t\188\000\000\003\244\000\000-\228\t\196\000\000\005\220\000w\004,\000\000-\228\t\198\000\000\005*\017\236\000\000\025\028\004\192\000\000-\228\t\214\000\000\000\000\000\000\003\250\000\000\t\186\0206\t\006\t\236\000\000\007\n\000\000\t\190\000w\t\"\t\234-\176\t0\005\156\000\000-\228\n\020\000\000\005\160\000\000-\228\n\022\000\000\005\220\000w\005\172\000\000-\228\n\024\000\000\005*\000\000\000\000\t>\000\000\003\250\008\230\t\184\000\000\000\000\000\000\t\186\000\000\0020\000\031\000\000\016\150\n\012\000\000\000\000-\228\tn\006\232\000\000\tH\000\000\001\018\000\000-\176\000\000\000\000\002\190\016\150\000\000\016\150\000\000\t6\000\000\002\190\000\000-\228\003\138-\228\000\000-\228\000\000\tN\000\000\003\138\000\000-\228\003\138\tP\000\000\021\246\004 \021\246\000\000\021\246\000\000\tV\000\000\004 \000\000-\228\003\138\tX\000\000-\176\004\226-\176\000\000-\176\000\000\t^\000\000\004\226\000\000-\228\003\138\t`\000\000\000\000\025\028\000\000\000\000\t\206.\194\000\000\000\000\000\000\000\000\000\000\t\170\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\202.\194\000\000\004\132\000x\000\000\t\172\000\193\000\000\000\000\000\000\004\130\000x\000\000\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\027\232\029J\000\000D\142\000\000.\194\000\000\0016.\194\000\000\000?\000K\000K\000\000\002L\000K\000\000\t\136\000\000\000\000\000\000\000\000\n\024\000\000\029\196\000\000\030\198.\194\000\000\000W.\194\000\000\n\028\000\000.\194\n \000\000F\022/P\n$\000\000\n(\000\000F\194;\216.\194\t\166.\194\n0\000\000\n2\000\000\n6\000\000,4\000\000\002\134,4\000\000\t\180\018\170\000\000\000\207.\194\000\000\005l.\194\000\000\003L\n\182\000\000\n\184\000\000.\194.\194\t\216\000\000\000\000\000\000\000\000\000\000\000\000\nt\000\000G\028.\194\nv\000\000\nx\000\000.\194\nz\000\000.\194\n$\000\193\000\000\000\000\005\230.\194\000\000\003L\000\000\n\128\000\000.\194\n\130\000\000D\252/P.\194\n\000.\194\n\134\000\000\n\136\000\000E\168\000\000\000\000\006\026.\194\000\000\002\194\000L\000K\n\008\000\000\000\000\000N\000N\000\000\000\000\000\000\003\186\000N\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000.\194\000\000\006f.\194\000\000\001`\004@\000\193\n\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\156\000\000\n\162\000\000.\194\n\164\000\000G\148.\194\n\172\000\000\n\182\000\000\021\140\n^G\238\018\196\000\000.\194\n\190\000\000\n\192\000\000\n\144\021\140.\194\n\200\000\000.\194\n\210\000\000\n\212\000\000.\194\nR.\194\n\224\000\000\n\228\000\000\000\193\nV\000\000\000\000\025\028\000\000\000\000\002z\011F\000\000\000\000\002\174\000\000\000\000\000\000-\228\000\000\000\000\000\000\002\194\000\000\004\248\000\000\000\000\000\000\004$-\176-\176-\176\000\000\002P\002P\002P\002P\000\000\000\000\000\000\000\000\000\000\000\000\001`\016\150\011<\013\210\000O\000\000\000\000\001&\000\000\t\172\000\000'\152\nn\000\000\001`\016\150\n\130\0154\000\000\001`\013\210\000\000\000\000\000\000-\176\006v\000\000\000\000\000\000\n\214\0014\011PI\160\000\000\004\136J\138\000\000\000\000\000\000\t~\011@\000w\000\000\004\136\000\000\004\176I\160\000\000\000\000\n\152\011P\006\232\n\150\000\000\001&\000\000\t\172\000\000;\002\004<\000\000\000\000\011<\000\000\000\000\002z\000\000\005\016\000\000\000\000\000\000-\228\000\000\002\194\000\000\005N\000\000\000\000\000\000\005\134\000\000\011\014\002\144\011\014\000\000\006\232\011\014\000\000\002\144\000\000\006\232\000\000\006\232\000\000\006\232\000\000\t:\000\000\000\000\000\000\000\000\000\000\006\232\000\000\002\144\000\000\006\232\000\000C\170\000\000\000\000\nj\n\200\000\193\005p\011d\003\004\000\000\003\004\011\140\000\000\011\142\000\000\011\144\000\000\000\000\004p\003\004\007r\003\004\000\000\000\000\004\174\n\152\000\000\n\216\000\193\005p\n\160\000\000\nj\011\164\000\000\n|\003P\011\182\000\215\011\182\000\000\000\000\002\030\000\193\000\000\001\152\000\000\000\000\002\178\000\000\n\178\000\000\000\000\000\000\n\238\000\193\005p\n\184\000\000\000\000\nj\n|\003P\002\030\001\152\002\178\n\186\000\000\n|\003P\002\030\001\152\002\178\n\192\000\000\000\193\000\000\011\194\001V\n\252\000\193\011X\000\000\011\000\000\193\011\\\000\000"), (16, "\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\021&\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\008}\014\218\011e\022\210\011\249\015\002\000\n\011e\011e\000&\015\014\011\249\001\"\016\138\022\006\011\249\011\249\001~\011\249\011e\007\189\011\249\022\002\007\150\016\022\011\249\011\249\011\249\000*\016\142\008\210\027\226\004>\014\218\007\189\011\157\011\249\001\"\015\006\011\249\011\249\006}\015\014\000\n\011e\011\249\011\249\006\173\011\249\001\230\011\249\0007\000;\012\226\001\242\011\249\001\"\011\249\011\249\011\249\011\249\011\249\015\138\017.\021&\011\249\011\249\011\249\000\n\011\249\011\249\011\249\000\n\011\249\011\249\011\249\011\249\000\006\000\"\021\146\011\249\011\249\016&\003\237\000\n\007\189\021\150\000\n\007\158\023\202\023\222\011\249\011\249\011\249\018Z\022N\011\249\011\249\011\249\011\249\018^\011\249\011\157\011\249\018b\000\150\011\249\006\173\004~\011\249\011\249\012\165\012\165\003:\016&\003B\012\165\003R\004^\017^\011\249\006\026\005\253\011\249\003Z\006\222\004\222\011\249\011\249\011\249\011\249\021\162\011\249\023\226\011\249\000\154\007\189\019\214\011\249\011\249\011\249\000\n\011\249\006}\011\249\011\249\001\"\011\249\007\189\011\249\011\249\006%\003b\011\249\011\249\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000.\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000\n\016\022\011\197\028\130\006\133\014\222\014\238\014\254\000\226\003r\014\218\006\133\008\246\022\234\022\242\006\133\006\133\023\198\006\133\015\014\028\146\006\133\003.\0036\000\170\006\133\000\174\006\133\003z\003\190\006U\003\198\001\"\003\214\014\218\003\222\006\133\003\230\003\242\011n\003\250\006\029\006\029\015\014\001\230\006\133\006\133\000\230\001\238\001\242\006\133\006\133\024.\004\213\004\002\006\133\011\205\006\133\006\133\006\133\006\133\006\133\021\130\000\n\001\"\006\133\006\133\006\133\004\n\006\133\006\133\006\133\001R\006\133\006\133\006\133\006\133\008\153\011}\000\n\006\133\006\133\000N\007\182\020R\020z\020\138\020\178\020\194\020\234\013V\016&\006\133\006\133\011v\000\n\006\133\006\133\006\133\006\133\020\002\006\133\004\026\006\133\nR\005\237\006\133\nV\006\013\006\133\006\133\025r\011\170\nZ\015\146\016&\021\246\011\130\n^\025v\012\165\012\165\004\138\006\133\011\213\012\165\003i\006\133\006\133\006\133\006\133\012\210\006\133\011}\006\133\004\213\027\254\008\153\006\133\006\133\006\133\004u\028\002\001V\006\133\006\133\006\246\006\133\005\030\006\133\006\133\001v\004e\006\133\006\133\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\n\158\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\004u\n*\006\157\006\157\016\022\016\170\011m\012\158\006\157\006\157\006\157\006\157\001\138\014\218\006\157\006\157\023\198\006\157\006\157\025\022\006\157\001\"\015\014\0202\006\157\006\149\006\157\011}\006\157\006\157\006\149\006\149\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\002\206\012\214\027\242\013\002\006\157\006\157\006\157\006\157\004\161\006\157\006M\023\218\000\n\008\218\006\157\025\022\006\157\027j\006\157\006\157\006\157\006\157\012\158\019\234\006\157\006\157\006\157\006\149\006\157\006\157\006\157\016\138\006\157\006\157\006\157\006\157\008\145\022\018\027n\027\218\006\157\022\234\022\242\006\157\011\141\027r\015\142\016\142\020:\016\022\006\021\006\157\006\157\016\174\016&\006\157\006\157\006\157\006\157\006\246\006\157\006\157\006\157\003\026\028\n\006\157\022\186\001\230\006\157\006\157\006\157\012\226\001\242\011u\003f\013\"\006\157\006\222\011}\006\157\022\250\005\229\006\157\008\189\008\189\020Z\006\157\006\157\008\189\006\157\018\150\006\157\003j\006\157\012\158\017:\008\145\006\157\025'\025+\001\162\005}\000\n\025/\006\157\008\161\006\157\027z\006\157\006\157\018\198\006=\006\157\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\018\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\003\170\021\022\006\141\027\130\nb\006M\018\218\006\141\006\141\0196\021\026\001F\021\030\015\170\020b\001\166\nr\003\241\013^\006\141\021\"\013b\016\022\006U\020\146\001N\011}\014\202\021.\008\161\013>\014\218\0212\005\229\018\246\026\135\001\178\006\222\0216\025\150\015\014\006u\018\154\026\139\006\141\015\"\013j\025\194\025\206\012\158\015&\017j\005\229\026\142\021:\001\218\005\229\001\222\004\177\001b\016\030\015.\018\202\012\182\0242\013~\001\230\0152\003\174\013\130\011\138\001\242\012\165\013\134\013\138\n\134\013\142\0065\004\021\021>\027\146\0156\021B\001\230\023\242\004\014\004\018\012\226\001\242\020\154\011}\011\133\n\226\013\146\018\222\021F\015:\015>\013\150\015B\021J\000\n\021N\015V\021R\021V\004\141\021Z\019\026\015b\013\158\027\146\016&\021^\016\210\000\n\021b\004&\000\n\006U\025\226\020\202\018\250\015\130\011\221\n\241\004B\015\134\015\194\004\177\n\138\021f\013\162\012\158\015\198\021j\021n\004J\013\166\004\177\004\177\012\165\012\165\004N\004\177\015\206\012\165\013\170\017\174\006\165\006\165\018.\006E\002\"\006\165\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\142\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\004\021\016\242\027\162\021\174\nb\004\021\004\021\011\221\n\241\020\210\026\"\001F\019\n\027\154\005\245\001\166\nr\004\021\013^\019\030\012\158\013b\003.\0036\000\170\001N\000\174\014\202\003z\003\190\026N\003\198\004z\003\214\003]\003\222\001\178\003\230\003\242\014\218\003\250\019r\004\021\019\134\027\154\015\"\013j\025\194\015\014\019\162\015&\017\178\004\130\006]\004\002\001\218\006e\001\222\004\193\001b\016\030\015.\018\170\004\154\011\181\013~\001\230\0152\004\n\013\130\011\138\001\242\006-\013\134\013\138\n\134\013\142\004\162\025O\025S\016\"\0156\001\230\025W\004\166\004\174\012\226\001\242\004v\005\013\026\167\026\171\n\226\013\146\006m\026\175\015:\015>\013\150\015B\004\198\000\n\004\026\015V\nR\004\241\004\141\nV\005\013\015b\013\158\025r\001\"\nZ\004\202\027b\004\210\000\n\n^\025v\016&\026\199\026\203\015\130\022\222\011\189\026\207\015\134\015\194\019v\n\138\019\138\013\162\004\230\015\198\004\250\005\014\019\166\013\166\004\017\004\193\005.\005R\000\n\000\n\015\206\005^\013\170\005f\006\181\006\181\011\165\005\186\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\005\013\005\t\0039\005\198\nb\006\018\0039\006\"\023b\001\230\006*\001F\011\173\012\226\001\242\001\166\nr\004\237\013^\005\013\005\t\013b\t\"\t*\000\170\001N\000\174\014\202\tn\t\178\006\170\t\186\006\206\t\202\023\186\t\210\001\178\t\218\t\230\014\218\t\238\006\214\007\014\007\026\000\n\015\n\013j\019R\015\014\004\161\015&\007&\0072\007>\t\246\001\218\007J\001\222\004\221\001b\015*\015.\007^\019V\007n\013~\001\230\0152\t\254\013\130\011\138\001\242\024\"\013\134\013\138\n\134\013\142\007~\004\013\007\134\012\173\0156\007\171\001\230\007\246\007\250\008:\012\226\001\242\005\t\008>\008\158\n\226\013\146\008\162\008\178\015:\015>\013\150\015B\008\194\000\n\n\014\015V\008\238\008\254\004\141\t\018\005\t\015b\013\158\004\013\tZ\003~\t^\003\134\t\158\003\150\000\n\t\162\016&\n\002\n\006\015\130\003\158\n\026\n2\015\134\015\194\004\221\n\138\nF\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\011\014\008\197\008\197\011.\003\166\002\"\008\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011:\001\014\011~\001\022\nZ\001\030\0012\001:\001>\n^\007\202\004\013\007\210\011\150\007\226\nb\004\013\004\013\011\162\011\190\003\182\007\234\001F\011\202\012R\012Z\001\166\nr\004\013\013^\012j\012v\013b\012\146\012\154\012\174\001N\007\197\014\202\012\186\012\194\016\022\012\198\012\206\004\013\012\222\012\238\001\178\012\246\007\242\014\218\007\197\012\250\004\013\013\n\027\154\015\n\013j\013\018\015\014\013*\015&\0132\013F\013N\013Z\001\218\013r\001\222\004\213\001b\015*\015.\013z\013\206\013\218\013~\001\230\0152\014\"\013\130\011\138\001\242\008\002\013\134\013\138\n\134\013\142\014\154\008\014\014\194\008\022\0156\008&\014\214\014\226\014\234\014\242\014\250\015F\008.\015N\007\197\n\226\013\146\015^\015f\015:\015>\013\150\015B\015n\000\n\015v\015V\nR\015~\015\186\nV\019R\015b\013\158\025r\015\202\nZ\015\210\015\222\015\226\0086\n^\025v\016&\015\234\015\238\015\130\019V\015\246\015\254\015\134\015\194\016\014\n\138\0162\013\162\016v\015\198\016~\006\246\016\130\013\166\016\146\004\213\016\154\007\197\016\158\001\230\015\206\016\166\013\170\012\226\001\242\016\138\008F\016\182\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\142\001\014\016\190\001\022\nZ\001\030\0012\001:\001>\n^\016\198\011\149\011\149\000\n\016\202\nb\016\218\016\226\016\250\017\002\001\230\017R\001F\017\154\012\226\001\242\001\166\nr\017\166\013^\018\026\018&\013b\018F\0266\018r\001N\018~\014\202\018\134\t.\018\162\t6\018\174\tF\018\182\018\186\001\178\018\194\018\210\014\218\tN\006M\018\230\019\002\000\n\015\n\013j\001\"\015\014\004\161\015&\019&\tr\019>\tz\001\218\t\138\001\222\019F\001b\015*\015.\019J\t\146\019Z\013~\001\230\0152\tV\013\130\011\138\001\242\019b\013\134\013\138\n\134\013\142\019f\000\n\019n\012\173\0156\019~\019\146\019\174\019\194\019\210\019\226\019\250\011\149\020\n\t\154\n\226\013\146\020\022\020G\015:\015>\013\150\015B\011\149\000\n\tf\015V\004\129\011\149\011\149\020o\020\135\015b\013\158\020\167\020\191\004\017\0039\020\223\020\247\021\014\0039\027V\016&\021*\021\154\015\130\021\199\t\170\022\030\015\134\015\194\000\022\n\138\0223\013\162\022[\015\198\022g\011\149\022w\013\166\022\127\022\146\011\149\011\149\022\155\022\163\015\206\022\171\013\170\022\198\012\173\012\173\022\238\022\246\002\"\012\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\023\006\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\023#\0233\023;\023G\nb\023R\023w\023\131\023\150\023\159\023\167\001F\027\178\023\210\023\254\001\166\nr\024:\013^\000\n\024[\013b\027\198\024c\024o\001N\004\129\014\202\024\127\028\030\027\202\004\129\004\129\024\135\024\146\004\017\001\178\024\167\024\175\024\182\004\017\004\017\024\195\004\129\004\129\015\"\013j\024\207\024\215\024\226\015&\026\222\004\017\027b\024\235\001\218\024\243\001\222\024\255\001b\016\030\015.\025\026\025\162\025\202\013~\001\230\0152\004\129\013\130\011\138\001\242\025\218\013\134\013\138\n\134\013\142\004\017\026\014\026\022\026:\0156\026^\026b\026j\026\147\027Z\027f\027v\027~\027\134\027\175\n\226\013\146\027\182\027\195\015:\015>\013\150\015B\027\206\000\n\027\222\015V\028\019\028\"\004\141\028/\028S\015b\013\158\028o\028~\028\134\028\143\028\150\028\159\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\008\169\008\169\000\000\000\000\002\"\008\169\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\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\000\015\"\013j\000\000\000\000\000\000\015&\016:\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\012\137\0156\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\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\012\137\012\137\000\000\000\000\002\"\012\137\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\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\000\015\"\013j\000\000\000\000\000\000\015&\025\166\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\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\012\213\012\213\000\000\000\000\002\"\012\213\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\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\000\015\"\013j\000\000\000\000\000\000\015&\025\166\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\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\012\209\012\209\000\000\000\000\002\"\012\209\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\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\000\015\"\013j\000\000\000\000\000\000\015&\017\230\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\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\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\018f\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\000\018v\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\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\007\214\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\005\221\005\221\013\150\000\000\005\221\000\n\000\000\005\221\008\026\005\221\000\000\005\221\000\000\005\221\013\158\008Z\005\221\000\000\005\221\005\221\000\000\005\221\005\221\000\000\005\221\nu\nu\005\221\005\221\nu\005\221\005\221\005\221\000\000\n\138\000\000\013\162\005\221\018z\005\221\005\221\000\000\013\166\000\000\005\221\005\221\005\221\005\221\005\221\018\130\005\221\013\170\005\221\005\221\000Z\005\221\000\000\002\"\005\221\005\221\000\000\005\221\008\186\000\000\nu\005\221\005\221\000Z\000\000\005\221\t\n\005\221\000\000\000\000\005\221\000Z\005\221\n\018\005\221\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\000\000\nu\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\221\nu\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\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\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\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\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\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\002\018\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\001r\004a\000\000\000\000\004M\000\000\000\000\002\030\000\000\000R\007\190\007\198\000\170\002\"\000\174\000\000\008\n\008N\004M\008V\021\018\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\021\026\008\146\021\030\004M\000\000\000\000\000\000\000\000\000\000\000\000\021\"\004M\000\000\000\000\000\000\024\142\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\174\000\000\000\000\000\000\021:\023\170\000\000\nb\000\000\008\182\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\000\000\021>\014\202\000\000\021B\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\015R\013j\021J\000\n\021N\015&\021R\021V\004M\021Z\001\218\000\000\001\222\000\000\000\000\021^\015.\000\000\021b\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021f\000\000\000\000\0156\021j\021n\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\nb\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\015\130\000\000\013b\000\000\015\134\015\194\000\000\000\000\014\202\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\001\178\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\013f\013j\000\000\000\000\002\"\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015.\000\000\000\000\011\226\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\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\0122\012:\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\013\221\015\130\000\000\013\221\000\000\015\134\015\194\000\000\000\000\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\013\221\015\206\000\000\013\170\013\221\000\000\000\000\002:\013\221\002\"\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\000\000\013\221\013\221\000\000\000\000\002B\000\000\013\221\005&\000\000\000\000\013\221\000\000\000\000\013\221\000\000\013\221\013\221\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\013\221\005U\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\000\000\012B\012*\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\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\013\221\013\221\0056\000\000\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\013\221\013\221\000\000\000\000\000\000\000\000\013\221\013\221\013\221\000\000\013\221\013\221\013\221\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\021\002\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\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\021\006\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\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\021\n\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\000\000\001=\004\237\000\000\004\241\001=\001=\004\241\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\202\000\000\004\237\004\237\004\237\000\000\004\237\004\237\004\237\000\000\004\241\000\000\000\000\000\000\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\0141\004\241\004\241\0141\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\000\0141\000\000\000\000\000\000\0141\000\000\000\000\013\190\0141\004\241\000\000\004\241\000\000\000\000\0141\000\000\000\000\0141\0141\000\000\0141\0141\004\241\000\000\013\198\000\000\0141\013\210\000\000\004\241\0141\000\000\000\000\0141\000\000\0141\0141\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\0141\000\000\0141\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\004\241\0141\000\000\004\241\000\000\004\241\000\000\000\000\013\222\000\000\000\000\004\241\004\241\004\241\000\000\004\241\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\0141\000\000\0141\000\000\013\226\000\000\0141\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\0141\000\000\0141\000\000\000\000\000\000\000\000\000\000\0141\0141\0141\000\000\0141\0141\0141\nq\nq\nq\nq\000\000\nq\000\000\nq\nq\000\000\nq\000\000\nq\000\000\nq\000\000\nq\nq\nq\nq\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\nq\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\001\137\000\000\000\000\nq\001\137\000\000\021\218\000\000\001\137\000\000\021\226\000\000\000\000\000\000\001\137\000\000\nq\001\137\001\137\000\000\001\137\001\137\000\000\nq\000\000\000\000\001\137\000\000\nq\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\nq\001\137\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nq\000\000\000\000\000\000\000\000\nq\000\000\nq\000\000\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\nq\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\nq\000\000\000\000\000\000\0226\nq\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\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\000\000\000\000\000\000\000\000\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\000\000\na\000\000\000\000\000\000\000\000\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\na\ne\ne\ne\ne\000\000\ne\na\ne\ne\000\000\ne\na\ne\000\000\ne\000\000\ne\ne\ne\ne\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\na\000\000\ne\na\000\000\000\000\000\000\ne\000\000\000\000\022:\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\ne\na\000\000\na\000\000\000\000\na\ne\000\000\000\000\000\000\000\000\ne\000\000\na\000\000\000\000\na\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\021\222\na\000\000\000\000\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000R\007\190\007\198\000\170\000\000\000\174\ne\008\n\008N\ne\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\ne\002\198\000\000\000\000\000\000\ne\000\000\000\000\022B\008\146\022^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022j\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\022\130\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\174\000\000\002\166\000\000\000\181\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\011\234\000\000\002\174\022\206\002\t\000\000\023&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\002\t\000\000\000\000\000\000\023>\000\181\000\181\000\000\000\000\023J\000\000\008y\000\000\000\000\023z\012\018\000\000\000\000\011\250\000\000\012\n\000\000\023\134\000\000\000\000\024f\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\024r\012\026\000\000\000\000\000\000\024\138\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\012\"\000e\000}\000\000\000e\000\000\002\166\012\002\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\174\000\000\000}\000\181\012*\002\134\000\000\000\000\000e\000e\000\000\000e\000e\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000e\000\000\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000e\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\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\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\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\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\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\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\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000a\000\000\000a\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\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\000q\000\000\000\000\000q\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\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\000i\000q\000\000\000i\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\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\000i\000\000\000\000\000\000\000i\002\174\000\000\000q\000\000\000\000\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000q\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000i\000\000\000q\000q\000q\000q\000\000\000\000\000\000\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\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000m\000\000\000\000\000m\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\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\000u\000m\000\000\000u\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\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\000u\000\000\000\000\000\000\000u\002\174\000\000\000m\000\000\000\000\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000m\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\002\174\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000u\000\000\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\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\002v\000\000\000\000\000\133\000\000\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\002v\000\133\000\000\000y\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\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\000y\000\000\000\000\000\000\000y\002\174\000\000\000\133\000\000\000\000\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\133\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\002\174\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\002v\000\000\000\000\000\129\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\002~\000\000\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\011\146\000\000\000\000\000\129\000\000\000\000\000\000\002\166\004E\000\000\002\142\004E\002\158\000\129\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\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\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\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\001\178\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\n\174\011\006\004E\000\000\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\138\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\011\178\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\013\000\000\011\142\001\178\011\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005m\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\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)\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\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\013\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\157\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\000\000\222\003%\000\157\003)\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\011\242\000\000\000\000\000\000\000\000\003%\000\157\000\157\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\157\003%\000\238\011\250\000\000\012\n\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\003%\000\000\000\000\000\157\000\000\003)\000\000\000\000\003)\003)\000\000\003%\003)\000\000\000\000\001\137\000\000\003)\003)\001\137\000\000\003%\003)\001\137\000\000\000\000\003%\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\000\000\000\157\000\000\000\000\001\137\000\000\000\000\001\137\012\002\001\137\001\137\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\000\157\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\001\137\000\000\001\137\003%\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\001\137\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\000\000\001\022\000\000\001\030\0012\001:\001>\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\001\166\000\000\000\000\n\166\000\000\001F\n\170\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\001N\000\000\001\178\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\000\000\001^\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\001b\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\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\013\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\000\000\000\000\000\000\001\161\014\014\000\000\001\161\000\000\000\000\000\000\001\161\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\001N\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\001\166\000\000\000\000\001\170\001^\000\000\001\174\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\014\206\000\000\000\000\001b\000\000\000\000\001\178\004R\004V\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\n\134\n\162\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\001\226\001\230\000\000\011\154\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\141\000\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\004Z\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\006\005\n\138\000\000\000\000\000\000\000\000\000\000\002\014\000\000\021\022\006\005\000\000\003U\000\000\000\000\006\005\023N\002\018\021\026\000\000\021\030\n\201\n\201\000\000\000\000\000\000\000\000\000\000\021\"\002\022\000\000\000\000\000\000\021&\000\000\002\026\021.\000\000\008\137\000\000\0212\000\000\000\000\000\000\002\030\000\000\0216\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\024\222\022\254\000\000\n\201\000\000\021:\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\n\201\000\000\021>\000\000\021\026\021B\021\030\000\000\000\000\000\000\000\000\n\157\000\000\000\000\021\"\000\000\000\000\000\000\021F\021&\000\000\000\000\021.\021J\000\n\021N\0212\021R\021V\000\000\021Z\000\000\0216\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\023\142\000\000\000\000\n\157\000\000\021:\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\n\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\157\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\008\137\021R\021V\000\000\021Z\000\000\001\178\000\000\000\000\001\182\021^\000\000\000\000\021b\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021f\000\000\000\000\000\000\021j\021n\n\157\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\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\t:\005\221\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\t~\005\221\t\190\005\221\000\000\000\000\000\000\000\000\002\014\000\000\005\221\000\000\005\221\005\221\000\000\005\221\000\000\000\000\002\018\008\137\005\221\000\000\005\221\000\000\005\221\005\221\005\221\000\000\005\221\000\000\002\022\000\000\005\221\000\000\005\221\000\000\002\026\005\221\005\221\005\221\005\221\008\137\005\221\000\000\005\221\002\030\005\221\000\000\000\000\005\221\005\221\002\"\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\005\221\n>\005\221\000\000\000\000\005\221\000Z\005\221\000Z\000\000\005\221\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\005\221\005\221\014B\005\221\005\221\014\146\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\014J\000\000\001%\000\000\002\025\001%\000\000\000\000\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\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\001\013\000\000\000\000\001\013\000\000\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%\001\013\000\000\001\005\000\000\001\013\001\005\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\005\001\t\000\000\001\025\000\000\001\t\001\025\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\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\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014J\000\000\001\021\000\000\001\017\001\021\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\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\014J\000\000\014B\000\000\001\029\001-\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\014B\000\000\000\000\001!\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\014\178\014\138\001-\014J\000\000\014B\000\000\001!\001)\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\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\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\000\000\001\170\000\000\000\000\001\174\000\000\001)\001)\000\149\001)\014\138\001)\000\000\018j\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\198\001\202\000\149\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\149\000\000\000\000\000\000\001\226\001\230\000\149\000\149\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\149\000\000\000\000\011\250\000\000\000\149\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\149\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\149\001\246\001\250\000\000\001\254\002\030\000\000\012\002\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\149\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\149\000\149\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\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\006\030\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004=\000\n\nR\004=\000\000\nV\004=\000\000\000\000\025r\002\014\nZ\000\000\000\000\000\000\000\000\n^\025v\000\000\000\000\002\018\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\004=\002\022\004=\000\000\000\000\000\000\000\000\002\026\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\030\016\138\000\000\004=\004=\000\000\002\"\004=\004=\004=\000\000\004=\004=\000\000\004=\000\000\004\237\016\142\000\000\004\237\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\004=\001\230\004\237\004=\000\000\012\226\001\242\000\000\000\000\004\237\004\237\000\000\004=\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\021\018\004\237\000\000\004=\004\237\000\n\004\237\004\237\000\000\004=\004\161\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004=\000\000\000\000\021\026\000\000\021\030\004=\000\000\000\000\004\237\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\004\237\000\000\0216\000\000\000\000\000\000\007\133\007\133\000\000\000\000\000\000\007\133\000\000\022\138\000\000\000\000\000\000\000\000\021:\004\237\004\237\000\000\000\000\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\004\237\000\000\n\157\004\237\021>\000\000\000\000\021B\000\000\000\000\000\000\004\237\000\000\000\000\000\000\004\237\004\237\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\000\000\021R\021V\000\000\021Z\005\221\000\000\000\000\005\221\000v\021^\005\221\005\221\021b\005\221\000\194\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\021f\000\000\000\000\000\000\021j\021n\n\157\005\221\000\000\000\000\005\221\001\002\000\000\000\000\005\221\000\000\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\001f\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\005\221\000Z\000\000\000\000\005\221\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000Z\005\221\000\000\005\221\000\000\004\030\005\221\000\000\000\000\000\000\000Z\005\221\005\221\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\001\178\005\221\000\000\001\182\005\221\005\221\000\000\000\000\005\221\001\194\001\214\005\221\001\210\005\221\005\221\005\221\000\000\000\000\005\221\001\218\000\000\001\222\000\000\005\221\005\221\000\000\000\000\000\000\005\221\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\001\166\000\000\000\000\001\186\000\000\000\000\001\190\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\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\221\000\000\000\000\005\221\003F\000\000\001\218\005\221\001\222\005\221\000\000\000\000\000\000\005\142\005\221\005\221\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\005\221\005z\005\150\005\221\003\138\000\000\005\221\005\221\002\"\005\221\003\202\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005~\000\000\005\221\005\221\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\005\221\000\000\000\000\000\000\004\242\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\142\000\000\000\000\005\221\005\221\005\221\005\146\000\000\000\000\007f\000\000\005\221\000\000\005\221\000Z\005\150\000\000\005\221\000\000\000\000\000Z\002\"\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\005\134\000\000\001\210\000\000\000\000\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\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\014\021\000\000\000\000\014\021\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\014\021\000\n\000\000\000\000\000\000\000\000\000\000\005\170\000\000\000\000\005\138\000\000\000\000\000\000\014\021\000\000\000\000\000\000\014\021\000\000\014\021\014\021\000\000\000\000\005\178\000\000\000\000\005\190\001\166\000\000\014\021\n\166\005\142\014\021\n\170\014\021\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\001\178\000\000\000\000\000\000\002\"\000\000\000\000\014\021\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\005\202\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\014\021\014\021\000\000\014\021\000\000\005\206\000\000\014\021\000\000\000\000\n\226\n\230\000\000\000\000\000\000\005\214\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\014\021\000\000\000\000\n\242\000\000\000\000\014\021\000\000\000\000\000\000\014\021\014\021\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\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\166\000\000\000\000\n\166\000\000\000\000\n\170\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\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\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\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\nR\001\178\000\000\nV\000\000\013\158\000\000\025r\000\000\nZ\013f\013j\000\000\000\000\n^\025v\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\016\138\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\016\142\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\013f\013\154\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\000\000\000\n\002\"\008\129\000\000\000\000\004\161\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\008\129\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\008\129\000\000\008\129\000\000\000\000\013\158\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\008\129\000\000\000\000\008\129\000\000\000\000\000\000\008\129\021\230\000\000\008\245\008\245\013\162\008\129\000\000\008\245\000\000\000\000\013\166\023\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\008\129\000\000\021\022\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008\129\021&\000\000\008\129\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\008\129\000\000\000\000\000\000\000\000\008\129\008\129\008\129\000\000\008\129\008\129\000\000\008\129\000\000\021:\023\170\000\000\000\000\008\129\000\000\000\000\008\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\007\237\008\129\000\000\000\000\021>\008\129\008\129\021B\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\007\237\000\000\007\237\000\000\021J\000\n\021N\000\000\021R\021V\007\237\021Z\000\000\000\000\000\000\007\237\000\000\021^\007\237\000\000\021b\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\022n\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\007\237\023\170\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\021&\000\000\007\237\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\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\021:\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\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\134\007\237\000\000\000\000\021>\007\237\007\237\021B\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\021\026\000\000\021\030\000\000\021J\000\n\021N\000\000\021R\021V\021\"\021Z\000\000\000\000\000\000\021&\000\000\021^\021.\000\000\021b\000\000\0212\000\000\021\018\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\021f\021\022\000\000\000\000\021j\021n\000\000\000\000\000\000\021:\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021F\000\000\000\000\000\000\023*\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\021>\021\"\000\000\021B\000\000\000\000\021&\021f\000\000\021.\000\000\021j\021n\0212\000\000\021\018\021F\000\000\000\000\0216\000\000\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\024v\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021f\000\000\021.\000\000\021j\021n\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021:\021J\000\n\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\024\150\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\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\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\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\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\000\000\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\000\000\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\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\026\026\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\012e\001\030\0012\001:\001>\000\000\000\000\000\000\013\249\000R\000V\000f\000\170\000\000\000\174\000\n\000\178\000\246\001F\000\254\000\000\001\014\0021\001\022\000\000\001\030\0012\001:\001>\000\000\013\249\000\000\001N\000\000\026\030\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001F\000\000\013\249\001\153\000\000\000\000\001\153\000\000\013\249\013\249\001^\000\000\011&\003M\001N\0112\002)\000\000\013\249\000\000\000\000\013\249\000\000\013\249\001b\001\153\000\000\000\000\004R\004V\000\000\000\000\000\000\000\000\001^\000\000\000\000\006R\000\000\001\153\006\162\000\000\000\000\001\153\013\249\001\153\001\153\000\000\001b\000\000\000\000\000\000\026\026\004V\000\000\001\153\000\000\000\000\001\153\006Z\001\153\000\000\000\000\000\000\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\001\153\000\000\013\249\000\000\004b\000\000\000\000\011B\006\130\013\249\000\000\006j\000\000\006z\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\249\000\000\000\000\000\000\000\237\000\000\026&\000\237\000\000\000\000\000\000\000\000\006\138\000\000\000\000\013\249\013\249\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\006Z\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\001\153\000\000\000\237\000\000\000\237\000\237\006\002\000\000\000\213\006\146\001\153\001\153\002\017\000\000\006\130\000\000\006r\006j\000\000\006z\000\205\000\000\006b\000\205\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\213\000\000\006\138\006j\000\205\006z\006\194\006\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\213\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\006\146\000\000\000\000\000\237\000\000\000\000\000\000\006r\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\000\209\000\000\000\213\000\237\000\209\000\213\000\209\000\209\000\225\006r\000\000\000\225\000\000\000\237\006\154\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\213\000\205\000\000\000\000\000\209\006r\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\000\225\000\205\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\205\000\205\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\006\138\000\221\006r\006b\000\221\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\000\006j\006Z\006z\000\229\000\000\000\000\000\229\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\225\000\221\000\221\000\217\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006j\000\000\006z\006R\000\000\006b\000\245\000\000\000\225\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\006\130\000\000\006\138\006j\006Z\006z\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006\138\006R\000\000\000\000\000\233\000\000\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\221\000\217\000\217\000\221\000\000\000\000\000\000\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\006\146\000\221\000\233\000\229\000\233\000\233\006R\006r\000\000\000\241\000\000\000\221\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006\146\000\229\000\229\000\245\000\153\000\000\006\138\006r\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\006\130\000\245\000\153\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\153\000\000\000\000\011\234\000\000\006\146\000\153\000\153\000\233\000\000\006\138\000\000\006r\000\000\000\000\000\161\000\153\011\242\000\000\011\250\000\000\000\153\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\169\000\000\000\000\011\250\011\234\012\n\000\000\000\233\006\154\000\153\000\000\000\000\000\000\000\000\000\165\000\000\006\146\000\000\011\242\000\241\000\000\000\000\000\000\006r\000\161\000\161\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\011\234\011\250\000\000\012\n\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\242\000\241\006\154\000\000\000\000\012\002\000\165\000\165\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\165\000\000\000\153\011\250\000\000\012\n\012\002\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\169\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\169\000\169\000\000\000\000\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\165\012\n\000\000\000\161\000\161\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\189\012:\000\165\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\000\012\n\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\226\000\177\000\177\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\012\"\000\000\011\250\000\000\012\n\000\000\000\000\012\002\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\173\000\000\000\000\000\000\011\242\012\026\000\000\000\000\000\000\000\000\000\185\012:\012\"\000\000\000\000\000\173\000\173\000\000\000\000\012\002\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\189\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\012\026\012B\012*\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\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\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*")) 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\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\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\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\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\003\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\249\000\248\000\248\000\247\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\233\000\232\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\229\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\217\000\216\000\216\000\215\000\215\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\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\188\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\178\000\178\000\178\000\177\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\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\167\000\167\000\167\000\167\000\167\000\167\000\166\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\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\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000z\000y\000y\000y\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000q\000p\000p\000p\000o\000o\000n\000n\000n\000m\000m\000l\000k\000k\000k\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000X\000X\000X\000X\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000S\000S\000S\000S\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\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\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000E\000D\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:\0009\0009\0008\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\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") 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\152\003\206\000\000\000\000\004Z\000\000\005\022\000\000\000\000\000\000\005J\000\000\005\162\000\000\006>\000\000\006d\006\172\000\000\000\000\006\230\000\000\007\000\000\000\000#\000\000\000\000\007\030\000\000\007.\000\000\000\000\0074\000\000\007J\000\000\000\000\000\000\007\148\000\000\000\238\008\002\0007\000\000\000\000\000\000\002P\000f\000F\000\000\000\000\008t\000\000\008v\000\000\004\186\000\237#\158\000\000\000\000\012\202\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\021\026\011\142\000\000\000\000\029r\000\000'T\000\000\t\144\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\n4\000\000\014\154\000\000\014\232\000\000\015<\000\000\015T\000\000\018\192\000\000\023\202\000\000-\218\000\0007<\000\0007t\000\000)\148\000\000\012v\000\000\000\000\000\000\000\000\000\0007\142\000\0007\164\000\0008\022\000\000\005\248\000\000\000\000\t\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\008\164\000\000\000\000\tb\000\000\tl\t~\000\000\000\000\t\154\000\000\t\218\000\000\000\000\000\000\t\226\000\000\t\238\000\000\000\000\n\016\000\000\n\020\n0\000\000\000\000\nT\000\000\nV\000\000\000\000\000\000\nX\000\000\nh\000\000\nv\000\000\n\136\n\146\000\000\000\000\n\174\000\000\n\186\000\000\002\192\n\194\000\000\n\202\000\000\n\206\000\000\n\208\000\000\000\000\000\000\n\212\000\000\n\214\000\184\000\000\n\230\000\000\002`\017\214\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\234\000\000\n\242\002X\000\000\n\248\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\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\016\248&z\000\000\023\208\000\000\026\134\019\140\000\000\000\000\000\000\0044\000\000\030\224\000\000\000\0000\144\000\000\000\000\000\000\004\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006V\000\0006~\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\011\164\000\000\013\170\000\000\016\130\000\000\016\172\000\000\018\144\000\000\018\222\000\000\020j\000\000*D\000\000\000\146\000\000\020\202\000\000\022F\000\000\031\020\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\012F\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\252\004\216\000\000\011\000\000\000\000\000\000\000\000\000\000\000\011\002\000\000\000\000\002P\001\240\000\000\002D\000\000\000\000\000\000\004\030\000\000\012R\001\"\011\004\000\000\000\000\011\008\000\000\011\014\011\018\000\000\000\000\011\022\000\000\011\024\000\000\000\000\000\000\011\026\000\000\011\030\000\000\000\000\011\"\000\000\011*\011.\000\000\000\000\0118\000\000\011<\000\000\000\000\000\000\011@\000\000\011B\000\000\011D\000\000\011F\011R\000\000\000\000\011X\000\000\011`\000\000\004\178\011b\000\000\011z\000\000\011|\000\000\011\132\000\000\000\000\000\000\011\138\000\000\001~\000\000\000\000\011\140\004\246\000\000\011\144\000\000\000\000\002\244\000\000\000\000\000\134\000\000\000\000\000\000\000\000\000\000\004\218\005,\000\000\011\148\000\000\011\152\t\192\000\000\011\154\000\000\000\000\012\164\011\172\000\000\000\000\011\192\000\000\011\214\011\220\000\000\000\000\011\224\000\000\011\244\000\000\000\000\000\000\011\248\000\000\011\254\000\000\000\000\012\000\000\000\012\004\012\018\000\000\000\000\012\028\000\000\012\"\000\000\000\000\000\000\012$\000\000\012&\000\000\012.\000\000\0126\012<\000\000\000\000\012B\000\000\012N\000\000\004\248\012R\000\000\012f\000\000\012~\000\000\012\134\000\000\000\000\000\000\012\142\000\000\012\144\014b\000\000\012\146\000\000\000\000\006H\014j\000\000\012\150\000\000\012\154\016Z\000\000\012\162\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\176\000\000\000\000\015@\004T\000\000\020\142*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\024\228'\132\000\000\026\180\000\000\029\014\016P(\018\000\000\020\"\000\000\000\000\000\000\006\140\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\008\002\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\016\250\000\000\022v\000\000 :\000\000!\164\000\000#\180\000\000$\188\000\000&\154\000\000(|\000\000)$\000\000,\234\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\t\014\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\012\004\000\000,\n\000\000\000\000\000\000\000\000\012\210\000\000,$\000\000\000\000\000\000\000\000\001\210\000\000\007>\000\000\t\236\000\026(<\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\017\004(<\000\000\021\008\000\000\030\172\007\022\000\000\000\000\000\000\008\020\000\000\031b\000\000\000\0002\206\000\000\000\000\000\000\008J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\208\000\0006\234\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\011\144\000\000\013\190\000\000\019^\000\000#\238\000\000'>\000\000't\000\000'\148\000\000)\200\000\000+z\000\0000N\000\000,\128\000\000\004\190\000\0001|\000\0003\184\000\0005\176\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\008R\000\000\000\000\000\000-$\000\000-*\000\000-\172\000\000#\140$\016\007d\0001\008\188\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\012\210\000\000\005\128\000\000\000\000\014>\000\000\024\214\000\000\000\000 \238\000\000\000\000\000\000\019\014\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\005\132\013\218\000\000.0\000\000\000\000\000\000\000\000\000\000\000\000\014\180\000\000\000\000\005\248\000\000\015\250\000\000\019\014\000\000\000\000\004\200&N\000\000\006\206\000\000\000\000\000\000\000\000\003z\000\000$\248\000\000\0260\005\132\026j\000\000\005\158\000\000\016p\000\000\016\228\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\002\026\164\005\188\026\222\000\000\000\000\000\000\006d\000\000\017\200\000\000\007$\000\000\000\000\019\218\002\180\028r\000\000\007\006\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\008\018\000\000\000\000\000\000\000\000\006\022\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\182\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\005\210\007\000\000\000\000\000.\206\000\000\000\000\008~!\022\000\000\007\198\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\0086\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\t \000\000\000\000/\236\000\000\000\000\008\164\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\206\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\007\170\020\128\000\000\021f\000\000\000\000\000\000\008J\000\0004\200\008\1844\238\000\0005J\000\000\000\000\000\000\008\202\000\0005\164\008\218\000\000\000\000%D\t\004%\210\000\000%\232\000\000\000\000\000\000\t\006\000\0005\228\t\n\000\000\000\000\n0\t\022\014\162\000\000\017^\000\000\000\000\000\000\t\026\000\0005\250\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\tP\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\138\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<\000\000\007\216\000\000\000\000\000\022\000\000\005d\012\242\002\018\000\000\000\000\007(\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\t\150\000\000\000\000\000\000\n\138\000\000\000\000\014\012\020\222\000\000\000\000\000\000\000\000\022\172\029\002\000{\000\000\029D\000\000\000\000\000\000\000\000\000\000\000\000\003J\000\000\000\000\006\184\000\000\000\000\012\188\000\000\000\000\000)\000\000\000\000\n\008\000\000\000X\000\000\000\000\000\000\000\000\000k\031r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\031\132\000\000\000\000\000\000\000\000\031\148\000\000\000\000\0126\000\000\013r\000\000\000\000\000\000\005\244\000\000\000\188\000\000\000\000\000\000\016n\000\000\000\000\tF\031\154\006\180\000\000!\n\000\000\000\000\000\000\000\000\013:\000\000\000\000\000\000\006\200\000\000\008\226\008>\001\154\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\000\000\013$\000\000\000\000\007\020\000\000\004\174\013~\001,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\150\000\000\000\000\0188!r\000\000\000\000\000\000\000\000\008\016\000\000\tP\011\138\000\000\022\198\000\000\000\000\000\000\000\000\000\000\002\162\024<\000\000\000\000\030\218\000\000\000\000\000\000\000\000\017\182\000\000\031\014\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\n\\\016<\017\146\000\000\007\186\t\182\t\242\t\252\000\000\000\000\000\000\000\000\000\000\000\000\006\024\021\218\000\000\027\024\t\254\000\000\000\000\nd\000\000\022\020\000\000)P\000\000\000\000\0070\022N\000\000\028\230\000\000\008\022\029 \000\000\000\000\000\000\002\200\011\140\000\000\000\000\000\000\000\000\008p\000\000\023l\000\000\008\130\004\018\000\000\000\000\000\000\003\012\000\000\003r\000\000\t\142\000\000\000\000\005\178\000\000\000\000\000\000\000\000\t\130\000\000\000\000\n\178\000\000\023\238\000\000\019\014\013D\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\n(\011H\000\000\002\142\011\196\000\000\n0\000\000\003\002\000\000\004r\000\000\004\230\000\000\019\014\000\000\000\000\000\000\000\000\000\000\005Z\000\000\n:\000\000\006\202\000\000\019\014\013\178\000\000\000[\000\000\013\168\012\166\000\000\005L\000\000\007\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\252\000\000\n`\000\000\000\000\000\000\000\000\000\000\000\000\013\192\012\176\000\000\000\000\012\210\000\000\000\000\012\184\t4\013\246\000\000\014\000\000\000\000\000\006\026\003\238\000\000\012\228\000\000\000\000\013\030\000\000\000\000\000\000\000\000\000\000\000\000\013\234\012\220\000\000\000\000\000\000\013\006\012\232\tj\n\014\013\006\013<\000\000\000\000\013\012\t\200\n(\013*\013`\000\000\000\000\005\214\000\000\000\000\000\000\000\000\0140\000\000\000\000\000\000\0142\000\000\000\000"), (16, "\003l\003\131\000\018\005\248\000_\000a\001\225\000e\005\163\005m\005n\005\145\007\004\006?\006@\000_\005\194\005m\005n\002\164\004Y\004A\0066\000_\005\245\005\181\007\005\002\164\000\017\003l\003\131\006D\0017\005\146\005m\005n\005>\000\138\001g\000\004\001h\000\149\001\212\000\025\000g\006I\001\140\005\182\006J\005\185\005m\005n\005~\000_\000J\004\019\000_\003n\003l\003\131\000\007\003o\000\005\003N\006N\006s\000_\000a\000b\000e\005o\006t\001B\000_\005|\000\024\003:\006u\005o\004\018\005\127\005m\005n\000\005\000\140\006\030\003n\006G\0026\001g\003o\001h\000\140\000\140\002=\005o\001i\000\141\000\138\001.\001j\000\142\000\149\0010\005\195\005\196\000g\0028\004\136\001\141\003\136\005o\001\181\004\019\0068\003n\003l\003\131\001\"\003o\006G\001\192\000J\000_\000a\001\t\000e\000\151\001w\006\173\003\231\000_\001\027\005\246\005\197\006u\006\174\004\018\0029\003\136\003\197\003\198\005o\005\198\000\140\001\213\003\253\001i\003U\007\013\000_\001j\001\194\000\140\005\195\005\196\003|\006$\000\141\006w\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\006x\001w\004U\003\232\006\193\000 \005\219\003|\000h\000J\000\151\004.\001/\001\188\001\214\005\198\001/\006.\004\007\003}\000\004\001\015\004B\0016\004a\005\149\003\253\000\152\001x\004\028\005\008\003\138\004x\000\031\0049\003\140\003|\004\028\000_\005\199\004!\004\002\0049\000\005\000_\004\003\004\020\006y\003}\000\153\003\197\003\198\004\224\000\008\001\217\006\194\006z\003\141\000\"\001\012\006\147\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\244\002\165\001x\004\023\006\149\000$\001\015\003\253\0016\003\141\004\028\000\152\004\252\006\151\003\142\0049\003\140\003|\003\143\001}\000\155\005\245\004\002\003\144\000_\000\194\004\003\004\020\006\195\003}\003l\003\131\000_\000\153\000\157\001\143\002H\006z\003\141\001\012\001\213\006\197\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\130\002\246\004\023\006\199\001\015\002,\0016\000_\001g\004\028\001h\001\145\006\201\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\030\003\143\001j\006u\006\179\004A\003\144\001\027\000g\002=\002\245\001g\000g\001\203\002H\000\138\000g\006\167\000\140\000\147\006\168\001i\003\236\004z\005\255\001j\005\246\001\131\000_\006E\001w\006\006\006Q\005\004\000_\004h\003\136\005\131\001\181\004\019\0026\003n\003l\003\131\004\246\003o\006\000\006\003\005m\005n\003\197\003\198\003-\001w\003F\006\190\000*\000_\001\189\002:\000\203\006u\006\179\004A\000J\003)\000\140\001\186\002\165\001i\000\140\006\172\003\253\001j\004\163\000\141\000_\003\197\003\198\000\142\006&\001\191\003|\000\203\005i\000J\000\013\004\002\005\249\001\234\0029\004\003\004\020\000_\003}\004\132\004j\004\019\001\187\003n\005j\001w\000J\003o\002\166\000\151\004U\001\236\001x\005o\006)\000\016\000\017\006\184\005\172\001\231\001%\000\203\001&\001\204\001\012\001\028\004\007\001\029\003:\000\203\004B\006G\004a\005\006\003\253\001x\001\134\004\028\006\159\006\160\004x\001\192\0049\003\140\003|\001\026\0017\001\012\001\015\004\002\0016\005\134\000/\004\003\004\020\006\185\003}\000J\001\144\001\027\000_\001\233\000J\000\203\006z\003\141\005l\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\005j\001x\004\007\001\146\003G\000\152\004B\001\147\006\187\006\164\003\253\006R\001\148\004\028\006\245\000_\006\189\000h\0049\003\140\003|\001\145\006F\001\186\003:\004\002\004\n\000\153\002H\004\003\004\020\006\185\003}\002\193\001-\001\150\002\197\000\005\006,\002\193\006z\003\141\002\197\001\"\004\005\006v\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*\005s\000_\004B\006G\006\187\006u\006\179\004A\000J\004\028\000J\002;\006\189\000\155\0049\003\140\001g\000\184\001h\006\130\004\249\000\185\0003\001(\003l\003m\002\238\000\157\001<\001\028\002\198\001\029\000\140\000\203\002\199\005t\002\198\003\141\003@\003\233\002\199\004\019\003\142\003n\003l\003\131\003\143\003o\005\173\0002\000\203\003\144\000_\000a\001\219\000e\003D\006\186\000J\000_\006\t\005^\006\n\006u\006\179\004A\005\176\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\005b\005m\005n\003\232\006\011\000g\000J\000_\000a\002?\000e\001\236\004\019\006\012\003n\003l\003\131\001$\003o\001w\000g\000J\001\028\002\239\001\029\001g\000\203\001h\006\188\004\181\000_\001O\0005\001l\006u\006\179\004A\004P\006:\006;\002\212\003\019\003$\003\022\004\022\003\253\002\212\000g\005u\002\242\000\140\0017\002\213\001i\004\016\003|\004[\001j\002\213\006\131\004\002\006\132\005o\000\203\004\003\004\020\006\185\003}\004R\004[\004\019\003\025\003n\006\218\000_\006z\003o\002\245\000J\004\005\000\140\001u\001\131\001i\004m\001w\006\196\001j\000_\005\007\0017\004:\002\164\003|\000\138\004\007\002\031\001x\000\149\004B\000h\006\187\005\137\003\253\004G\003}\004\028\003\197\003\198\006\189\004\251\0049\003\140\003|\004\016\001w\002B\007\021\004\002\004\147\005\217\002\247\004\003\004\020\006\185\003}\0007\002\247\003N\004\016\004\187\002x\007\022\006z\003\141\002\248\001\012\004\005\005\138\003\142\006\138\002\250\005\215\003\143\001\215\005\218\005m\005n\003\144\000\140\003\168\001\012\000;\004\007\000\141\003l\003m\004B\000\142\006\187\001\015\003\253\0016\001x\004\028\001\145\005p\006\189\004m\0049\003\140\003|\003\141\005u\001\132\001\015\004\002\0016\001\012\001\152\004\003\004\020\006\185\003}\000\151\005\006\003\144\001\134\000h\000J\000J\006z\003\141\001x\000J\004\005\000=\003\142\000J\003l\003\131\003\143\001\015\006\225\0016\000_\003\144\005o\004c\001\144\000\140\004\007\003n\005\t\000_\004B\003o\006\187\006u\006\179\004A\004^\004\028\000J\005\239\006\189\005\175\0049\003\140\000J\000J\001\145\0014\006\246\006^\004o\001\146\003l\003m\004\020\001\147\005\228\005m\005n\000J\001\148\005\237\003\197\003\198\004z\003\141\005\240\005m\005n\004\019\003\142\003n\003l\003\131\003\143\003o\001\145\000\152\006\140\003\144\002\193\006\002\006\131\002\197\006\132\006\200\000\203\000_\005\008\000?\001\154\002\164\004Y\004A\005\133\004\028\000J\0017\004!\000\153\0049\003l\003\131\006\000\006\003\005m\005n\000\140\000C\003n\001g\004P\001~\003o\002\143\000h\000_\006\253\005o\000h\002\164\004Y\004A\000h\000\154\000J\003|\004\019\005o\003n\003l\003\131\000_\003o\004r\002\238\004}\004\230\003}\002\198\004u\004\249\004Q\002\199\000B\000_\000J\000\155\002\201\002\164\004Y\004A\000\193\006V\000h\000h\004\019\004u\003n\001\018\003\253\000\157\003o\001C\002\166\000\140\005o\0030\001i\000h\003|\004w\001j\000E\005{\004\002\005\131\003\197\003\198\004\003\004\020\006\185\003}\006\030\000J\004\019\000G\003n\004v\006l\006z\003o\002=\006\218\004\005\000J\005|\001\"\004%\004\164\001w\000L\005\127\005m\005n\003\130\000h\005\255\003|\000N\004\007\001\027\000Q\004\172\004B\005\173\006\187\000\203\003\253\002\239\003}\004\028\004\141\000S\006\189\000J\0049\003\140\003|\006\000\006\003\005m\005n\004\002\000J\002\210\002\212\004\003\004\020\002\241\003}\004\255\004g\000_\000f\002\242\000e\003\253\002\213\003\141\004\188\000J\004\005\004\143\003\142\005\245\003\234\003|\003\143\005\016\000W\000J\004\002\003\144\005o\000J\004\003\004\020\004\007\003}\004e\004g\004B\002\245\004a\004\141\003\253\005\018\001x\004\028\000\140\004\005\004!\000g\0049\003\140\003|\003~\003\237\003\238\003\240\004\002\005o\006\031\000h\004\003\004\020\004\007\003}\004\140\004g\004B\001\142\004a\006q\000h\004\142\003\141\004\028\006Z\004\005\004!\003\142\0049\003\140\001\228\003\143\002\247\000J\000_\001%\003\144\001+\006\219\001\144\001\028\004\007\001\029\004\236\000\203\004B\002\248\004a\003l\003\131\002\236\003\141\004\028\002\167\005\019\004!\003\142\0049\003\140\003q\003\143\001\145\004\236\000_\004\197\003\144\001\146\002\164\004Y\004A\001\147\003+\005\018\005\236\004\238\001\148\000h\003l\003\131\005\251\003\141\005\139\005\252\000J\000\138\003\142\003z\000d\000\139\003\143\003\215\006\135\000_\004\237\003\144\005\237\002\164\004Y\004A\001\"\005\240\005m\005n\004\019\002H\003n\005\\\005]\006|\003o\005\026\000\205\002\193\001\027\006\"\002\197\005\253\000\138\005\148\005\029\004\215\000\149\006V\000_\000a\002D\000e\005 \005\028\001\012\003l\003\178\004\019\005\254\003n\003l\003\131\005\028\003o\000\140\005\146\005m\005n\003\230\000\141\005\028\005(\005+\000\142\006b\000_\005.\006V\001\015\006u\0016\004\018\006V\0056\004\016\0059\006\243\005o\000g\005*\005*\000\138\000\140\005<\005\028\000\139\002\198\000\140\005\184\000\151\002\199\0058\000\141\0058\000_\006\176\000\142\006\136\002\164\006\176\000\140\005\028\003n\007\008\006\176\004\019\003o\003n\000h\003\253\005\182\003o\005\185\005m\005n\006e\000_\005o\006\218\003|\006Q\000\208\000\151\006\192\004\002\004\016\000\212\002\193\004\003\004\020\002\197\003}\005\003\004g\003N\000\211\000\140\001%\003\253\0033\006\137\000\141\001\028\004\005\001\029\000\142\000\203\006\191\003|\000\214\007\015\006\182\004\231\004\002\006\148\005\145\006\198\004\003\004\020\004\007\003}\006\145\004g\004B\004\016\004a\002\193\000\152\006\218\002\197\004\028\000\151\004\005\004!\005o\0049\003\140\005\146\005m\005n\006\015\000\216\000\140\002\212\007\t\000\220\002\198\006\254\004\007\000\153\002\199\000\222\004B\006Y\004a\002\213\003\253\007\016\003\141\004\028\000\152\003|\004!\003\142\0049\003\140\003|\003\143\000\225\001\012\000\229\004\002\003\144\003}\006\254\004\003\004\020\006\178\003}\003l\003\131\002\238\000\153\006X\000\228\002\198\006z\003\141\006W\002\199\006\181\006\136\003\142\001\015\000_\0016\003\143\001Q\006u\005o\004\018\003\144\000\231\000\233\000\237\004\020\004\007\000\154\006\221\000\152\004\023\006\183\000\239\006\253\000\138\003l\003m\004\028\000\147\000\241\006\189\006\254\0049\003\140\002\247\001g\006\253\001h\000\245\000_\000\155\000\153\006V\000\244\004\019\000\196\003n\006\\\002\252\0051\003o\003l\003\131\002\212\000\157\003\141\004\028\000\247\002\166\004!\003\142\0049\006\177\000\249\003\143\002\213\000_\000\252\006\223\003\144\006u\000\254\004\018\001\000\001\002\002\239\001\006\001F\003:\000\140\000\140\006S\003n\000\203\000\141\001\011\003o\001;\000\142\000\155\000\140\001A\002\212\001i\001@\003\029\001\222\001j\001\221\001\227\001\241\002\242\001\244\000\159\002\213\001\248\004\019\001\247\003n\001\250\001\252\002\000\003o\002\002\000\151\002\005\000\138\005\152\002\166\002\t\000\139\002\008\003l\003\131\006\180\001w\002\011\005\181\002\013\002\245\002\017\002\019\002\021\002\025\002\247\003\253\005\214\000_\000J\002\024\000\138\002\164\002\027\004\018\000\139\003|\002\029\002 \002\254\005\182\004\002\005\185\005m\005n\004\003\004\020\006\178\003}\005\215\002\"\002$\005\218\005m\005n\002&\006z\003 \002*\0023\006\181\0022\000\140\002A\002\247\002G\002F\000\141\004\019\002\138\003n\000\142\003|\000\138\003o\002J\004\007\001\209\002\248\000h\004\023\006\183\003;\000\152\003}\002M\000\140\004\028\003\253\006Z\006\189\000\141\0049\003\140\001x\000\142\002Q\000\151\003|\002P\001T\002S\005\011\004\002\005o\000\153\004\135\004\003\004\020\006\178\003}\002U\002\166\002Y\005o\003\141\002[\002^\006z\002b\003\142\000\151\006\181\003@\003\143\001\195\002a\000\203\000\140\003\144\000\183\002d\000J\000\141\002f\002j\002l\000\142\004\007\000h\002n\003D\004\023\006\183\002r\003l\003\131\002q\005\255\004\028\002t\003\141\006\189\000\155\0049\003\140\002v\000\184\002y\003\253\000_\000\185\001\145\000\151\002\164\003\146\004\018\000\157\002{\003|\006\000\006\003\005m\005n\004\002\000\152\001\156\003\141\004\003\004\020\002}\003}\003\142\003H\002\127\001g\003\143\001h\002\131\002\137\002\136\003\144\002\142\004|\002\148\003l\003m\000\153\002\147\000\152\004\019\003L\003n\005g\005\143\005\255\003o\005z\005\136\004\007\005\205\005\178\005\213\004\023\004~\005\235\003l\003\131\006\008\005\220\004\028\000\153\006\157\004!\004\011\0049\003\140\006\000\006\003\005m\005n\000_\006\203\005o\004\133\002\164\004\013\004\018\004\135\006\207\000\140\000\152\000h\001i\002\166\001\197\000\181\001j\003\141\006\226\000\140\006\230\003n\003\142\006\231\006\236\003o\003\143\006\237\003l\003\131\006\242\003\144\000\153\000J\005\145\006\241\006\249\004\025\000\155\006\251\004\019\007\001\003n\000_\001w\007\002\003o\002\164\004\026\004A\007\006\007\007\000\157\007\n\007\011\003O\005\146\005m\005n\005o\003\253\000_\000a\002\134\000e\000_\000a\002\140\000e\007\014\003|\007\017\007\018\003S\000\138\004\002\007\026\007\030\000\139\004\003\004\020\000\000\003}\004\019\000\000\003n\000\000\003l\003\131\003o\000\000\000\000\000\000\000_\004|\000\000\004D\002\164\000\000\000\000\000\000\000g\000_\000\000\000\000\000g\002\164\004\026\004A\006\013\004\007\000\000\000\000\000\138\004\023\004~\000\000\000\139\005o\000\000\003|\004\028\001x\000\000\004!\000\000\0049\003\140\000\000\000\140\000\000\003\253\003}\003N\000\141\000\000\000\000\000\000\000\142\000\000\000\000\003|\004\019\000h\003n\000\000\004\002\000\000\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\000\000\003\144\000\151\004F\006\018\000\138\000\140\000\000\000\000\000\139\000\000\000\141\003\253\000\000\000\000\000\142\000\000\000\000\000\000\004\007\000\000\000\000\003|\004\023\004H\004;\000\000\004\002\001\145\000\000\004\028\004\003\004\020\004J\003}\0049\003\140\003\141\000\000\000\000\000\000\000\151\001\158\004?\000\000\000\000\004\005\000\000\000\140\000\000\000\140\003\148\000\000\000\141\000\000\000\141\000\000\000\142\003\141\000\142\000\140\000\000\004\007\003\142\005\158\000\141\004B\003\143\004C\000\142\001\012\003\253\003\144\004\028\001\012\000\000\004!\000\000\0049\003\140\000\152\003|\004\020\000\151\000\000\000\151\004\002\000\000\003l\003\131\004\003\004\020\000\000\003}\001\015\000\151\0016\004I\001\015\000\000\0016\003\141\000\153\000_\000\000\004\005\003\142\002\164\004\026\004A\003\143\000\000\000\000\000\000\000\000\003\144\0053\000\000\000\000\000\152\000\000\004\007\000\000\004\028\000\000\004B\004!\004C\0049\000\000\000\000\002\193\004\028\000\000\002\197\004!\000_\0049\003\140\000\000\006Q\000\153\000\000\004\019\000\000\003n\000\000\003l\003\131\003o\000\155\000_\000a\002\145\000e\003&\001g\000\000\001h\000\000\003\141\000\152\000_\000\152\000\161\003\142\002\164\004Y\004A\003\143\000\000\000\000\000\000\000\152\003\144\005\181\000\000\001g\000\000\001h\002\234\000\000\000\000\000\153\000\000\000\153\000\140\000\000\000\000\000\155\002\198\000g\000\000\000\000\002\199\000\153\000\000\005\182\000\000\005\185\005m\005n\004\019\000\163\003n\003l\003\131\000\000\003o\000\000\000\183\000\140\000\000\000\000\001i\001g\002\193\001|\001j\002\197\000_\003l\003\129\000\000\002\164\004Y\004A\000\000\000\000\000\000\000\000\000\155\000\140\000\155\003\253\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\000\155\003|\000\165\001w\000\157\000\000\004\002\000\000\000\000\000\000\004\003\004\020\002\193\003}\000\167\002\197\000\000\004\019\005o\003n\000\000\000\000\000\000\003o\001w\004\005\000\000\000\140\000\140\000\000\001i\000\000\002\198\000\140\001j\003n\002\199\000\000\000_\003o\000\000\004\007\002\164\000\000\002\212\004B\000\000\004C\000\000\000\000\003\253\000\000\004\028\000\000\006[\004!\002\213\0049\003\140\000\000\003|\000\000\001w\000\000\000_\004\002\000\000\002\238\006Q\004\003\004\020\002\198\003}\000\000\004`\002\199\003l\003\131\003N\001\012\003\141\001x\000\000\000\000\004\005\003\142\000\000\000\000\006S\003\143\000\203\000_\000\000\005\236\003\144\002\164\004Y\004A\000_\001\014\004\007\000e\001x\001\015\004B\0016\004a\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\005\237\0049\003\140\003|\000\000\005\240\005m\005n\004\002\005\223\002\215\000\000\004\003\004\020\002\212\003}\004\019\004b\003n\003|\003l\003\131\003o\000g\003\141\001x\002\213\004\005\000\000\003\142\000\000\003}\000\000\003\143\001\145\000_\002\239\000\000\003\144\002\164\004\127\004A\000\000\004\007\000\000\000\000\005\181\004B\001\160\004a\000\000\000\000\000\000\002\212\004\028\001\145\003\026\004!\000\000\0049\003\140\001g\002\242\001h\000\000\002\213\000\000\005o\005\182\001\162\005\185\005m\005n\000\000\004\020\004\019\000\000\003n\003l\003\131\000\000\003o\003\141\000\000\003\028\000\138\000\000\003\142\000\000\000\139\002\245\003\143\000\000\000_\000\000\002\247\003\144\002\164\004\127\004A\001g\000\000\001h\000\000\000\000\000\000\000\000\003\253\0055\003\000\006R\004\129\000\000\000\000\000\000\004\028\000\140\003|\004!\001i\0049\000\000\004\002\001j\000\000\000\000\004\003\004\020\003\"\003}\000\000\004t\005o\004\019\002\247\003n\000\000\000\000\000\000\003o\000\140\004\005\000\000\006V\006S\000\141\000\203\000\000\002\248\000\142\000\000\001w\000\000\000\000\001\012\000\140\000\000\004\007\001i\002\166\000\000\004B\001j\004a\003l\003m\003\253\000\000\004\028\004\131\0063\004!\000\000\0049\003\140\000\151\003|\000\000\001\015\003:\0016\004\002\000\000\000\000\000\000\004\003\004\020\001g\003}\001h\001w\000\000\000\000\003l\003\131\000\000\003\141\000\000\000\000\000\000\004\005\003\142\004\149\000\000\000\000\003\143\000\000\000\000\000_\000\000\003\144\000\000\002\164\004\026\004A\000\000\004\007\000\000\000\000\000\140\004B\003n\004\130\000\000\003\253\003o\000\000\004\028\000\000\001x\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\006\024\004\002\000\000\000\000\000\140\004\003\004\020\001i\003}\000\000\004\019\001j\003n\003l\003\131\000\152\003o\003\141\000\000\000\000\004\005\000\000\003\142\002\166\002\193\000\000\003\143\002\197\000_\000\000\001x\003\144\002\164\000\000\004\018\000\000\004\007\000\153\000\000\001w\004B\000\000\004\130\003:\000\000\000\000\000\000\004\028\000\000\000\000\004!\000h\0049\003\140\004.\000\000\000\000\000\000\000\000\001\145\001g\006Z\001h\000\000\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\219\003|\002\198\003\143\000\155\000_\002\199\001\192\003\144\002\164\000\000\004\018\000\000\003}\0043\000\000\000\000\001\145\000\169\000\000\003\253\004\253\005a\000\000\000\000\004\135\000\000\001g\000\000\001h\003|\001\166\0047\000\000\000\140\004\002\001x\001i\001\194\004\003\004\020\001j\003}\000\000\005_\004\019\000\000\003n\005b\005m\005n\003o\000\140\000\000\004\005\000\000\002\198\000\000\003l\003\128\002\199\000\000\000\000\000\000\000\000\000\000\000\000\000\138\005\145\001w\004\007\001V\000h\000\000\004B\004.\004C\000\000\003\253\005\013\003\141\004\028\000\140\004\135\004!\001i\0049\003\140\003|\001j\005\146\005m\005n\004\002\003\150\000\000\000_\004\003\004\020\002\212\003}\000\000\000\000\000\000\001y\003l\003\131\000\000\000\000\003\141\005o\002\213\004|\000\140\003\142\003n\0043\001w\003\143\003o\000_\000\000\000\140\003\144\002\164\000\000\004\018\000\141\004\007\000\000\000\000\000\142\004\023\004~\0047\000\000\003\253\000\000\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\003|\001x\000\000\000\000\000\000\004\002\005o\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\000\000\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!\006g\0049\003\140\000\000\000\000\000\000\000_\000\000\000\000\000\000\002\164\004\026\004A\003|\001\145\000\000\001g\004\019\001h\003n\003l\003\131\000\000\003o\003\141\003}\000\000\000\000\001\168\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\000\000\005\156\003|\000\000\001\145\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\140\003}\000\000\001i\004\019\001\174\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\005\145\002\198\004\007\000\000\000\000\002\199\004\023\004~\001w\000\000\003\253\006m\005\255\004\028\000\000\004\135\004!\000\000\0049\003\140\003|\000\000\005\146\005m\005n\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\000\000\006\000\006\003\005m\005n\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\004\002\005o\000\000\001x\004\003\004\020\004\007\003}\000\000\000\000\004B\000\000\004C\000\000\005o\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\000\000\001g\000\139\001{\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\150\000\000\000\000\003\144\000\000\002\212\000_\006\138\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\176\000\000\000\140\003\144\000\141\001i\000_\003\028\000\142\001j\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\169\003\002\000\000\000\000\000\000\000\000\000\000\005\255\004E\000\000\000\151\000_\006 \001w\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\006\000\006\003\005m\005n\002\247\000\000\000\000\000\000\004\017\000\000\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\000\000\002\193\000\000\000\000\002\218\000\000\004\027\000\000\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\006\141\000\000\006\142\004\019\006\131\003n\006\132\003\253\000\203\003o\000\000\000\152\000\000\000\000\001x\005o\000\000\003|\000\000\000\000\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\140\000\000\004\005\000\000\002\198\000\000\000\000\003|\002\199\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\000\000\003\253\000\171\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'\003\253\000\000\003\141\004\028\000\000\004\021\004!\003\142\0049\003\140\003|\003\143\000\000\000\000\000\000\004\002\003\144\002\212\000_\004\003\004\020\004\007\003}\000\000\000\000\004\023\004\024\003l\003\131\002\213\000\000\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\001g\000_\001z\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\002\193\003\142\000\000\002\217\001\027\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\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\001i\000_\000\000\000\000\001j\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\140\000\000\000\000\000\000\002\198\000\000\006c\000\000\002\199\000\000\000_\000\000\001w\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\000\000\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!\001x\0049\003\140\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\002\212\004\003\004\020\004\007\003}\000\000\000\000\004\023\004_\004p\000\000\003\253\002\213\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\000\000\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\006d\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\006f\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\006o\000\000\003\143\000\000\000_\000\000\000\000\003\144\002\164\002\193\004\018\000\000\002\216\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\006r\000\000\000\000\000\000\000_\005\145\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\004\128\000\000\000\000\005\146\005m\005n\000\138\000\000\000\000\000\000\001S\000\140\000\000\000\000\005\145\002\198\000\000\000\000\000\000\002\199\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\005\146\005m\005n\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\005o\000\141\000\000\004\002\000\000\000\142\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|\004!\000\000\0049\003\140\003|\000\000\000\000\000\000\000\151\004\002\005o\000\000\000\140\004\003\004\020\004\007\003}\000\141\000\000\004\023\004~\000\142\000\000\003\253\002\212\003\141\004\028\000\000\006d\004!\003\142\0049\003\140\003|\003\143\000\000\002\213\000\000\004\002\003\144\000\000\000\000\004\003\004\020\004\007\003}\000\000\000\151\004\023\006f\000\000\000\000\003l\003\131\003\141\004\028\000\000\006d\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\127\004\023\006f\000\000\000\000\000\000\000\000\003\141\004\028\005\167\000\152\004!\003\142\0049\003\140\000\000\003\143\000\000\004\193\000\000\000\000\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\005\165\000\000\000\138\003\143\000\000\000\000\000\147\000\152\003\144\001g\005\255\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\006\000\006\003\005m\005n\005\255\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\006\000\006\003\005m\005n\000\141\000_\000\140\000\000\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\145\000\000\000\000\003|\000\157\000\151\001G\000\000\005o\005\145\000\000\000\000\001w\004\203\000\000\003}\000\140\005\145\000\000\000\000\005\145\000\141\005\146\005m\005n\000\142\003|\004\241\000\000\000\000\000\000\005\146\005m\005n\005o\000\000\000\000\000\000\003}\005\146\005m\005n\005\146\005m\005n\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\000\000\000\000\000\000\000\000\000_\000\197\001n\000\200\000\201\003\141\000\152\005o\000\000\000\153\003\142\000\000\000\000\001x\003\143\000\000\005o\004\243\000\000\003\144\000\197\002\203\000\200\000\201\005o\000\000\000\000\005o\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\000\000\000\000\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\0061\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\178\000\203\000_\000\000\000\183\000\000\000\138\003l\003\131\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\192\000_\000_\000\000\000\000\000\000\004\162\000\155\000\000\005\203\000\000\000\184\005\145\000\000\000\000\000\185\003|\005\208\000\000\000\000\005\232\000\157\000\140\001G\000\000\000\000\004\203\000\141\003}\004\195\000\000\000\142\000\000\002\212\005\146\005m\005n\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\005\145\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\000\000\000\183\005\146\005m\005n\000_\000\000\000\000\000\000\000\000\000\000\003\141\005o\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\005o\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_\005\230\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\006\022\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\002\193\000\000\004\005\002\197\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\140\000\000\003\141\000\000\002\198\003\253\003\140\003\142\002\199\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#\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\152\000\000\000\000\003\141\003l\003\131\000\000\000\000\003\142\000\000\002\212\000\000\003\143\000\000\003\246\005%\000\000\003\144\000\000\003\253\000\000\000\000\002\213\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\000\000\003}\002\247\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\003\n\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\000\000\000\000\000\000\000\000\140\003|\003\253\000\000\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\000\000\000\000\000\000\000\000\000\141\004\005\000\000\000\138\000\142\000\000\004\007\001R\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\004\007\003\253\003l\003m\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\000\140\000\000\003n\000\000\002\213\001W\003o\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\000\000\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\000\000\000\000\000\141\000\000\003}\003\012\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\003|\000\000\000\152\000\155\000\141\000\000\000\000\000\184\000\142\000\000\000\138\000\185\003}\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\154\000\183\000\000\000\000\000\141\000\000\000\155\000\000\000\142\000\000\000\184\000\000\000\000\003\141\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\003\156\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\158\000\000\000\000\000\152\000\153\000\000\000\140\000\138\000\000\000\000\002\198\000\147\000\000\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\000\000\000\000\000\000\157\000\141\000\000\000\152\003\025\000\142\000\000\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\000\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\014\002\213\002\247\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\002\212\003\019\006i\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\000\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\000\000\000\000\151\003}\003\016\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\160\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\162\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\018\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\173\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\000\000\002\234\000\140\000\000\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\165\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\000\000\157\003o\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\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\000\000\000\138\000\000\000\183\000\000\000\147\000\183\000\000\003}\000\151\000\155\000\000\000\000\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\006F\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\000\000\000\000\000\000\000\000\000\183\000\000\000\152\000\183\003\164\000\000\000\151\000\155\000\000\000\000\000\000\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\170\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\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\003|\000\183\000\000\000\147\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\147\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\000\000\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\000\000\000\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\172\000\147\000\185\003l\003m\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\000\000\152\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\151\000\000\000\147\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\140\000\000\003n\000\142\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\021\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\149\005\023\000\000\000\142\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\155\000\183\000\000\000\142\000\184\000\138\000\000\000\000\000\185\000\149\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\151\000\152\000\183\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\005\025\000\000\000\157\000\000\000\140\000\153\000\000\000\155\000\000\000\141\000\138\000\184\000\000\000\142\000\149\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003|\000\138\000\140\000\000\000\000\000\149\000\152\000\141\000\183\000\000\000\000\000\142\003}\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\005\031\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\151\000\152\000\185\000\000\000\000\000\138\000\140\000\000\000\157\000\139\000\000\000\141\000\152\000\000\000\000\000\142\000\183\000\000\005-\000\140\000\000\000\000\000\000\000\153\000\141\000\000\000\000\000\000\000\142\005;\000\000\000\000\000\000\000\138\000\153\000\000\000\000\000\139\000\000\000\155\000\000\000\151\003\141\000\184\000\000\000\000\000\138\000\185\000\183\000\000\000\139\000\000\000\000\000\157\000\151\000\000\003\174\000\138\000\152\000\183\000\140\000\139\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\152\000\185\000\153\000\000\000\155\000\000\000\000\000\157\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\000\000\151\000\157\000\142\000\000\000\000\000\153\000\140\000\000\000\000\000\000\000\154\000\141\000\000\000\000\000\000\000\142\000\000\000\140\000\000\000\138\000\000\000\000\000\141\000\139\000\152\000\000\000\142\000\000\000\151\000\000\000\154\000\000\000\000\000\155\000\000\000\000\000\000\000\152\001\128\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\153\000\157\000\000\000\000\000\000\000\000\000\151\000\155\000\000\000\000\000\000\000\000\001\130\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\154\000\000\000\000\000\140\000\000\000\000\000\000\000\152\000\141\000\000\000\000\000\000\000\142\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\003\133\000\153\000\000\000\000\000\000\000\000\000\000\000\152\000\155\000\157\000\151\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\152\000\000\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\155\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\000\175\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\155\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\187\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\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")) + ((16, "\000\193\000l\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001C\000\182\000\000\001\019\000\197\000\000\000\000\000\000\000\139\000\000\000[\000\252\000\000\000\000\001t\000\000\001\166\000\000\000\000\000\000\001\206\000\000\002\018\000\000\000\000\000\000\000\000\003@\000\000\003R\003\134\000\000\000\000\004\132\000\000\004\172\000\000\000\000\000\000\005\166\000\000\005\182\000\000\005\208\000\000\006\000\006(\000\000\000\000\006J\000\000\006\200\000\000\000\000\000\000\000\000\007f\000\000\007n\000\000\000\000\007\218\000\000\008\018\000\000\000\000\000\000\008\026\000\000\000\160\008P\000\011\000\000\000\000\000\000\0072\002@\002\240\000\000\000\000\008\170\000\000\000\236\000\000\000\168\000\247\000\023\000\000\000\000\013\196\000\000\002\246\000\000\0028\004\128\000\160\011\002\000\160\003\148\031<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\226\011\002\000\000\000\000\017\002\000\000\0188\000\000\001^\000\000\000\000\000\000\000\000\002R\000\000\018\144\000\000\000\000\014\156\000\000\023\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n,\000\000\011@\000\000\011D\000\000\015\144\000\000\019\236\000\000\019\240\000\000\023*\000\000\023>\000\000\028`\000\000!\030\000\000\006\026\000\000\006D\000\000\000\000\000\000\000\000\000\000#P\000\000)J\000\0006l\000\000\027v\000\000\000\000\028\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\008\228\000\000\000\000\t\"\000\000\t\132\t\202\000\000\000\000\t\208\000\000\t\218\000\000\000\000\000\000\t\222\000\000\t\224\000\000\000\000\t\230\000\000\t\246\n\016\000\000\000\000\n\024\000\000\n \000\000\000\000\000\000\n*\000\000\n,\000\000\n.\000\000\n2\nB\000\000\000\000\n\130\000\000\n\144\000\000\003\014\n\176\000\000\n\210\000\000\n\220\000\000\n\232\000\000\000\000\000\000\011\000\000\000\011\004\0056\000\000\011\014\000\000\000\194\006\154\000\000\002\216\000\000\004\006\000\000\000\000\007F\000\000\000\000\001\017\003z\000\000\000\000\000\000\000\000\003>\000\000\003P\000\000\008\168\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\008\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\0001\003\152\017\172\000\000\011\020\000\000\011\024\019\142\000\000\011\026\000\000\000\000\004\190\000\000\000\000\000\000\000\000\000\000\026\152\000\0000\026\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\006\160\031<\000\000\007\142\000\000\020\216\022\190\000\000\000\000\000\000\004@\000\000 2\000\000\000\0000r\000\000\000\000\000\000\005\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\000\000&\208\000\000\000\000\000\000\000\000\000\199\000\000\000\0000\186\000\000\000\000\000\000\000n\000s\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\004\144\000\000\005\158\000\000\n~\000\000\011^\000\000\012\016\000\000\012\146\000\000\016\142\000\000\027\210\000\000\0302\000\000\014\144\000\000\004\012\000\000\031n\000\000%\172\000\000-\178\000\000\000\000\000\000\000\000\000\000\000\1710\200\000\000\000:\000\000\000\000\000}\001\132\000\000\001\028\000\000\000\000\000\000\005\190\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\001\028\000\000\000\000\000\000\011(\020\254\000\000\011*\000\000\000\000\000\000\000\000\000\000\011,\000\000\000\000\000\129\007\166\000\000\008H\000\000\000\000\000\000\000}\000\000\012\206\001\196\011.\000\000\000\000\011:\000\000\011B\011F\000\000\000\000\011J\000\000\011N\000\000\000\000\000\000\011T\000\000\011V\000\000\000\000\011^\000\000\011d\011f\000\000\000\000\011v\000\000\011~\000\000\000\000\000\000\011\128\000\000\011\146\000\000\011\150\000\000\011\152\011\160\000\000\000\000\011\162\000\000\011\166\000\000\005\218\011\172\000\000\011\174\000\000\011\176\000\000\011\192\000\000\000\000\000\000\011\198\000\000\006\020\000\000\000\000\011\206\023\164\000\000\011\210\000\000\000\000\000`\000\000\000\000\003J\000\000\000\000\000\000\000\000\000\000\006&\025\134\000\000\011\218\000\000\011\224\030\"\000\000\011\228\000\000\000\000\012\236\011\236\000\000\000\000\011\238\000\000\012\004\012\018\000\000\000\000\012\030\000\000\012(\000\000\000\000\000\000\012*\000\000\012,\000\000\000\000\0122\000\000\012:\012<\000\000\000\000\012@\000\000\012B\000\000\000\000\000\000\012R\000\000\012T\000\000\012V\000\000\012X\012Z\000\000\000\000\012b\000\000\012d\000\000\007\008\012v\000\000\012z\000\000\012\154\000\000\012\160\000\000\000\000\000\000\012\162\000\000\012\164\"\028\000\000\012\168\000\000\000\000\007x#d\000\000\012\170\000\000\012\174&\028\000\000\012\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\252\000\000#\240\000\0001>\000\000\000\000\000Z\000\000\000\000\001\188\000\214\000\000\000\000\020H%\136\000\000\017$\017\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\000\000\029\028((\000\000\029\184\000\000$\240\0120(\156\000\000\016\214\000\000\000\000\000\000\007\168\000\000 \214\000\000\000\0001^\000\000\000\000\000\000\007\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\212\000\0002\008\000\000\000\000\000\000(\242\000\000\000\000\000\000\022~\000\000\000\000\000\000\000\000\007\206\000\000\000\000\000\000\000\000\031\132\000\000\000\0005t\000\000\000\157\000\000\000\000\000\000\000\025\000\000\001\248\000\000\002\140\000\000\0042\000\000\008\146\000\000\t\164\000\000\014R\000\000\014\170\000\000\017\128\000\000\022\\\000\000\024@\000\000\027*\000\000\031\008\000\000\000\000\000\000\000\000\000\000\007:\000\000)\246\000\000*82X\000\000*\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\005z\000\000\004\216\000\000\000\000\024<\000\000\000\000\000\000*:\000\000\000\000\000\000\000\000\000\000\0258\000\000\000\000\000\000\000\000*\134\000\000\000\000\000\000\000\000\004\004\004r\000\000*\224\000\000\000\000\000\000\000\000\008\176\000\000*\254\000\000\000\000\000\000\000\000\000~\000\000\007|\000\000\015\178\006t(\214\000\000\000\000\000\000\013F\000\000\000\000\000\000\000\000\000\000\000\000\018\246(\214\000\000\021\170\000\000\024\234\013\248\000\000\000\000\000\000\0080\000\000 \240\000\000\000\0002L\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\0005\148\000\00060\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\016T\000\000\018\190\000\000\024h\000\000\025\152\000\000'\n\000\000-\170\000\000/r\000\000/\186\000\0005B\000\000+&\000\000\000&\000\0006\006\000\0006^\000\0006\186\000\000),\000\000\000\000\000\0002\152\000\000\000\000\000\000\004 \000\0002\158\000\000\000\000\000\0002\238\000\000\000\000\0010\000\000\024\200\000!\005\026\000\000\005:\000\000\013\144\002\n\008\014\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\"\000\000$<$\000\008\142\000\000\000\000\000\000+\158\000\000+\234\000\000,D\000\000%$%H\002\154\000\144\008\170\000\000\000\000\000\000\002>\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\000\000\000\0003\162\000\000\000\000\000\000\000\000!<\000\000&\n\000\000\000\000\000\000\000\000\000\000\000\000\014\024\000\000\000\000\005\188\000\000\000\000\000\000\025v\002\164\000\000\026\016\000\000\000\000\008\176\000\000\002\196\000\000\000\000\014\198\000\000\026\206\000\000\000\000!\254\000\000\000\000\000\000\006\204\000\000\000\000\005\002\000\000\000\000\0266\000\000\000\000\000\000,j\000\000\000\000\000\000\027\222\000\000\000\000\000\000\000\000,\136\000\000\000\000\000\000\000\000\004>\011\144\000\000,\194\000\000\000\000\000\000\000\000\000\000\000\000\015N\000\000\000\000\002\238\000\000\015\204\000\000\006\204\000\000\000\000\001\130\tD\000\000\003\006\000\000\000\000\000\000\000\000\001 \000\000&$\000\000\026 \003H\027h\000\000\003h\000\000\016\192\000\000\017>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\028&\005\024\028\192\000\000\000\000\000\000\005\154\000\000\017\180\000\000\004\"\000\000\000\000\t\192\004\246\029n\000\000\006\136\000\000\0182\029~\000\000\000\000\019&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\0082\000\000\0064\000\000\000\000\000\000\000\000\006V\000\000\019\164\000\000\000\000\000\000\"\1643\176\000\000\000\000\000\000 \024\000\000\000\000\000\000\000\000\0070\006`\000\000\000\000-\008\000\000\000\000\002\236\000\000\007\024\000\000\000\000\030>\000\000\000\000\000\000-.\000\000\000\000\000\000\000\000.\012\000\000\000\000\006\236\008\150\000\000\000\000.\016\000\000\000\000\006\206#\006\000\000\008\194\000\000\000\000.X\000\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\224\000\000\000\000\"n\000\000\000\000\000\000.\208\000\000\000\000\000\000\000\000.\238\000\000\000\000\008\182\t(\000\000\000\000/\024\000\000\000\000\008.\000\000\000\000\000\000\000\000\001 \000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002t\000\000\020,\000\000\000\000\000\00048\000\000\t\194\000\000\000\000\000\000\003\154\000\000\005\004\000\000\000\000\006\192\020\238\000\000\021v\000\000\000\000\000\000\008\008\000\0004F\00884`\000\0004\188\000\000\000\000\000\000\008l\000\0004\240\008t\000\000\000\000&\128\008\204&\230\000\000'B\000\000\000\000\000\000\t\020\000\0005\020\t\026\000\000\000\000\020\190\t\132!\192\000\000$\018\000\000\000\000\000\000\t\136\000\0005\128\t\184\000\000\000\000\000\000\000?\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\005\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\002X\000\000\000\000\003\026\000\000\000\000\013h\000\000\000\000\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013l\000\000\000\000\013B\000\000\000%\000\000\000\000\000\134\000\000\0052\012\246\002\156\000\000\000\000\003\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\252\018\016\000\000\000\000\005\\\000\000\000\000\000\000\021\156\000\000\000\000\0224\023\014\000\000\000\000\000\000\000\000\023\172\027\254\000w\000\000\031\246\000\000\000\000\000\000\000\000\000\000\000\000\008*\000\000\000\000\006\164\000\000\000\000\012\190\000\000\000\000\003n\000\000\000\000\012\194\000\000\000w\000\000\000\000\000\000\000\000\011\n \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138 \196\000\000\000\000\000\000\000\000#L\000\000\000\000\003\022\000\000\013z\000\000\000\000\000\000\t\238\000\000\000\186\000\000\000\000\000\000\017X\000\000\000\000\015l$N\011~\000\000$\152\000\000\000\000\000\000\000\000\013>\000\000\000\000\000\000\n4\000\000\001\170\013\016\004\016\000\000\000\000\000\000\008|\008J\000\000\000\000\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\132\000\000\000\000\016^\000\000\000\029\013\142\003\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\025\144\000\000\000\000\0248%b\000\000\000\000\000\000\000\000\0026\000\000\005\008\011\198\000\000\028\202\000\000\000\000\000\000\000\000\000\000\000\146!\012\000\000\000\000&\176\000\000\000\000\000\000\000\000\nV\000\000)\240\000\000\000\000\000\000\000\000\007D\000\000\000\000\000\000\006\242\000\000\000\000\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\174\000\000\000\000\000\000\005\028\000\000\000\000\000\000\000\000\000\000\000\004\004\150\007\150\008\220\000\000\005\186\005\212\t\004\t\134\000\000\000\000\000\000\000\000\000\000\000\000\006b\021\244\000\000\030d\007X\000\000\000\000\008\248\000\000\022\232\000\000)\226\000\000\000\000\008\160\023f\000\000\030t\000\000\008\176\031\"\000\000\000\000\000\000\004\242\005\186\000\000\000\000\000\000\000\000\0088\000\000\011<\000\000\000\157\011z\000\000\000\000\000\000\003>\000\000\003P\000\000\t\002\000\000\000\000\0032\000\000\000\000\000\000\000\000\n8\000\000\000\000\t\238\000\000\023\220\000\000\020\236\013L\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000/\250\000\000\000R\000\000\000\000\000\000\000\000\000\000\001\148\000\000\n\182\t\136\011\200\000\000\002\170\012F\000\000\n\146\000\000\003\164\000\000\004D\000\000\005>\000\000\020\236\000\000\000\000\000\000\000\000\000\000\005\222\000\000\n\162\000\000\006\216\000\000\020\236\013\174\000\000\004\222\000\000\013\160\012\138\000\000\tH\000\000\n\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\168\000\000\011\020\000\000\000\000\000\000\000\000\000\000\000\000\013\166\012\158\000\000\000\000\012\196\000\000\000\000\012\166\t\218\013\226\000\000\013\232\000\000\000\000\t\186\011P\000\000\012\220\000\000\000\000\013\018\000\000\000\000\000\000\000\000\000\000\000\000\013\222\012\204\000\000\000\000\000\000\012\238\012\212\n\166\n\156\012\240\013&\000\000\000\000\012\222\n\176\n\170\012\252\0138\000\000\000\000\n\138\000\000\000\000\000\000\000\000\014\008\000\000\000\000\000\000\014\016\000\000\000\000"), (16, "\003l\003\131\005\196\005\197\002\193\000\138\005?\002\197\0017\000\147\003:\005\164\005n\005o\000\007\000\018\000_\006\017\003l\003\131\002\164\004Z\004B\001.\005|\006|\000\025\000_\000a\001\225\000e\006}\005\198\001\186\000_\003l\003m\000\005\006~\001\212\004\019\000\017\005\199\001g\001\140\001h\005}\006\018\001B\006\019\006\168\006\169\005\128\005n\005o\0010\004\020\001\192\003n\000\013\000\140\000\140\003o\001\188\002\198\000\024\000\141\000g\002\199\0026\000\142\001g\000J\001~\004\020\005p\003n\000_\006\020\002\246\003o\002\164\006\144\001\210\000\016\000\017\001\143\001\194\006\021\002:\001\234\000\140\001\237\003n\000\028\006'\000\138\003o\000\151\000\140\000\147\005t\001i\000\004\006\173\002=\001j\001\141\001\236\005\127\001\236\004\137\000_\003\136\001/\001\181\005p\003N\000 \006\007\0029\000h\006\128\000_\004/\006\176\000\005\000\140\006\177\000_\001i\005}\001\013\002\245\001j\005u\001w\005\128\005n\005o\006\129\006\008\001\213\006\011\005n\005o\001/\001\186\003\253\001\141\000_\000f\000\140\000e\005\196\005\197\000J\000\141\003|\002\166\006P\000\142\002\212\004\002\001w\004\225\003\253\004\003\004\021\000g\003}\004\139\004h\006\145\002\213\000\152\003|\001\187\006/\000J\006\181\004\002\004V\000K\005\220\004\003\004\021\006\130\003}\000\151\000g\000\138\000\182\003|\005\199\000\139\006\131\000\153\004\007\001\012\006\156\005p\004C\003U\004b\003}\004\247\005p\0062\004\029\001\179\001\181\004y\001x\004:\003\140\004\007\005\140\003l\003\131\004\024\006\158\000\183\001\015\005\005\0016\000_\004\029\003\231\004\021\006\160\006\182\004:\003\140\000_\005v\006P\003\141\006~\006\183\004\019\001x\003\142\002\247\006\002\000\155\003\143\000\140\0024\000\184\003\168\003\144\000\141\000\185\000_\003\141\000\142\002\250\002=\000\157\003\142\001\192\001\186\005\t\003\143\001\142\000\152\000h\002\193\003\144\004\029\002\197\003\141\004\"\004\020\004:\003n\003l\003\131\003\232\003o\001\145\002;\001\183\000\151\006\202\003\144\001\144\000\153\000\031\000h\001\193\003\139\000_\002\165\001\150\000\008\002\164\004Z\004B\001g\000_\001\203\002H\001\214\006'\006\003\004Q\001\189\001\145\000\203\001\215\0065\000\183\001\146\002=\006\004\006\005\001\147\001\229\005\007\000\203\001\012\001\148\000\140\001\015\001E\0016\002\198\006\007\006H\006I\002\199\004\020\002\167\003n\000\155\004S\006\203\003o\000\184\005\254\002\193\005b\000\185\002\197\001\015\006M\0016\000\"\000\157\006\008\003+\006\011\005n\005o\000\140\003l\003\131\001i\000J\000\152\005\251\001j\004\016\005`\003\253\001\"\004\252\000J\005c\005n\005o\000_\000$\004\017\003|\006~\006\188\004B\004\023\004\002\001\027\000\153\005\131\004\003\004\021\006\204\003}\004i\003\136\004\017\001\181\001w\000(\001g\006\131\001~\000\140\004\248\006\206\004H\002\198\006P\006'\000J\002\199\001\213\000_\000a\000b\000e\004\017\004\020\002=\003n\004\007\005p\006(\003o\004\024\006\208\001\191\004\250\000\203\003\253\002\212\004\029\000*\006\199\006\210\001Q\004:\003\140\005p\003|\000J\005j\002\213\005\215\004\002\000_\0026\003\233\004\003\004\021\003:\003}\000g\004k\003-\000\140\003F\005k\001i\003\141\002H\004\\\001j\004V\003\142\005\216\0028\000J\003\143\005\219\005n\005o\005\132\003\144\001x\001\217\005\252\004\\\001g\004\007\001~\000_\006-\004C\000\144\004b\003l\003\131\005\182\001\131\004\029\000J\001w\004y\001$\004:\003\140\0029\003\232\001\028\000J\001\029\000_\000\203\002\212\004Q\006~\006\188\004B\003\253\005\183\002\247\006\147\005\186\005n\005o\002\213\002H\003\141\003|\003\234\0067\000J\003\142\004\002\002\252\006+\003\143\004\003\004\021\006\194\003}\003\144\005p\000\140\004R\000J\001i\001g\006\131\001h\001j\004\020\004\005\003n\003\197\003\198\001\026\003o\000\004\0017\000h\003\237\003\238\003\240\000J\005\134\002\193\006\193\004\007\002\197\000h\001\027\004C\003;\006\196\003l\003\131\001\131\001x\004\029\001w\000\005\006\198\005\131\004:\003\140\005p\000\251\0017\001\204\005\135\000_\000/\001\012\002\247\006~\006\188\004B\004\250\003G\000J\0003\001\134\000\140\0014\000\138\001i\003\141\002\254\000\147\001j\001-\003\142\001g\004\182\001h\003\143\001\015\003)\0016\001(\003\144\000\140\004d\001\144\002H\002\198\0002\004;\000J\002\199\004\020\000_\003n\002\166\005\008\006Z\003o\000J\004_\001w\004v\003\234\003\253\006\149\005\221\001\145\006\195\006\140\005\132\006\141\001\146\000\203\003|\000J\001\147\001<\001x\004\002\004v\001\148\000\140\004\003\004\021\006\194\003}\000\141\005\132\001\132\000\140\000\142\004x\001i\006\131\003\236\001O\001j\004\005\000_\003\197\003\198\001\134\006Z\004\253\001\028\004{\001\029\000_\000\203\004w\005\200\002\164\000J\004\007\007\013\003\197\003\198\004C\000\151\006\196\003l\003\131\004n\001\144\004\029\000J\001w\006\198\007\014\004:\003\140\000h\000_\000a\001\t\000e\000_\001x\002\165\001\198\006~\006\188\004B\003\253\002\212\001\145\000J\003N\005]\005^\001\146\005\007\003\141\003|\001\147\000J\002\213\003\142\004\002\001\148\001l\003\143\004\003\004\021\006\194\003}\003\144\005\149\001g\000h\001h\006\014\000g\006\131\0005\001\018\004\020\004\005\003n\004\133\003\197\003\198\003o\001\172\000\138\000h\002\166\004n\000\139\005\147\005n\005o\006\197\004\007\0007\000\152\005\244\004C\005\138\006\196\003l\003\131\006_\001x\004\029\001\145\003:\006\198\006R\004:\003\140\006S\001\183\003*\006e\006_\000_\000\153\002\166\001\148\006~\006\188\004B\000h\000\140\002\247\006W\001i\003\200\003H\000\138\001j\003\141\005\n\000\147\005\139\000h\003\142\003:\003\000\000\140\003\143\000\183\000_\003\199\000\141\003\144\003L\006\\\000\142\000\203\000\138\007\022\005p\000J\000\139\004\020\000h\003n\004\021\006[\001w\003o\003\197\003\198\000\155\001u\001C\003\253\000\184\004\148\001\145\006\205\000\185\004p\003l\003\131\000\151\003|\000\157\0030\004\017\006P\004\002\004\142\001\152\000\140\004\003\004\021\006\194\003}\000\141\000J\005\t\006\127\000\142\003F\001g\006\131\001|\004\029\004&\004\005\004\"\001\012\004:\004{\000\140\000\179\004\011\000_\001\014\000\141\000e\004\144\000_\000\142\000h\004\007\000;\003;\000J\004C\000\151\006\196\003l\003\131\000=\001\015\004\029\0016\000\140\006\198\003n\004:\003\140\005\176\003o\001x\004s\000?\000_\002,\004\142\000\151\006~\006\188\004B\003\253\000h\000g\0017\003;\000\140\000\152\002\166\001i\003\141\003|\006c\001j\003@\003\142\004\002\000C\002\031\003\143\004\003\004\021\006\194\003}\003\144\006b\004\143\002\193\003:\000\153\002\197\006\131\003D\004~\004\020\004\005\003n\000B\000_\000_\003o\003\136\001\223\001w\004\188\006g\003@\003l\003m\000_\006\209\004\007\006k\000\152\000E\004C\002B\006\196\000J\001\145\003l\003\131\004\029\004\017\003D\006\198\000J\004:\003\140\001g\000\182\001{\004\237\001\154\000\152\000\153\000_\001\197\004\164\000g\002\164\004Z\004B\002\238\005_\000h\003|\002\198\006?\000_\003\141\002\199\001\189\006Z\000\203\003\142\000\153\000_\003}\003\143\000\183\005\017\004\239\000\140\003\144\003n\005`\006C\006D\003o\003\138\005c\005n\005o\000J\001\"\004\020\000G\003n\005\019\001x\000\181\003o\000\155\005m\000\140\003\253\000\184\001i\004\165\001\027\000\185\001j\003l\003\131\001\012\003|\000\157\000J\000h\005k\004\002\004/\003\140\000\155\004\003\004\021\006\194\003}\000_\000J\003l\003\131\002\164\004Z\004B\006\131\000J\000\157\001\015\004\005\0016\001w\000_\005\174\003\141\000\203\000_\002\239\002x\003\142\002\164\004Z\004B\003\143\005p\004\007\000h\000_\003\144\004C\006A\006\196\0044\005\173\002\212\003\024\004\029\003\022\004\020\006\198\003n\004:\003\140\002\242\003o\000L\002\213\005\250\002\193\000N\0048\002\197\003\197\003\198\003|\000J\004\020\003\253\003n\000\140\003\197\003\198\003o\000J\003\141\003\025\003}\003|\005\251\003\142\004\173\002\245\004\002\003\143\002\143\000_\004\003\004\021\003\144\003}\005\000\004h\0017\004\170\001\015\004\187\0016\001%\001x\0011\005v\004\005\001\028\005\251\001\029\000_\000\203\004\237\002\201\002\166\006d\000_\000J\000Q\000\140\006Z\000J\004\007\002\198\006n\002\210\004C\002\199\004b\005\020\002\247\000J\002\236\004\029\000J\004\017\004\"\004\231\004:\003\140\006_\005q\004\238\000J\002\248\003\253\000S\005\019\003\141\006\\\000W\000\203\003l\003\131\005\027\003|\001\"\001\231\000J\000\203\004\002\003\141\003\146\003\253\004\003\004\021\003\142\003}\004f\004h\003\143\001\027\005\029\003|\004P\003\144\001\"\001\228\004\002\004\005\005\030\003q\004\003\004\021\005!\003}\004\141\004h\006\133\003z\001g\001\027\001h\005\252\000J\004\007\006u\004\005\005\029\004C\002\193\004b\005\029\002\197\006z\006_\004\029\006\185\002\238\004\"\003n\004:\003\140\004\007\003o\003l\003\131\004C\006\001\004b\006\227\002\212\000d\005\174\004\029\000\203\005)\004\"\003\215\004:\003\140\000_\000h\002\213\003\141\002\164\004Z\004B\001\233\003\142\000\203\005\177\003\230\003\143\005+\000h\000\140\006\157\003\144\001i\002\166\000\205\003\141\001j\000h\005\255\000\140\003\142\004\017\006\200\002\198\003\143\005,\006\146\002\199\005\218\003\144\005/\000\138\000h\003:\004\020\000\139\003n\003l\003\131\004\189\003o\006[\001%\005+\001&\000\208\001w\001\028\005\029\001\029\005\216\000\203\003O\000_\005\219\005n\005o\002\164\004Z\004B\006a\004\198\001%\003\253\001+\002\247\005\240\001\028\000h\001\029\003S\000\203\001g\003|\001h\006\\\004\216\000\203\004\002\003\002\001\192\006\227\004\003\005\237\0057\003}\005:\000\140\005\238\005\241\005n\005o\000\141\004\020\000\212\003n\000\142\004\005\006\255\003o\003l\003\131\0059\006\185\0059\005\238\005\241\005n\005o\005=\001\194\006\185\004\232\004\007\006\234\006\252\000_\006\145\005p\007\030\006~\002\212\004\019\001x\000\151\006`\003\253\005\029\000\140\000\211\003\140\001i\000\214\002\213\007\031\001j\003|\000\216\000\138\000\220\000\222\004\002\000\147\000\225\000h\004\003\004\021\004/\003}\005\004\004h\000\229\003\141\005p\000_\006\191\004\020\003\142\003n\006\227\004\005\003\143\003o\006\207\000\228\001w\003\144\007\006\000\231\000\138\005p\000\138\000\233\000\139\006\201\000\139\004\007\000\237\000\239\000\241\004C\000\245\004b\000_\001g\003\253\001h\004\029\0044\000\244\004\"\001}\004:\003\140\000\140\003|\005\195\005n\005o\000\141\004\002\000\152\002\247\000\142\004\003\004\021\0048\003}\006\154\004h\006\254\007\018\006\228\006\227\000_\003\141\003\004\007\017\007\025\004\005\003\142\000\247\007\024\000\153\003\143\000\140\007\007\000\140\000\249\003\144\000\141\000\151\000\141\000\005\000\142\004\007\000\142\003l\003\131\004C\000\140\004b\001x\001i\000\252\002\166\004\029\001j\003\253\004\"\006\147\004:\003\140\000_\005\229\005n\005o\006~\003|\004\019\005p\000\254\000\151\004\002\000\151\000J\001\000\004\003\004\021\006\187\003}\000\155\001\002\001g\003\141\001h\006<\001w\006\131\003\142\007\006\006\139\006\190\003\143\001\006\000\159\001F\007\006\003\144\002\193\006\230\001\011\002\197\004\020\001;\003n\001A\001@\004\007\003o\003l\003\131\004\024\006\192\001\222\001\221\001\227\001\241\000\152\004\029\001\145\006\186\006\198\001\244\004:\003\140\000_\001\248\005p\001\247\006~\001\250\004\019\001\252\001\156\001T\002\000\002\002\007\007\000\140\000\153\002\005\001i\007\007\002\t\002\008\001j\003\141\001g\000\152\001h\000\152\003\142\002\011\006\232\000\140\003\143\002\013\002\017\002\198\001\195\003\144\000\203\002\199\001x\000\183\004\020\002\019\003n\002\021\002\025\000\153\003o\000\153\002\024\002\027\001w\002\029\003l\003\131\002 \002\"\002$\006\150\006\189\006\151\000h\006\140\000\155\006\141\002&\000\203\000\184\002*\000_\003\253\000\185\0023\002\164\0022\004\019\005\185\000\157\002A\000\140\003|\002G\001i\002F\002\138\004\002\001j\002J\002M\004\003\004\021\006\187\003}\006\140\000\155\006\141\000\155\000\203\005\183\002Q\006\131\005\186\005n\005o\006\190\004<\002P\001\145\000\161\004\020\000\163\003n\002S\003l\003m\003o\001w\002U\002Y\002[\004\007\001\158\002^\004@\004\024\006\192\002b\002a\001x\002d\002f\004\029\002\212\003\253\006\198\005\182\004:\003\140\002j\002l\002n\002r\002q\003|\002\213\005\012\002t\002v\004\002\004\136\003l\003\131\004\003\004\021\006\187\003}\002y\005\183\002{\003\141\005\186\005n\005o\006\131\003\142\005p\000_\006\190\003\143\000\140\002\164\003n\004\019\003\144\002}\003o\000\138\002\127\002\131\002\137\001\209\002\136\002\142\004\007\002\148\002\147\005h\004\024\006\192\005\144\005{\005\137\005\179\001x\004\029\005\214\001\145\006\198\005\236\004:\003\140\003\253\003l\003m\005\246\006\016\004\020\006\166\003n\006\212\001\160\003|\003o\002\215\006\216\006\235\004\002\006\239\003l\003\131\004\003\004\021\003\141\003}\005p\006\240\004\012\003\142\006\245\006\246\006\251\003\143\000\140\006\250\000_\004}\003\144\000\141\002\164\004\014\004\019\000\142\004\134\007\002\007\004\007\n\004\136\002\193\007\011\007\015\002\197\004\007\007\016\007\019\007\020\004\024\004\127\007\023\000\140\007\026\003n\001\145\004\029\007\027\003o\004\"\007#\004:\003\140\000\151\007'\003|\000\000\000\000\004\020\001\162\003n\000\000\000\138\000\000\003o\000\000\000\147\003}\000\138\000\000\000\000\000\000\000\149\000\000\003\141\002\193\000\000\000\000\002\197\003\142\000\000\000\000\003\253\003\143\000\000\000\000\000\000\000\140\003\144\003l\003\131\002\198\003|\000\000\000\000\002\199\000\000\004\002\004\026\000\000\000\000\004\003\004\021\000\138\003}\000_\000\000\001V\000\000\002\164\004\027\004B\005\206\000\000\000\000\000\000\004}\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\000\000\000\141\000\152\000\140\004\007\000\142\003\130\002\198\004\024\004\127\000\000\002\199\001\170\000\000\000\000\004\029\003|\004\020\004\"\003n\004:\003\140\003\253\003o\000\153\000\000\000\000\000\151\003}\003l\003\131\000\140\003|\000\151\000\000\000\000\000\141\004\002\004E\000\000\000\142\004\003\004\021\003\141\003}\000_\000\000\000\000\003\142\002\164\004\027\004B\003\143\000\000\000\000\000\000\004G\003\144\000\000\000\000\000\000\002\212\000\138\000\000\000\000\000\000\000\139\000\000\000\151\000\000\000\000\000\000\004\007\002\213\000\000\005\237\004\024\004I\000\000\003l\003\178\000\000\000\000\004\029\000\000\004\020\004K\003n\004:\003\140\000\000\003o\003l\003\131\000\000\003~\000\000\005\238\005\241\005n\005o\004J\000\000\000\000\000\152\002\212\000\000\000\000\000_\003\253\000\152\003\141\002\164\004\027\004B\000\000\003\142\002\213\000\140\003|\003\143\000\182\000\000\000\141\004\002\003\144\000\153\000\142\004\003\004\021\000\000\003}\000\153\006\006\000\000\000\140\000\000\003n\000\000\000\000\000\000\003o\002\247\004\005\000\000\000\152\000\000\000\000\004\020\000\000\003n\000\183\000\000\000\000\003o\000\151\003\006\000\154\000\000\004\007\003l\003m\005p\004C\000\000\004D\000\000\000\153\000\000\000\000\004\029\000\000\000\000\004\"\000\155\004:\003\140\003\253\000\184\000\000\000\155\000\000\000\185\000\000\000\000\000\194\002\247\003|\000\157\001g\000\000\001h\004\002\000\000\000\157\006\n\004\003\004\021\003\141\003}\003\008\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\004\005\003\144\000\000\003l\003\131\000\140\006\008\003n\006\011\005n\005o\003o\000\000\000\000\002\193\000\000\004\007\002\197\000\000\000_\004C\000\152\004D\002\164\004Z\004B\003|\004\029\000\000\003\253\004\"\000\000\004:\003\140\000\140\000\000\000\138\001i\003}\003|\001S\001j\000\000\000\153\004\002\000\000\000\000\000\000\004\003\004\021\000\138\003}\000\000\002\193\000\147\003\141\002\219\006\024\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\140\001w\005p\000\000\002\198\000\000\000\000\000\000\002\199\004\007\000\000\000\000\000_\004C\000\000\004D\002\164\004Z\004B\000\000\004\029\000\155\000\140\004\"\000\000\004:\003\140\000\141\000\000\002\193\000\000\000\142\002\197\000\000\000\000\000\165\000\140\003|\005\182\000\140\000\000\000\141\000\000\002\198\000\000\000\142\000\000\002\199\003\141\003}\000\000\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\005\183\000\000\003\144\005\186\005n\005o\000\000\000_\000a\0019\000e\000_\000\000\000\151\000\000\002\164\004Z\004B\001x\000\000\000\000\003\253\000\000\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003|\000\000\002\199\002\173\000\000\004\002\000\000\000\000\000\000\004\003\004\021\002\212\003}\000\000\004a\000\000\000g\000\000\000\000\000\000\004\020\000\000\003n\002\213\004\005\003\141\003o\003l\003\131\000\000\000\138\000\000\000\000\000\000\001R\000\000\005p\000\000\000\000\003\148\004\007\000\000\005\146\000_\004C\000\152\004b\002\164\004\128\004B\002\212\004\029\000\000\003\253\004\"\001\145\004:\003\140\000\000\000\152\000\000\000\000\002\213\003|\005\147\005n\005o\000\153\004\002\001\164\000\000\000\000\004\003\004\021\000\138\003}\001\183\004c\000\147\003\141\000\000\000\153\000\000\004\020\003\142\003n\000\140\004\005\003\143\003o\000_\000\141\002\214\003\144\000\000\000\142\002\212\003l\003m\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\183\004C\002\213\004b\000\000\000\000\003\253\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\130\003|\000\151\000\000\003l\003\129\004\002\005p\000\155\000\140\004\003\004\021\000\184\003}\000\141\004u\000\185\000\000\000\142\005\224\000\000\003\141\000\157\000\000\000\000\004\005\003\142\001\012\003l\003\131\003\143\000\000\000\140\000\000\003n\003\144\000\000\000\000\003o\000\000\000\000\004\007\000\000\000\000\000_\004C\000\151\004b\002\164\004\128\004B\001\015\004\029\0016\003\253\004\"\002\247\004:\003\140\000\000\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\004\002\003\n\000\000\000\000\004\003\004\021\000\000\003}\000\000\000\000\000\152\003\141\000\000\000\000\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\000\000_\000a\001>\000e\004\150\000\153\000\000\000\000\004\007\000\000\000\000\000_\004C\000\000\004\131\002\164\004\027\004B\005\150\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\132\000\152\000\000\000\000\000\000\000\138\000\000\000\138\000\000\000\139\000\000\000\139\003|\000\000\000g\000\197\000\198\000\200\000\201\000\000\000\000\003\141\000\000\000\153\003}\004\020\003\142\003n\000\000\000\000\003\143\003o\000\000\000\000\000\000\003\144\000\000\003l\003\131\000\000\003|\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\138\003}\000_\003\253\000\147\000\000\002\164\000\000\004\019\000\000\000\140\000\000\000\140\003|\000\000\000\141\000\000\000\141\004\002\000\142\000\155\000\142\004\003\004\021\000\184\003}\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\004\005\000\000\000\000\003\141\000\000\004\020\000\000\003n\000\000\000\000\000\151\003o\000\151\000\000\000\000\000\000\004\007\003\150\000\000\000\140\004C\000\000\004\131\000\000\000\141\000\000\000\000\004\029\000\142\003\253\004\"\000\000\004:\003\140\000\000\001g\000\000\001z\000_\003|\000\000\004\254\002\164\000\000\004\002\004\136\003l\003\131\004\003\004\021\000\000\003}\000\000\000\000\000\000\003\141\000\151\000\000\001\012\000\000\003\142\000\000\000_\004\005\003\143\006_\002\164\000\000\004\019\003\144\000_\000a\001\219\000e\000\000\000\000\000\000\000\000\003N\004\007\000\000\002\166\001\015\004C\0016\004D\000\000\000\152\000\000\000\152\004\029\000\140\000\000\004\"\001i\004:\003\140\003\253\001j\000\000\000\000\003:\004\020\000\000\003n\000\000\000\000\003|\003o\000\153\000g\000\153\004\002\000\000\003l\003\131\004\003\004\021\003\141\003}\000\000\000\000\000\000\003\142\000\000\003&\000\000\003\143\001w\000\000\000_\004}\003\144\000\152\002\164\000\000\004\019\000\000\005\014\000\000\003l\003\128\004\136\000\000\000\000\000\000\000\000\004\007\000\000\000\000\002\234\004\024\004\127\000\000\000\000\000\153\000\000\000\155\004\029\000\155\000\000\004\"\000\000\004:\003\140\005\146\000\000\000\000\000\000\000\000\004\020\000\167\003n\000\169\000\000\000\000\003o\003l\003\131\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\141\005\147\005n\005o\004\021\003\142\000\000\000_\003\253\003\143\000\140\002\164\003n\004\019\003\144\000\000\003o\000\155\003|\001x\005\016\000\184\000\000\004\002\004\136\000\185\000h\004\003\004\021\004/\003}\000\157\000\000\000\000\000\000\000\000\006c\000\000\0052\000\000\000\000\000\000\004}\002\193\000\000\004\029\002\197\004\020\004\"\003n\004:\000\000\000\000\003o\000\000\005\146\001\012\000\000\004\007\000\000\000\138\000\000\004\024\004\127\000\147\005p\000\000\000\000\000\000\004\029\0044\000\000\004\"\000\000\004:\003\140\003\253\005\147\005n\005o\001\015\000\000\0016\006h\000\000\000\000\003|\004\136\0048\000\000\000\000\004\002\001g\006\007\001h\004\003\004\021\003\141\003}\000\140\000\000\000\000\003\142\002\198\000\000\000\000\003\143\002\199\000\000\000\000\004}\003\144\003|\003l\003\131\006\008\000\140\006\011\005n\005o\000\000\000\141\006p\000\000\003}\000\142\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\004\027\004B\000\000\004\029\000\000\003\253\004\"\005p\004:\003\140\000\000\000\000\000\138\000\000\000\140\003|\000\139\001i\000\000\000\151\004\002\001j\000\138\000\000\004\003\004\021\000\139\003}\000\000\000\000\005\146\003\141\000\000\000\000\000\000\004\020\003\142\003n\005\153\004}\003\143\003o\003l\003\131\000\000\003\144\000\000\005p\000\000\000\000\000\000\001w\005\147\005n\005o\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\000\000\004\019\000\000\004\029\002\212\000\140\004\"\000\000\004:\003\140\000\141\000\000\000\000\000\000\000\142\000\140\002\213\000\138\000\000\000\000\000\141\000\149\000\000\000\000\000\142\002\232\000_\000a\0020\000e\000\000\003\141\000\000\000\152\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\000\000\000\000\003\144\005\146\006\159\000\000\000\000\002\234\005\159\000\151\005p\000_\000\153\000\000\000\000\002\164\004\027\004B\000\000\000\000\000\000\003\253\001x\000g\000\000\005\147\005n\005o\006v\000\000\000\140\003|\004\136\000\000\000\000\000\141\004\002\000\183\000\000\000\142\004\003\004\021\002\247\003}\000\000\002\193\006\022\000\000\002\197\000\000\000\000\004\020\000\000\003n\000\000\004\005\003\012\003o\000\000\000_\000\155\000\000\000\000\000\000\000\184\003l\003m\000\151\000\185\000\000\005\182\004\007\000\000\000\000\000\157\004C\000\152\004D\000\000\000\000\000\000\000\000\004\029\000\000\003\253\004\"\000\152\004:\003\140\005p\001y\000\000\005\183\000\000\003|\005\186\005n\005o\000\153\004\002\000\000\000\140\000\000\004\003\004\021\002\198\003}\000\000\000\153\002\199\003\141\000\000\004\145\003l\003\131\003\142\000\000\005\157\004}\003\143\000\000\000\140\000\000\003n\003\144\001\"\000\000\003o\000\000\000_\003l\003\127\000\000\002\164\004\007\004B\000\000\000\000\004\024\004\127\001\027\000\000\000\000\003\253\000\152\004\029\000\155\000\000\004\"\000\000\004:\003\140\000\000\003|\000\000\001\012\000\155\000\000\004\002\005p\000\171\000\000\004\003\004\021\000\000\003}\000\153\000\000\000\000\004\020\000\173\003n\000\000\003\141\000\000\003o\000\000\004\005\003\142\001\015\000\000\0016\003\143\000\000\000\000\000_\000\140\003\144\003n\000\000\000\000\000\154\003o\004\007\000\000\000\000\005\170\004C\000\000\004D\003l\003\131\000\000\002\212\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\004F\000\000\000\155\002\213\000_\003l\003m\000\156\002\164\000\000\004\019\003|\000_\000a\002?\000e\000\157\000\000\000\000\000\000\003\141\000\000\000\000\003}\000\000\003\142\000\000\000\000\000\000\003\143\000\000\006\007\000\000\000\000\003\144\000\000\001%\000\000\0033\001\"\000\000\001\028\000\000\001\029\004\020\000\203\003n\000\000\000\000\003\253\003o\006!\000g\006\008\001\027\006\011\005n\005o\000\000\003|\000\000\000\140\000\000\003n\004\002\003l\003\131\003o\004\003\004\021\000\000\003}\002\247\003l\003\131\000\000\003|\004\018\000\000\000\000\000\000\000_\000\000\004\147\000\000\002\164\003\014\004\019\003}\000_\003\141\000\000\000\000\002\164\000\000\004\019\000\000\000\000\000\000\004\007\000_\000\000\000\000\004C\003\152\004\149\000\000\000\000\000\000\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\000\005p\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\000\000\004\020\000\000\003n\000\000\000\138\000\000\003o\003\253\000\147\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\001%\003|\003=\000\000\001\"\001\028\000\000\001\029\004\022\000\203\004\028\000\000\000\000\003}\000_\000\000\000\000\000\000\002\164\001\027\004\019\000\000\001\012\000\000\004\007\000\000\000\000\000\140\004\024\004\025\000\000\000\000\000\141\000\000\000\000\004\029\000\142\000\000\004\"\000\000\004:\003\140\000\000\000\000\002\193\000\000\001\015\002\197\0016\000\000\000\000\003\253\000\000\000\000\004\020\000\000\003n\000\000\000\000\003\253\003o\003|\006\027\003\141\000\151\000\000\004\002\000\000\003\142\003|\004\003\004\021\003\143\003}\004\002\003l\003\131\003\144\004\003\004\021\003\141\003}\000\138\000\000\000\000\004\022\000\149\004e\000\000\000\000\000\000\000_\000\000\004^\003\154\002\164\000\000\004\019\000\000\000\000\000\140\004\007\000\000\000\000\002\198\004\024\004\025\000\000\002\199\004\007\000\000\000\000\004\029\004\024\004`\004\"\000\000\004:\003\140\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\001%\001g\004)\001h\004\020\001\028\003n\001\029\000\000\000\203\003o\000\140\000\000\003\141\000\152\000\000\000\141\000\000\003\142\003\253\000\142\003\141\003\143\000_\000\000\000\000\003\142\003\144\001I\003|\003\143\000\201\000\000\000\000\004\002\003\144\000\153\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\004\022\000\000\005\146\000\202\000\140\000\203\000_\001i\000\183\000\000\002\164\001j\004\019\000\000\000\000\000\000\004\007\000\000\000\000\000\138\004\024\004\025\002\212\000\139\005\147\005n\005o\004\029\000\000\000\000\004\"\000\155\004:\003\140\002\213\000\184\001\"\000\000\000\000\000\185\000\000\001w\000\000\003\253\000\000\000\157\004\020\001G\003n\000\000\000\000\001\027\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\003l\003\131\003\144\000\000\004]\000\152\000\000\000\138\000\140\000\000\004^\000\149\000\000\000\141\000\000\000\000\000_\000\142\000\000\000\000\002\164\005p\004\019\000\000\000\000\000\000\004\007\000\153\000\000\000\000\004\024\004`\000\000\000\000\000\000\006\007\002\247\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\151\002\193\000\000\000\000\002\218\003\016\001x\000\154\000\000\000\000\000\000\004\020\006\008\003n\006\011\005n\005o\003o\000\140\000\000\003\141\000\000\000\000\000\141\000\000\003\142\003\253\000\142\000\000\003\143\000\155\000\000\000\000\000\000\003\144\000\193\003|\000\000\000\000\000\000\000\000\004\002\003l\003\131\000\157\004\003\004\021\001%\003}\0041\003l\003\131\001\028\004q\001\029\000\151\000\203\000\140\000_\000\000\004r\002\198\002\164\000\000\004\019\002\199\000_\000\000\000\000\000\000\002\164\000\000\004\019\000\000\001\145\000\000\004\007\000\152\005p\002\193\004\024\004t\002\217\005\168\000\000\000\000\000\000\004\029\001\166\000\000\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\004\020\000\153\003n\000\000\000\000\003\253\003o\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\000\000\000\000\003\144\000\000\004o\000\152\000\000\000\000\000\140\000\000\004^\004|\002\198\001g\000\000\001h\002\199\000\000\000\000\004\129\000\155\000_\000a\002D\000e\000\000\004\007\000\153\000\000\000\000\004\024\004`\002\212\000\000\000\175\000_\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\002\213\000\000\003l\003\131\000\000\006l\000\000\000\000\000\154\000\000\000_\000\000\006)\006x\002\164\000\000\004\019\000g\000_\003\253\000\000\003\141\002\164\000\000\004\019\000\140\003\142\003\253\001i\003|\003\143\000\155\001j\000\000\004\002\003\144\000\196\003|\004\003\004\021\000\000\003}\004\002\000\000\000\000\000\157\004\003\004\021\000\000\003}\004\020\000\000\003n\004}\000\000\000\000\003o\001\"\004\020\000\000\003n\004}\001w\000\000\003o\000\000\002\212\000\000\000\000\004\007\000\000\000\000\001\027\004\024\004\127\000\000\002\193\004\007\002\213\002\197\004\029\004\024\004\127\004\"\000\000\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\000\000\006{\000\000\000\138\000\000\000\000\000_\000\147\000\000\003\141\002\164\000\000\004\019\000\000\003\142\000\000\000\000\003\141\003\143\000_\000\000\000\000\003\142\003\144\000\000\000\000\003\143\000\000\001g\000\000\001h\003\144\000\000\000\140\000\000\000\000\000\000\002\198\000\000\002\193\001x\002\199\002\197\003\253\000\000\000\000\004\020\000\000\003n\000\000\001\012\003\253\003o\003|\000\000\000\000\000\000\000\000\004\002\000\140\000\000\003|\004\003\004\021\000\141\003}\004\002\000\000\000\142\000\000\004\003\004\021\000\000\003}\001\015\000\000\0016\006m\000\000\000\000\000\000\001%\000\000\004\176\000\140\006m\001\028\001i\001\029\000\000\000\203\001j\000\000\004\007\000\000\002\238\000\151\004\024\006o\002\198\000\000\004\007\000\000\002\199\004\029\004\024\006o\004\"\001\145\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\001w\001\168\000\000\000\000\000\000\000\138\000\000\005\146\000_\000\147\000\000\003\141\004\163\000\000\002\212\000\000\003\142\003\253\000\000\003\141\003\143\000_\005\146\000\000\003\142\003\144\002\213\003|\003\143\005\147\005n\005o\004\002\003\144\000\000\004\194\004\003\004\021\000\000\003}\000\000\000\000\000\000\000\000\005\147\005n\005o\000\000\004\197\000\000\003n\006m\000\152\000\000\003o\000\000\000\000\000\000\000\000\002\239\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\007\000\000\001W\000\142\004\024\006o\004\203\000\153\000\000\002\212\001x\004\029\002\241\000\000\004\"\000\000\004:\003\140\002\242\000\000\000\138\002\213\000\000\000\000\000\147\000\000\005p\001Y\002\247\000\203\000\000\000\151\000\183\000\138\000\000\004\240\000_\000\147\003\136\003\141\001\181\005p\003\018\005\146\003\142\000\000\002\245\000\000\003\143\000_\000\000\000\000\000\000\003\144\000\000\000\155\000\138\000\000\000\000\000\184\000\139\000\000\000\000\000\185\000\000\005\147\005n\005o\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000\140\006\007\001\145\000\000\000\000\000\141\000\000\003|\000\000\000\142\000\000\000_\000\000\000\140\002\247\000\000\001\174\004\204\000\141\003}\000\000\000\000\000\142\006\008\000\000\006\011\005n\005o\002\248\000\138\000\000\004\242\000\152\000\149\000\000\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\151\000\140\000\000\005p\000\153\000\000\000\141\005\166\004\207\000\000\000\142\004\243\000\000\004\230\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\193\000\151\000\202\000\000\000\203\000_\000\000\000\183\000\000\002\164\000\000\000\000\000\000\000\140\003\141\000\000\000\151\005p\000\141\003\142\000\138\000\000\000\142\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000_\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\003N\001G\000\000\000\000\000\000\000\151\000_\000a\002\134\000e\000\152\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\000\000\000\140\000\153\000\152\000\000\000\000\000\141\000\000\000\000\000\202\000\142\000\203\000\000\005\204\000\183\000\000\000g\000_\000\152\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\003l\003\131\000\000\000\000\000\197\003\255\000\200\000\201\000\000\000\155\000\151\000\000\000\153\000\184\000\000\000\000\000_\000\185\000\000\0060\004\163\000\000\000\155\000\157\000\152\001G\000\184\000\000\000\000\000\000\000\185\000\000\000\202\000\000\000\203\000\000\000\157\000\183\001G\000\000\000\000\000\000\000\000\004\244\000\000\000\155\000\153\000\000\000\000\003l\003\131\000\000\000\000\000\000\004\021\001\"\004\197\000\000\003n\000\177\000\155\000\000\003o\000\138\000\184\000_\000\000\000\147\000\185\004\163\001\027\000\154\000\000\000\000\000\157\000\000\001G\000\000\000\000\000_\000\000\004\203\000\000\000\000\000\000\000\000\000\138\000\152\0054\000\000\000\139\000\000\004\196\000\000\000\155\004\029\000\000\000\000\004\"\001\128\004:\000\197\004\031\000\200\000\201\004\197\000\000\003n\000\157\000\153\000\000\003o\000_\000a\002\140\000e\005\146\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\202\004\203\000\203\000\000\000\000\000\183\000\000\000\000\000\000\005\147\005n\005o\000\000\000\140\000\000\001\015\000\000\0016\000\141\000\000\000\000\000\000\000\142\000g\000\000\000\000\000\000\000\151\000\155\003|\000\000\000\000\000\184\000\000\000\000\000\000\000\185\003l\003\131\004\204\000\000\003}\000\157\000\000\001G\003l\003\131\000\000\000\000\001%\000\151\004\219\000\000\004\205\001\028\000\000\001\029\000\000\000\203\003\246\005\011\000\000\000\000\000\000\000\000\000\000\000\000\004N\000\000\000\000\000_\000\000\000\000\005p\002\164\003l\003\131\000\000\003|\000\000\004\207\000\000\000\000\004\212\000\000\004\230\003\140\000\000\004\204\000\000\003}\000\000\000\000\002\238\000\000\003n\000\000\003\246\004W\003o\000\000\002\238\004\205\003n\000\152\000\000\000\000\003o\003\141\000\000\003N\000\000\000\000\003\142\000\000\000\000\005\146\003\143\000\197\004\209\000\200\000\201\003\144\000\000\000\000\000\000\000\153\000\152\000\000\004\207\000\000\002\238\004\212\003n\004\230\003\140\000\000\003o\005\147\005n\005o\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\000\000\005\146\004T\001\012\000\000\003\141\003\136\000\000\000\000\000\000\003\142\000\000\000\000\002\193\003\143\000\000\002\216\000\000\000\000\003\144\000\000\000\000\000\155\005\147\005n\005o\000\184\001\015\005\209\0016\000\185\000\000\000\000\003\253\000\000\000\000\000\157\000\000\001G\003l\003\131\003\253\000\000\003|\000\000\000\155\000\000\000\000\004\002\000\000\005p\003|\004\003\000\000\000\000\003}\004\002\003l\003\131\000\187\004\003\003\246\004M\003}\000\000\000\000\000\000\004\005\000\000\000\140\004\021\003\253\000\000\002\198\000\000\004V\000\000\002\199\000\000\003\246\003\247\003|\000\000\004\007\000\000\000\000\004\002\005p\000\000\002\193\004\003\004\007\002\197\003}\000\000\002\238\000\000\003n\000\000\000\000\003\140\003o\005\146\000\000\0056\004\005\000\000\001g\003\140\001h\000\000\004\029\000\000\002\238\004\"\003n\004:\000\000\000\000\003o\000\000\004\007\003\141\000\000\005\147\005n\005o\003\142\000\000\000\000\003\141\003\143\000\000\000\000\000\000\003\142\003\144\000\000\003\140\003\143\000\000\000\000\000\000\000\000\003\144\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\003l\003\131\000\000\005\233\000\000\000\000\003\141\000\000\000\000\000\140\000\000\003\142\001i\003l\003\131\003\143\001j\002\212\000\000\000\000\003\144\000\000\003\246\004\001\000\000\000_\000a\002\145\000e\002\213\000\000\000\000\000\000\003\253\005p\003\246\004Y\000\000\000\000\000\000\005\231\000\000\000\000\003|\000\000\000\000\001w\000\000\004\002\000\000\000\000\003\253\004\003\000\000\000\000\003}\002\238\000\000\003n\003l\003\131\003|\003o\000\000\000\000\000g\004\002\004\005\000\000\002\238\004\003\003n\000\000\003}\000\000\003o\002\239\000\000\000\000\000\000\000\000\003\246\005$\004\007\000\000\004\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\003\019\003$\003\022\000\000\000\000\000\138\003\140\004\007\002\242\000\149\000\000\002\213\000\000\000\000\000\000\000\000\003l\003\131\000\000\006\007\000\000\002\238\000\000\003n\003\140\000\000\000\000\003o\003\141\001x\003\025\000\000\000\000\003\142\003l\003m\002\245\003\143\003\246\005&\000\000\006\008\003\144\006\011\005n\005o\003\141\006\031\000\000\000\138\000\000\003\142\000\000\000\147\003\253\003\143\000\000\000\000\000\000\000\000\003\144\000\140\003l\003\131\003|\000_\000\141\003\253\000\000\004\002\000\142\000\000\002\238\004\003\003n\000\000\003}\003|\003o\000\000\002\247\000\000\004\002\000\000\003\246\005(\004\003\000\000\004\005\003}\000\140\000\000\003n\000\000\002\248\000\000\003o\001\145\000\151\000\000\000\000\004\005\000\000\001\012\004\007\000\140\000\000\005p\000\000\000\000\000\141\001\176\000\000\003\253\000\142\000\000\000\000\004\007\002\238\000\000\003n\003\140\000\000\003|\003o\000\000\000\000\001\015\004\002\0016\000\000\000\000\004\003\000\000\003\140\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\141\000\000\000\000\000\000\004\005\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\000\000\003\142\000\138\004\007\003\253\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003|\000\152\000\000\000\138\000_\004\002\003\140\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\003|\000_\000\000\000\000\000\000\000\153\004\005\000\000\000\000\000\000\003\141\000\000\003}\000\000\000\000\003\142\000\000\000\000\003\253\003\143\0063\000\000\004\007\000\000\003\144\000\000\000\140\000\152\003|\000\000\000\154\000\141\000\000\004\002\000\000\000\142\000\000\004\003\000\000\003\140\003}\000\140\000\000\000\138\001W\000\000\000\141\000\147\000\000\000\153\000\142\000\000\004\005\000\155\000\000\000\000\000\000\000\000\001\130\000_\000\000\003\141\000\000\000\151\000\000\000\000\003\142\000\157\004\007\001\201\003\143\000\203\000\138\000\000\000\183\003\144\000\147\000\000\000\151\003\141\000\000\000\000\000\000\000\000\000\000\003\140\002\193\000\000\000_\002\197\000\000\000\000\000\000\003\156\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\000\000\000\000\141\000\185\000\000\003\141\000\142\000\000\000\000\000\157\003\142\000\000\000\000\000\138\003\143\000\000\000\000\000\147\000\000\003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000_\000\000\000\141\000\139\000\000\000\151\000\142\000\000\000\000\000\152\000\000\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\152\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\001\207\000\000\000\203\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\178\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\151\002\197\000\155\000\000\000\000\000\152\000\184\000\000\002\193\000\000\000\185\002\197\000\000\000\000\000\000\000\151\000\157\000\155\000\000\002\239\000\000\000\184\002\176\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\006\007\002\212\003\019\003\020\003\022\000\000\002\193\000\138\000\000\002\197\002\242\000\147\002\195\002\213\000\203\000\000\003\\\000\183\000\000\002\238\000\000\000\153\006\008\002\198\006\011\005n\005o\002\199\000\000\002\238\000\000\000\000\003\025\002\198\000\000\000\000\000\000\002\199\002\245\000\000\000\155\003^\000\152\000\203\000\184\000\138\000\183\002\193\000\185\000\147\002\197\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\003\\\000\000\000\000\002\238\000\140\000\153\000\000\002\198\000\000\000\141\000\155\002\199\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\153\000\000\000\000\002\247\000\157\003\176\000\000\000\203\000\000\005p\000\183\000\138\000\000\000\000\000\000\000\147\000\000\002\248\000\000\000\000\000\000\000\151\000\140\000\000\002\238\002\239\000\138\000\141\002\198\000\000\000\147\000\142\002\199\000\155\000\000\002\239\000\000\000\184\000\000\000\000\000\000\000\185\002\212\003\019\006r\003\022\000\138\000\157\000\155\000\000\000\147\002\242\002\212\000\000\002\213\003\026\000\000\000\000\000\000\000\151\000\000\002\242\000\189\000\000\002\213\000\000\000\000\000\140\002\239\000\000\000\000\000\000\000\141\003\025\000\000\000\000\000\142\000\000\000\000\002\245\000\000\000\000\000\140\003\028\000\000\002\212\000\000\000\141\003\026\002\245\0037\000\142\000\000\000\000\002\242\000\000\000\000\002\213\000\152\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\138\000\141\000\000\002\239\000\147\000\142\000\000\000\000\006:\002\234\003\028\000\000\000\000\000\151\000\153\000\000\002\245\002\247\003\166\000\000\002\212\003\"\003B\003\026\000\000\000\000\000\000\002\247\000\000\002\242\000\152\002\248\002\213\000\151\000\000\000\000\000\000\000\000\000\138\000\183\000\000\002\248\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\003\028\000\153\000\000\003!\000\000\000\140\002\245\000\000\000\000\002\247\000\141\000\155\000\000\000\000\000\142\000\184\003J\000\000\000\000\000\185\000\000\000\000\000\000\002\248\000\152\000\157\000\183\003\219\000\000\000\000\000\000\003Q\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\152\000\000\002\234\000\151\000\140\003\031\000\000\000\153\000\000\000\141\000\155\002\247\000\138\000\142\000\184\000\000\000\147\002\234\000\185\000\000\000\152\000\000\000\153\000\000\000\157\002\248\003\221\000\138\000\000\000\000\000\000\000\147\000\183\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\000\000\000\000\000\000\000\000\000\183\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\155\000\138\000\000\000\142\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\183\000\140\000\157\000\155\003\223\000\000\000\141\000\184\000\000\000\000\000\142\000\185\000\000\000\152\000\000\000\000\000\140\000\157\000\000\000\151\000\000\000\141\000\000\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\182\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\000\000\000\000\000\000\000\000\138\000\000\000\140\000\000\000\147\000\000\000\000\000\141\000\152\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\140\000\000\000\000\000\000\000\000\000\141\003l\003m\004-\000\142\001g\000\000\001h\000\000\000\182\000\000\000\152\000\000\000\151\000\153\000\000\000\000\000\155\0046\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\002\234\000\000\000\000\000\157\000\151\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\002\234\000\000\000\000\000\000\004>\000\153\000\000\000\138\000\000\000\138\000\000\000\147\000\152\000\147\000\140\000\183\003n\000\000\000\140\000\155\003o\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\002\234\000\183\000\000\000\000\000\157\000\153\000\000\000\000\000\000\000\155\004\168\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\152\000\000\000\147\000\000\000\000\000\157\000\155\000\000\001w\000\000\000\184\004\180\000\183\000\000\000\185\000\000\000\140\002\234\000\140\000\152\000\157\000\141\000\153\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\002\234\000\000\000\000\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\151\000\140\000\151\000\000\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\003|\000\155\000\000\000\000\000\138\000\184\000\000\000\000\000\147\000\185\000\000\000\000\003}\000\000\000\000\000\157\001x\000\000\000\000\000\000\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\000\000\000\157\000\000\000\000\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\141\000\000\000\000\004\185\000\142\004\192\000\000\000\000\000\000\000\000\000\140\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\002\234\003\141\002\234\000\140\000\151\000\153\001\145\000\153\000\141\000\000\000\000\000\000\000\142\004\201\000\000\003\158\000\000\000\000\000\000\000\151\001\178\000\152\000\138\000\000\000\000\000\000\000\147\000\000\003l\003m\000\183\000\000\000\183\000\000\000\000\000\000\006N\000\000\002\234\000\000\000\151\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\140\000\000\003n\000\000\000\000\000\155\003o\000\155\000\000\000\184\000\000\000\184\000\138\000\185\000\000\000\185\000\147\000\000\000\000\000\157\000\183\000\157\000\000\000\000\000\000\004\223\006\174\000\000\000\138\000\000\000\140\000\000\000\147\000\152\000\000\000\141\000\140\000\000\003n\000\142\004\228\000\000\003o\000\155\000\000\000\000\000\000\000\184\000\152\000\000\002\234\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\004\235\000\000\000\000\000\000\002\234\000\000\000\151\000\140\000\152\000\153\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\000\000\000\140\000\000\002\234\000\000\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\003}\000\138\000\183\000\157\000\155\000\147\000\000\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\000\000\000\000\142\003|\000\155\000\000\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\003}\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006O\000\000\000\000\000\140\000\151\000\153\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\003\141\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\003\160\000\000\000\140\000\152\006O\000\000\000\151\000\141\000\000\000\153\000\000\000\142\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\155\001K\000\000\003\141\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\140\003\162\000\000\000\000\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\183\000\140\000\000\000\000\000\138\000\000\000\141\000\155\000\147\000\000\000\142\000\184\000\000\000\000\001q\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\000\000\152\000\147\000\000\000\000\000\157\000\151\000\000\000\152\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\153\000\000\001\185\000\000\000\000\000\140\000\000\000\153\000\000\000\138\000\141\000\152\000\155\000\147\000\142\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\183\000\157\000\000\002\155\000\000\000\000\000\140\000\183\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\152\000\000\000\000\000\138\000\155\000\000\000\138\000\147\000\184\000\000\000\147\000\155\000\185\000\000\000\183\000\184\000\152\002\159\000\157\000\185\000\000\000\140\000\153\000\000\000\151\000\157\000\141\002\238\000\000\000\000\000\142\002\198\000\000\002\206\000\000\002\199\000\000\000\155\000\153\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\183\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\183\000\141\000\000\000\000\000\141\000\142\000\000\000\155\000\142\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\184\000\000\002\221\000\000\000\185\000\000\000\151\000\153\000\000\000\151\000\157\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\239\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\000\000\000\000\140\002\212\000\000\000\000\003\029\000\141\000\000\000\152\000\138\000\142\002\242\000\151\000\147\002\213\000\000\000\138\000\000\000\155\000\000\000\147\000\183\000\184\000\000\000\000\003v\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\151\002\245\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\183\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003\181\000\000\000\140\003\186\000\000\000\153\000\000\000\141\000\153\000\140\000\000\000\142\000\000\003 \000\141\000\155\000\000\000\000\000\142\000\184\002\247\000\138\000\000\000\185\000\000\000\147\000\152\000\000\000\138\000\157\000\183\000\000\000\147\000\183\002\248\000\000\000\000\000\000\000\000\000\151\000\000\000\138\000\000\003\190\000\000\000\147\000\151\000\000\000\153\000\000\000\000\000\000\000\152\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\000\000\000\000\157\000\000\003\211\000\157\000\000\000\000\000\183\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\000\000\000\000\000\155\000\140\000\000\000\183\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\151\000\000\000\152\000\147\000\000\000\000\000\000\000\151\000\155\000\152\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\000\003\250\000\151\000\147\000\157\000\000\000\153\000\000\004\156\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\193\000\151\000\000\002\197\000\000\000\000\000\138\000\155\000\140\000\000\000\147\000\184\000\152\000\141\000\155\000\185\000\138\000\142\000\184\000\152\000\149\000\157\000\185\000\000\000\000\000\000\000\000\000\151\000\157\005\002\000\000\000\140\000\152\003n\000\153\000\000\005\022\003o\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\151\000\000\000\000\000\000\005\024\000\000\000\000\000\000\000\000\000\153\000\000\002\238\000\000\000\000\000\183\002\198\000\000\000\140\000\000\002\199\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\140\003l\003m\000\000\000\000\000\141\000\152\000\183\000\000\000\142\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\138\005\026\000\157\000\185\000\149\000\151\000\153\000\000\000\155\000\157\000\152\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003l\003m\000\000\000\000\005 \000\152\000\000\000\138\000\183\000\153\000\000\000\139\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\000\000\005.\000\000\002\239\000\000\000\000\000\153\003}\000\000\000\000\000\155\000\000\000\140\000\183\000\184\000\000\000\000\000\141\000\185\000\000\002\212\000\142\000\000\002\244\000\157\003l\003m\000\000\000\000\002\242\000\000\000\183\002\213\000\000\000\000\000\140\000\155\003n\000\152\000\000\000\184\003o\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\151\000\157\000\142\000\000\000\000\000\155\005<\000\000\002\245\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\153\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\151\000\000\000\140\000\000\003n\000\000\000\183\000\000\003o\003\164\000\000\000\000\000\000\000\000\003|\000\000\000\154\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\000\000\003}\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\002\248\000\185\000\000\000\155\000\000\000\000\000\000\000\157\003\133\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\157\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\000\000\000\153\003}\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\003\141\000\154\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003|\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\155\000\000\000\000\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\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\000\000\155\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\003\174")) let semantic_action = [| @@ -1557,9 +1566,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1883 "parser_cocci_menhir.mly" +# 1952 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) -# 1563 "parser_cocci_menhir.ml" +# 1572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1578,14 +1587,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1584 "parser_cocci_menhir.ml" +# 1593 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1885 "parser_cocci_menhir.mly" +# 1954 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1593,7 +1602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1597 "parser_cocci_menhir.ml" +# 1606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1615,9 +1624,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1893 "parser_cocci_menhir.mly" +# 1962 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1621 "parser_cocci_menhir.ml" +# 1630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1637,9 +1646,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" +# 2006 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1643 "parser_cocci_menhir.ml" +# 1652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1659,9 +1668,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" +# 2007 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1665 "parser_cocci_menhir.ml" +# 1674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1681,9 +1690,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" +# 2008 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1687 "parser_cocci_menhir.ml" +# 1696 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1703,9 +1712,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1940 "parser_cocci_menhir.mly" +# 2009 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1709 "parser_cocci_menhir.ml" +# 1718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1727,9 +1736,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_ = -# 1284 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 1733 "parser_cocci_menhir.ml" +# 1742 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1759,17 +1768,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 1765 "parser_cocci_menhir.ml" +# 1774 "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_ = -# 1286 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1773 "parser_cocci_menhir.ml" +# 1782 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1799,17 +1808,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1805 "parser_cocci_menhir.ml" +# 1814 "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_ = -# 1288 "parser_cocci_menhir.mly" +# 1317 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1813 "parser_cocci_menhir.ml" +# 1822 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1839,17 +1848,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 1845 "parser_cocci_menhir.ml" +# 1854 "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_ = -# 1290 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1853 "parser_cocci_menhir.ml" +# 1862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1879,17 +1888,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 1885 "parser_cocci_menhir.ml" +# 1894 "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_ = -# 1292 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1893 "parser_cocci_menhir.ml" +# 1902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1919,17 +1928,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1925 "parser_cocci_menhir.ml" +# 1934 "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_ = -# 1294 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1933 "parser_cocci_menhir.ml" +# 1942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1959,17 +1968,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 1965 "parser_cocci_menhir.ml" +# 1974 "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_ = -# 1296 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 1973 "parser_cocci_menhir.ml" +# 1982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1999,17 +2008,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 2005 "parser_cocci_menhir.ml" +# 2014 "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_ = -# 1298 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2013 "parser_cocci_menhir.ml" +# 2022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2039,17 +2048,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 2045 "parser_cocci_menhir.ml" +# 2054 "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_ = -# 1300 "parser_cocci_menhir.mly" +# 1329 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2053 "parser_cocci_menhir.ml" +# 2062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2079,17 +2088,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 2085 "parser_cocci_menhir.ml" +# 2094 "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_ = -# 1302 "parser_cocci_menhir.mly" +# 1331 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2093 "parser_cocci_menhir.ml" +# 2102 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2119,17 +2128,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 2125 "parser_cocci_menhir.ml" +# 2134 "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_ = -# 1304 "parser_cocci_menhir.mly" +# 1333 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2133 "parser_cocci_menhir.ml" +# 2142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2159,17 +2168,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 2165 "parser_cocci_menhir.ml" +# 2174 "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_ = -# 1306 "parser_cocci_menhir.mly" +# 1335 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2173 "parser_cocci_menhir.ml" +# 2182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2199,17 +2208,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) -# 2205 "parser_cocci_menhir.ml" +# 2214 "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_ = -# 1308 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2213 "parser_cocci_menhir.ml" +# 2222 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2239,17 +2248,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (Data.clt) -# 2245 "parser_cocci_menhir.ml" +# 2254 "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_ = -# 1310 "parser_cocci_menhir.mly" +# 1339 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2253 "parser_cocci_menhir.ml" +# 2262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2271,9 +2280,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1284 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 2277 "parser_cocci_menhir.ml" +# 2286 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2303,17 +2312,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 2309 "parser_cocci_menhir.ml" +# 2318 "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_ = -# 1286 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2317 "parser_cocci_menhir.ml" +# 2326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2343,17 +2352,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2349 "parser_cocci_menhir.ml" +# 2358 "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_ = -# 1288 "parser_cocci_menhir.mly" +# 1317 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2357 "parser_cocci_menhir.ml" +# 2366 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2383,17 +2392,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 2389 "parser_cocci_menhir.ml" +# 2398 "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_ = -# 1290 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2397 "parser_cocci_menhir.ml" +# 2406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2423,17 +2432,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 2429 "parser_cocci_menhir.ml" +# 2438 "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_ = -# 1292 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2437 "parser_cocci_menhir.ml" +# 2446 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2463,17 +2472,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2469 "parser_cocci_menhir.ml" +# 2478 "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_ = -# 1294 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2477 "parser_cocci_menhir.ml" +# 2486 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2503,17 +2512,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2509 "parser_cocci_menhir.ml" +# 2518 "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_ = -# 1296 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2517 "parser_cocci_menhir.ml" +# 2526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2543,17 +2552,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 2549 "parser_cocci_menhir.ml" +# 2558 "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_ = -# 1298 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2557 "parser_cocci_menhir.ml" +# 2566 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2583,17 +2592,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 2589 "parser_cocci_menhir.ml" +# 2598 "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_ = -# 1300 "parser_cocci_menhir.mly" +# 1329 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2597 "parser_cocci_menhir.ml" +# 2606 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2623,17 +2632,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 2629 "parser_cocci_menhir.ml" +# 2638 "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_ = -# 1302 "parser_cocci_menhir.mly" +# 1331 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2637 "parser_cocci_menhir.ml" +# 2646 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2663,17 +2672,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 2669 "parser_cocci_menhir.ml" +# 2678 "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_ = -# 1304 "parser_cocci_menhir.mly" +# 1333 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2677 "parser_cocci_menhir.ml" +# 2686 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2703,17 +2712,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 2709 "parser_cocci_menhir.ml" +# 2718 "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_ = -# 1306 "parser_cocci_menhir.mly" +# 1335 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2717 "parser_cocci_menhir.ml" +# 2726 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2743,17 +2752,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) -# 2749 "parser_cocci_menhir.ml" +# 2758 "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_ = -# 1308 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2757 "parser_cocci_menhir.ml" +# 2766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2783,17 +2792,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (Data.clt) -# 2789 "parser_cocci_menhir.ml" +# 2798 "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_ = -# 1310 "parser_cocci_menhir.mly" +# 1339 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2797 "parser_cocci_menhir.ml" +# 2806 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2815,9 +2824,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_ = -# 1284 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 2821 "parser_cocci_menhir.ml" +# 2830 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2847,17 +2856,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 2853 "parser_cocci_menhir.ml" +# 2862 "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_ = -# 1286 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2861 "parser_cocci_menhir.ml" +# 2870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2887,17 +2896,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2893 "parser_cocci_menhir.ml" +# 2902 "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_ = -# 1288 "parser_cocci_menhir.mly" +# 1317 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2901 "parser_cocci_menhir.ml" +# 2910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2927,17 +2936,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 2933 "parser_cocci_menhir.ml" +# 2942 "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_ = -# 1290 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2941 "parser_cocci_menhir.ml" +# 2950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2967,17 +2976,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 2973 "parser_cocci_menhir.ml" +# 2982 "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_ = -# 1292 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2981 "parser_cocci_menhir.ml" +# 2990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3007,17 +3016,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3013 "parser_cocci_menhir.ml" +# 3022 "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_ = -# 1294 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3021 "parser_cocci_menhir.ml" +# 3030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3047,17 +3056,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3053 "parser_cocci_menhir.ml" +# 3062 "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_ = -# 1296 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3061 "parser_cocci_menhir.ml" +# 3070 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3087,17 +3096,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 3093 "parser_cocci_menhir.ml" +# 3102 "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_ = -# 1298 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3101 "parser_cocci_menhir.ml" +# 3110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3127,17 +3136,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 3133 "parser_cocci_menhir.ml" +# 3142 "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_ = -# 1300 "parser_cocci_menhir.mly" +# 1329 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3141 "parser_cocci_menhir.ml" +# 3150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3167,17 +3176,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 3173 "parser_cocci_menhir.ml" +# 3182 "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_ = -# 1302 "parser_cocci_menhir.mly" +# 1331 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3181 "parser_cocci_menhir.ml" +# 3190 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3207,17 +3216,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 3213 "parser_cocci_menhir.ml" +# 3222 "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_ = -# 1304 "parser_cocci_menhir.mly" +# 1333 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3221 "parser_cocci_menhir.ml" +# 3230 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3247,17 +3256,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 3253 "parser_cocci_menhir.ml" +# 3262 "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_ = -# 1306 "parser_cocci_menhir.mly" +# 1335 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3261 "parser_cocci_menhir.ml" +# 3270 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3287,17 +3296,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) -# 3293 "parser_cocci_menhir.ml" +# 3302 "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_ = -# 1308 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3301 "parser_cocci_menhir.ml" +# 3310 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3327,17 +3336,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (Data.clt) -# 3333 "parser_cocci_menhir.ml" +# 3342 "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_ = -# 1310 "parser_cocci_menhir.mly" +# 1339 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3341 "parser_cocci_menhir.ml" +# 3350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3359,9 +3368,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1284 "parser_cocci_menhir.mly" +# 1313 "parser_cocci_menhir.mly" ( _1 ) -# 3365 "parser_cocci_menhir.ml" +# 3374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3391,17 +3400,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 3397 "parser_cocci_menhir.ml" +# 3406 "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_ = -# 1286 "parser_cocci_menhir.mly" +# 1315 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3405 "parser_cocci_menhir.ml" +# 3414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3431,17 +3440,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 98 "parser_cocci_menhir.mly" +# 120 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3437 "parser_cocci_menhir.ml" +# 3446 "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_ = -# 1288 "parser_cocci_menhir.mly" +# 1317 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3445 "parser_cocci_menhir.ml" +# 3454 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3471,17 +3480,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 3477 "parser_cocci_menhir.ml" +# 3486 "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_ = -# 1290 "parser_cocci_menhir.mly" +# 1319 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3485 "parser_cocci_menhir.ml" +# 3494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3511,17 +3520,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 3517 "parser_cocci_menhir.ml" +# 3526 "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_ = -# 1292 "parser_cocci_menhir.mly" +# 1321 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3525 "parser_cocci_menhir.ml" +# 3534 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3551,17 +3560,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 97 "parser_cocci_menhir.mly" +# 119 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3557 "parser_cocci_menhir.ml" +# 3566 "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_ = -# 1294 "parser_cocci_menhir.mly" +# 1323 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3565 "parser_cocci_menhir.ml" +# 3574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3591,17 +3600,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 96 "parser_cocci_menhir.mly" +# 118 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3597 "parser_cocci_menhir.ml" +# 3606 "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_ = -# 1296 "parser_cocci_menhir.mly" +# 1325 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3605 "parser_cocci_menhir.ml" +# 3614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3631,17 +3640,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 3637 "parser_cocci_menhir.ml" +# 3646 "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_ = -# 1298 "parser_cocci_menhir.mly" +# 1327 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3645 "parser_cocci_menhir.ml" +# 3654 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3671,17 +3680,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 95 "parser_cocci_menhir.mly" +# 117 "parser_cocci_menhir.mly" (Data.clt) -# 3677 "parser_cocci_menhir.ml" +# 3686 "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_ = -# 1300 "parser_cocci_menhir.mly" +# 1329 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3685 "parser_cocci_menhir.ml" +# 3694 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3711,17 +3720,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 3717 "parser_cocci_menhir.ml" +# 3726 "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_ = -# 1302 "parser_cocci_menhir.mly" +# 1331 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3725 "parser_cocci_menhir.ml" +# 3734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3751,17 +3760,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 92 "parser_cocci_menhir.mly" +# 114 "parser_cocci_menhir.mly" (Data.clt) -# 3757 "parser_cocci_menhir.ml" +# 3766 "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_ = -# 1304 "parser_cocci_menhir.mly" +# 1333 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3765 "parser_cocci_menhir.ml" +# 3774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3791,17 +3800,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 93 "parser_cocci_menhir.mly" +# 115 "parser_cocci_menhir.mly" (Data.clt) -# 3797 "parser_cocci_menhir.ml" +# 3806 "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_ = -# 1306 "parser_cocci_menhir.mly" +# 1335 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3805 "parser_cocci_menhir.ml" +# 3814 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3831,17 +3840,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 91 "parser_cocci_menhir.mly" +# 113 "parser_cocci_menhir.mly" (Data.clt) -# 3837 "parser_cocci_menhir.ml" +# 3846 "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_ = -# 1308 "parser_cocci_menhir.mly" +# 1337 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3845 "parser_cocci_menhir.ml" +# 3854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3871,17 +3880,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in let _2 : ( -# 90 "parser_cocci_menhir.mly" +# 112 "parser_cocci_menhir.mly" (Data.clt) -# 3877 "parser_cocci_menhir.ml" +# 3886 "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_ = -# 1310 "parser_cocci_menhir.mly" +# 1339 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3885 "parser_cocci_menhir.ml" +# 3894 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3901,9 +3910,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 492 "parser_cocci_menhir.mly" +# 519 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) -# 3907 "parser_cocci_menhir.ml" +# 3916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3923,9 +3932,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 493 "parser_cocci_menhir.mly" +# 520 "parser_cocci_menhir.mly" ( Ast.OPT ) -# 3929 "parser_cocci_menhir.ml" +# 3938 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3945,9 +3954,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 494 "parser_cocci_menhir.mly" +# 521 "parser_cocci_menhir.mly" ( Ast.MULTI ) -# 3951 "parser_cocci_menhir.ml" +# 3960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3962,9 +3971,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_arity = -# 495 "parser_cocci_menhir.mly" +# 522 "parser_cocci_menhir.mly" ( Ast.NONE ) -# 3968 "parser_cocci_menhir.ml" +# 3977 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3993,22 +4002,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let r : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 3999 "parser_cocci_menhir.ml" +# 4008 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 4005 "parser_cocci_menhir.ml" +# 4014 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1091 "parser_cocci_menhir.mly" +# 1120 "parser_cocci_menhir.mly" ( (l,i,r) ) -# 4012 "parser_cocci_menhir.ml" +# 4021 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4030,9 +4039,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1256 "parser_cocci_menhir.mly" +# 1285 "parser_cocci_menhir.mly" ( _1 ) -# 4036 "parser_cocci_menhir.ml" +# 4045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4062,19 +4071,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 109 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4068 "parser_cocci_menhir.ml" +# 4077 "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_ = -# 1258 "parser_cocci_menhir.mly" +# 1287 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4078 "parser_cocci_menhir.ml" +# 4087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4104,19 +4113,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 4110 "parser_cocci_menhir.ml" +# 4119 "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_ = -# 1262 "parser_cocci_menhir.mly" +# 1291 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4120 "parser_cocci_menhir.ml" +# 4129 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4138,9 +4147,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1256 "parser_cocci_menhir.mly" +# 1285 "parser_cocci_menhir.mly" ( _1 ) -# 4144 "parser_cocci_menhir.ml" +# 4153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4170,19 +4179,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 109 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4176 "parser_cocci_menhir.ml" +# 4185 "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_ = -# 1258 "parser_cocci_menhir.mly" +# 1287 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4186 "parser_cocci_menhir.ml" +# 4195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4212,19 +4221,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 4218 "parser_cocci_menhir.ml" +# 4227 "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_ = -# 1262 "parser_cocci_menhir.mly" +# 1291 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4228 "parser_cocci_menhir.ml" +# 4237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4246,9 +4255,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1256 "parser_cocci_menhir.mly" +# 1285 "parser_cocci_menhir.mly" ( _1 ) -# 4252 "parser_cocci_menhir.ml" +# 4261 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4278,19 +4287,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 109 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4284 "parser_cocci_menhir.ml" +# 4293 "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__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1258 "parser_cocci_menhir.mly" +# 1287 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4294 "parser_cocci_menhir.ml" +# 4303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4320,19 +4329,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 4326 "parser_cocci_menhir.ml" +# 4335 "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__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1262 "parser_cocci_menhir.mly" +# 1291 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4336 "parser_cocci_menhir.ml" +# 4345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4354,9 +4363,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1267 "parser_cocci_menhir.mly" +# 1296 "parser_cocci_menhir.mly" ( _1 ) -# 4360 "parser_cocci_menhir.ml" +# 4369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4386,19 +4395,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 109 "parser_cocci_menhir.mly" +# 131 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4392 "parser_cocci_menhir.ml" +# 4401 "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 = -# 1269 "parser_cocci_menhir.mly" +# 1298 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4402 "parser_cocci_menhir.ml" +# 4411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4428,19 +4437,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_assign_expr_bis = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 4434 "parser_cocci_menhir.ml" +# 4443 "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 = -# 1273 "parser_cocci_menhir.mly" +# 1302 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4444 "parser_cocci_menhir.ml" +# 4453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4462,9 +4471,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1253 "parser_cocci_menhir.mly" +# 1282 "parser_cocci_menhir.mly" ( _1 ) -# 4468 "parser_cocci_menhir.ml" +# 4477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4486,9 +4495,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1253 "parser_cocci_menhir.mly" +# 1282 "parser_cocci_menhir.mly" ( _1 ) -# 4492 "parser_cocci_menhir.ml" +# 4501 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4510,9 +4519,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1253 "parser_cocci_menhir.mly" +# 1282 "parser_cocci_menhir.mly" ( _1 ) -# 4516 "parser_cocci_menhir.ml" +# 4525 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4542,22 +4551,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_fun_start = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4548 "parser_cocci_menhir.ml" +# 4557 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 4553 "parser_cocci_menhir.ml" +# 4562 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 955 "parser_cocci_menhir.mly" +# 984 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4561 "parser_cocci_menhir.ml" +# 4570 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4592,22 +4601,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _4 : 'tv_fun_start = Obj.magic _4 in let _3 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4598 "parser_cocci_menhir.ml" +# 4607 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 4604 "parser_cocci_menhir.ml" +# 4613 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 958 "parser_cocci_menhir.mly" +# 987 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4611 "parser_cocci_menhir.ml" +# 4620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4629,9 +4638,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1342 "parser_cocci_menhir.mly" ( _1 ) -# 4635 "parser_cocci_menhir.ml" +# 4644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4666,23 +4675,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 4672 "parser_cocci_menhir.ml" +# 4681 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4678 "parser_cocci_menhir.ml" +# 4687 "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_ = -# 1315 "parser_cocci_menhir.mly" +# 1344 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4686 "parser_cocci_menhir.ml" +# 4695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4704,9 +4713,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1342 "parser_cocci_menhir.mly" ( _1 ) -# 4710 "parser_cocci_menhir.ml" +# 4719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4741,23 +4750,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 4747 "parser_cocci_menhir.ml" +# 4756 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4753 "parser_cocci_menhir.ml" +# 4762 "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_ = -# 1315 "parser_cocci_menhir.mly" +# 1344 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4761 "parser_cocci_menhir.ml" +# 4770 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4779,9 +4788,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1342 "parser_cocci_menhir.mly" ( _1 ) -# 4785 "parser_cocci_menhir.ml" +# 4794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4816,23 +4825,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 4822 "parser_cocci_menhir.ml" +# 4831 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4828 "parser_cocci_menhir.ml" +# 4837 "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_ = -# 1315 "parser_cocci_menhir.mly" +# 1344 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4836 "parser_cocci_menhir.ml" +# 4845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4854,9 +4863,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1342 "parser_cocci_menhir.mly" ( _1 ) -# 4860 "parser_cocci_menhir.ml" +# 4869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4891,23 +4900,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 4897 "parser_cocci_menhir.ml" +# 4906 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 4903 "parser_cocci_menhir.ml" +# 4912 "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_ = -# 1315 "parser_cocci_menhir.mly" +# 1344 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4911 "parser_cocci_menhir.ml" +# 4920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4933,9 +4942,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_choose_iso = -# 238 "parser_cocci_menhir.mly" +# 260 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 4939 "parser_cocci_menhir.ml" +# 4948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4959,23 +4968,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 4965 "parser_cocci_menhir.ml" +# 4974 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 4970 "parser_cocci_menhir.ml" +# 4979 "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_ = -# 1678 "parser_cocci_menhir.mly" +# 1747 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 4979 "parser_cocci_menhir.ml" +# 4988 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5000,17 +5009,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 5006 "parser_cocci_menhir.ml" +# 5015 "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_ = -# 1682 "parser_cocci_menhir.mly" +# 1751 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5014 "parser_cocci_menhir.ml" +# 5023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5034,23 +5043,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 5040 "parser_cocci_menhir.ml" +# 5049 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 5045 "parser_cocci_menhir.ml" +# 5054 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1678 "parser_cocci_menhir.mly" +# 1747 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 5054 "parser_cocci_menhir.ml" +# 5063 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5075,17 +5084,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 5081 "parser_cocci_menhir.ml" +# 5090 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1682 "parser_cocci_menhir.mly" +# 1751 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5089 "parser_cocci_menhir.ml" +# 5098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5100,9 +5109,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_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1144 "parser_cocci_menhir.mly" +# 1173 "parser_cocci_menhir.mly" ( [] ) -# 5106 "parser_cocci_menhir.ml" +# 5115 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5130,9 +5139,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1146 "parser_cocci_menhir.mly" +# 1175 "parser_cocci_menhir.mly" ( (function dot_builder -> [dot_builder d])::r ) -# 5136 "parser_cocci_menhir.ml" +# 5145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5162,18 +5171,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in let c : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 5168 "parser_cocci_menhir.ml" +# 5177 "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__ = -# 1148 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5177 "parser_cocci_menhir.ml" +# 5186 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5188,9 +5197,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_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1152 "parser_cocci_menhir.mly" +# 1181 "parser_cocci_menhir.mly" ( [] ) -# 5194 "parser_cocci_menhir.ml" +# 5203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5220,18 +5229,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in let c : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 5226 "parser_cocci_menhir.ml" +# 5235 "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__ = -# 1154 "parser_cocci_menhir.mly" +# 1183 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5235 "parser_cocci_menhir.ml" +# 5244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5253,9 +5262,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5259 "parser_cocci_menhir.ml" +# 5268 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5277,9 +5286,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5283 "parser_cocci_menhir.ml" +# 5292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5301,9 +5310,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5307 "parser_cocci_menhir.ml" +# 5316 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5325,9 +5334,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5331 "parser_cocci_menhir.ml" +# 5340 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5349,9 +5358,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5355 "parser_cocci_menhir.ml" +# 5364 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5373,9 +5382,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5379 "parser_cocci_menhir.ml" +# 5388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5397,9 +5406,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5403 "parser_cocci_menhir.ml" +# 5412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5417,13 +5426,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_econstraint_re_or_not_eqe__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = -# 1915 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5427 "parser_cocci_menhir.ml" +# 5436 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5441,13 +5450,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_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_idconstraint_re_or_not_eqid__ = -# 1915 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5451 "parser_cocci_menhir.ml" +# 5460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5465,13 +5474,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_virt_re_or_not_eqid__ = Obj.magic _1 in + let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in - let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 1915 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5475 "parser_cocci_menhir.ml" +# 5484 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5489,13 +5498,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_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_seed_ = -# 1915 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5499 "parser_cocci_menhir.ml" +# 5508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5513,13 +5522,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_ceq__ = Obj.magic _1 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_x_eq_not_ceq__ = -# 1915 "parser_cocci_menhir.mly" + let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5523 "parser_cocci_menhir.ml" +# 5532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5541,9 +5550,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5547 "parser_cocci_menhir.ml" +# 5556 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5565,9 +5574,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 1915 "parser_cocci_menhir.mly" +# 1984 "parser_cocci_menhir.mly" ( _1 ) -# 5571 "parser_cocci_menhir.ml" +# 5580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5589,9 +5598,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_ = -# 1278 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( _1 ) -# 5595 "parser_cocci_menhir.ml" +# 5604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5631,24 +5640,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in let dd : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5637 "parser_cocci_menhir.ml" +# 5646 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5643 "parser_cocci_menhir.ml" +# 5652 "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_ = -# 1280 "parser_cocci_menhir.mly" +# 1309 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5652 "parser_cocci_menhir.ml" +# 5661 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5670,9 +5679,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_ = -# 1278 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( _1 ) -# 5676 "parser_cocci_menhir.ml" +# 5685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5712,24 +5721,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in let dd : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5718 "parser_cocci_menhir.ml" +# 5727 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5724 "parser_cocci_menhir.ml" +# 5733 "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_ = -# 1280 "parser_cocci_menhir.mly" +# 1309 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5733 "parser_cocci_menhir.ml" +# 5742 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5751,9 +5760,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1278 "parser_cocci_menhir.mly" +# 1307 "parser_cocci_menhir.mly" ( _1 ) -# 5757 "parser_cocci_menhir.ml" +# 5766 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5793,24 +5802,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in let dd : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5799 "parser_cocci_menhir.ml" +# 5808 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 5805 "parser_cocci_menhir.ml" +# 5814 "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_ = -# 1280 "parser_cocci_menhir.mly" +# 1309 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5814 "parser_cocci_menhir.ml" +# 5823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5829,16 +5838,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 54 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) -# 5835 "parser_cocci_menhir.ml" +# 5844 "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" +# 893 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5842 "parser_cocci_menhir.ml" +# 5851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5857,16 +5866,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 54 "parser_cocci_menhir.mly" +# 76 "parser_cocci_menhir.mly" (Data.clt) -# 5863 "parser_cocci_menhir.ml" +# 5872 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 865 "parser_cocci_menhir.mly" +# 894 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5870 "parser_cocci_menhir.ml" +# 5879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5881,9 +5890,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_continue_struct_decl_list = -# 616 "parser_cocci_menhir.mly" +# 643 "parser_cocci_menhir.mly" ( [] ) -# 5887 "parser_cocci_menhir.ml" +# 5896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5911,9 +5920,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 617 "parser_cocci_menhir.mly" +# 644 "parser_cocci_menhir.mly" ( _1@_2 ) -# 5917 "parser_cocci_menhir.ml" +# 5926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5935,9 +5944,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 618 "parser_cocci_menhir.mly" +# 645 "parser_cocci_menhir.mly" ( _1 ) -# 5941 "parser_cocci_menhir.ml" +# 5950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5967,14 +5976,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 5973 "parser_cocci_menhir.ml" +# 5982 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 5978 "parser_cocci_menhir.ml" +# 5987 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -5984,28 +5993,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 5990 "parser_cocci_menhir.ml" +# 5999 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 5996 "parser_cocci_menhir.ml" +# 6005 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6003 "parser_cocci_menhir.ml" +# 6012 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6009 "parser_cocci_menhir.ml" +# 6018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6035,14 +6044,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6041 "parser_cocci_menhir.ml" +# 6050 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6046 "parser_cocci_menhir.ml" +# 6055 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6052,28 +6061,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6058 "parser_cocci_menhir.ml" +# 6067 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6064 "parser_cocci_menhir.ml" +# 6073 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6071 "parser_cocci_menhir.ml" +# 6080 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6077 "parser_cocci_menhir.ml" +# 6086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6103,14 +6112,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6109 "parser_cocci_menhir.ml" +# 6118 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6114 "parser_cocci_menhir.ml" +# 6123 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6120,28 +6129,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6126 "parser_cocci_menhir.ml" +# 6135 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6132 "parser_cocci_menhir.ml" +# 6141 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6139 "parser_cocci_menhir.ml" +# 6148 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6145 "parser_cocci_menhir.ml" +# 6154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6171,14 +6180,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6177 "parser_cocci_menhir.ml" +# 6186 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6182 "parser_cocci_menhir.ml" +# 6191 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6188,29 +6197,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6195 "parser_cocci_menhir.ml" +# 6204 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6201 "parser_cocci_menhir.ml" +# 6210 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6208 "parser_cocci_menhir.ml" +# 6217 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6214 "parser_cocci_menhir.ml" +# 6223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6249,19 +6258,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 6255 "parser_cocci_menhir.ml" +# 6264 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 6260 "parser_cocci_menhir.ml" +# 6269 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6265 "parser_cocci_menhir.ml" +# 6274 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6273,33 +6282,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 6284 "parser_cocci_menhir.ml" +# 6293 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6290 "parser_cocci_menhir.ml" +# 6299 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6297 "parser_cocci_menhir.ml" +# 6306 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6303 "parser_cocci_menhir.ml" +# 6312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6329,14 +6338,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6335 "parser_cocci_menhir.ml" +# 6344 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6340 "parser_cocci_menhir.ml" +# 6349 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6346,28 +6355,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6352 "parser_cocci_menhir.ml" +# 6361 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6358 "parser_cocci_menhir.ml" +# 6367 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6365 "parser_cocci_menhir.ml" +# 6374 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6371 "parser_cocci_menhir.ml" +# 6380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6402,19 +6411,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6408 "parser_cocci_menhir.ml" +# 6417 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6413 "parser_cocci_menhir.ml" +# 6422 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6418 "parser_cocci_menhir.ml" +# 6427 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6426,31 +6435,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6435 "parser_cocci_menhir.ml" +# 6444 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6441 "parser_cocci_menhir.ml" +# 6450 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6448 "parser_cocci_menhir.ml" +# 6457 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6454 "parser_cocci_menhir.ml" +# 6463 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6480,14 +6489,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6486 "parser_cocci_menhir.ml" +# 6495 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6491 "parser_cocci_menhir.ml" +# 6500 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6497,28 +6506,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6503 "parser_cocci_menhir.ml" +# 6512 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6509 "parser_cocci_menhir.ml" +# 6518 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6516 "parser_cocci_menhir.ml" +# 6525 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6522 "parser_cocci_menhir.ml" +# 6531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6548,14 +6557,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6554 "parser_cocci_menhir.ml" +# 6563 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6559 "parser_cocci_menhir.ml" +# 6568 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6565,28 +6574,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6571 "parser_cocci_menhir.ml" +# 6580 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6577 "parser_cocci_menhir.ml" +# 6586 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6584 "parser_cocci_menhir.ml" +# 6593 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6590 "parser_cocci_menhir.ml" +# 6599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6616,14 +6625,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6622 "parser_cocci_menhir.ml" +# 6631 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6627 "parser_cocci_menhir.ml" +# 6636 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6633,28 +6642,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6639 "parser_cocci_menhir.ml" +# 6648 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6645 "parser_cocci_menhir.ml" +# 6654 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6652 "parser_cocci_menhir.ml" +# 6661 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6658 "parser_cocci_menhir.ml" +# 6667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6684,14 +6693,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6690 "parser_cocci_menhir.ml" +# 6699 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6695 "parser_cocci_menhir.ml" +# 6704 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6701,29 +6710,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6708 "parser_cocci_menhir.ml" +# 6717 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6714 "parser_cocci_menhir.ml" +# 6723 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6721 "parser_cocci_menhir.ml" +# 6730 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6727 "parser_cocci_menhir.ml" +# 6736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6762,19 +6771,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 6768 "parser_cocci_menhir.ml" +# 6777 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 6773 "parser_cocci_menhir.ml" +# 6782 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6778 "parser_cocci_menhir.ml" +# 6787 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6786,33 +6795,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 6797 "parser_cocci_menhir.ml" +# 6806 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6803 "parser_cocci_menhir.ml" +# 6812 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6810 "parser_cocci_menhir.ml" +# 6819 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6816 "parser_cocci_menhir.ml" +# 6825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6842,14 +6851,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6848 "parser_cocci_menhir.ml" +# 6857 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6853 "parser_cocci_menhir.ml" +# 6862 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6859,28 +6868,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6865 "parser_cocci_menhir.ml" +# 6874 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6871 "parser_cocci_menhir.ml" +# 6880 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6878 "parser_cocci_menhir.ml" +# 6887 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6884 "parser_cocci_menhir.ml" +# 6893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6915,19 +6924,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6921 "parser_cocci_menhir.ml" +# 6930 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6926 "parser_cocci_menhir.ml" +# 6935 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 6931 "parser_cocci_menhir.ml" +# 6940 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6939,31 +6948,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6948 "parser_cocci_menhir.ml" +# 6957 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6954 "parser_cocci_menhir.ml" +# 6963 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6961 "parser_cocci_menhir.ml" +# 6970 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6967 "parser_cocci_menhir.ml" +# 6976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6988,9 +6997,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 6994 "parser_cocci_menhir.ml" +# 7003 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -6999,28 +7008,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7005 "parser_cocci_menhir.ml" +# 7014 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7011 "parser_cocci_menhir.ml" +# 7020 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7018 "parser_cocci_menhir.ml" +# 7027 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7024 "parser_cocci_menhir.ml" +# 7033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7045,9 +7054,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7051 "parser_cocci_menhir.ml" +# 7060 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7056,28 +7065,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7062 "parser_cocci_menhir.ml" +# 7071 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7068 "parser_cocci_menhir.ml" +# 7077 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7075 "parser_cocci_menhir.ml" +# 7084 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7081 "parser_cocci_menhir.ml" +# 7090 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7102,9 +7111,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7108 "parser_cocci_menhir.ml" +# 7117 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7113,28 +7122,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7119 "parser_cocci_menhir.ml" +# 7128 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7125 "parser_cocci_menhir.ml" +# 7134 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7132 "parser_cocci_menhir.ml" +# 7141 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7138 "parser_cocci_menhir.ml" +# 7147 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7159,9 +7168,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7165 "parser_cocci_menhir.ml" +# 7174 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -7170,29 +7179,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7177 "parser_cocci_menhir.ml" +# 7186 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7183 "parser_cocci_menhir.ml" +# 7192 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7190 "parser_cocci_menhir.ml" +# 7199 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7196 "parser_cocci_menhir.ml" +# 7205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7226,14 +7235,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 7232 "parser_cocci_menhir.ml" +# 7241 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 7237 "parser_cocci_menhir.ml" +# 7246 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -7244,33 +7253,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 7255 "parser_cocci_menhir.ml" +# 7264 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7261 "parser_cocci_menhir.ml" +# 7270 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7268 "parser_cocci_menhir.ml" +# 7277 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7274 "parser_cocci_menhir.ml" +# 7283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7295,9 +7304,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7301 "parser_cocci_menhir.ml" +# 7310 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7306,28 +7315,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7312 "parser_cocci_menhir.ml" +# 7321 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7318 "parser_cocci_menhir.ml" +# 7327 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7325 "parser_cocci_menhir.ml" +# 7334 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7331 "parser_cocci_menhir.ml" +# 7340 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7357,14 +7366,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7363 "parser_cocci_menhir.ml" +# 7372 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7368 "parser_cocci_menhir.ml" +# 7377 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -7375,31 +7384,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7384 "parser_cocci_menhir.ml" +# 7393 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 7390 "parser_cocci_menhir.ml" +# 7399 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7397 "parser_cocci_menhir.ml" +# 7406 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7403 "parser_cocci_menhir.ml" +# 7412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7424,9 +7433,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" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 7430 "parser_cocci_menhir.ml" +# 7439 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7435,28 +7444,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 528 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 7441 "parser_cocci_menhir.ml" +# 7450 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7447 "parser_cocci_menhir.ml" +# 7456 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7454 "parser_cocci_menhir.ml" +# 7463 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7460 "parser_cocci_menhir.ml" +# 7469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7481,9 +7490,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7487 "parser_cocci_menhir.ml" +# 7496 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7492,28 +7501,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 530 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 7498 "parser_cocci_menhir.ml" +# 7507 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7504 "parser_cocci_menhir.ml" +# 7513 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7511 "parser_cocci_menhir.ml" +# 7520 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7517 "parser_cocci_menhir.ml" +# 7526 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7538,9 +7547,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 7544 "parser_cocci_menhir.ml" +# 7553 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7549,28 +7558,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 532 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 7555 "parser_cocci_menhir.ml" +# 7564 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7561 "parser_cocci_menhir.ml" +# 7570 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7568 "parser_cocci_menhir.ml" +# 7577 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7574 "parser_cocci_menhir.ml" +# 7583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7601,9 +7610,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 7607 "parser_cocci_menhir.ml" +# 7616 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -7614,28 +7623,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 534 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 7620 "parser_cocci_menhir.ml" +# 7629 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7626 "parser_cocci_menhir.ml" +# 7635 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7633 "parser_cocci_menhir.ml" +# 7642 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7639 "parser_cocci_menhir.ml" +# 7648 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7675,28 +7684,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 536 "parser_cocci_menhir.mly" +# 563 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 7681 "parser_cocci_menhir.ml" +# 7690 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7687 "parser_cocci_menhir.ml" +# 7696 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7694 "parser_cocci_menhir.ml" +# 7703 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7700 "parser_cocci_menhir.ml" +# 7709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7736,15 +7745,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7742 "parser_cocci_menhir.ml" +# 7751 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7748 "parser_cocci_menhir.ml" +# 7757 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -7763,36 +7772,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 7767 "parser_cocci_menhir.ml" +# 7776 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 7777 "parser_cocci_menhir.ml" +# 7786 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7783 "parser_cocci_menhir.ml" +# 7792 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7790 "parser_cocci_menhir.ml" +# 7799 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7796 "parser_cocci_menhir.ml" +# 7805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7837,15 +7846,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7843 "parser_cocci_menhir.ml" +# 7852 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7849 "parser_cocci_menhir.ml" +# 7858 "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 @@ -7868,36 +7877,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 7872 "parser_cocci_menhir.ml" +# 7881 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 7882 "parser_cocci_menhir.ml" +# 7891 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7888 "parser_cocci_menhir.ml" +# 7897 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7895 "parser_cocci_menhir.ml" +# 7904 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7901 "parser_cocci_menhir.ml" +# 7910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7937,20 +7946,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7943 "parser_cocci_menhir.ml" +# 7952 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 7949 "parser_cocci_menhir.ml" +# 7958 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7954 "parser_cocci_menhir.ml" +# 7963 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -7965,30 +7974,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 545 "parser_cocci_menhir.mly" +# 572 "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)) ) -# 7973 "parser_cocci_menhir.ml" +# 7982 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 7979 "parser_cocci_menhir.ml" +# 7988 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7986 "parser_cocci_menhir.ml" +# 7995 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7992 "parser_cocci_menhir.ml" +# 8001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8013,9 +8022,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 8019 "parser_cocci_menhir.ml" +# 8028 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -8024,28 +8033,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 549 "parser_cocci_menhir.mly" +# 576 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 8030 "parser_cocci_menhir.ml" +# 8039 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 8036 "parser_cocci_menhir.ml" +# 8045 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8043 "parser_cocci_menhir.ml" +# 8052 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8049 "parser_cocci_menhir.ml" +# 8058 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8080,14 +8089,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8086 "parser_cocci_menhir.ml" +# 8095 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8091 "parser_cocci_menhir.ml" +# 8100 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8098,15 +8107,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8104 "parser_cocci_menhir.ml" +# 8113 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8110 "parser_cocci_menhir.ml" +# 8119 "parser_cocci_menhir.ml" in let cv = @@ -8114,13 +8123,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8118 "parser_cocci_menhir.ml" +# 8127 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8124 "parser_cocci_menhir.ml" +# 8133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8155,14 +8164,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8161 "parser_cocci_menhir.ml" +# 8170 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8166 "parser_cocci_menhir.ml" +# 8175 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8173,15 +8182,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8179 "parser_cocci_menhir.ml" +# 8188 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8185 "parser_cocci_menhir.ml" +# 8194 "parser_cocci_menhir.ml" in let cv = @@ -8189,13 +8198,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8193 "parser_cocci_menhir.ml" +# 8202 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8199 "parser_cocci_menhir.ml" +# 8208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8230,14 +8239,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8236 "parser_cocci_menhir.ml" +# 8245 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8241 "parser_cocci_menhir.ml" +# 8250 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8248,15 +8257,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8254 "parser_cocci_menhir.ml" +# 8263 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8260 "parser_cocci_menhir.ml" +# 8269 "parser_cocci_menhir.ml" in let cv = @@ -8264,13 +8273,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8268 "parser_cocci_menhir.ml" +# 8277 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8274 "parser_cocci_menhir.ml" +# 8283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8305,14 +8314,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8311 "parser_cocci_menhir.ml" +# 8320 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8316 "parser_cocci_menhir.ml" +# 8325 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8323,16 +8332,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8330 "parser_cocci_menhir.ml" +# 8339 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8336 "parser_cocci_menhir.ml" +# 8345 "parser_cocci_menhir.ml" in let cv = @@ -8340,13 +8349,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8344 "parser_cocci_menhir.ml" +# 8353 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8350 "parser_cocci_menhir.ml" +# 8359 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8390,19 +8399,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 8396 "parser_cocci_menhir.ml" +# 8405 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 8401 "parser_cocci_menhir.ml" +# 8410 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8406 "parser_cocci_menhir.ml" +# 8415 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8415,20 +8424,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 8426 "parser_cocci_menhir.ml" +# 8435 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8432 "parser_cocci_menhir.ml" +# 8441 "parser_cocci_menhir.ml" in let cv = @@ -8436,13 +8445,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8440 "parser_cocci_menhir.ml" +# 8449 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8446 "parser_cocci_menhir.ml" +# 8455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8477,14 +8486,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8483 "parser_cocci_menhir.ml" +# 8492 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8488 "parser_cocci_menhir.ml" +# 8497 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8495,15 +8504,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8501 "parser_cocci_menhir.ml" +# 8510 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8507 "parser_cocci_menhir.ml" +# 8516 "parser_cocci_menhir.ml" in let cv = @@ -8511,13 +8520,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8515 "parser_cocci_menhir.ml" +# 8524 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8521 "parser_cocci_menhir.ml" +# 8530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8557,19 +8566,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8563 "parser_cocci_menhir.ml" +# 8572 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8568 "parser_cocci_menhir.ml" +# 8577 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8573 "parser_cocci_menhir.ml" +# 8582 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8582,18 +8591,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8591 "parser_cocci_menhir.ml" +# 8600 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8597 "parser_cocci_menhir.ml" +# 8606 "parser_cocci_menhir.ml" in let cv = @@ -8601,13 +8610,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8605 "parser_cocci_menhir.ml" +# 8614 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8611 "parser_cocci_menhir.ml" +# 8620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8642,14 +8651,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8648 "parser_cocci_menhir.ml" +# 8657 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8653 "parser_cocci_menhir.ml" +# 8662 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8660,15 +8669,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8666 "parser_cocci_menhir.ml" +# 8675 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8672 "parser_cocci_menhir.ml" +# 8681 "parser_cocci_menhir.ml" in let cv = @@ -8676,13 +8685,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8680 "parser_cocci_menhir.ml" +# 8689 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8686 "parser_cocci_menhir.ml" +# 8695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8717,14 +8726,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8723 "parser_cocci_menhir.ml" +# 8732 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8728 "parser_cocci_menhir.ml" +# 8737 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8735,15 +8744,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8741 "parser_cocci_menhir.ml" +# 8750 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8747 "parser_cocci_menhir.ml" +# 8756 "parser_cocci_menhir.ml" in let cv = @@ -8751,13 +8760,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8755 "parser_cocci_menhir.ml" +# 8764 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8761 "parser_cocci_menhir.ml" +# 8770 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8792,14 +8801,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 8798 "parser_cocci_menhir.ml" +# 8807 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8803 "parser_cocci_menhir.ml" +# 8812 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8810,15 +8819,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8816 "parser_cocci_menhir.ml" +# 8825 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8822 "parser_cocci_menhir.ml" +# 8831 "parser_cocci_menhir.ml" in let cv = @@ -8826,13 +8835,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8830 "parser_cocci_menhir.ml" +# 8839 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8836 "parser_cocci_menhir.ml" +# 8845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8867,14 +8876,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8873 "parser_cocci_menhir.ml" +# 8882 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8878 "parser_cocci_menhir.ml" +# 8887 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8885,16 +8894,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8892 "parser_cocci_menhir.ml" +# 8901 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8898 "parser_cocci_menhir.ml" +# 8907 "parser_cocci_menhir.ml" in let cv = @@ -8902,13 +8911,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8906 "parser_cocci_menhir.ml" +# 8915 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8912 "parser_cocci_menhir.ml" +# 8921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8952,19 +8961,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 8958 "parser_cocci_menhir.ml" +# 8967 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 8963 "parser_cocci_menhir.ml" +# 8972 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 8968 "parser_cocci_menhir.ml" +# 8977 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8977,20 +8986,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 8988 "parser_cocci_menhir.ml" +# 8997 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8994 "parser_cocci_menhir.ml" +# 9003 "parser_cocci_menhir.ml" in let cv = @@ -8998,13 +9007,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9002 "parser_cocci_menhir.ml" +# 9011 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9008 "parser_cocci_menhir.ml" +# 9017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9039,14 +9048,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9045 "parser_cocci_menhir.ml" +# 9054 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 9050 "parser_cocci_menhir.ml" +# 9059 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9057,15 +9066,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9063 "parser_cocci_menhir.ml" +# 9072 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9069 "parser_cocci_menhir.ml" +# 9078 "parser_cocci_menhir.ml" in let cv = @@ -9073,13 +9082,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9077 "parser_cocci_menhir.ml" +# 9086 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9083 "parser_cocci_menhir.ml" +# 9092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9119,19 +9128,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9125 "parser_cocci_menhir.ml" +# 9134 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9130 "parser_cocci_menhir.ml" +# 9139 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 9135 "parser_cocci_menhir.ml" +# 9144 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9144,18 +9153,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9153 "parser_cocci_menhir.ml" +# 9162 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9159 "parser_cocci_menhir.ml" +# 9168 "parser_cocci_menhir.ml" in let cv = @@ -9163,13 +9172,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9167 "parser_cocci_menhir.ml" +# 9176 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9173 "parser_cocci_menhir.ml" +# 9182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9199,9 +9208,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9205 "parser_cocci_menhir.ml" +# 9214 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9211,15 +9220,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9217 "parser_cocci_menhir.ml" +# 9226 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9223 "parser_cocci_menhir.ml" +# 9232 "parser_cocci_menhir.ml" in let cv = @@ -9227,13 +9236,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9231 "parser_cocci_menhir.ml" +# 9240 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9237 "parser_cocci_menhir.ml" +# 9246 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9263,9 +9272,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9269 "parser_cocci_menhir.ml" +# 9278 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9275,15 +9284,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9281 "parser_cocci_menhir.ml" +# 9290 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9287 "parser_cocci_menhir.ml" +# 9296 "parser_cocci_menhir.ml" in let cv = @@ -9291,13 +9300,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9295 "parser_cocci_menhir.ml" +# 9304 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9301 "parser_cocci_menhir.ml" +# 9310 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9327,9 +9336,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9333 "parser_cocci_menhir.ml" +# 9342 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9339,15 +9348,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9345 "parser_cocci_menhir.ml" +# 9354 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9351 "parser_cocci_menhir.ml" +# 9360 "parser_cocci_menhir.ml" in let cv = @@ -9355,13 +9364,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9359 "parser_cocci_menhir.ml" +# 9368 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9365 "parser_cocci_menhir.ml" +# 9374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9391,9 +9400,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9397 "parser_cocci_menhir.ml" +# 9406 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9403,16 +9412,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9410 "parser_cocci_menhir.ml" +# 9419 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9416 "parser_cocci_menhir.ml" +# 9425 "parser_cocci_menhir.ml" in let cv = @@ -9420,13 +9429,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9424 "parser_cocci_menhir.ml" +# 9433 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9430 "parser_cocci_menhir.ml" +# 9439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9465,14 +9474,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 9471 "parser_cocci_menhir.ml" +# 9480 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 9476 "parser_cocci_menhir.ml" +# 9485 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9484,20 +9493,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 9495 "parser_cocci_menhir.ml" +# 9504 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9501 "parser_cocci_menhir.ml" +# 9510 "parser_cocci_menhir.ml" in let cv = @@ -9505,13 +9514,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9509 "parser_cocci_menhir.ml" +# 9518 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9515 "parser_cocci_menhir.ml" +# 9524 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9541,9 +9550,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9547 "parser_cocci_menhir.ml" +# 9556 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9553,15 +9562,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9559 "parser_cocci_menhir.ml" +# 9568 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9565 "parser_cocci_menhir.ml" +# 9574 "parser_cocci_menhir.ml" in let cv = @@ -9569,13 +9578,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9573 "parser_cocci_menhir.ml" +# 9582 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9579 "parser_cocci_menhir.ml" +# 9588 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9610,14 +9619,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9616 "parser_cocci_menhir.ml" +# 9625 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9621 "parser_cocci_menhir.ml" +# 9630 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9629,18 +9638,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9638 "parser_cocci_menhir.ml" +# 9647 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 9644 "parser_cocci_menhir.ml" +# 9653 "parser_cocci_menhir.ml" in let cv = @@ -9648,13 +9657,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9652 "parser_cocci_menhir.ml" +# 9661 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9658 "parser_cocci_menhir.ml" +# 9667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9684,9 +9693,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" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 9690 "parser_cocci_menhir.ml" +# 9699 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9696,15 +9705,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 528 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9702 "parser_cocci_menhir.ml" +# 9711 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 9708 "parser_cocci_menhir.ml" +# 9717 "parser_cocci_menhir.ml" in let cv = @@ -9712,13 +9721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9716 "parser_cocci_menhir.ml" +# 9725 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9722 "parser_cocci_menhir.ml" +# 9731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9748,9 +9757,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9754 "parser_cocci_menhir.ml" +# 9763 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9760,15 +9769,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 530 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9766 "parser_cocci_menhir.ml" +# 9775 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 9772 "parser_cocci_menhir.ml" +# 9781 "parser_cocci_menhir.ml" in let cv = @@ -9776,13 +9785,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9780 "parser_cocci_menhir.ml" +# 9789 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9786 "parser_cocci_menhir.ml" +# 9795 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9812,9 +9821,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 9818 "parser_cocci_menhir.ml" +# 9827 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9824,15 +9833,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 532 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9830 "parser_cocci_menhir.ml" +# 9839 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 9836 "parser_cocci_menhir.ml" +# 9845 "parser_cocci_menhir.ml" in let cv = @@ -9840,13 +9849,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9844 "parser_cocci_menhir.ml" +# 9853 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9850 "parser_cocci_menhir.ml" +# 9859 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9882,9 +9891,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 9888 "parser_cocci_menhir.ml" +# 9897 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9896,15 +9905,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 534 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 9902 "parser_cocci_menhir.ml" +# 9911 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 9908 "parser_cocci_menhir.ml" +# 9917 "parser_cocci_menhir.ml" in let cv = @@ -9912,13 +9921,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9916 "parser_cocci_menhir.ml" +# 9925 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9922 "parser_cocci_menhir.ml" +# 9931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9964,15 +9973,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 536 "parser_cocci_menhir.mly" +# 563 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 9970 "parser_cocci_menhir.ml" +# 9979 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 9976 "parser_cocci_menhir.ml" +# 9985 "parser_cocci_menhir.ml" in let cv = @@ -9980,13 +9989,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9984 "parser_cocci_menhir.ml" +# 9993 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9990 "parser_cocci_menhir.ml" +# 9999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10031,15 +10040,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10037 "parser_cocci_menhir.ml" +# 10046 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10043 "parser_cocci_menhir.ml" +# 10052 "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 @@ -10059,23 +10068,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 10063 "parser_cocci_menhir.ml" +# 10072 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 10073 "parser_cocci_menhir.ml" +# 10082 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 10079 "parser_cocci_menhir.ml" +# 10088 "parser_cocci_menhir.ml" in let cv = @@ -10083,13 +10092,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10087 "parser_cocci_menhir.ml" +# 10096 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10093 "parser_cocci_menhir.ml" +# 10102 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10139,15 +10148,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10145 "parser_cocci_menhir.ml" +# 10154 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10151 "parser_cocci_menhir.ml" +# 10160 "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 @@ -10171,23 +10180,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10175 "parser_cocci_menhir.ml" +# 10184 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 10185 "parser_cocci_menhir.ml" +# 10194 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 10191 "parser_cocci_menhir.ml" +# 10200 "parser_cocci_menhir.ml" in let cv = @@ -10195,13 +10204,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10199 "parser_cocci_menhir.ml" +# 10208 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10205 "parser_cocci_menhir.ml" +# 10214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10246,20 +10255,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10252 "parser_cocci_menhir.ml" +# 10261 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 10258 "parser_cocci_menhir.ml" +# 10267 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10263 "parser_cocci_menhir.ml" +# 10272 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10275,17 +10284,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 545 "parser_cocci_menhir.mly" +# 572 "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)) ) -# 10283 "parser_cocci_menhir.ml" +# 10292 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 10289 "parser_cocci_menhir.ml" +# 10298 "parser_cocci_menhir.ml" in let cv = @@ -10293,13 +10302,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10297 "parser_cocci_menhir.ml" +# 10306 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10303 "parser_cocci_menhir.ml" +# 10312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10329,9 +10338,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 10335 "parser_cocci_menhir.ml" +# 10344 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10341,15 +10350,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 549 "parser_cocci_menhir.mly" +# 576 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10347 "parser_cocci_menhir.ml" +# 10356 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 10353 "parser_cocci_menhir.ml" +# 10362 "parser_cocci_menhir.ml" in let cv = @@ -10357,13 +10366,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10361 "parser_cocci_menhir.ml" +# 10370 "parser_cocci_menhir.ml" in -# 562 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10367 "parser_cocci_menhir.ml" +# 10376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10382,16 +10391,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 10388 "parser_cocci_menhir.ml" +# 10397 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 564 "parser_cocci_menhir.mly" +# 591 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 10395 "parser_cocci_menhir.ml" +# 10404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10410,16 +10419,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let r : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 10416 "parser_cocci_menhir.ml" +# 10425 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 566 "parser_cocci_menhir.mly" +# 593 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 10423 "parser_cocci_menhir.ml" +# 10432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10448,24 +10457,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 10454 "parser_cocci_menhir.ml" +# 10463 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 10460 "parser_cocci_menhir.ml" +# 10469 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 568 "parser_cocci_menhir.mly" +# 595 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 10469 "parser_cocci_menhir.ml" +# 10478 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10493,7 +10502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1082 "parser_cocci_menhir.mly" +# 1111 "parser_cocci_menhir.mly" ( (_1, function t -> List.fold_right @@ -10502,7 +10511,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) _2 t) ) -# 10506 "parser_cocci_menhir.ml" +# 10515 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10530,9 +10539,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_i_ in let _v : 'tv_decl = -# 838 "parser_cocci_menhir.mly" +# 867 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 10536 "parser_cocci_menhir.ml" +# 10545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10554,9 +10563,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 839 "parser_cocci_menhir.mly" +# 868 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 10560 "parser_cocci_menhir.ml" +# 10569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10610,44 +10619,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 10616 "parser_cocci_menhir.ml" +# 10625 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 10622 "parser_cocci_menhir.ml" +# 10631 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 10627 "parser_cocci_menhir.ml" +# 10636 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_ident = Obj.magic i in let s : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 10633 "parser_cocci_menhir.ml" +# 10642 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 10638 "parser_cocci_menhir.ml" +# 10647 "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 = -# 842 "parser_cocci_menhir.mly" +# 871 "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)) ) -# 10651 "parser_cocci_menhir.ml" +# 10660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10666,17 +10675,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10672 "parser_cocci_menhir.ml" +# 10681 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 849 "parser_cocci_menhir.mly" +# 878 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 10680 "parser_cocci_menhir.ml" +# 10689 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10695,16 +10704,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 10701 "parser_cocci_menhir.ml" +# 10710 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1627 "parser_cocci_menhir.mly" +# 1696 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 10708 "parser_cocci_menhir.ml" +# 10717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10723,17 +10732,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 10729 "parser_cocci_menhir.ml" +# 10738 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1629 "parser_cocci_menhir.mly" +# 1698 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 10737 "parser_cocci_menhir.ml" +# 10746 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10748,9 +10757,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_decl_list_decl_ = -# 1649 "parser_cocci_menhir.mly" +# 1718 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10754 "parser_cocci_menhir.ml" +# 10763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10772,13 +10781,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1651 "parser_cocci_menhir.mly" +# 1720 "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)) ) -# 10782 "parser_cocci_menhir.ml" +# 10791 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10793,9 +10802,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_decl_list_name_opt_decl_ = -# 1649 "parser_cocci_menhir.mly" +# 1718 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10799 "parser_cocci_menhir.ml" +# 10808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10817,13 +10826,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_name_opt_decl_ = -# 1651 "parser_cocci_menhir.mly" +# 1720 "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)) ) -# 10827 "parser_cocci_menhir.ml" +# 10836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10845,9 +10854,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_decl_ = -# 1658 "parser_cocci_menhir.mly" +# 1727 "parser_cocci_menhir.mly" ( [_1] ) -# 10851 "parser_cocci_menhir.ml" +# 10860 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10877,17 +10886,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 10883 "parser_cocci_menhir.ml" +# 10892 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1729 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10891 "parser_cocci_menhir.ml" +# 10900 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10912,17 +10921,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 10918 "parser_cocci_menhir.ml" +# 10927 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_decl_list_start_decl_ = -# 1662 "parser_cocci_menhir.mly" +# 1731 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10926 "parser_cocci_menhir.ml" +# 10935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10944,9 +10953,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1658 "parser_cocci_menhir.mly" +# 1727 "parser_cocci_menhir.mly" ( [_1] ) -# 10950 "parser_cocci_menhir.ml" +# 10959 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10976,17 +10985,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 10982 "parser_cocci_menhir.ml" +# 10991 "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_ = -# 1660 "parser_cocci_menhir.mly" +# 1729 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10990 "parser_cocci_menhir.ml" +# 10999 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11011,17 +11020,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 11017 "parser_cocci_menhir.ml" +# 11026 "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_ = -# 1662 "parser_cocci_menhir.mly" +# 1731 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 11025 "parser_cocci_menhir.ml" +# 11034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11040,17 +11049,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11046 "parser_cocci_menhir.ml" +# 11055 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1160 "parser_cocci_menhir.mly" +# 1189 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11054 "parser_cocci_menhir.ml" +# 11063 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11072,13 +11081,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1163 "parser_cocci_menhir.mly" +# 1192 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11082 "parser_cocci_menhir.ml" +# 11091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11100,9 +11109,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1168 "parser_cocci_menhir.mly" +# 1197 "parser_cocci_menhir.mly" ( [_1] ) -# 11106 "parser_cocci_menhir.ml" +# 11115 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11131,20 +11140,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 11137 "parser_cocci_menhir.ml" +# 11146 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 11143 "parser_cocci_menhir.ml" +# 11152 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1177 "parser_cocci_menhir.mly" +# 1206 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -11154,7 +11163,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 11158 "parser_cocci_menhir.ml" +# 11167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11173,17 +11182,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11179 "parser_cocci_menhir.ml" +# 11188 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1190 "parser_cocci_menhir.mly" +# 1219 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11187 "parser_cocci_menhir.ml" +# 11196 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11205,13 +11214,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1193 "parser_cocci_menhir.mly" +# 1222 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11215 "parser_cocci_menhir.ml" +# 11224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11233,9 +11242,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1198 "parser_cocci_menhir.mly" +# 1227 "parser_cocci_menhir.mly" ( [_1] ) -# 11239 "parser_cocci_menhir.ml" +# 11248 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11264,20 +11273,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 11270 "parser_cocci_menhir.ml" +# 11279 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 11276 "parser_cocci_menhir.ml" +# 11285 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1207 "parser_cocci_menhir.mly" +# 1236 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -11286,7 +11295,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))] ) -# 11290 "parser_cocci_menhir.ml" +# 11299 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11310,17 +11319,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11316 "parser_cocci_menhir.ml" +# 11325 "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 = -# 970 "parser_cocci_menhir.mly" +# 999 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 11324 "parser_cocci_menhir.ml" +# 11333 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11349,9 +11358,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11355 "parser_cocci_menhir.ml" +# 11364 "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 @@ -11361,16 +11370,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11365 "parser_cocci_menhir.ml" +# 11374 "parser_cocci_menhir.ml" in -# 972 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11374 "parser_cocci_menhir.ml" +# 11383 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11404,9 +11413,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11410 "parser_cocci_menhir.ml" +# 11419 "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 @@ -11418,16 +11427,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11422 "parser_cocci_menhir.ml" +# 11431 "parser_cocci_menhir.ml" in -# 972 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11431 "parser_cocci_menhir.ml" +# 11440 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11449,9 +11458,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 976 "parser_cocci_menhir.mly" +# 1005 "parser_cocci_menhir.mly" ( [f] ) -# 11455 "parser_cocci_menhir.ml" +# 11464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11490,15 +11499,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11496 "parser_cocci_menhir.ml" +# 11505 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11502 "parser_cocci_menhir.ml" +# 11511 "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 @@ -11508,14 +11517,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11512 "parser_cocci_menhir.ml" +# 11521 "parser_cocci_menhir.ml" in -# 978 "parser_cocci_menhir.mly" +# 1007 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11519 "parser_cocci_menhir.ml" +# 11528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11559,15 +11568,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11565 "parser_cocci_menhir.ml" +# 11574 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11571 "parser_cocci_menhir.ml" +# 11580 "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 @@ -11579,14 +11588,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11583 "parser_cocci_menhir.ml" +# 11592 "parser_cocci_menhir.ml" in -# 978 "parser_cocci_menhir.mly" +# 1007 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11590 "parser_cocci_menhir.ml" +# 11599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11615,9 +11624,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11621 "parser_cocci_menhir.ml" +# 11630 "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 @@ -11627,25 +11636,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11631 "parser_cocci_menhir.ml" +# 11640 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11638 "parser_cocci_menhir.ml" +# 11647 "parser_cocci_menhir.ml" in -# 983 "parser_cocci_menhir.mly" +# 1012 "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 ) -# 11649 "parser_cocci_menhir.ml" +# 11658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11679,9 +11688,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11685 "parser_cocci_menhir.ml" +# 11694 "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 @@ -11693,25 +11702,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11697 "parser_cocci_menhir.ml" +# 11706 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11704 "parser_cocci_menhir.ml" +# 11713 "parser_cocci_menhir.ml" in -# 983 "parser_cocci_menhir.mly" +# 1012 "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 ) -# 11715 "parser_cocci_menhir.ml" +# 11724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11745,9 +11754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11751 "parser_cocci_menhir.ml" +# 11760 "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 @@ -11758,7 +11767,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11762 "parser_cocci_menhir.ml" +# 11771 "parser_cocci_menhir.ml" in let s = @@ -11766,18 +11775,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11770 "parser_cocci_menhir.ml" +# 11779 "parser_cocci_menhir.ml" in -# 983 "parser_cocci_menhir.mly" +# 1012 "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 ) -# 11781 "parser_cocci_menhir.ml" +# 11790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11816,9 +11825,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11822 "parser_cocci_menhir.ml" +# 11831 "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 @@ -11831,7 +11840,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11835 "parser_cocci_menhir.ml" +# 11844 "parser_cocci_menhir.ml" in let s = @@ -11839,18 +11848,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11843 "parser_cocci_menhir.ml" +# 11852 "parser_cocci_menhir.ml" in -# 983 "parser_cocci_menhir.mly" +# 1012 "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 ) -# 11854 "parser_cocci_menhir.ml" +# 11863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11889,15 +11898,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11895 "parser_cocci_menhir.ml" +# 11904 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11901 "parser_cocci_menhir.ml" +# 11910 "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 @@ -11907,24 +11916,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11911 "parser_cocci_menhir.ml" +# 11920 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11918 "parser_cocci_menhir.ml" +# 11927 "parser_cocci_menhir.ml" in -# 991 "parser_cocci_menhir.mly" +# 1020 "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))] ) -# 11928 "parser_cocci_menhir.ml" +# 11937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11968,15 +11977,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11974 "parser_cocci_menhir.ml" +# 11983 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 11980 "parser_cocci_menhir.ml" +# 11989 "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 @@ -11988,24 +11997,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11992 "parser_cocci_menhir.ml" +# 12001 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11999 "parser_cocci_menhir.ml" +# 12008 "parser_cocci_menhir.ml" in -# 991 "parser_cocci_menhir.mly" +# 1020 "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))] ) -# 12009 "parser_cocci_menhir.ml" +# 12018 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12049,15 +12058,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12055 "parser_cocci_menhir.ml" +# 12064 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12061 "parser_cocci_menhir.ml" +# 12070 "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 @@ -12068,7 +12077,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12072 "parser_cocci_menhir.ml" +# 12081 "parser_cocci_menhir.ml" in let s = @@ -12076,17 +12085,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12080 "parser_cocci_menhir.ml" +# 12089 "parser_cocci_menhir.ml" in -# 991 "parser_cocci_menhir.mly" +# 1020 "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))] ) -# 12090 "parser_cocci_menhir.ml" +# 12099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12135,15 +12144,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12141 "parser_cocci_menhir.ml" +# 12150 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12147 "parser_cocci_menhir.ml" +# 12156 "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 @@ -12156,7 +12165,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12160 "parser_cocci_menhir.ml" +# 12169 "parser_cocci_menhir.ml" in let s = @@ -12164,17 +12173,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12168 "parser_cocci_menhir.ml" +# 12177 "parser_cocci_menhir.ml" in -# 991 "parser_cocci_menhir.mly" +# 1020 "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))] ) -# 12178 "parser_cocci_menhir.ml" +# 12187 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12233,36 +12242,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12239 "parser_cocci_menhir.ml" +# 12248 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12244 "parser_cocci_menhir.ml" +# 12253 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12250 "parser_cocci_menhir.ml" +# 12259 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12255 "parser_cocci_menhir.ml" +# 12264 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 12261 "parser_cocci_menhir.ml" +# 12270 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12266 "parser_cocci_menhir.ml" +# 12275 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12271,11 +12280,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12275 "parser_cocci_menhir.ml" +# 12284 "parser_cocci_menhir.ml" in -# 1001 "parser_cocci_menhir.mly" +# 1030 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12283,7 +12292,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))] ) -# 12287 "parser_cocci_menhir.ml" +# 12296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12347,36 +12356,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12353 "parser_cocci_menhir.ml" +# 12362 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12358 "parser_cocci_menhir.ml" +# 12367 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12364 "parser_cocci_menhir.ml" +# 12373 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12369 "parser_cocci_menhir.ml" +# 12378 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 12375 "parser_cocci_menhir.ml" +# 12384 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12380 "parser_cocci_menhir.ml" +# 12389 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12387,11 +12396,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12391 "parser_cocci_menhir.ml" +# 12400 "parser_cocci_menhir.ml" in -# 1001 "parser_cocci_menhir.mly" +# 1030 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12399,7 +12408,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))] ) -# 12403 "parser_cocci_menhir.ml" +# 12412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12438,29 +12447,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12444 "parser_cocci_menhir.ml" +# 12453 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12449 "parser_cocci_menhir.ml" +# 12458 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12455 "parser_cocci_menhir.ml" +# 12464 "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 = -# 1009 "parser_cocci_menhir.mly" +# 1038 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 12464 "parser_cocci_menhir.ml" +# 12473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12529,42 +12538,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12535 "parser_cocci_menhir.ml" +# 12544 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12541 "parser_cocci_menhir.ml" +# 12550 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12546 "parser_cocci_menhir.ml" +# 12555 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12552 "parser_cocci_menhir.ml" +# 12561 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12557 "parser_cocci_menhir.ml" +# 12566 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 12563 "parser_cocci_menhir.ml" +# 12572 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12568 "parser_cocci_menhir.ml" +# 12577 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12573,11 +12582,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12577 "parser_cocci_menhir.ml" +# 12586 "parser_cocci_menhir.ml" in -# 1015 "parser_cocci_menhir.mly" +# 1044 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12585,7 +12594,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))]) -# 12589 "parser_cocci_menhir.ml" +# 12598 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12659,42 +12668,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12665 "parser_cocci_menhir.ml" +# 12674 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12671 "parser_cocci_menhir.ml" +# 12680 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12676 "parser_cocci_menhir.ml" +# 12685 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12682 "parser_cocci_menhir.ml" +# 12691 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 12687 "parser_cocci_menhir.ml" +# 12696 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 12693 "parser_cocci_menhir.ml" +# 12702 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 12698 "parser_cocci_menhir.ml" +# 12707 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12705,11 +12714,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12709 "parser_cocci_menhir.ml" +# 12718 "parser_cocci_menhir.ml" in -# 1015 "parser_cocci_menhir.mly" +# 1044 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12717,7 +12726,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))]) -# 12721 "parser_cocci_menhir.ml" +# 12730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12751,27 +12760,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12757 "parser_cocci_menhir.ml" +# 12766 "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" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 12764 "parser_cocci_menhir.ml" +# 12773 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1023 "parser_cocci_menhir.mly" +# 1052 "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 ) -# 12775 "parser_cocci_menhir.ml" +# 12784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12793,13 +12802,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list = -# 740 "parser_cocci_menhir.mly" +# 769 "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)) ) -# 12803 "parser_cocci_menhir.ml" +# 12812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12821,9 +12830,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 764 "parser_cocci_menhir.mly" +# 793 "parser_cocci_menhir.mly" ( _1 ) -# 12827 "parser_cocci_menhir.ml" +# 12836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12838,9 +12847,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_define_param_list_option = -# 765 "parser_cocci_menhir.mly" +# 794 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 12844 "parser_cocci_menhir.ml" +# 12853 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12862,9 +12871,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_start = -# 747 "parser_cocci_menhir.mly" +# 776 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DParam _1)] ) -# 12868 "parser_cocci_menhir.ml" +# 12877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12894,18 +12903,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_define_param_list_start = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 12900 "parser_cocci_menhir.ml" +# 12909 "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_define_param_list_start = -# 749 "parser_cocci_menhir.mly" +# 778 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1):: Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 ) -# 12909 "parser_cocci_menhir.ml" +# 12918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12930,17 +12939,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 12936 "parser_cocci_menhir.ml" +# 12945 "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 = -# 752 "parser_cocci_menhir.mly" +# 781 "parser_cocci_menhir.mly" ( (P.mkdpdots "..." d):: (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) ) -# 12944 "parser_cocci_menhir.ml" +# 12953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12959,14 +12968,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 82 "parser_cocci_menhir.mly" +# 104 "parser_cocci_menhir.mly" (Data.clt * token) -# 12965 "parser_cocci_menhir.ml" +# 12974 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 699 "parser_cocci_menhir.mly" +# 728 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -12983,7 +12992,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 12987 "parser_cocci_menhir.ml" +# 12996 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13012,20 +13021,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 13018 "parser_cocci_menhir.ml" +# 13027 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( -# 83 "parser_cocci_menhir.mly" +# 105 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 13024 "parser_cocci_menhir.ml" +# 13033 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 716 "parser_cocci_menhir.mly" +# 745 "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 @@ -13046,7 +13055,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 13050 "parser_cocci_menhir.ml" +# 13059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13068,9 +13077,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dep = -# 226 "parser_cocci_menhir.mly" +# 248 "parser_cocci_menhir.mly" ( _1 ) -# 13074 "parser_cocci_menhir.ml" +# 13083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13102,9 +13111,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 227 "parser_cocci_menhir.mly" +# 249 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) -# 13108 "parser_cocci_menhir.ml" +# 13117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13136,9 +13145,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_dep = -# 228 "parser_cocci_menhir.mly" +# 250 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) -# 13142 "parser_cocci_menhir.ml" +# 13151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13153,9 +13162,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_depends = -# 222 "parser_cocci_menhir.mly" +# 244 "parser_cocci_menhir.mly" ( Ast.NoDep ) -# 13159 "parser_cocci_menhir.ml" +# 13168 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13185,9 +13194,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_parents_ in let _v : 'tv_depends = -# 223 "parser_cocci_menhir.mly" +# 245 "parser_cocci_menhir.mly" ( parents ) -# 13191 "parser_cocci_menhir.ml" +# 13200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13212,16 +13221,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 13218 "parser_cocci_menhir.ml" +# 13227 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1124 "parser_cocci_menhir.mly" +# 1153 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 13225 "parser_cocci_menhir.ml" +# 13234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13250,22 +13259,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 13256 "parser_cocci_menhir.ml" +# 13265 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 13262 "parser_cocci_menhir.ml" +# 13271 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1126 "parser_cocci_menhir.mly" +# 1155 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 13269 "parser_cocci_menhir.ml" +# 13278 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13304,29 +13313,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 13310 "parser_cocci_menhir.ml" +# 13319 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13316 "parser_cocci_menhir.ml" +# 13325 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 13322 "parser_cocci_menhir.ml" +# 13331 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1128 "parser_cocci_menhir.mly" +# 1157 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 13330 "parser_cocci_menhir.ml" +# 13339 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13348,9 +13357,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1227 "parser_cocci_menhir.mly" +# 1256 "parser_cocci_menhir.mly" ( _1 ) -# 13354 "parser_cocci_menhir.ml" +# 13363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13376,9 +13385,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_disable = -# 241 "parser_cocci_menhir.mly" +# 263 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 13382 "parser_cocci_menhir.ml" +# 13391 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13397,16 +13406,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13403 "parser_cocci_menhir.ml" +# 13412 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1236 "parser_cocci_menhir.mly" +# 1265 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 13410 "parser_cocci_menhir.ml" +# 13419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13428,9 +13437,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1237 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( _1 ) -# 13434 "parser_cocci_menhir.ml" +# 13443 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13454,22 +13463,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13460 "parser_cocci_menhir.ml" +# 13469 "parser_cocci_menhir.ml" ) = Obj.magic d in let c : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 13465 "parser_cocci_menhir.ml" +# 13474 "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_ = -# 757 "parser_cocci_menhir.mly" +# 786 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] ) -# 13473 "parser_cocci_menhir.ml" +# 13482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13494,18 +13503,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 13500 "parser_cocci_menhir.ml" +# 13509 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_dp_comma_args_TEllipsis_ = -# 760 "parser_cocci_menhir.mly" +# 789 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1)); Ast0.wrap(Ast0.DParam _2)] ) -# 13509 "parser_cocci_menhir.ml" +# 13518 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13524,16 +13533,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13530 "parser_cocci_menhir.ml" +# 13539 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1994 "parser_cocci_menhir.mly" ( (d,None) ) -# 13537 "parser_cocci_menhir.ml" +# 13546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13570,16 +13579,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_eexpr = Obj.magic w in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13576 "parser_cocci_menhir.ml" +# 13585 "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_ = -# 1926 "parser_cocci_menhir.mly" +# 1995 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13583 "parser_cocci_menhir.ml" +# 13592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13598,16 +13607,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13604 "parser_cocci_menhir.ml" +# 13613 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1994 "parser_cocci_menhir.mly" ( (d,None) ) -# 13611 "parser_cocci_menhir.ml" +# 13620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13644,16 +13653,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_initialize = Obj.magic w in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13650 "parser_cocci_menhir.ml" +# 13659 "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_ = -# 1926 "parser_cocci_menhir.mly" +# 1995 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13657 "parser_cocci_menhir.ml" +# 13666 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13672,16 +13681,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13678 "parser_cocci_menhir.ml" +# 13687 "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_ = -# 1925 "parser_cocci_menhir.mly" +# 1994 "parser_cocci_menhir.mly" ( (d,None) ) -# 13685 "parser_cocci_menhir.ml" +# 13694 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13718,16 +13727,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_struct_decl = Obj.magic w in let d : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 13724 "parser_cocci_menhir.ml" +# 13733 "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_ = -# 1926 "parser_cocci_menhir.mly" +# 1995 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13731 "parser_cocci_menhir.ml" +# 13740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13749,9 +13758,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1225 "parser_cocci_menhir.mly" +# 1254 "parser_cocci_menhir.mly" ( _1 ) -# 13755 "parser_cocci_menhir.ml" +# 13764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13773,7 +13782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list = -# 1869 "parser_cocci_menhir.mly" +# 1938 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in let star x = @@ -13784,7 +13793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct if List.exists star _1 then Ast0.wrap(Ast0.STARS(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 13788 "parser_cocci_menhir.ml" +# 13797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13806,9 +13815,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 1908 "parser_cocci_menhir.mly" +# 1977 "parser_cocci_menhir.mly" ( _1 ) -# 13812 "parser_cocci_menhir.ml" +# 13821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13823,9 +13832,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_eexpr_list_option = -# 1909 "parser_cocci_menhir.mly" +# 1978 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 13829 "parser_cocci_menhir.ml" +# 13838 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13847,9 +13856,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_start = -# 1896 "parser_cocci_menhir.mly" +# 1965 "parser_cocci_menhir.mly" ( [_1] ) -# 13853 "parser_cocci_menhir.ml" +# 13862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13879,17 +13888,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_eexpr_list_start = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 13885 "parser_cocci_menhir.ml" +# 13894 "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 = -# 1898 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 ) -# 13893 "parser_cocci_menhir.ml" +# 13902 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13909,9 +13918,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 244 "parser_cocci_menhir.mly" +# 266 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 13915 "parser_cocci_menhir.ml" +# 13924 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13931,9 +13940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_exists = -# 245 "parser_cocci_menhir.mly" +# 267 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 13937 "parser_cocci_menhir.ml" +# 13946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13948,9 +13957,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_exists = -# 246 "parser_cocci_menhir.mly" +# 268 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 13954 "parser_cocci_menhir.ml" +# 13963 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13972,9 +13981,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1223 "parser_cocci_menhir.mly" +# 1252 "parser_cocci_menhir.mly" ( _1 ) -# 13978 "parser_cocci_menhir.ml" +# 13987 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13996,9 +14005,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1405 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( r ) -# 14002 "parser_cocci_menhir.ml" +# 14011 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14013,9 +14022,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_extends = -# 217 "parser_cocci_menhir.mly" +# 239 "parser_cocci_menhir.mly" ( () ) -# 14019 "parser_cocci_menhir.ml" +# 14028 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14038,16 +14047,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let parent : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 14044 "parser_cocci_menhir.ml" +# 14053 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = -# 219 "parser_cocci_menhir.mly" +# 241 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 14051 "parser_cocci_menhir.ml" +# 14060 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14071,23 +14080,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 84 "parser_cocci_menhir.mly" +# 106 "parser_cocci_menhir.mly" (string * Data.clt) -# 14077 "parser_cocci_menhir.ml" +# 14086 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 84 "parser_cocci_menhir.mly" +# 106 "parser_cocci_menhir.mly" (string * Data.clt) -# 14082 "parser_cocci_menhir.ml" +# 14091 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 656 "parser_cocci_menhir.mly" +# 683 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 14091 "parser_cocci_menhir.ml" +# 14100 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14102,9 +14111,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_fninfo = -# 793 "parser_cocci_menhir.mly" +# 822 "parser_cocci_menhir.mly" ( [] ) -# 14108 "parser_cocci_menhir.ml" +# 14117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14132,13 +14141,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 795 "parser_cocci_menhir.mly" +# 824 "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 ) -# 14142 "parser_cocci_menhir.ml" +# 14151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14166,9 +14175,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 800 "parser_cocci_menhir.mly" +# 829 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 14172 "parser_cocci_menhir.ml" +# 14181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14193,19 +14202,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 14199 "parser_cocci_menhir.ml" +# 14208 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 802 "parser_cocci_menhir.mly" +# 831 "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 ) -# 14209 "parser_cocci_menhir.ml" +# 14218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14230,19 +14239,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo = Obj.magic _2 in let _1 : ( -# 55 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (string * Data.clt) -# 14236 "parser_cocci_menhir.ml" +# 14245 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 807 "parser_cocci_menhir.mly" +# 836 "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 ) -# 14246 "parser_cocci_menhir.ml" +# 14255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14257,9 +14266,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_fninfo_nt = -# 813 "parser_cocci_menhir.mly" +# 842 "parser_cocci_menhir.mly" ( [] ) -# 14263 "parser_cocci_menhir.ml" +# 14272 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14287,13 +14296,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 815 "parser_cocci_menhir.mly" +# 844 "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 ) -# 14297 "parser_cocci_menhir.ml" +# 14306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14318,19 +14327,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 14324 "parser_cocci_menhir.ml" +# 14333 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 821 "parser_cocci_menhir.mly" +# 850 "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 ) -# 14334 "parser_cocci_menhir.ml" +# 14343 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14355,19 +14364,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_fninfo_nt = Obj.magic _2 in let _1 : ( -# 55 "parser_cocci_menhir.mly" +# 77 "parser_cocci_menhir.mly" (string * Data.clt) -# 14361 "parser_cocci_menhir.ml" +# 14370 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 826 "parser_cocci_menhir.mly" +# 855 "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 ) -# 14371 "parser_cocci_menhir.ml" +# 14380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14382,9 +14391,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_fun_after_dots = -# 1817 "parser_cocci_menhir.mly" +# 1886 "parser_cocci_menhir.mly" ([]) -# 14388 "parser_cocci_menhir.ml" +# 14397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14410,9 +14419,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1818 "parser_cocci_menhir.mly" +# 1887 "parser_cocci_menhir.mly" (_2) -# 14416 "parser_cocci_menhir.ml" +# 14425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14440,9 +14449,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1819 "parser_cocci_menhir.mly" +# 1888 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14446 "parser_cocci_menhir.ml" +# 14455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14470,9 +14479,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1820 "parser_cocci_menhir.mly" +# 1889 "parser_cocci_menhir.mly" (_1@_2) -# 14476 "parser_cocci_menhir.ml" +# 14485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14487,9 +14496,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_fun_after_dots_or = -# 1827 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" ([]) -# 14493 "parser_cocci_menhir.ml" +# 14502 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14515,9 +14524,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1828 "parser_cocci_menhir.mly" +# 1897 "parser_cocci_menhir.mly" (_2) -# 14521 "parser_cocci_menhir.ml" +# 14530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14545,9 +14554,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1829 "parser_cocci_menhir.mly" +# 1898 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14551 "parser_cocci_menhir.ml" +# 14560 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14575,9 +14584,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1830 "parser_cocci_menhir.mly" +# 1899 "parser_cocci_menhir.mly" (_1@_2) -# 14581 "parser_cocci_menhir.ml" +# 14590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14605,9 +14614,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1823 "parser_cocci_menhir.mly" +# 1892 "parser_cocci_menhir.mly" (_1::_2) -# 14611 "parser_cocci_menhir.ml" +# 14620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14622,9 +14631,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_fun_after_exp_or = -# 1833 "parser_cocci_menhir.mly" +# 1902 "parser_cocci_menhir.mly" ([]) -# 14628 "parser_cocci_menhir.ml" +# 14637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14652,9 +14661,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1834 "parser_cocci_menhir.mly" +# 1903 "parser_cocci_menhir.mly" (_1::_2) -# 14658 "parser_cocci_menhir.ml" +# 14667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14669,9 +14678,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_fun_after_stm = -# 1812 "parser_cocci_menhir.mly" +# 1881 "parser_cocci_menhir.mly" ([]) -# 14675 "parser_cocci_menhir.ml" +# 14684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14699,9 +14708,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1813 "parser_cocci_menhir.mly" +# 1882 "parser_cocci_menhir.mly" (_1::_2) -# 14705 "parser_cocci_menhir.ml" +# 14714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14729,9 +14738,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1814 "parser_cocci_menhir.mly" +# 1883 "parser_cocci_menhir.mly" (_1@_2) -# 14735 "parser_cocci_menhir.ml" +# 14744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14753,9 +14762,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1809 "parser_cocci_menhir.mly" +# 1878 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 14759 "parser_cocci_menhir.ml" +# 14768 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14777,9 +14786,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1607 "parser_cocci_menhir.mly" +# 1676 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14783 "parser_cocci_menhir.ml" +# 14792 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14798,17 +14807,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14804 "parser_cocci_menhir.ml" +# 14813 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1609 "parser_cocci_menhir.mly" +# 1678 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 14812 "parser_cocci_menhir.ml" +# 14821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14827,17 +14836,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14833 "parser_cocci_menhir.ml" +# 14842 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1612 "parser_cocci_menhir.mly" +# 1681 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14841 "parser_cocci_menhir.ml" +# 14850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14856,18 +14865,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14862 "parser_cocci_menhir.ml" +# 14871 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1615 "parser_cocci_menhir.mly" +# 1684 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14871 "parser_cocci_menhir.ml" +# 14880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14925,33 +14934,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rb : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 14931 "parser_cocci_menhir.ml" +# 14940 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 14937 "parser_cocci_menhir.ml" +# 14946 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 14942 "parser_cocci_menhir.ml" +# 14951 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 14948 "parser_cocci_menhir.ml" +# 14957 "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 = -# 784 "parser_cocci_menhir.mly" +# 813 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -14959,7 +14968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 14963 "parser_cocci_menhir.ml" +# 14972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15003,20 +15012,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 15009 "parser_cocci_menhir.ml" +# 15018 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 15014 "parser_cocci_menhir.ml" +# 15023 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 15020 "parser_cocci_menhir.ml" +# 15029 "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 @@ -15026,11 +15035,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15030 "parser_cocci_menhir.ml" +# 15039 "parser_cocci_menhir.ml" in -# 772 "parser_cocci_menhir.mly" +# 801 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15038,7 +15047,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15042 "parser_cocci_menhir.ml" +# 15051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15087,20 +15096,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pt : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 15093 "parser_cocci_menhir.ml" +# 15102 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 15098 "parser_cocci_menhir.ml" +# 15107 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 15104 "parser_cocci_menhir.ml" +# 15113 "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 @@ -15112,11 +15121,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15116 "parser_cocci_menhir.ml" +# 15125 "parser_cocci_menhir.ml" in -# 772 "parser_cocci_menhir.mly" +# 801 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15124,7 +15133,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15128 "parser_cocci_menhir.ml" +# 15137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15146,9 +15155,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1620 "parser_cocci_menhir.mly" +# 1689 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 15152 "parser_cocci_menhir.ml" +# 15161 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15167,17 +15176,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 15173 "parser_cocci_menhir.ml" +# 15182 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1622 "parser_cocci_menhir.mly" +# 1691 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 15181 "parser_cocci_menhir.ml" +# 15190 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15199,9 +15208,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1574 "parser_cocci_menhir.mly" +# 1649 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 15205 "parser_cocci_menhir.ml" +# 15214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15220,17 +15229,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 15226 "parser_cocci_menhir.ml" +# 15235 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1576 "parser_cocci_menhir.mly" +# 1651 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15234 "parser_cocci_menhir.ml" +# 15243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15249,16 +15258,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (string * Data.clt) -# 15255 "parser_cocci_menhir.ml" +# 15264 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = -# 257 "parser_cocci_menhir.mly" +# 279 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 15262 "parser_cocci_menhir.ml" +# 15271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15281,16 +15290,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 15287 "parser_cocci_menhir.ml" +# 15296 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 258 "parser_cocci_menhir.mly" +# 280 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) -# 15294 "parser_cocci_menhir.ml" +# 15303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15313,16 +15322,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 80 "parser_cocci_menhir.mly" +# 102 "parser_cocci_menhir.mly" (string) -# 15319 "parser_cocci_menhir.ml" +# 15328 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 259 "parser_cocci_menhir.mly" +# 281 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 15326 "parser_cocci_menhir.ml" +# 15335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15348,14 +15357,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = -# 261 "parser_cocci_menhir.mly" +# 283 "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) ) -# 15359 "parser_cocci_menhir.ml" +# 15368 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15381,13 +15390,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 147 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15387 "parser_cocci_menhir.ml" +# 15396 "parser_cocci_menhir.ml" ) = -# 253 "parser_cocci_menhir.mly" +# 275 "parser_cocci_menhir.mly" ( _1 ) -# 15391 "parser_cocci_menhir.ml" +# 15400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15413,13 +15422,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 147 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15419 "parser_cocci_menhir.ml" +# 15428 "parser_cocci_menhir.ml" ) = -# 254 "parser_cocci_menhir.mly" +# 276 "parser_cocci_menhir.mly" ( _1 ) -# 15423 "parser_cocci_menhir.ml" +# 15432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15438,14 +15447,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (string * Data.clt) -# 15444 "parser_cocci_menhir.ml" +# 15453 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 662 "parser_cocci_menhir.mly" +# 689 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15456,7 +15465,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15460 "parser_cocci_menhir.ml" +# 15469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15475,14 +15484,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 81 "parser_cocci_menhir.mly" +# 103 "parser_cocci_menhir.mly" (string * Data.clt) -# 15481 "parser_cocci_menhir.ml" +# 15490 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 673 "parser_cocci_menhir.mly" +# 700 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15493,7 +15502,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15497 "parser_cocci_menhir.ml" +# 15506 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = d; + MenhirLib.EngineTypes.startp = _startpos_d_; + MenhirLib.EngineTypes.endp = _endpos_d_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let d : 'tv_defineop = Obj.magic d in + let _startpos = _startpos_d_ in + let _endpos = _endpos__2_ in + let _v : 'tv_includes = +# 711 "parser_cocci_menhir.mly" + ( d (Ast0.wrap(Ast0.DOTS([]))) ) +# 15534 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15525,10 +15562,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 684 "parser_cocci_menhir.mly" +# 713 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 15532 "parser_cocci_menhir.ml" +# 15569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15560,7 +15597,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 687 "parser_cocci_menhir.mly" +# 716 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -15570,7 +15607,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 15574 "parser_cocci_menhir.ml" +# 15611 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15592,9 +15629,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1095 "parser_cocci_menhir.mly" +# 1124 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15598 "parser_cocci_menhir.ml" +# 15635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15623,22 +15660,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15629 "parser_cocci_menhir.ml" +# 15666 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15635 "parser_cocci_menhir.ml" +# 15672 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1097 "parser_cocci_menhir.mly" +# 1126 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15642 "parser_cocci_menhir.ml" +# 15679 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15662,23 +15699,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15668 "parser_cocci_menhir.ml" +# 15705 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15673 "parser_cocci_menhir.ml" +# 15710 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize = -# 1099 "parser_cocci_menhir.mly" +# 1128 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15682 "parser_cocci_menhir.ml" +# 15719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15697,17 +15734,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 66 "parser_cocci_menhir.mly" +# 88 "parser_cocci_menhir.mly" (Parse_aux.info) -# 15703 "parser_cocci_menhir.ml" +# 15740 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1103 "parser_cocci_menhir.mly" +# 1132 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 15711 "parser_cocci_menhir.ml" +# 15748 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15729,9 +15766,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1109 "parser_cocci_menhir.mly" +# 1138 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15735 "parser_cocci_menhir.ml" +# 15772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15760,22 +15797,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15766 "parser_cocci_menhir.ml" +# 15803 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15772 "parser_cocci_menhir.ml" +# 15809 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1111 "parser_cocci_menhir.mly" +# 1140 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15779 "parser_cocci_menhir.ml" +# 15816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15799,23 +15836,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15805 "parser_cocci_menhir.ml" +# 15842 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 15810 "parser_cocci_menhir.ml" +# 15847 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize2 = -# 1113 "parser_cocci_menhir.mly" +# 1142 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15819 "parser_cocci_menhir.ml" +# 15856 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15845,17 +15882,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 15851 "parser_cocci_menhir.ml" +# 15888 "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 = -# 1118 "parser_cocci_menhir.mly" +# 1147 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 15859 "parser_cocci_menhir.ml" +# 15896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15885,17 +15922,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize2 = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 15891 "parser_cocci_menhir.ml" +# 15928 "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 = -# 1120 "parser_cocci_menhir.mly" +# 1149 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 15899 "parser_cocci_menhir.ml" +# 15936 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15917,9 +15954,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1132 "parser_cocci_menhir.mly" +# 1161 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 15923 "parser_cocci_menhir.ml" +# 15960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15943,17 +15980,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 15949 "parser_cocci_menhir.ml" +# 15986 "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 = -# 1135 "parser_cocci_menhir.mly" +# 1164 "parser_cocci_menhir.mly" ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] ) -# 15957 "parser_cocci_menhir.ml" +# 15994 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15983,17 +16020,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_initialize_list_start = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 15989 "parser_cocci_menhir.ml" +# 16026 "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 = -# 1137 "parser_cocci_menhir.mly" +# 1166 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 ) -# 15997 "parser_cocci_menhir.ml" +# 16034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16021,10 +16058,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_initialize_list_start = -# 1140 "parser_cocci_menhir.mly" +# 1169 "parser_cocci_menhir.mly" ( (P.mkidots "..." d):: (List.concat(List.map (function x -> x (P.mkidots "...")) r)) ) -# 16028 "parser_cocci_menhir.ml" +# 16065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16044,9 +16081,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1233 "parser_cocci_menhir.mly" +# 1262 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 16050 "parser_cocci_menhir.ml" +# 16087 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16061,9 +16098,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_is_expression = -# 249 "parser_cocci_menhir.mly" +# 271 "parser_cocci_menhir.mly" ( false ) -# 16067 "parser_cocci_menhir.ml" +# 16104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16083,9 +16120,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_is_expression = -# 250 "parser_cocci_menhir.mly" +# 272 "parser_cocci_menhir.mly" ( true ) -# 16089 "parser_cocci_menhir.ml" +# 16126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16111,9 +16148,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 1981 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16117 "parser_cocci_menhir.ml" +# 16154 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16139,9 +16176,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 1982 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16145 "parser_cocci_menhir.ml" +# 16182 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16167,9 +16204,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 1981 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16173 "parser_cocci_menhir.ml" +# 16210 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16195,9 +16232,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 1982 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16201 "parser_cocci_menhir.ml" +# 16238 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16223,9 +16260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 1981 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16229 "parser_cocci_menhir.ml" +# 16266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16251,9 +16288,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 1982 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16257 "parser_cocci_menhir.ml" +# 16294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16279,9 +16316,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 1981 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16285 "parser_cocci_menhir.ml" +# 16322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16307,9 +16344,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 1982 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16313 "parser_cocci_menhir.ml" +# 16350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16335,9 +16372,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 1981 "parser_cocci_menhir.mly" +# 2050 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16341 "parser_cocci_menhir.ml" +# 16378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16363,9 +16400,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 1982 "parser_cocci_menhir.mly" +# 2051 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16369 "parser_cocci_menhir.ml" +# 16406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16401,13 +16438,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16407 "parser_cocci_menhir.ml" +# 16444 "parser_cocci_menhir.ml" ) = -# 1949 "parser_cocci_menhir.mly" +# 2018 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) -# 16411 "parser_cocci_menhir.ml" +# 16448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16443,13 +16480,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16449 "parser_cocci_menhir.ml" +# 16486 "parser_cocci_menhir.ml" ) = -# 1951 "parser_cocci_menhir.mly" +# 2020 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) -# 16453 "parser_cocci_menhir.ml" +# 16490 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16485,13 +16522,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16491 "parser_cocci_menhir.ml" +# 16528 "parser_cocci_menhir.ml" ) = -# 1953 "parser_cocci_menhir.mly" +# 2022 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) -# 16495 "parser_cocci_menhir.ml" +# 16532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16527,15 +16564,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16533 "parser_cocci_menhir.ml" +# 16570 "parser_cocci_menhir.ml" ) = -# 1955 "parser_cocci_menhir.mly" +# 2024 "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 ) -# 16539 "parser_cocci_menhir.ml" +# 16576 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16571,13 +16608,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16577 "parser_cocci_menhir.ml" +# 16614 "parser_cocci_menhir.ml" ) = -# 1959 "parser_cocci_menhir.mly" +# 2028 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) -# 16581 "parser_cocci_menhir.ml" +# 16618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16613,13 +16650,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16619 "parser_cocci_menhir.ml" +# 16656 "parser_cocci_menhir.ml" ) = -# 1961 "parser_cocci_menhir.mly" +# 2030 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) -# 16623 "parser_cocci_menhir.ml" +# 16660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16655,13 +16692,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16661 "parser_cocci_menhir.ml" +# 16698 "parser_cocci_menhir.ml" ) = -# 1963 "parser_cocci_menhir.mly" +# 2032 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) -# 16665 "parser_cocci_menhir.ml" +# 16702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16697,11 +16734,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16703 "parser_cocci_menhir.ml" +# 16740 "parser_cocci_menhir.ml" ) = -# 1965 "parser_cocci_menhir.mly" +# 2034 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -16716,7 +16753,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Common.Right x -> Common.Right(check_one x)) dl in let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl ) -# 16720 "parser_cocci_menhir.ml" +# 16757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16738,13 +16775,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 166 "parser_cocci_menhir.mly" +# 188 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 16744 "parser_cocci_menhir.ml" +# 16781 "parser_cocci_menhir.ml" ) = -# 183 "parser_cocci_menhir.mly" +# 205 "parser_cocci_menhir.mly" ( m "" ) -# 16748 "parser_cocci_menhir.ml" +# 16785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16770,13 +16807,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_nm_ in let _endpos = _endpos__2_ in let _v : ( -# 150 "parser_cocci_menhir.mly" +# 172 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 16776 "parser_cocci_menhir.ml" +# 16813 "parser_cocci_menhir.ml" ) = -# 198 "parser_cocci_menhir.mly" +# 220 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 16780 "parser_cocci_menhir.ml" +# 16817 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16795,16 +16832,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 16801 "parser_cocci_menhir.ml" +# 16838 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1634 "parser_cocci_menhir.mly" +# 1703 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16808 "parser_cocci_menhir.ml" +# 16845 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16823,17 +16860,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 63 "parser_cocci_menhir.mly" +# 85 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16829 "parser_cocci_menhir.ml" +# 16866 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1636 "parser_cocci_menhir.mly" +# 1705 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16837 "parser_cocci_menhir.ml" +# 16874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16850,7 +16887,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 16854 "parser_cocci_menhir.ml" +# 16891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16875,16 +16912,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_list_TMul_ = Obj.magic xs in let x : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 16881 "parser_cocci_menhir.ml" +# 16918 "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 ) -# 16888 "parser_cocci_menhir.ml" +# 16925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16901,7 +16938,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 16905 "parser_cocci_menhir.ml" +# 16942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16931,7 +16968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 16935 "parser_cocci_menhir.ml" +# 16972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16948,7 +16985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 16952 "parser_cocci_menhir.ml" +# 16989 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16978,7 +17015,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 16982 "parser_cocci_menhir.ml" +# 17019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16995,7 +17032,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 114 "standard.mly" ( [] ) -# 16999 "parser_cocci_menhir.ml" +# 17036 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17025,7 +17062,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 116 "standard.mly" ( x :: xs ) -# 17029 "parser_cocci_menhir.ml" +# 17066 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17042,7 +17079,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 114 "standard.mly" ( [] ) -# 17046 "parser_cocci_menhir.ml" +# 17083 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17072,7 +17109,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 116 "standard.mly" ( x :: xs ) -# 17076 "parser_cocci_menhir.ml" +# 17113 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17089,7 +17126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 17093 "parser_cocci_menhir.ml" +# 17130 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17119,7 +17156,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 17123 "parser_cocci_menhir.ml" +# 17160 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17136,7 +17173,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 17140 "parser_cocci_menhir.ml" +# 17177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17166,7 +17203,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 17170 "parser_cocci_menhir.ml" +# 17207 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17183,7 +17220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 114 "standard.mly" ( [] ) -# 17187 "parser_cocci_menhir.ml" +# 17224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17213,7 +17250,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 116 "standard.mly" ( x :: xs ) -# 17217 "parser_cocci_menhir.ml" +# 17254 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17230,7 +17267,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 17234 "parser_cocci_menhir.ml" +# 17271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17260,7 +17297,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 17264 "parser_cocci_menhir.ml" +# 17301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17277,7 +17314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 17281 "parser_cocci_menhir.ml" +# 17318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17307,7 +17344,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17311 "parser_cocci_menhir.ml" +# 17348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17324,7 +17361,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 17328 "parser_cocci_menhir.ml" +# 17365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17354,7 +17391,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 17358 "parser_cocci_menhir.ml" +# 17395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17371,7 +17408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 17375 "parser_cocci_menhir.ml" +# 17412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17401,7 +17438,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17405 "parser_cocci_menhir.ml" +# 17442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17418,7 +17455,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 17422 "parser_cocci_menhir.ml" +# 17459 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17448,7 +17485,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 17452 "parser_cocci_menhir.ml" +# 17489 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17465,7 +17502,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 17469 "parser_cocci_menhir.ml" +# 17506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17495,7 +17532,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17499 "parser_cocci_menhir.ml" +# 17536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17512,7 +17549,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 17516 "parser_cocci_menhir.ml" +# 17553 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17542,7 +17579,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17546 "parser_cocci_menhir.ml" +# 17583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17559,7 +17596,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 17563 "parser_cocci_menhir.ml" +# 17600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17589,7 +17626,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17593 "parser_cocci_menhir.ml" +# 17630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17606,7 +17643,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 17610 "parser_cocci_menhir.ml" +# 17647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17636,7 +17673,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 17640 "parser_cocci_menhir.ml" +# 17677 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17653,7 +17690,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 17657 "parser_cocci_menhir.ml" +# 17694 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17683,7 +17720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 17687 "parser_cocci_menhir.ml" +# 17724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17700,7 +17737,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 17704 "parser_cocci_menhir.ml" +# 17741 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17730,7 +17767,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17734 "parser_cocci_menhir.ml" +# 17771 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17747,7 +17784,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 17751 "parser_cocci_menhir.ml" +# 17788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17777,7 +17814,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17781 "parser_cocci_menhir.ml" +# 17818 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17794,7 +17831,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 17798 "parser_cocci_menhir.ml" +# 17835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17833,13 +17870,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 17837 "parser_cocci_menhir.ml" +# 17874 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 17843 "parser_cocci_menhir.ml" +# 17880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17856,7 +17893,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 17860 "parser_cocci_menhir.ml" +# 17897 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17886,7 +17923,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 17890 "parser_cocci_menhir.ml" +# 17927 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17903,7 +17940,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 17907 "parser_cocci_menhir.ml" +# 17944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17927,7 +17964,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 17931 "parser_cocci_menhir.ml" +# 17968 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17944,7 +17981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 17948 "parser_cocci_menhir.ml" +# 17985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17968,7 +18005,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 17972 "parser_cocci_menhir.ml" +# 18009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17985,7 +18022,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 17989 "parser_cocci_menhir.ml" +# 18026 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18009,7 +18046,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 18013 "parser_cocci_menhir.ml" +# 18050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18026,7 +18063,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 18030 "parser_cocci_menhir.ml" +# 18067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18050,48 +18087,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 18054 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.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" - ( [] ) -# 18071 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = x; - MenhirLib.EngineTypes.startp = _startpos_x_; - MenhirLib.EngineTypes.endp = _endpos_x_; - MenhirLib.EngineTypes.next = _menhir_stack; - } = _menhir_stack in - let x : 'tv_not_ceq = Obj.magic x in - let _startpos = _startpos_x_ in - let _endpos = _endpos_x_ in - let _v : 'tv_loption_not_ceq_ = -# 59 "standard.mly" - ( x ) -# 18095 "parser_cocci_menhir.ml" +# 18091 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18108,7 +18104,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 18112 "parser_cocci_menhir.ml" +# 18108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18132,7 +18128,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 18136 "parser_cocci_menhir.ml" +# 18132 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18149,7 +18145,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 18153 "parser_cocci_menhir.ml" +# 18149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18173,7 +18169,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 18177 "parser_cocci_menhir.ml" +# 18173 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18195,9 +18191,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 486 "parser_cocci_menhir.mly" +# 513 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 18201 "parser_cocci_menhir.ml" +# 18197 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18233,11 +18229,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 488 "parser_cocci_menhir.mly" +# 515 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 18241 "parser_cocci_menhir.ml" +# 18237 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18266,16 +18262,16 @@ 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" +# 69 "parser_cocci_menhir.mly" (string) -# 18272 "parser_cocci_menhir.ml" +# 18268 "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" +# 1472 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 18279 "parser_cocci_menhir.ml" +# 18275 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18304,16 +18300,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in let _1 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 18310 "parser_cocci_menhir.ml" +# 18306 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1444 "parser_cocci_menhir.mly" +# 1473 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 18317 "parser_cocci_menhir.ml" +# 18313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18335,13 +18331,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos_m_ in let _v : ( -# 158 "parser_cocci_menhir.mly" +# 180 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18341 "parser_cocci_menhir.ml" +# 18337 "parser_cocci_menhir.ml" ) = -# 182 "parser_cocci_menhir.mly" +# 204 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 18345 "parser_cocci_menhir.ml" +# 18341 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18384,17 +18380,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 339 "parser_cocci_menhir.mly" +# 362 "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) ) -# 18392 "parser_cocci_menhir.ml" +# 18388 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18398 "parser_cocci_menhir.ml" +# 18394 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18441,17 +18437,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 343 "parser_cocci_menhir.mly" +# 366 "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) ) -# 18449 "parser_cocci_menhir.ml" +# 18445 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18455 "parser_cocci_menhir.ml" +# 18451 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18498,17 +18494,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 347 "parser_cocci_menhir.mly" +# 370 "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) ) -# 18506 "parser_cocci_menhir.ml" +# 18502 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18512 "parser_cocci_menhir.ml" +# 18508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18551,17 +18547,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 351 "parser_cocci_menhir.mly" +# 374 "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) ) -# 18559 "parser_cocci_menhir.ml" +# 18555 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18565 "parser_cocci_menhir.ml" +# 18561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18604,17 +18600,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 355 "parser_cocci_menhir.mly" +# 378 "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) ) -# 18612 "parser_cocci_menhir.ml" +# 18608 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18618 "parser_cocci_menhir.ml" +# 18614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18657,17 +18653,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 359 "parser_cocci_menhir.mly" +# 382 "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) ) -# 18665 "parser_cocci_menhir.ml" +# 18661 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18671 "parser_cocci_menhir.ml" +# 18667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18714,17 +18710,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 363 "parser_cocci_menhir.mly" +# 386 "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) ) -# 18722 "parser_cocci_menhir.ml" +# 18718 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18728 "parser_cocci_menhir.ml" +# 18724 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18767,18 +18763,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 367 "parser_cocci_menhir.mly" +# 390 "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")) ) -# 18776 "parser_cocci_menhir.ml" +# 18772 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18782 "parser_cocci_menhir.ml" +# 18778 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18825,18 +18821,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 372 "parser_cocci_menhir.mly" +# 395 "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")) ) -# 18834 "parser_cocci_menhir.ml" +# 18830 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18840 "parser_cocci_menhir.ml" +# 18836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18883,18 +18879,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 377 "parser_cocci_menhir.mly" +# 400 "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")) ) -# 18892 "parser_cocci_menhir.ml" +# 18888 "parser_cocci_menhir.ml" in -# 271 "parser_cocci_menhir.mly" +# 293 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18898 "parser_cocci_menhir.ml" +# 18894 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18929,17 +18925,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__4_ in let _v : 'tv_metadec = let kindfn = -# 332 "parser_cocci_menhir.mly" +# 355 "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) ) -# 18937 "parser_cocci_menhir.ml" +# 18933 "parser_cocci_menhir.ml" in -# 274 "parser_cocci_menhir.mly" +# 296 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) -# 18943 "parser_cocci_menhir.ml" +# 18939 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18982,7 +18978,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 384 "parser_cocci_menhir.mly" +# 407 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -18996,17 +18992,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaIdDecl(arity,name)) in !Data.add_virt_id_meta_not_found name pure; tok in (idfn,virtfn) ) -# 19000 "parser_cocci_menhir.ml" +# 18996 "parser_cocci_menhir.ml" in -# 280 "parser_cocci_menhir.mly" +# 302 "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) ) -# 19010 "parser_cocci_menhir.ml" +# 19006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19049,17 +19045,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 400 "parser_cocci_menhir.mly" +# 423 "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) ) -# 19057 "parser_cocci_menhir.ml" +# 19053 "parser_cocci_menhir.ml" in -# 289 "parser_cocci_menhir.mly" +# 311 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19063 "parser_cocci_menhir.ml" +# 19059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19106,18 +19102,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 404 "parser_cocci_menhir.mly" +# 427 "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) ) -# 19115 "parser_cocci_menhir.ml" +# 19111 "parser_cocci_menhir.ml" in -# 289 "parser_cocci_menhir.mly" +# 311 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19121 "parser_cocci_menhir.ml" +# 19117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19160,17 +19156,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 409 "parser_cocci_menhir.mly" +# 432 "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) ) -# 19168 "parser_cocci_menhir.ml" +# 19164 "parser_cocci_menhir.ml" in -# 289 "parser_cocci_menhir.mly" +# 311 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19174 "parser_cocci_menhir.ml" +# 19170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19213,17 +19209,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 413 "parser_cocci_menhir.mly" +# 436 "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) ) -# 19221 "parser_cocci_menhir.ml" +# 19217 "parser_cocci_menhir.ml" in -# 289 "parser_cocci_menhir.mly" +# 311 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19227 "parser_cocci_menhir.ml" +# 19223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19259,24 +19255,24 @@ 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 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 = -# 419 "parser_cocci_menhir.mly" +# 442 "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) ) -# 19274 "parser_cocci_menhir.ml" +# 19270 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19280 "parser_cocci_menhir.ml" +# 19276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19317,7 +19313,7 @@ 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 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 @@ -19329,11 +19325,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19333 "parser_cocci_menhir.ml" +# 19329 "parser_cocci_menhir.ml" in -# 423 "parser_cocci_menhir.mly" +# 446 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19342,13 +19338,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19346 "parser_cocci_menhir.ml" +# 19342 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19352 "parser_cocci_menhir.ml" +# 19348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19394,7 +19390,7 @@ 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 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 @@ -19409,11 +19405,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19413 "parser_cocci_menhir.ml" +# 19409 "parser_cocci_menhir.ml" in -# 423 "parser_cocci_menhir.mly" +# 446 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19422,13 +19418,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19426 "parser_cocci_menhir.ml" +# 19422 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19432 "parser_cocci_menhir.ml" +# 19428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19474,7 +19470,7 @@ 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 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 @@ -19485,7 +19481,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 432 "parser_cocci_menhir.mly" +# 455 "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 @@ -19495,13 +19491,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19499 "parser_cocci_menhir.ml" +# 19495 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19505 "parser_cocci_menhir.ml" +# 19501 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19542,7 +19538,7 @@ 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 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 ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in @@ -19551,18 +19547,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let m = m0 in -# 442 "parser_cocci_menhir.mly" +# 465 "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) ) -# 19560 "parser_cocci_menhir.ml" +# 19556 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19566 "parser_cocci_menhir.ml" +# 19562 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19607,7 +19603,7 @@ 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 ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_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 @@ -19616,18 +19612,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 447 "parser_cocci_menhir.mly" +# 470 "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) ) -# 19625 "parser_cocci_menhir.ml" +# 19621 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19631 "parser_cocci_menhir.ml" +# 19627 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19663,7 +19659,7 @@ 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 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 @@ -19673,21 +19669,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19677 "parser_cocci_menhir.ml" +# 19673 "parser_cocci_menhir.ml" in -# 452 "parser_cocci_menhir.mly" +# 475 "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) ) -# 19685 "parser_cocci_menhir.ml" +# 19681 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19691 "parser_cocci_menhir.ml" +# 19687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19728,7 +19724,7 @@ 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 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 @@ -19741,21 +19737,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19745 "parser_cocci_menhir.ml" +# 19741 "parser_cocci_menhir.ml" in -# 452 "parser_cocci_menhir.mly" +# 475 "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) ) -# 19753 "parser_cocci_menhir.ml" +# 19749 "parser_cocci_menhir.ml" in -# 294 "parser_cocci_menhir.mly" +# 316 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19759 "parser_cocci_menhir.ml" +# 19755 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19791,24 +19787,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in + let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in let ispure : 'tv_pure = Obj.magic ispure in let ar : 'tv_arity = Obj.magic ar in let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 458 "parser_cocci_menhir.mly" +# 481 "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) ) -# 19806 "parser_cocci_menhir.ml" + !Data.add_exp_meta None name constraints pure; tok) ) +# 19802 "parser_cocci_menhir.ml" in -# 298 "parser_cocci_menhir.mly" +# 321 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19812 "parser_cocci_menhir.ml" +# 19808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19845,7 +19841,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; }; } = _menhir_stack in - let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids 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 @@ -19854,32 +19850,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 462 "parser_cocci_menhir.mly" +# 485 "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; + (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 (Ast0.NotExpCstrt constraints) pure; tok) + !Data.add_exp_meta ty name constraints pure; tok) ) # 19879 "parser_cocci_menhir.ml" in -# 298 "parser_cocci_menhir.mly" +# 321 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) # 19885 "parser_cocci_menhir.ml" in @@ -19923,7 +19923,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__5_ in let _v : 'tv_metadec = -# 304 "parser_cocci_menhir.mly" +# 327 "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 = @@ -19991,7 +19991,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 314 "parser_cocci_menhir.mly" +# 337 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = @@ -20058,7 +20058,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ar_ in let _endpos = _endpos__9_ in let _v : 'tv_metadec = -# 323 "parser_cocci_menhir.mly" +# 346 "parser_cocci_menhir.mly" ( P.create_len_metadec ar ispure (fun lenname arity name pure check_meta -> let tok = @@ -20093,7 +20093,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20099 "parser_cocci_menhir.ml" in @@ -20123,7 +20123,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20129 "parser_cocci_menhir.ml" in @@ -20153,7 +20153,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20159 "parser_cocci_menhir.ml" in @@ -20183,7 +20183,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20189 "parser_cocci_menhir.ml" in @@ -20213,7 +20213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20219 "parser_cocci_menhir.ml" in @@ -20243,7 +20243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20249 "parser_cocci_menhir.ml" in @@ -20273,7 +20273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 1919 "parser_cocci_menhir.mly" +# 1988 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) # 20279 "parser_cocci_menhir.ml" in @@ -20303,7 +20303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 630 "parser_cocci_menhir.mly" +# 657 "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 ) @@ -20335,7 +20335,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 644 "parser_cocci_menhir.mly" +# 671 "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 ) @@ -20365,11 +20365,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 138 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20371 "parser_cocci_menhir.ml" ) = -# 178 "parser_cocci_menhir.mly" +# 200 "parser_cocci_menhir.mly" ( _1 ) # 20375 "parser_cocci_menhir.ml" in @@ -20397,11 +20397,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 138 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20403 "parser_cocci_menhir.ml" ) = -# 178 "parser_cocci_menhir.mly" +# 200 "parser_cocci_menhir.mly" ( m ) # 20407 "parser_cocci_menhir.ml" in @@ -20429,11 +20429,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 138 "parser_cocci_menhir.mly" +# 160 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20435 "parser_cocci_menhir.ml" ) = -# 179 "parser_cocci_menhir.mly" +# 201 "parser_cocci_menhir.mly" ( m ) # 20439 "parser_cocci_menhir.ml" in @@ -20461,11 +20461,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 135 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20467 "parser_cocci_menhir.ml" ) = -# 174 "parser_cocci_menhir.mly" +# 196 "parser_cocci_menhir.mly" ( _1 ) # 20471 "parser_cocci_menhir.ml" in @@ -20493,11 +20493,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 135 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20499 "parser_cocci_menhir.ml" ) = -# 174 "parser_cocci_menhir.mly" +# 196 "parser_cocci_menhir.mly" ( m ) # 20503 "parser_cocci_menhir.ml" in @@ -20525,11 +20525,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_m_ in let _endpos = _endpos__2_ in let _v : ( -# 135 "parser_cocci_menhir.mly" +# 157 "parser_cocci_menhir.mly" (Ast0_cocci.rule) # 20531 "parser_cocci_menhir.ml" ) = -# 175 "parser_cocci_menhir.mly" +# 197 "parser_cocci_menhir.mly" ( m ) # 20535 "parser_cocci_menhir.ml" in @@ -20553,7 +20553,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1728 "parser_cocci_menhir.mly" +# 1797 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) # 20559 "parser_cocci_menhir.ml" in @@ -20577,7 +20577,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1729 "parser_cocci_menhir.mly" +# 1798 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) # 20583 "parser_cocci_menhir.ml" in @@ -20601,7 +20601,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1730 "parser_cocci_menhir.mly" +# 1799 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) # 20607 "parser_cocci_menhir.ml" in @@ -20625,7 +20625,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1732 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) # 20631 "parser_cocci_menhir.ml" in @@ -20652,14 +20652,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_ctype = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20658 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20665 "parser_cocci_menhir.ml" in @@ -20686,14 +20686,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_eexpr = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20692 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20699 "parser_cocci_menhir.ml" in @@ -20720,14 +20720,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_after_dots_or = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20726 "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_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20733 "parser_cocci_menhir.ml" in @@ -20754,14 +20754,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_fun_start = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20760 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20767 "parser_cocci_menhir.ml" in @@ -20788,14 +20788,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_rule_elem_statement = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20794 "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_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20801 "parser_cocci_menhir.ml" in @@ -20822,14 +20822,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_statement = Obj.magic b in let a : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20828 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 1922 "parser_cocci_menhir.mly" +# 1991 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) # 20835 "parser_cocci_menhir.ml" in @@ -20853,7 +20853,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 853 "parser_cocci_menhir.mly" +# 882 "parser_cocci_menhir.mly" ( _1 ) # 20859 "parser_cocci_menhir.ml" in @@ -20904,28 +20904,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20910 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) # 20916 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) # 20921 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 20926 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) # 20931 "parser_cocci_menhir.ml" ) = Obj.magic lp in @@ -20933,7 +20933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_name_opt_decl = -# 856 "parser_cocci_menhir.mly" +# 885 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer @@ -20968,7 +20968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1843 "parser_cocci_menhir.mly" +# 1912 "parser_cocci_menhir.mly" (_1@_2) # 20974 "parser_cocci_menhir.ml" in @@ -20996,7 +20996,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1844 "parser_cocci_menhir.mly" +# 1913 "parser_cocci_menhir.mly" (_2) # 21002 "parser_cocci_menhir.ml" in @@ -21026,7 +21026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1845 "parser_cocci_menhir.mly" +# 1914 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) # 21032 "parser_cocci_menhir.ml" in @@ -21043,7 +21043,7 @@ 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_nest_after_exp = -# 1853 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" ([]) # 21049 "parser_cocci_menhir.ml" in @@ -21073,7 +21073,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 1854 "parser_cocci_menhir.mly" +# 1923 "parser_cocci_menhir.mly" (_1::_2) # 21079 "parser_cocci_menhir.ml" in @@ -21090,7 +21090,7 @@ 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_nest_after_stm = -# 1848 "parser_cocci_menhir.mly" +# 1917 "parser_cocci_menhir.mly" ([]) # 21096 "parser_cocci_menhir.ml" in @@ -21120,7 +21120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1849 "parser_cocci_menhir.mly" +# 1918 "parser_cocci_menhir.mly" (_1::_2) # 21126 "parser_cocci_menhir.ml" in @@ -21150,7 +21150,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1850 "parser_cocci_menhir.mly" +# 1919 "parser_cocci_menhir.mly" (_1@_2) # 21156 "parser_cocci_menhir.ml" in @@ -21181,20 +21181,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) # 21187 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) # 21193 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1242 "parser_cocci_menhir.mly" +# 1271 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) @@ -21227,20 +21227,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) # 21233 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) # 21239 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1246 "parser_cocci_menhir.mly" +# 1275 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) @@ -21266,7 +21266,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 1840 "parser_cocci_menhir.mly" +# 1909 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) # 21272 "parser_cocci_menhir.ml" in @@ -21288,11 +21288,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 169 "parser_cocci_menhir.mly" +# 191 "parser_cocci_menhir.mly" (unit) # 21294 "parser_cocci_menhir.ml" ) = -# 1989 "parser_cocci_menhir.mly" +# 2058 "parser_cocci_menhir.mly" ( () ) # 21298 "parser_cocci_menhir.ml" in @@ -21318,11 +21318,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 169 "parser_cocci_menhir.mly" +# 191 "parser_cocci_menhir.mly" (unit) # 21324 "parser_cocci_menhir.ml" ) = -# 1990 "parser_cocci_menhir.mly" +# 2059 "parser_cocci_menhir.mly" ( () ) # 21328 "parser_cocci_menhir.ml" in @@ -21344,11 +21344,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : ( -# 169 "parser_cocci_menhir.mly" +# 191 "parser_cocci_menhir.mly" (unit) # 21350 "parser_cocci_menhir.ml" ) = -# 1991 "parser_cocci_menhir.mly" +# 2060 "parser_cocci_menhir.mly" ( () ) # 21354 "parser_cocci_menhir.ml" in @@ -21378,7 +21378,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_g_ in let _endpos = _endpos_dg_ in let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1410 "parser_cocci_menhir.mly" +# 1439 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) # 21385 "parser_cocci_menhir.ml" @@ -21400,7 +21400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 21406 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -21434,7 +21434,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in let x : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) # 21440 "parser_cocci_menhir.ml" ) = Obj.magic x in @@ -21469,7 +21469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1561 "parser_cocci_menhir.mly" +# 1612 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21509,7 +21509,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1567 "parser_cocci_menhir.mly" +# 1618 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21524,6 +21524,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct 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 = +# 1588 "parser_cocci_menhir.mly" + (Ast0.NotExpCstrt ceq) +# 21543 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 = +# 1589 "parser_cocci_menhir.mly" + (Ast0.SubExpCstrt s) +# 21567 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { @@ -21541,14 +21589,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1542 "parser_cocci_menhir.mly" +# 1593 "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))))] ) -# 21552 "parser_cocci_menhir.ml" +# 21600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21582,7 +21630,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1549 "parser_cocci_menhir.mly" +# 1600 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21592,7 +21640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 21596 "parser_cocci_menhir.ml" +# 21644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21618,15 +21666,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1521 "parser_cocci_menhir.mly" +# 1550 "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([snd i]) ) -# 21630 "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],[])) ) +# 21684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21660,14 +21714,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1529 "parser_cocci_menhir.mly" +# 1564 "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 snd 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) ) -# 21671 "parser_cocci_menhir.ml" +# 21736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21693,18 +21758,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1581 "parser_cocci_menhir.mly" +# 1656 "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] ) -# 21708 "parser_cocci_menhir.ml" + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in + [i] ) +# 21771 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21738,21 +21801,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1592 "parser_cocci_menhir.mly" +# 1665 "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 ) -# 21756 "parser_cocci_menhir.ml" +# 21815 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21774,9 +21833,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1666 "parser_cocci_menhir.mly" +# 1735 "parser_cocci_menhir.mly" ( _1 ) -# 21780 "parser_cocci_menhir.ml" +# 21839 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21795,14 +21854,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21801 "parser_cocci_menhir.ml" +# 21860 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1668 "parser_cocci_menhir.mly" +# 1737 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -21810,7 +21869,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21814 "parser_cocci_menhir.ml" +# 21873 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21832,9 +21891,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_ = -# 1666 "parser_cocci_menhir.mly" +# 1735 "parser_cocci_menhir.mly" ( _1 ) -# 21838 "parser_cocci_menhir.ml" +# 21897 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21853,14 +21912,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 67 "parser_cocci_menhir.mly" +# 89 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 21859 "parser_cocci_menhir.ml" +# 21918 "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_ = -# 1668 "parser_cocci_menhir.mly" +# 1737 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -21868,7 +21927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Some nm -> Some(P.clt2mcode nm clt) | None -> None in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 21872 "parser_cocci_menhir.ml" +# 21931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21892,17 +21951,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 21898 "parser_cocci_menhir.ml" +# 21957 "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 = -# 1031 "parser_cocci_menhir.mly" +# 1060 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 21906 "parser_cocci_menhir.ml" +# 21965 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21931,9 +21990,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 21937 "parser_cocci_menhir.ml" +# 21996 "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 @@ -21943,14 +22002,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 21947 "parser_cocci_menhir.ml" +# 22006 "parser_cocci_menhir.ml" in -# 1033 "parser_cocci_menhir.mly" +# 1062 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 21954 "parser_cocci_menhir.ml" +# 22013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21984,9 +22043,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 21990 "parser_cocci_menhir.ml" +# 22049 "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 @@ -21998,14 +22057,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22002 "parser_cocci_menhir.ml" +# 22061 "parser_cocci_menhir.ml" in -# 1033 "parser_cocci_menhir.mly" +# 1062 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22009 "parser_cocci_menhir.ml" +# 22068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22027,9 +22086,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1035 "parser_cocci_menhir.mly" +# 1064 "parser_cocci_menhir.mly" ( f ) -# 22033 "parser_cocci_menhir.ml" +# 22092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22068,15 +22127,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22074 "parser_cocci_menhir.ml" +# 22133 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22080 "parser_cocci_menhir.ml" +# 22139 "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 @@ -22086,14 +22145,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22090 "parser_cocci_menhir.ml" +# 22149 "parser_cocci_menhir.ml" in -# 1037 "parser_cocci_menhir.mly" +# 1066 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22097 "parser_cocci_menhir.ml" +# 22156 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22137,15 +22196,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22143 "parser_cocci_menhir.ml" +# 22202 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22149 "parser_cocci_menhir.ml" +# 22208 "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 @@ -22157,14 +22216,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22161 "parser_cocci_menhir.ml" +# 22220 "parser_cocci_menhir.ml" in -# 1037 "parser_cocci_menhir.mly" +# 1066 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22168 "parser_cocci_menhir.ml" +# 22227 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22193,9 +22252,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22199 "parser_cocci_menhir.ml" +# 22258 "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 @@ -22205,22 +22264,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22209 "parser_cocci_menhir.ml" +# 22268 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22216 "parser_cocci_menhir.ml" +# 22275 "parser_cocci_menhir.ml" in -# 1042 "parser_cocci_menhir.mly" +# 1071 "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)) ) -# 22224 "parser_cocci_menhir.ml" +# 22283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22254,9 +22313,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22260 "parser_cocci_menhir.ml" +# 22319 "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 @@ -22268,22 +22327,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22272 "parser_cocci_menhir.ml" +# 22331 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22279 "parser_cocci_menhir.ml" +# 22338 "parser_cocci_menhir.ml" in -# 1042 "parser_cocci_menhir.mly" +# 1071 "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)) ) -# 22287 "parser_cocci_menhir.ml" +# 22346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22317,9 +22376,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22323 "parser_cocci_menhir.ml" +# 22382 "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 @@ -22330,7 +22389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22334 "parser_cocci_menhir.ml" +# 22393 "parser_cocci_menhir.ml" in let s = @@ -22338,15 +22397,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22342 "parser_cocci_menhir.ml" +# 22401 "parser_cocci_menhir.ml" in -# 1042 "parser_cocci_menhir.mly" +# 1071 "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)) ) -# 22350 "parser_cocci_menhir.ml" +# 22409 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22385,9 +22444,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22391 "parser_cocci_menhir.ml" +# 22450 "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 @@ -22400,7 +22459,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22404 "parser_cocci_menhir.ml" +# 22463 "parser_cocci_menhir.ml" in let s = @@ -22408,15 +22467,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22412 "parser_cocci_menhir.ml" +# 22471 "parser_cocci_menhir.ml" in -# 1042 "parser_cocci_menhir.mly" +# 1071 "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)) ) -# 22420 "parser_cocci_menhir.ml" +# 22479 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22455,15 +22514,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22461 "parser_cocci_menhir.ml" +# 22520 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22467 "parser_cocci_menhir.ml" +# 22526 "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 @@ -22473,24 +22532,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22477 "parser_cocci_menhir.ml" +# 22536 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22484 "parser_cocci_menhir.ml" +# 22543 "parser_cocci_menhir.ml" in -# 1047 "parser_cocci_menhir.mly" +# 1076 "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)) ) -# 22494 "parser_cocci_menhir.ml" +# 22553 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22534,15 +22593,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22540 "parser_cocci_menhir.ml" +# 22599 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22546 "parser_cocci_menhir.ml" +# 22605 "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 @@ -22554,24 +22613,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22558 "parser_cocci_menhir.ml" +# 22617 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22565 "parser_cocci_menhir.ml" +# 22624 "parser_cocci_menhir.ml" in -# 1047 "parser_cocci_menhir.mly" +# 1076 "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)) ) -# 22575 "parser_cocci_menhir.ml" +# 22634 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22615,15 +22674,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22621 "parser_cocci_menhir.ml" +# 22680 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22627 "parser_cocci_menhir.ml" +# 22686 "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 @@ -22634,7 +22693,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22638 "parser_cocci_menhir.ml" +# 22697 "parser_cocci_menhir.ml" in let s = @@ -22642,17 +22701,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22646 "parser_cocci_menhir.ml" +# 22705 "parser_cocci_menhir.ml" in -# 1047 "parser_cocci_menhir.mly" +# 1076 "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)) ) -# 22656 "parser_cocci_menhir.ml" +# 22715 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22701,15 +22760,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22707 "parser_cocci_menhir.ml" +# 22766 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22713 "parser_cocci_menhir.ml" +# 22772 "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 @@ -22722,7 +22781,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22726 "parser_cocci_menhir.ml" +# 22785 "parser_cocci_menhir.ml" in let s = @@ -22730,17 +22789,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22734 "parser_cocci_menhir.ml" +# 22793 "parser_cocci_menhir.ml" in -# 1047 "parser_cocci_menhir.mly" +# 1076 "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)) ) -# 22744 "parser_cocci_menhir.ml" +# 22803 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22799,36 +22858,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22805 "parser_cocci_menhir.ml" +# 22864 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22810 "parser_cocci_menhir.ml" +# 22869 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 22816 "parser_cocci_menhir.ml" +# 22875 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22821 "parser_cocci_menhir.ml" +# 22880 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 22827 "parser_cocci_menhir.ml" +# 22886 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 22832 "parser_cocci_menhir.ml" +# 22891 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -22837,11 +22896,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22841 "parser_cocci_menhir.ml" +# 22900 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1086 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22849,7 +22908,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)) ) -# 22853 "parser_cocci_menhir.ml" +# 22912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22913,36 +22972,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 22919 "parser_cocci_menhir.ml" +# 22978 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22924 "parser_cocci_menhir.ml" +# 22983 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 22930 "parser_cocci_menhir.ml" +# 22989 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 22935 "parser_cocci_menhir.ml" +# 22994 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 22941 "parser_cocci_menhir.ml" +# 23000 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 22946 "parser_cocci_menhir.ml" +# 23005 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -22953,11 +23012,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22957 "parser_cocci_menhir.ml" +# 23016 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1086 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -22965,7 +23024,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)) ) -# 22969 "parser_cocci_menhir.ml" +# 23028 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23004,29 +23063,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _5 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 23010 "parser_cocci_menhir.ml" +# 23069 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23015 "parser_cocci_menhir.ml" +# 23074 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 23021 "parser_cocci_menhir.ml" +# 23080 "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 = -# 1065 "parser_cocci_menhir.mly" +# 1094 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 23030 "parser_cocci_menhir.ml" +# 23089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23095,42 +23154,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 23101 "parser_cocci_menhir.ml" +# 23160 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 23107 "parser_cocci_menhir.ml" +# 23166 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23112 "parser_cocci_menhir.ml" +# 23171 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 23118 "parser_cocci_menhir.ml" +# 23177 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23123 "parser_cocci_menhir.ml" +# 23182 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 23129 "parser_cocci_menhir.ml" +# 23188 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 23134 "parser_cocci_menhir.ml" +# 23193 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -23139,11 +23198,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23143 "parser_cocci_menhir.ml" +# 23202 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1100 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23151,7 +23210,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))) -# 23155 "parser_cocci_menhir.ml" +# 23214 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23225,42 +23284,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 23231 "parser_cocci_menhir.ml" +# 23290 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 23237 "parser_cocci_menhir.ml" +# 23296 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23242 "parser_cocci_menhir.ml" +# 23301 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 23248 "parser_cocci_menhir.ml" +# 23307 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 23253 "parser_cocci_menhir.ml" +# 23312 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 23259 "parser_cocci_menhir.ml" +# 23318 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 23264 "parser_cocci_menhir.ml" +# 23323 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23271,11 +23330,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23275 "parser_cocci_menhir.ml" +# 23334 "parser_cocci_menhir.ml" in -# 1071 "parser_cocci_menhir.mly" +# 1100 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23283,7 +23342,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))) -# 23287 "parser_cocci_menhir.ml" +# 23346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23300,7 +23359,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 23304 "parser_cocci_menhir.ml" +# 23363 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23324,7 +23383,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 23328 "parser_cocci_menhir.ml" +# 23387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23341,7 +23400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 23345 "parser_cocci_menhir.ml" +# 23404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23365,7 +23424,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 23369 "parser_cocci_menhir.ml" +# 23428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23382,7 +23441,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 23386 "parser_cocci_menhir.ml" +# 23445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23406,7 +23465,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 23410 "parser_cocci_menhir.ml" +# 23469 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in + let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in + let _endpos = _startpos in + let _v : 'tv_option_not_ceq_or_sub_ = +# 29 "standard.mly" + ( None ) +# 23486 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = x; + MenhirLib.EngineTypes.startp = _startpos_x_; + MenhirLib.EngineTypes.endp = _endpos_x_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let x : 'tv_not_ceq_or_sub = Obj.magic x in + let _startpos = _startpos_x_ in + let _endpos = _endpos_x_ in + let _v : 'tv_option_not_ceq_or_sub_ = +# 31 "standard.mly" + ( Some x ) +# 23510 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23420,10 +23520,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_re_or_not_eqe_or_sub_ = # 29 "standard.mly" ( None ) -# 23427 "parser_cocci_menhir.ml" +# 23527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23441,13 +23541,13 @@ 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_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_ = + let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 31 "standard.mly" ( Some x ) -# 23451 "parser_cocci_menhir.ml" +# 23551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23464,7 +23564,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 23468 "parser_cocci_menhir.ml" +# 23568 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23488,7 +23588,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 23492 "parser_cocci_menhir.ml" +# 23592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23503,9 +23603,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 = -# 1790 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ([]) -# 23509 "parser_cocci_menhir.ml" +# 23609 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23531,9 +23631,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1791 "parser_cocci_menhir.mly" +# 1860 "parser_cocci_menhir.mly" (_2) -# 23537 "parser_cocci_menhir.ml" +# 23637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23561,9 +23661,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" +# 1862 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23567 "parser_cocci_menhir.ml" +# 23667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23591,9 +23691,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1794 "parser_cocci_menhir.mly" +# 1863 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23597 "parser_cocci_menhir.ml" +# 23697 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23621,9 +23721,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1796 "parser_cocci_menhir.mly" +# 1865 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23627 "parser_cocci_menhir.ml" +# 23727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23638,9 +23738,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 = -# 1786 "parser_cocci_menhir.mly" +# 1855 "parser_cocci_menhir.mly" ([]) -# 23644 "parser_cocci_menhir.ml" +# 23744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23668,9 +23768,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1787 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23674 "parser_cocci_menhir.ml" +# 23774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23685,9 +23785,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 = -# 1799 "parser_cocci_menhir.mly" +# 1868 "parser_cocci_menhir.mly" ([]) -# 23691 "parser_cocci_menhir.ml" +# 23791 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23715,9 +23815,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" +# 1869 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23721 "parser_cocci_menhir.ml" +# 23821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23745,9 +23845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1801 "parser_cocci_menhir.mly" +# 1870 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23751 "parser_cocci_menhir.ml" +# 23851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23775,9 +23875,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1803 "parser_cocci_menhir.mly" +# 1872 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23781 "parser_cocci_menhir.ml" +# 23881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23805,9 +23905,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 638 "parser_cocci_menhir.mly" +# 665 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 23811 "parser_cocci_menhir.ml" +# 23911 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23835,9 +23935,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 652 "parser_cocci_menhir.mly" +# 679 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 23841 "parser_cocci_menhir.ml" +# 23941 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23863,13 +23963,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 144 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23869 "parser_cocci_menhir.ml" +# 23969 "parser_cocci_menhir.ml" ) = -# 180 "parser_cocci_menhir.mly" +# 202 "parser_cocci_menhir.mly" ( _1 ) -# 23873 "parser_cocci_menhir.ml" +# 23973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23895,13 +23995,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 144 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23901 "parser_cocci_menhir.ml" +# 24001 "parser_cocci_menhir.ml" ) = -# 180 "parser_cocci_menhir.mly" +# 202 "parser_cocci_menhir.mly" ( p ) -# 23905 "parser_cocci_menhir.ml" +# 24005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23927,13 +24027,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 144 "parser_cocci_menhir.mly" +# 166 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23933 "parser_cocci_menhir.ml" +# 24033 "parser_cocci_menhir.ml" ) = -# 181 "parser_cocci_menhir.mly" +# 203 "parser_cocci_menhir.mly" ( p ) -# 23937 "parser_cocci_menhir.ml" +# 24037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23959,13 +24059,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : ( -# 141 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23965 "parser_cocci_menhir.ml" +# 24065 "parser_cocci_menhir.ml" ) = -# 176 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" ( _1 ) -# 23969 "parser_cocci_menhir.ml" +# 24069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23991,13 +24091,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 141 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 23997 "parser_cocci_menhir.ml" +# 24097 "parser_cocci_menhir.ml" ) = -# 176 "parser_cocci_menhir.mly" +# 198 "parser_cocci_menhir.mly" ( p ) -# 24001 "parser_cocci_menhir.ml" +# 24101 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24023,13 +24123,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_p_ in let _endpos = _endpos__2_ in let _v : ( -# 141 "parser_cocci_menhir.mly" +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24029 "parser_cocci_menhir.ml" +# 24129 "parser_cocci_menhir.ml" ) = -# 177 "parser_cocci_menhir.mly" +# 199 "parser_cocci_menhir.mly" ( p ) -# 24033 "parser_cocci_menhir.ml" +# 24133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24051,9 +24151,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" +# 1844 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 24057 "parser_cocci_menhir.ml" +# 24157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24075,9 +24175,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1776 "parser_cocci_menhir.mly" +# 1845 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 24081 "parser_cocci_menhir.ml" +# 24181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24105,9 +24205,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1778 "parser_cocci_menhir.mly" +# 1847 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 24111 "parser_cocci_menhir.ml" +# 24211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24135,9 +24235,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" +# 1849 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 24141 "parser_cocci_menhir.ml" +# 24241 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24165,9 +24265,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1781 "parser_cocci_menhir.mly" +# 1850 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 24171 "parser_cocci_menhir.ml" +# 24271 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24195,9 +24295,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1783 "parser_cocci_menhir.mly" +# 1852 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 24201 "parser_cocci_menhir.ml" +# 24301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24216,16 +24316,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 24222 "parser_cocci_menhir.ml" +# 24322 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = -# 231 "parser_cocci_menhir.mly" +# 253 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 24229 "parser_cocci_menhir.ml" +# 24329 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24248,16 +24348,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 24254 "parser_cocci_menhir.ml" +# 24354 "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" +# 254 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) -# 24261 "parser_cocci_menhir.ml" +# 24361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24280,16 +24380,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 24286 "parser_cocci_menhir.ml" +# 24386 "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" +# 255 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) -# 24293 "parser_cocci_menhir.ml" +# 24393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24312,16 +24412,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 24318 "parser_cocci_menhir.ml" +# 24418 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = -# 234 "parser_cocci_menhir.mly" +# 256 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 24325 "parser_cocci_menhir.ml" +# 24425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24351,9 +24451,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pnrule = -# 235 "parser_cocci_menhir.mly" +# 257 "parser_cocci_menhir.mly" ( _2 ) -# 24357 "parser_cocci_menhir.ml" +# 24457 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24375,9 +24475,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_ = -# 1343 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( _1 ) -# 24381 "parser_cocci_menhir.ml" +# 24481 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24411,24 +24511,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24417 "parser_cocci_menhir.ml" +# 24517 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24423 "parser_cocci_menhir.ml" +# 24523 "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_ = -# 1345 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24432 "parser_cocci_menhir.ml" +# 24532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24458,17 +24558,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 24464 "parser_cocci_menhir.ml" +# 24564 "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_ = -# 1348 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24472 "parser_cocci_menhir.ml" +# 24572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24498,18 +24598,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 105 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) -# 24504 "parser_cocci_menhir.ml" +# 24604 "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_ = -# 1350 "parser_cocci_menhir.mly" +# 1379 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24513 "parser_cocci_menhir.ml" +# 24613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24533,17 +24633,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24539 "parser_cocci_menhir.ml" +# 24639 "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_ = -# 1353 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24547 "parser_cocci_menhir.ml" +# 24647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24567,17 +24667,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24573 "parser_cocci_menhir.ml" +# 24673 "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_ = -# 1355 "parser_cocci_menhir.mly" +# 1384 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24581 "parser_cocci_menhir.ml" +# 24681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24611,25 +24711,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 24617 "parser_cocci_menhir.ml" +# 24717 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 24623 "parser_cocci_menhir.ml" +# 24723 "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_ = -# 1357 "parser_cocci_menhir.mly" +# 1386 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24633 "parser_cocci_menhir.ml" +# 24733 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24651,9 +24751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1343 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( _1 ) -# 24657 "parser_cocci_menhir.ml" +# 24757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24687,24 +24787,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24693 "parser_cocci_menhir.ml" +# 24793 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24699 "parser_cocci_menhir.ml" +# 24799 "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_ = -# 1345 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24708 "parser_cocci_menhir.ml" +# 24808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24734,17 +24834,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 24740 "parser_cocci_menhir.ml" +# 24840 "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_ = -# 1348 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24748 "parser_cocci_menhir.ml" +# 24848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24774,18 +24874,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 105 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) -# 24780 "parser_cocci_menhir.ml" +# 24880 "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_ = -# 1350 "parser_cocci_menhir.mly" +# 1379 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24789 "parser_cocci_menhir.ml" +# 24889 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24809,17 +24909,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24815 "parser_cocci_menhir.ml" +# 24915 "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_ = -# 1353 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24823 "parser_cocci_menhir.ml" +# 24923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24843,17 +24943,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 24849 "parser_cocci_menhir.ml" +# 24949 "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_ = -# 1355 "parser_cocci_menhir.mly" +# 1384 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24857 "parser_cocci_menhir.ml" +# 24957 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24887,25 +24987,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 24893 "parser_cocci_menhir.ml" +# 24993 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 24899 "parser_cocci_menhir.ml" +# 24999 "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_ = -# 1357 "parser_cocci_menhir.mly" +# 1386 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24909 "parser_cocci_menhir.ml" +# 25009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24927,9 +25027,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_ = -# 1343 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( _1 ) -# 24933 "parser_cocci_menhir.ml" +# 25033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24963,24 +25063,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24969 "parser_cocci_menhir.ml" +# 25069 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 103 "parser_cocci_menhir.mly" +# 125 "parser_cocci_menhir.mly" (Data.clt) -# 24975 "parser_cocci_menhir.ml" +# 25075 "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_ = -# 1345 "parser_cocci_menhir.mly" +# 1374 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24984 "parser_cocci_menhir.ml" +# 25084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25010,253 +25110,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 25016 "parser_cocci_menhir.ml" +# 25116 "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_ = -# 1348 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25024 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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_ident = Obj.magic _3 in - let _2 : ( -# 105 "parser_cocci_menhir.mly" - (Data.clt) -# 25056 "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_ = -# 1350 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, - _3)) ) -# 25065 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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 : ( -# 86 "parser_cocci_menhir.mly" - (Data.clt) -# 25091 "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_ = -# 1353 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25099 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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 : ( -# 86 "parser_cocci_menhir.mly" - (Data.clt) -# 25125 "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_ = -# 1355 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25133 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let _4 : ( -# 78 "parser_cocci_menhir.mly" - (Data.clt) -# 25169 "parser_cocci_menhir.ml" - ) = Obj.magic _4 in - let _3 : 'tv_eexpr_list_option = Obj.magic _3 in - let _2 : ( -# 77 "parser_cocci_menhir.mly" - (Data.clt) -# 25175 "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_ = -# 1357 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, - _3, - P.clt2mcode ")" _4)) ) -# 25185 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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_primary_expr_expr_invalid_ = Obj.magic _1 in - let _startpos = _startpos__1_ in - let _endpos = _endpos__1_ in - let _v : 'tv_postfix_expr_expr_invalid_ = -# 1343 "parser_cocci_menhir.mly" - ( _1 ) -# 25209 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - MenhirLib.EngineTypes.endp = _endpos; - MenhirLib.EngineTypes.next = _menhir_stack; - }); - (fun _menhir_env -> - let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in - let { - MenhirLib.EngineTypes.semv = _4; - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _3; - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = _1; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; - }; - }; - } = _menhir_stack in - let _4 : ( -# 103 "parser_cocci_menhir.mly" - (Data.clt) -# 25245 "parser_cocci_menhir.ml" - ) = Obj.magic _4 in - let _3 : 'tv_eexpr = Obj.magic _3 in - let _2 : ( -# 103 "parser_cocci_menhir.mly" - (Data.clt) -# 25251 "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_ = -# 1345 "parser_cocci_menhir.mly" - ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, - P.clt2mcode "]" _4)) ) -# 25260 "parser_cocci_menhir.ml" +# 25124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25286,17 +25150,253 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( +# 127 "parser_cocci_menhir.mly" + (Data.clt) +# 25156 "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_ = +# 1379 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, + _3)) ) +# 25165 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 : ( # 108 "parser_cocci_menhir.mly" (Data.clt) -# 25292 "parser_cocci_menhir.ml" +# 25191 "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_ = +# 1382 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) +# 25199 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 : ( +# 108 "parser_cocci_menhir.mly" + (Data.clt) +# 25225 "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_ = +# 1384 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) +# 25233 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let _4 : ( +# 100 "parser_cocci_menhir.mly" + (Data.clt) +# 25269 "parser_cocci_menhir.ml" + ) = Obj.magic _4 in + let _3 : 'tv_eexpr_list_option = Obj.magic _3 in + let _2 : ( +# 99 "parser_cocci_menhir.mly" + (Data.clt) +# 25275 "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_ = +# 1386 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, + _3, + P.clt2mcode ")" _4)) ) +# 25285 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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_primary_expr_expr_invalid_ = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_postfix_expr_expr_invalid_ = +# 1372 "parser_cocci_menhir.mly" + ( _1 ) +# 25309 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = _4; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _3; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + }; + } = _menhir_stack in + let _4 : ( +# 125 "parser_cocci_menhir.mly" + (Data.clt) +# 25345 "parser_cocci_menhir.ml" + ) = Obj.magic _4 in + let _3 : 'tv_eexpr = Obj.magic _3 in + let _2 : ( +# 125 "parser_cocci_menhir.mly" + (Data.clt) +# 25351 "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_ = +# 1374 "parser_cocci_menhir.mly" + ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, + P.clt2mcode "]" _4)) ) +# 25360 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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_ident = Obj.magic _3 in + let _2 : ( +# 130 "parser_cocci_menhir.mly" + (Data.clt) +# 25392 "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_ = -# 1348 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25300 "parser_cocci_menhir.ml" +# 25400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25326,18 +25426,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_ident = Obj.magic _3 in let _2 : ( -# 105 "parser_cocci_menhir.mly" +# 127 "parser_cocci_menhir.mly" (Data.clt) -# 25332 "parser_cocci_menhir.ml" +# 25432 "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_ = -# 1350 "parser_cocci_menhir.mly" +# 1379 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25341 "parser_cocci_menhir.ml" +# 25441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25361,17 +25461,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 25367 "parser_cocci_menhir.ml" +# 25467 "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_ = -# 1353 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25375 "parser_cocci_menhir.ml" +# 25475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25395,17 +25495,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 25401 "parser_cocci_menhir.ml" +# 25501 "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_ = -# 1355 "parser_cocci_menhir.mly" +# 1384 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25409 "parser_cocci_menhir.ml" +# 25509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25439,25 +25539,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 25445 "parser_cocci_menhir.ml" +# 25545 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 25451 "parser_cocci_menhir.ml" +# 25551 "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_ = -# 1357 "parser_cocci_menhir.mly" +# 1386 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25461 "parser_cocci_menhir.ml" +# 25561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25479,9 +25579,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25485 "parser_cocci_menhir.ml" +# 25585 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25500,17 +25600,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25506 "parser_cocci_menhir.ml" +# 25606 "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_ = -# 1364 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25514 "parser_cocci_menhir.ml" +# 25614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25529,17 +25629,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25535 "parser_cocci_menhir.ml" +# 25635 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25543 "parser_cocci_menhir.ml" +# 25643 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25558,17 +25658,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25564 "parser_cocci_menhir.ml" +# 25664 "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_ = -# 1370 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25572 "parser_cocci_menhir.ml" +# 25672 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25587,17 +25687,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25593 "parser_cocci_menhir.ml" +# 25693 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25601 "parser_cocci_menhir.ml" +# 25701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25616,18 +25716,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25622 "parser_cocci_menhir.ml" +# 25722 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1405 "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)) ) -# 25631 "parser_cocci_menhir.ml" +# 25731 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25646,17 +25746,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25652 "parser_cocci_menhir.ml" +# 25752 "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_ = -# 1380 "parser_cocci_menhir.mly" +# 1409 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25660 "parser_cocci_menhir.ml" +# 25760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25675,18 +25775,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25681 "parser_cocci_menhir.ml" +# 25781 "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_ = -# 1383 "parser_cocci_menhir.mly" +# 1412 "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)) ) -# 25690 "parser_cocci_menhir.ml" +# 25790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25705,18 +25805,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25711 "parser_cocci_menhir.ml" +# 25811 "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_ = -# 1387 "parser_cocci_menhir.mly" +# 1416 "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)) ) -# 25720 "parser_cocci_menhir.ml" +# 25820 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25735,18 +25835,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25741 "parser_cocci_menhir.ml" +# 25841 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1420 "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)) ) -# 25750 "parser_cocci_menhir.ml" +# 25850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25775,23 +25875,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 25781 "parser_cocci_menhir.ml" +# 25881 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 25787 "parser_cocci_menhir.ml" +# 25887 "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_ = -# 1395 "parser_cocci_menhir.mly" +# 1424 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 25795 "parser_cocci_menhir.ml" +# 25895 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25820,25 +25920,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 25826 "parser_cocci_menhir.ml" +# 25926 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 25832 "parser_cocci_menhir.ml" +# 25932 "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_ = -# 1398 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 25842 "parser_cocci_menhir.ml" +# 25942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25860,9 +25960,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_ = -# 1402 "parser_cocci_menhir.mly" +# 1431 "parser_cocci_menhir.mly" ( _1 ) -# 25866 "parser_cocci_menhir.ml" +# 25966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25884,9 +25984,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25890 "parser_cocci_menhir.ml" +# 25990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25905,17 +26005,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25911 "parser_cocci_menhir.ml" +# 26011 "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_ = -# 1364 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25919 "parser_cocci_menhir.ml" +# 26019 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25934,17 +26034,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25940 "parser_cocci_menhir.ml" +# 26040 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25948 "parser_cocci_menhir.ml" +# 26048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25963,17 +26063,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25969 "parser_cocci_menhir.ml" +# 26069 "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_ = -# 1370 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25977 "parser_cocci_menhir.ml" +# 26077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25992,17 +26092,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 25998 "parser_cocci_menhir.ml" +# 26098 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26006 "parser_cocci_menhir.ml" +# 26106 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26021,18 +26121,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26027 "parser_cocci_menhir.ml" +# 26127 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1405 "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)) ) -# 26036 "parser_cocci_menhir.ml" +# 26136 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26051,17 +26151,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26057 "parser_cocci_menhir.ml" +# 26157 "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_ = -# 1380 "parser_cocci_menhir.mly" +# 1409 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26065 "parser_cocci_menhir.ml" +# 26165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26080,18 +26180,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26086 "parser_cocci_menhir.ml" +# 26186 "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_ = -# 1383 "parser_cocci_menhir.mly" +# 1412 "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)) ) -# 26095 "parser_cocci_menhir.ml" +# 26195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26110,18 +26210,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26116 "parser_cocci_menhir.ml" +# 26216 "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_ = -# 1387 "parser_cocci_menhir.mly" +# 1416 "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)) ) -# 26125 "parser_cocci_menhir.ml" +# 26225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26140,18 +26240,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26146 "parser_cocci_menhir.ml" +# 26246 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1420 "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)) ) -# 26155 "parser_cocci_menhir.ml" +# 26255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26180,23 +26280,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 26186 "parser_cocci_menhir.ml" +# 26286 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 26192 "parser_cocci_menhir.ml" +# 26292 "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_ = -# 1395 "parser_cocci_menhir.mly" +# 1424 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26200 "parser_cocci_menhir.ml" +# 26300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26225,25 +26325,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 26231 "parser_cocci_menhir.ml" +# 26331 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 26237 "parser_cocci_menhir.ml" +# 26337 "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_ = -# 1398 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26247 "parser_cocci_menhir.ml" +# 26347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26265,9 +26365,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1402 "parser_cocci_menhir.mly" +# 1431 "parser_cocci_menhir.mly" ( _1 ) -# 26271 "parser_cocci_menhir.ml" +# 26371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26289,9 +26389,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26295 "parser_cocci_menhir.ml" +# 26395 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26310,17 +26410,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26316 "parser_cocci_menhir.ml" +# 26416 "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_ = -# 1364 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26324 "parser_cocci_menhir.ml" +# 26424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26339,17 +26439,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26345 "parser_cocci_menhir.ml" +# 26445 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26353 "parser_cocci_menhir.ml" +# 26453 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26368,17 +26468,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26374 "parser_cocci_menhir.ml" +# 26474 "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_ = -# 1370 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26382 "parser_cocci_menhir.ml" +# 26482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26397,17 +26497,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26403 "parser_cocci_menhir.ml" +# 26503 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26411 "parser_cocci_menhir.ml" +# 26511 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26426,18 +26526,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26432 "parser_cocci_menhir.ml" +# 26532 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1405 "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)) ) -# 26441 "parser_cocci_menhir.ml" +# 26541 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26456,17 +26556,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26462 "parser_cocci_menhir.ml" +# 26562 "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_ = -# 1380 "parser_cocci_menhir.mly" +# 1409 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26470 "parser_cocci_menhir.ml" +# 26570 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26485,18 +26585,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26491 "parser_cocci_menhir.ml" +# 26591 "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_ = -# 1383 "parser_cocci_menhir.mly" +# 1412 "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)) ) -# 26500 "parser_cocci_menhir.ml" +# 26600 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26515,18 +26615,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26521 "parser_cocci_menhir.ml" +# 26621 "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_ = -# 1387 "parser_cocci_menhir.mly" +# 1416 "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)) ) -# 26530 "parser_cocci_menhir.ml" +# 26630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26545,18 +26645,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26551 "parser_cocci_menhir.ml" +# 26651 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1420 "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)) ) -# 26560 "parser_cocci_menhir.ml" +# 26660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26585,23 +26685,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 26591 "parser_cocci_menhir.ml" +# 26691 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 26597 "parser_cocci_menhir.ml" +# 26697 "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_ = -# 1395 "parser_cocci_menhir.mly" +# 1424 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26605 "parser_cocci_menhir.ml" +# 26705 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26630,25 +26730,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 26636 "parser_cocci_menhir.ml" +# 26736 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 26642 "parser_cocci_menhir.ml" +# 26742 "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_ = -# 1398 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26652 "parser_cocci_menhir.ml" +# 26752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26670,9 +26770,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_ = -# 1402 "parser_cocci_menhir.mly" +# 1431 "parser_cocci_menhir.mly" ( _1 ) -# 26676 "parser_cocci_menhir.ml" +# 26776 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26694,9 +26794,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1391 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26700 "parser_cocci_menhir.ml" +# 26800 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26715,17 +26815,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26721 "parser_cocci_menhir.ml" +# 26821 "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_ = -# 1364 "parser_cocci_menhir.mly" +# 1393 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26729 "parser_cocci_menhir.ml" +# 26829 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26744,17 +26844,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26750 "parser_cocci_menhir.ml" +# 26850 "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_ = -# 1367 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26758 "parser_cocci_menhir.ml" +# 26858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26773,17 +26873,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26779 "parser_cocci_menhir.ml" +# 26879 "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_ = -# 1370 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26787 "parser_cocci_menhir.ml" +# 26887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26802,17 +26902,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 26808 "parser_cocci_menhir.ml" +# 26908 "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_ = -# 1373 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26816 "parser_cocci_menhir.ml" +# 26916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26831,18 +26931,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26837 "parser_cocci_menhir.ml" +# 26937 "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_ = -# 1376 "parser_cocci_menhir.mly" +# 1405 "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)) ) -# 26846 "parser_cocci_menhir.ml" +# 26946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26861,17 +26961,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 64 "parser_cocci_menhir.mly" +# 86 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26867 "parser_cocci_menhir.ml" +# 26967 "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_ = -# 1380 "parser_cocci_menhir.mly" +# 1409 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26875 "parser_cocci_menhir.ml" +# 26975 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26890,18 +26990,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26896 "parser_cocci_menhir.ml" +# 26996 "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_ = -# 1383 "parser_cocci_menhir.mly" +# 1412 "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)) ) -# 26905 "parser_cocci_menhir.ml" +# 27005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26920,18 +27020,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26926 "parser_cocci_menhir.ml" +# 27026 "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_ = -# 1387 "parser_cocci_menhir.mly" +# 1416 "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)) ) -# 26935 "parser_cocci_menhir.ml" +# 27035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26950,18 +27050,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 68 "parser_cocci_menhir.mly" +# 90 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26956 "parser_cocci_menhir.ml" +# 27056 "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_ = -# 1391 "parser_cocci_menhir.mly" +# 1420 "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)) ) -# 26965 "parser_cocci_menhir.ml" +# 27065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26990,23 +27090,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 26996 "parser_cocci_menhir.ml" +# 27096 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 27002 "parser_cocci_menhir.ml" +# 27102 "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_ = -# 1395 "parser_cocci_menhir.mly" +# 1424 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 27010 "parser_cocci_menhir.ml" +# 27110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27035,25 +27135,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 27041 "parser_cocci_menhir.ml" +# 27141 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 27047 "parser_cocci_menhir.ml" +# 27147 "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_ = -# 1398 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 27057 "parser_cocci_menhir.ml" +# 27157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27075,9 +27175,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1402 "parser_cocci_menhir.mly" +# 1431 "parser_cocci_menhir.mly" ( _1 ) -# 27081 "parser_cocci_menhir.ml" +# 27181 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27097,9 +27197,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" +# 213 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 27103 "parser_cocci_menhir.ml" +# 27203 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27119,9 +27219,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure = -# 192 "parser_cocci_menhir.mly" +# 214 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 27125 "parser_cocci_menhir.ml" +# 27225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27145,9 +27245,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" +# 215 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27151 "parser_cocci_menhir.ml" +# 27251 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27171,9 +27271,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pure = -# 194 "parser_cocci_menhir.mly" +# 216 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27177 "parser_cocci_menhir.ml" +# 27277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27188,9 +27288,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 = -# 195 "parser_cocci_menhir.mly" +# 217 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 27194 "parser_cocci_menhir.ml" +# 27294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27209,16 +27309,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 27215 "parser_cocci_menhir.ml" +# 27315 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1416 "parser_cocci_menhir.mly" +# 1445 "parser_cocci_menhir.mly" ( _1 ) -# 27222 "parser_cocci_menhir.ml" +# 27322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27238,9 +27338,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" +# 1448 "parser_cocci_menhir.mly" ( "identifier" ) -# 27244 "parser_cocci_menhir.ml" +# 27344 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27260,9 +27360,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" +# 1449 "parser_cocci_menhir.mly" ( "expression" ) -# 27266 "parser_cocci_menhir.ml" +# 27366 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27282,9 +27382,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" +# 1450 "parser_cocci_menhir.mly" ( "statement" ) -# 27288 "parser_cocci_menhir.ml" +# 27388 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27304,9 +27404,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" +# 1451 "parser_cocci_menhir.mly" ( "function" ) -# 27310 "parser_cocci_menhir.ml" +# 27410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27326,9 +27426,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" +# 1452 "parser_cocci_menhir.mly" ( "local" ) -# 27332 "parser_cocci_menhir.ml" +# 27432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27348,9 +27448,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" +# 1453 "parser_cocci_menhir.mly" ( "type" ) -# 27354 "parser_cocci_menhir.ml" +# 27454 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27370,9 +27470,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" +# 1454 "parser_cocci_menhir.mly" ( "parameter" ) -# 27376 "parser_cocci_menhir.ml" +# 27476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27392,9 +27492,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" +# 1455 "parser_cocci_menhir.mly" ( "idexpression" ) -# 27398 "parser_cocci_menhir.ml" +# 27498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27414,9 +27514,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" +# 1456 "parser_cocci_menhir.mly" ( "initialiser" ) -# 27420 "parser_cocci_menhir.ml" +# 27520 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27436,9 +27536,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" +# 1457 "parser_cocci_menhir.mly" ( "list" ) -# 27442 "parser_cocci_menhir.ml" +# 27542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27458,9 +27558,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" +# 1458 "parser_cocci_menhir.mly" ( "fresh" ) -# 27464 "parser_cocci_menhir.ml" +# 27564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27480,9 +27580,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" +# 1459 "parser_cocci_menhir.mly" ( "constant" ) -# 27486 "parser_cocci_menhir.ml" +# 27586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27502,9 +27602,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" +# 1460 "parser_cocci_menhir.mly" ( "error" ) -# 27508 "parser_cocci_menhir.ml" +# 27608 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27524,9 +27624,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" +# 1461 "parser_cocci_menhir.mly" ( "words" ) -# 27530 "parser_cocci_menhir.ml" +# 27630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27546,9 +27646,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" +# 1462 "parser_cocci_menhir.mly" ( "pure" ) -# 27552 "parser_cocci_menhir.ml" +# 27652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27568,9 +27668,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" +# 1463 "parser_cocci_menhir.mly" ( "context" ) -# 27574 "parser_cocci_menhir.ml" +# 27674 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27590,9 +27690,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" +# 1464 "parser_cocci_menhir.mly" ( "generated" ) -# 27596 "parser_cocci_menhir.ml" +# 27696 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27612,9 +27712,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" +# 1465 "parser_cocci_menhir.mly" ( "typedef" ) -# 27618 "parser_cocci_menhir.ml" +# 27718 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27634,9 +27734,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" +# 1466 "parser_cocci_menhir.mly" ( "declarer" ) -# 27640 "parser_cocci_menhir.ml" +# 27740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27656,9 +27756,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" +# 1467 "parser_cocci_menhir.mly" ( "iterator" ) -# 27662 "parser_cocci_menhir.ml" +# 27762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27678,9 +27778,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" +# 1468 "parser_cocci_menhir.mly" ( "name" ) -# 27684 "parser_cocci_menhir.ml" +# 27784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27700,9 +27800,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1440 "parser_cocci_menhir.mly" +# 1469 "parser_cocci_menhir.mly" ( "position" ) -# 27706 "parser_cocci_menhir.ml" +# 27806 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27724,9 +27824,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" +# 1476 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 27730 "parser_cocci_menhir.ml" +# 27830 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27748,9 +27848,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" +# 1477 "parser_cocci_menhir.mly" ( (None,_1) ) -# 27754 "parser_cocci_menhir.ml" +# 27854 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27772,9 +27872,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1449 "parser_cocci_menhir.mly" +# 1478 "parser_cocci_menhir.mly" ( _1 ) -# 27778 "parser_cocci_menhir.ml" +# 27878 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.semv = optc; + MenhirLib.EngineTypes.startp = _startpos_optc_; + MenhirLib.EngineTypes.endp = _endpos_optc_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + } = _menhir_stack in + let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in + let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in + let _startpos = _startpos_i_ in + let _endpos = _endpos_optc_ in + let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = +# 1504 "parser_cocci_menhir.mly" + ( + match optc with + None -> (i, Ast0.NoConstraint) + | Some c -> (i, c) + ) +# 27912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27797,18 +27931,18 @@ 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_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_ = -# 1475 "parser_cocci_menhir.mly" + let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = +# 1504 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 27812 "parser_cocci_menhir.ml" +# 27946 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27836,13 +27970,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_ = -# 1493 "parser_cocci_menhir.mly" +# 1522 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 27846 "parser_cocci_menhir.ml" +# 27980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27870,14 +28004,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_ = -# 1483 "parser_cocci_menhir.mly" +# 1512 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 27881 "parser_cocci_menhir.ml" +# 28015 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27907,9 +28041,9 @@ 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_ = -# 1489 "parser_cocci_menhir.mly" +# 1518 "parser_cocci_menhir.mly" ( Common.Right (P.id2name _3) ) -# 27913 "parser_cocci_menhir.ml" +# 28047 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27931,9 +28065,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 = -# 1452 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 27937 "parser_cocci_menhir.ml" +# 28071 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27965,43 +28099,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 = -# 1455 "parser_cocci_menhir.mly" +# 1484 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 27973 "parser_cocci_menhir.ml" - in - _menhir_env.MenhirLib.EngineTypes.stack <- { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.semv = Obj.repr _v; - MenhirLib.EngineTypes.startp = _startpos; - 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_ = -# 1469 "parser_cocci_menhir.mly" - ( - (i, l) - ) -# 28005 "parser_cocci_menhir.ml" +# 28107 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28029,11 +28131,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_ = -# 1469 "parser_cocci_menhir.mly" +# 1498 "parser_cocci_menhir.mly" ( (i, l) ) -# 28037 "parser_cocci_menhir.ml" +# 28139 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28054,10 +28156,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 = -# 1537 "parser_cocci_menhir.mly" - (Ast0.NotIdCstrt (re)) -# 28061 "parser_cocci_menhir.ml" + let _v : 'tv_re_or_not_eqe_or_sub = +# 1583 "parser_cocci_menhir.mly" + (Ast0.NotIdCstrt re) +# 28163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28078,10 +28180,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 = -# 1538 "parser_cocci_menhir.mly" - (Ast0.NotExpCstrt (ne)) -# 28085 "parser_cocci_menhir.ml" + let _v : 'tv_re_or_not_eqe_or_sub = +# 1584 "parser_cocci_menhir.mly" + (Ast0.NotExpCstrt ne) +# 28187 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 = +# 1585 "parser_cocci_menhir.mly" + (Ast0.SubExpCstrt s) +# 28211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28103,9 +28229,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1500 "parser_cocci_menhir.mly" - (re) -# 28109 "parser_cocci_menhir.ml" +# 1529 "parser_cocci_menhir.mly" + (Ast.IdRegExpConstraint re) +# 28235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28127,9 +28253,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1501 "parser_cocci_menhir.mly" +# 1530 "parser_cocci_menhir.mly" (ne) -# 28133 "parser_cocci_menhir.ml" +# 28259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28152,21 +28278,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 28158 "parser_cocci_menhir.ml" +# 28284 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1505 "parser_cocci_menhir.mly" +# 1534 "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) ) -# 28170 "parser_cocci_menhir.ml" +# 28296 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28189,21 +28315,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let re : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 28195 "parser_cocci_menhir.ml" +# 28321 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1512 "parser_cocci_menhir.mly" +# 1541 "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) ) -# 28207 "parser_cocci_menhir.ml" +# 28333 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28218,13 +28344,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 : ( -# 132 "parser_cocci_menhir.mly" +# 154 "parser_cocci_menhir.mly" (unit) -# 28224 "parser_cocci_menhir.ml" +# 28350 "parser_cocci_menhir.ml" ) = -# 173 "parser_cocci_menhir.mly" +# 195 "parser_cocci_menhir.mly" ( ) -# 28228 "parser_cocci_menhir.ml" +# 28354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28246,9 +28372,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 928 "parser_cocci_menhir.mly" +# 957 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 28252 "parser_cocci_menhir.ml" +# 28378 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28272,17 +28398,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 28278 "parser_cocci_menhir.ml" +# 28404 "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 = -# 929 "parser_cocci_menhir.mly" +# 958 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 28286 "parser_cocci_menhir.ml" +# 28412 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28311,22 +28437,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 28317 "parser_cocci_menhir.ml" +# 28443 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 28323 "parser_cocci_menhir.ml" +# 28449 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 930 "parser_cocci_menhir.mly" +# 959 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 28330 "parser_cocci_menhir.ml" +# 28456 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28350,21 +28476,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 28356 "parser_cocci_menhir.ml" +# 28482 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 28361 "parser_cocci_menhir.ml" +# 28487 "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" +# 960 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 28368 "parser_cocci_menhir.ml" +# 28494 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28388,21 +28514,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 28394 "parser_cocci_menhir.ml" +# 28520 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 28399 "parser_cocci_menhir.ml" +# 28525 "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" +# 961 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 28406 "parser_cocci_menhir.ml" +# 28532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28426,21 +28552,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 28432 "parser_cocci_menhir.ml" +# 28558 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 28437 "parser_cocci_menhir.ml" +# 28563 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 933 "parser_cocci_menhir.mly" +# 962 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 28444 "parser_cocci_menhir.ml" +# 28570 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28469,26 +28595,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 28475 "parser_cocci_menhir.ml" +# 28601 "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 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 28481 "parser_cocci_menhir.ml" +# 28607 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 935 "parser_cocci_menhir.mly" +# 964 "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)) ) -# 28492 "parser_cocci_menhir.ml" +# 28618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28542,20 +28668,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28548 "parser_cocci_menhir.ml" +# 28674 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 28553 "parser_cocci_menhir.ml" +# 28679 "parser_cocci_menhir.ml" in -# 203 "parser_cocci_menhir.mly" +# 225 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28559 "parser_cocci_menhir.ml" +# 28685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28615,21 +28741,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_x0_ in let _endpos = _endpos__8_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28621 "parser_cocci_menhir.ml" +# 28747 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 28627 "parser_cocci_menhir.ml" +# 28753 "parser_cocci_menhir.ml" in -# 203 "parser_cocci_menhir.mly" +# 225 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28633 "parser_cocci_menhir.ml" +# 28759 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28687,13 +28813,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28693 "parser_cocci_menhir.ml" +# 28819 "parser_cocci_menhir.ml" ) = -# 208 "parser_cocci_menhir.mly" +# 230 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 28697 "parser_cocci_menhir.ml" +# 28823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28733,13 +28859,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28739 "parser_cocci_menhir.ml" +# 28865 "parser_cocci_menhir.ml" ) = -# 210 "parser_cocci_menhir.mly" +# 232 "parser_cocci_menhir.mly" ( P.make_script_rule_name_result lang d ) -# 28743 "parser_cocci_menhir.ml" +# 28869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28779,13 +28905,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28785 "parser_cocci_menhir.ml" +# 28911 "parser_cocci_menhir.ml" ) = -# 212 "parser_cocci_menhir.mly" +# 234 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) -# 28789 "parser_cocci_menhir.ml" +# 28915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28825,13 +28951,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : ( -# 154 "parser_cocci_menhir.mly" +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28831 "parser_cocci_menhir.ml" +# 28957 "parser_cocci_menhir.ml" ) = -# 214 "parser_cocci_menhir.mly" +# 236 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) -# 28835 "parser_cocci_menhir.ml" +# 28961 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28873,21 +28999,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let cocci : 'tv_pure_ident = Obj.magic cocci in let _3 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 28879 "parser_cocci_menhir.ml" +# 29005 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let py : 'tv_pure_ident = Obj.magic py in let _startpos = _startpos_py_ in let _endpos = _endpos__6_ in let _v : ( -# 160 "parser_cocci_menhir.mly" +# 182 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 28887 "parser_cocci_menhir.ml" +# 29013 "parser_cocci_menhir.ml" ) = -# 1995 "parser_cocci_menhir.mly" +# 2064 "parser_cocci_menhir.mly" ( (P.id2name py, (_3, P.id2name cocci)) ) -# 28891 "parser_cocci_menhir.ml" +# 29017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28931,13 +29057,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_py_ in let _endpos = _endpos__6_ in let _v : ( -# 160 "parser_cocci_menhir.mly" +# 182 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 28937 "parser_cocci_menhir.ml" +# 29063 "parser_cocci_menhir.ml" ) = -# 1997 "parser_cocci_menhir.mly" +# 2066 "parser_cocci_menhir.mly" ( (P.id2name py, ("virtual", P.id2name cocci)) ) -# 28941 "parser_cocci_menhir.ml" +# 29067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28956,16 +29082,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 28962 "parser_cocci_menhir.ml" +# 29088 "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" +# 1489 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 28969 "parser_cocci_menhir.ml" +# 29095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28984,16 +29110,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 62 "parser_cocci_menhir.mly" +# 84 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 28990 "parser_cocci_menhir.ml" +# 29116 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1461 "parser_cocci_menhir.mly" +# 1490 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 28997 "parser_cocci_menhir.ml" +# 29123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29022,18 +29148,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" +# 69 "parser_cocci_menhir.mly" (string) -# 29028 "parser_cocci_menhir.ml" +# 29154 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1463 "parser_cocci_menhir.mly" +# 1492 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 29037 "parser_cocci_menhir.ml" +# 29163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29052,16 +29178,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let x : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 29058 "parser_cocci_menhir.ml" +# 29184 "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 ] ) -# 29065 "parser_cocci_menhir.ml" +# 29191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29090,16 +29216,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in let x : ( -# 88 "parser_cocci_menhir.mly" +# 110 "parser_cocci_menhir.mly" (string * Data.clt) -# 29096 "parser_cocci_menhir.ml" +# 29222 "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 ) -# 29103 "parser_cocci_menhir.ml" +# 29229 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29123,7 +29249,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 29127 "parser_cocci_menhir.ml" +# 29253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29157,7 +29283,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 29161 "parser_cocci_menhir.ml" +# 29287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29181,7 +29307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 29185 "parser_cocci_menhir.ml" +# 29311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29215,7 +29341,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 29219 "parser_cocci_menhir.ml" +# 29345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29239,7 +29365,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29243 "parser_cocci_menhir.ml" +# 29369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29273,7 +29399,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29277 "parser_cocci_menhir.ml" +# 29403 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29297,7 +29423,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 29301 "parser_cocci_menhir.ml" +# 29427 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29331,7 +29457,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 29335 "parser_cocci_menhir.ml" +# 29461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29355,7 +29481,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29359 "parser_cocci_menhir.ml" +# 29485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29389,7 +29515,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29393 "parser_cocci_menhir.ml" +# 29519 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29413,7 +29539,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29417 "parser_cocci_menhir.ml" +# 29543 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29447,7 +29573,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29451 "parser_cocci_menhir.ml" +# 29577 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29471,7 +29597,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29475 "parser_cocci_menhir.ml" +# 29601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29505,7 +29631,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29509 "parser_cocci_menhir.ml" +# 29635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29523,13 +29649,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 ] ) -# 29533 "parser_cocci_menhir.ml" +# 29659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29556,14 +29682,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 ) -# 29567 "parser_cocci_menhir.ml" +# 29693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29581,13 +29707,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 ] ) -# 29591 "parser_cocci_menhir.ml" +# 29717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29614,14 +29740,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 ) -# 29625 "parser_cocci_menhir.ml" +# 29751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29639,13 +29765,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 ] ) -# 29649 "parser_cocci_menhir.ml" +# 29775 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29672,14 +29798,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 ) -# 29683 "parser_cocci_menhir.ml" +# 29809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29697,13 +29823,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 ] ) -# 29707 "parser_cocci_menhir.ml" +# 29833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29730,14 +29856,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 ) -# 29741 "parser_cocci_menhir.ml" +# 29867 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29755,13 +29881,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 ] ) -# 29765 "parser_cocci_menhir.ml" +# 29891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29788,14 +29914,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 ) -# 29799 "parser_cocci_menhir.ml" +# 29925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29819,7 +29945,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 ] ) -# 29823 "parser_cocci_menhir.ml" +# 29949 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29853,7 +29979,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 ) -# 29857 "parser_cocci_menhir.ml" +# 29983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29877,7 +30003,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29881 "parser_cocci_menhir.ml" +# 30007 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29911,7 +30037,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29915 "parser_cocci_menhir.ml" +# 30041 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29935,7 +30061,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 29939 "parser_cocci_menhir.ml" +# 30065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29969,7 +30095,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 29973 "parser_cocci_menhir.ml" +# 30099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29991,9 +30117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 943 "parser_cocci_menhir.mly" +# 972 "parser_cocci_menhir.mly" ( _1 ) -# 29997 "parser_cocci_menhir.ml" +# 30123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30022,26 +30148,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30028 "parser_cocci_menhir.ml" +# 30154 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30034 "parser_cocci_menhir.ml" +# 30160 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 947 "parser_cocci_menhir.mly" +# 976 "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)) ) -# 30045 "parser_cocci_menhir.ml" +# 30171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30063,9 +30189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 870 "parser_cocci_menhir.mly" +# 899 "parser_cocci_menhir.mly" ( _1 ) -# 30069 "parser_cocci_menhir.ml" +# 30195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30084,16 +30210,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 30090 "parser_cocci_menhir.ml" +# 30216 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 872 "parser_cocci_menhir.mly" +# 901 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 30097 "parser_cocci_menhir.ml" +# 30223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30117,17 +30243,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30123 "parser_cocci_menhir.ml" +# 30249 "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 = -# 874 "parser_cocci_menhir.mly" +# 903 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 30131 "parser_cocci_menhir.ml" +# 30257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30167,27 +30293,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30173 "parser_cocci_menhir.ml" +# 30299 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30179 "parser_cocci_menhir.ml" +# 30305 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30184 "parser_cocci_menhir.ml" +# 30310 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 876 "parser_cocci_menhir.mly" +# 905 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 30191 "parser_cocci_menhir.ml" +# 30317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30237,33 +30363,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" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30243 "parser_cocci_menhir.ml" +# 30369 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30249 "parser_cocci_menhir.ml" +# 30375 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30255 "parser_cocci_menhir.ml" +# 30381 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30260 "parser_cocci_menhir.ml" +# 30386 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 878 "parser_cocci_menhir.mly" +# 907 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 30267 "parser_cocci_menhir.ml" +# 30393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30323,39 +30449,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _9 : 'tv_single_statement = Obj.magic _9 in let _8 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30329 "parser_cocci_menhir.ml" +# 30455 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30335 "parser_cocci_menhir.ml" +# 30461 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30341 "parser_cocci_menhir.ml" +# 30467 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30347 "parser_cocci_menhir.ml" +# 30473 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30352 "parser_cocci_menhir.ml" +# 30478 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 881 "parser_cocci_menhir.mly" +# 910 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 30359 "parser_cocci_menhir.ml" +# 30485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30395,27 +30521,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30401 "parser_cocci_menhir.ml" +# 30527 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30407 "parser_cocci_menhir.ml" +# 30533 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30412 "parser_cocci_menhir.ml" +# 30538 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 883 "parser_cocci_menhir.mly" +# 912 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 30419 "parser_cocci_menhir.ml" +# 30545 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30464,38 +30590,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _7 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30470 "parser_cocci_menhir.ml" +# 30596 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30475 "parser_cocci_menhir.ml" +# 30601 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30481 "parser_cocci_menhir.ml" +# 30607 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30486 "parser_cocci_menhir.ml" +# 30612 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30492 "parser_cocci_menhir.ml" +# 30618 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 885 "parser_cocci_menhir.mly" +# 914 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 30499 "parser_cocci_menhir.ml" +# 30625 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30535,23 +30661,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30541 "parser_cocci_menhir.ml" +# 30667 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30547 "parser_cocci_menhir.ml" +# 30673 "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 = -# 887 "parser_cocci_menhir.mly" +# 916 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 30555 "parser_cocci_menhir.ml" +# 30681 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30605,39 +30731,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _8 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30611 "parser_cocci_menhir.ml" +# 30737 "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 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30618 "parser_cocci_menhir.ml" +# 30744 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 30623 "parser_cocci_menhir.ml" +# 30749 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30629 "parser_cocci_menhir.ml" +# 30755 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30634 "parser_cocci_menhir.ml" +# 30760 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 889 "parser_cocci_menhir.mly" +# 918 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 30641 "parser_cocci_menhir.ml" +# 30767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30666,22 +30792,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30672 "parser_cocci_menhir.ml" +# 30798 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30678 "parser_cocci_menhir.ml" +# 30804 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 890 "parser_cocci_menhir.mly" +# 919 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 30685 "parser_cocci_menhir.ml" +# 30811 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30705,21 +30831,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30711 "parser_cocci_menhir.ml" +# 30837 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 57 "parser_cocci_menhir.mly" +# 79 "parser_cocci_menhir.mly" (Data.clt) -# 30716 "parser_cocci_menhir.ml" +# 30842 "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" +# 920 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 30723 "parser_cocci_menhir.ml" +# 30849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30743,21 +30869,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30749 "parser_cocci_menhir.ml" +# 30875 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 30754 "parser_cocci_menhir.ml" +# 30880 "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" +# 921 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 30761 "parser_cocci_menhir.ml" +# 30887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30781,21 +30907,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30787 "parser_cocci_menhir.ml" +# 30913 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 30792 "parser_cocci_menhir.ml" +# 30918 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 893 "parser_cocci_menhir.mly" +# 922 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 30799 "parser_cocci_menhir.ml" +# 30925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30819,17 +30945,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 30825 "parser_cocci_menhir.ml" +# 30951 "parser_cocci_menhir.ml" ) = 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_statement = -# 894 "parser_cocci_menhir.mly" +# 923 "parser_cocci_menhir.mly" ( P.label _1 _2 ) -# 30833 "parser_cocci_menhir.ml" +# 30959 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30858,22 +30984,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 30864 "parser_cocci_menhir.ml" +# 30990 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 30870 "parser_cocci_menhir.ml" +# 30996 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 895 "parser_cocci_menhir.mly" +# 924 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) -# 30877 "parser_cocci_menhir.ml" +# 31003 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30902,22 +31028,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30908 "parser_cocci_menhir.ml" +# 31034 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 30914 "parser_cocci_menhir.ml" +# 31040 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 897 "parser_cocci_menhir.mly" +# 926 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 30921 "parser_cocci_menhir.ml" +# 31047 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30942,16 +31068,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 30948 "parser_cocci_menhir.ml" +# 31074 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 901 "parser_cocci_menhir.mly" +# 930 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 30955 "parser_cocci_menhir.ml" +# 31081 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30985,24 +31111,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 30991 "parser_cocci_menhir.ml" +# 31117 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 30998 "parser_cocci_menhir.ml" +# 31124 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 903 "parser_cocci_menhir.mly" +# 932 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 31006 "parser_cocci_menhir.ml" +# 31132 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31036,24 +31162,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 31042 "parser_cocci_menhir.ml" +# 31168 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 31049 "parser_cocci_menhir.ml" +# 31175 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 906 "parser_cocci_menhir.mly" +# 935 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 31057 "parser_cocci_menhir.ml" +# 31183 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31072,16 +31198,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 31078 "parser_cocci_menhir.ml" +# 31204 "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" +# 861 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 31085 "parser_cocci_menhir.ml" +# 31211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31100,16 +31226,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 31106 "parser_cocci_menhir.ml" +# 31232 "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" +# 862 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 31113 "parser_cocci_menhir.ml" +# 31239 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31128,16 +31254,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 31134 "parser_cocci_menhir.ml" +# 31260 "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" +# 863 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 31141 "parser_cocci_menhir.ml" +# 31267 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31156,16 +31282,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 53 "parser_cocci_menhir.mly" +# 75 "parser_cocci_menhir.mly" (Data.clt) -# 31162 "parser_cocci_menhir.ml" +# 31288 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 835 "parser_cocci_menhir.mly" +# 864 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 31169 "parser_cocci_menhir.ml" +# 31295 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31185,9 +31311,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 588 "parser_cocci_menhir.mly" +# 615 "parser_cocci_menhir.mly" ( [] ) -# 31191 "parser_cocci_menhir.ml" +# 31317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31216,19 +31342,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 31222 "parser_cocci_menhir.ml" +# 31348 "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 = -# 590 "parser_cocci_menhir.mly" +# 617 "parser_cocci_menhir.mly" ( let (id,fn) = d in [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31232 "parser_cocci_menhir.ml" +# 31358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31287,42 +31413,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 31293 "parser_cocci_menhir.ml" +# 31419 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 31298 "parser_cocci_menhir.ml" +# 31424 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 31304 "parser_cocci_menhir.ml" +# 31430 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 31309 "parser_cocci_menhir.ml" +# 31435 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 31315 "parser_cocci_menhir.ml" +# 31441 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 31320 "parser_cocci_menhir.ml" +# 31446 "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 = -# 594 "parser_cocci_menhir.mly" +# 621 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -31330,7 +31456,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(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31334 "parser_cocci_menhir.ml" +# 31460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31359,9 +31485,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 31365 "parser_cocci_menhir.ml" +# 31491 "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 @@ -31371,15 +31497,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 31375 "parser_cocci_menhir.ml" +# 31501 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 629 "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))] ) -# 31383 "parser_cocci_menhir.ml" +# 31509 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31413,9 +31539,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let pv : ( -# 108 "parser_cocci_menhir.mly" +# 130 "parser_cocci_menhir.mly" (Data.clt) -# 31419 "parser_cocci_menhir.ml" +# 31545 "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 @@ -31427,15 +31553,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 31431 "parser_cocci_menhir.ml" +# 31557 "parser_cocci_menhir.ml" in -# 602 "parser_cocci_menhir.mly" +# 629 "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))] ) -# 31439 "parser_cocci_menhir.ml" +# 31565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31457,9 +31583,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 607 "parser_cocci_menhir.mly" +# 634 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 31463 "parser_cocci_menhir.ml" +# 31589 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31481,9 +31607,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 610 "parser_cocci_menhir.mly" +# 637 "parser_cocci_menhir.mly" ( _1 ) -# 31487 "parser_cocci_menhir.ml" +# 31613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31511,9 +31637,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 611 "parser_cocci_menhir.mly" +# 638 "parser_cocci_menhir.mly" ( _1@_2 ) -# 31517 "parser_cocci_menhir.ml" +# 31643 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31541,9 +31667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 613 "parser_cocci_menhir.mly" +# 640 "parser_cocci_menhir.mly" ( (P.mkddots "..." d)::r ) -# 31547 "parser_cocci_menhir.ml" +# 31673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31562,16 +31688,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let s : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 31568 "parser_cocci_menhir.ml" +# 31694 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 584 "parser_cocci_menhir.mly" +# 611 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 31575 "parser_cocci_menhir.ml" +# 31701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31590,16 +31716,95 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let u : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 31596 "parser_cocci_menhir.ml" +# 31722 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 585 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 31603 "parser_cocci_menhir.ml" +# 31729 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 = i; + MenhirLib.EngineTypes.startp = _startpos_i_; + MenhirLib.EngineTypes.endp = _endpos_i_; + 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_meta_ident = Obj.magic i in + let _startpos = _startpos__1_ in + let _endpos = _endpos_i_ in + let _v : 'tv_sub = +# 1629 "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] ) +# 31764 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.next = { + 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 l : 'tv_comma_list_meta_ident_ = Obj.magic l in + let _startpos = _startpos__1_ in + let _endpos = _endpos__4_ in + let _v : 'tv_sub = +# 1638 "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) +# 31808 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31621,9 +31826,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1230 "parser_cocci_menhir.mly" +# 1259 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 31627 "parser_cocci_menhir.ml" +# 31832 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31652,22 +31857,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let _3 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 31658 "parser_cocci_menhir.ml" +# 31863 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 31664 "parser_cocci_menhir.ml" +# 31869 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1768 "parser_cocci_menhir.mly" +# 1837 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 31671 "parser_cocci_menhir.ml" +# 31876 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31682,9 +31887,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 = -# 1756 "parser_cocci_menhir.mly" +# 1825 "parser_cocci_menhir.mly" ([]) -# 31688 "parser_cocci_menhir.ml" +# 31893 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31710,9 +31915,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" +# 1826 "parser_cocci_menhir.mly" (_2) -# 31716 "parser_cocci_menhir.ml" +# 31921 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31740,9 +31945,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" +# 1827 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31746 "parser_cocci_menhir.ml" +# 31951 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31770,9 +31975,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1759 "parser_cocci_menhir.mly" +# 1828 "parser_cocci_menhir.mly" (_1@_2) -# 31776 "parser_cocci_menhir.ml" +# 31981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31798,9 +32003,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" +# 1816 "parser_cocci_menhir.mly" (_2) -# 31804 "parser_cocci_menhir.ml" +# 32009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31828,9 +32033,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" +# 1817 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 31834 "parser_cocci_menhir.ml" +# 32039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31858,9 +32063,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1749 "parser_cocci_menhir.mly" +# 1818 "parser_cocci_menhir.mly" (_1@_2) -# 31864 "parser_cocci_menhir.ml" +# 32069 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31875,9 +32080,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 = -# 1752 "parser_cocci_menhir.mly" +# 1821 "parser_cocci_menhir.mly" ([]) -# 31881 "parser_cocci_menhir.ml" +# 32086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31905,9 +32110,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1753 "parser_cocci_menhir.mly" +# 1822 "parser_cocci_menhir.mly" (_1::_2) -# 31911 "parser_cocci_menhir.ml" +# 32116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31922,9 +32127,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 = -# 1762 "parser_cocci_menhir.mly" +# 1831 "parser_cocci_menhir.mly" ([]) -# 31928 "parser_cocci_menhir.ml" +# 32133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31952,9 +32157,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" +# 1832 "parser_cocci_menhir.mly" (_1::_2) -# 31958 "parser_cocci_menhir.ml" +# 32163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31982,9 +32187,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1764 "parser_cocci_menhir.mly" +# 1833 "parser_cocci_menhir.mly" (_1@_2) -# 31988 "parser_cocci_menhir.ml" +# 32193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32012,9 +32217,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" +# 1811 "parser_cocci_menhir.mly" ( _1::_2 ) -# 32018 "parser_cocci_menhir.ml" +# 32223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32042,9 +32247,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" +# 1812 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32048 "parser_cocci_menhir.ml" +# 32253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32072,9 +32277,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_ = -# 1744 "parser_cocci_menhir.mly" +# 1813 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32078 "parser_cocci_menhir.ml" +# 32283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32105,9 +32310,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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32111 "parser_cocci_menhir.ml" +# 32316 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32115,15 +32320,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 911 "parser_cocci_menhir.mly" +# 940 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 32121 "parser_cocci_menhir.ml" +# 32326 "parser_cocci_menhir.ml" in -# 1735 "parser_cocci_menhir.mly" +# 1804 "parser_cocci_menhir.mly" ( a::b ) -# 32127 "parser_cocci_menhir.ml" +# 32332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32163,16 +32368,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32169 "parser_cocci_menhir.ml" +# 32374 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32176 "parser_cocci_menhir.ml" +# 32381 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32182,16 +32387,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 915 "parser_cocci_menhir.mly" +# 944 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32189 "parser_cocci_menhir.ml" +# 32394 "parser_cocci_menhir.ml" in -# 1736 "parser_cocci_menhir.mly" +# 1805 "parser_cocci_menhir.mly" ( a::b ) -# 32195 "parser_cocci_menhir.ml" +# 32400 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32231,16 +32436,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let b : 'tv_toplevel_after_dots_init = Obj.magic b in let c0 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32237 "parser_cocci_menhir.ml" +# 32442 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32244 "parser_cocci_menhir.ml" +# 32449 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32250,16 +32455,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 918 "parser_cocci_menhir.mly" +# 947 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32257 "parser_cocci_menhir.ml" +# 32462 "parser_cocci_menhir.ml" in -# 1736 "parser_cocci_menhir.mly" +# 1805 "parser_cocci_menhir.mly" ( a::b ) -# 32263 "parser_cocci_menhir.ml" +# 32468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32293,16 +32498,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32299 "parser_cocci_menhir.ml" +# 32504 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32306 "parser_cocci_menhir.ml" +# 32511 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32312,16 +32517,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 915 "parser_cocci_menhir.mly" +# 944 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32319 "parser_cocci_menhir.ml" +# 32524 "parser_cocci_menhir.ml" in -# 1737 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( [a] ) -# 32325 "parser_cocci_menhir.ml" +# 32530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32355,16 +32560,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let c0 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32361 "parser_cocci_menhir.ml" +# 32566 "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 : ( -# 74 "parser_cocci_menhir.mly" +# 96 "parser_cocci_menhir.mly" (Data.clt) -# 32368 "parser_cocci_menhir.ml" +# 32573 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32374,16 +32579,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 918 "parser_cocci_menhir.mly" +# 947 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32381 "parser_cocci_menhir.ml" +# 32586 "parser_cocci_menhir.ml" in -# 1737 "parser_cocci_menhir.mly" +# 1806 "parser_cocci_menhir.mly" ( [a] ) -# 32387 "parser_cocci_menhir.ml" +# 32592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32411,9 +32616,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_ = -# 1738 "parser_cocci_menhir.mly" +# 1807 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32417 "parser_cocci_menhir.ml" +# 32622 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32441,9 +32646,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_ = -# 1739 "parser_cocci_menhir.mly" +# 1808 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32447 "parser_cocci_menhir.ml" +# 32652 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32473,14 +32678,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32479 "parser_cocci_menhir.ml" +# 32684 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32484 "parser_cocci_menhir.ml" +# 32689 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32490,28 +32695,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 32496 "parser_cocci_menhir.ml" +# 32701 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32502 "parser_cocci_menhir.ml" +# 32707 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32509 "parser_cocci_menhir.ml" +# 32714 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32515 "parser_cocci_menhir.ml" +# 32720 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32541,14 +32746,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32547 "parser_cocci_menhir.ml" +# 32752 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32552 "parser_cocci_menhir.ml" +# 32757 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32558,28 +32763,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 32564 "parser_cocci_menhir.ml" +# 32769 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32570 "parser_cocci_menhir.ml" +# 32775 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32577 "parser_cocci_menhir.ml" +# 32782 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32583 "parser_cocci_menhir.ml" +# 32788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32609,14 +32814,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32615 "parser_cocci_menhir.ml" +# 32820 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32620 "parser_cocci_menhir.ml" +# 32825 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32626,28 +32831,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 32632 "parser_cocci_menhir.ml" +# 32837 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32638 "parser_cocci_menhir.ml" +# 32843 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32645 "parser_cocci_menhir.ml" +# 32850 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32651 "parser_cocci_menhir.ml" +# 32856 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32677,14 +32882,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 32683 "parser_cocci_menhir.ml" +# 32888 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32688 "parser_cocci_menhir.ml" +# 32893 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32694,29 +32899,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 32701 "parser_cocci_menhir.ml" +# 32906 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32707 "parser_cocci_menhir.ml" +# 32912 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32714 "parser_cocci_menhir.ml" +# 32919 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32720 "parser_cocci_menhir.ml" +# 32925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32755,19 +32960,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 32761 "parser_cocci_menhir.ml" +# 32966 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 32766 "parser_cocci_menhir.ml" +# 32971 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32771 "parser_cocci_menhir.ml" +# 32976 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -32779,33 +32984,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 32790 "parser_cocci_menhir.ml" +# 32995 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32796 "parser_cocci_menhir.ml" +# 33001 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32803 "parser_cocci_menhir.ml" +# 33008 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32809 "parser_cocci_menhir.ml" +# 33014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32835,14 +33040,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32841 "parser_cocci_menhir.ml" +# 33046 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32846 "parser_cocci_menhir.ml" +# 33051 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32852,28 +33057,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 32858 "parser_cocci_menhir.ml" +# 33063 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32864 "parser_cocci_menhir.ml" +# 33069 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32871 "parser_cocci_menhir.ml" +# 33076 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32877 "parser_cocci_menhir.ml" +# 33082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32908,19 +33113,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32914 "parser_cocci_menhir.ml" +# 33119 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32919 "parser_cocci_menhir.ml" +# 33124 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32924 "parser_cocci_menhir.ml" +# 33129 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -32932,31 +33137,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 32941 "parser_cocci_menhir.ml" +# 33146 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 32947 "parser_cocci_menhir.ml" +# 33152 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 32954 "parser_cocci_menhir.ml" +# 33159 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 32960 "parser_cocci_menhir.ml" +# 33165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32986,14 +33191,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 32992 "parser_cocci_menhir.ml" +# 33197 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 32997 "parser_cocci_menhir.ml" +# 33202 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33003,28 +33208,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33009 "parser_cocci_menhir.ml" +# 33214 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33015 "parser_cocci_menhir.ml" +# 33220 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33022 "parser_cocci_menhir.ml" +# 33227 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33028 "parser_cocci_menhir.ml" +# 33233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33054,14 +33259,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33060 "parser_cocci_menhir.ml" +# 33265 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33065 "parser_cocci_menhir.ml" +# 33270 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33071,28 +33276,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33077 "parser_cocci_menhir.ml" +# 33282 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33083 "parser_cocci_menhir.ml" +# 33288 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33090 "parser_cocci_menhir.ml" +# 33295 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33096 "parser_cocci_menhir.ml" +# 33301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33122,14 +33327,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33128 "parser_cocci_menhir.ml" +# 33333 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33133 "parser_cocci_menhir.ml" +# 33338 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33139,28 +33344,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33145 "parser_cocci_menhir.ml" +# 33350 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33151 "parser_cocci_menhir.ml" +# 33356 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33158 "parser_cocci_menhir.ml" +# 33363 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33164 "parser_cocci_menhir.ml" +# 33369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33190,14 +33395,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33196 "parser_cocci_menhir.ml" +# 33401 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33201 "parser_cocci_menhir.ml" +# 33406 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33207,29 +33412,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33214 "parser_cocci_menhir.ml" +# 33419 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33220 "parser_cocci_menhir.ml" +# 33425 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33227 "parser_cocci_menhir.ml" +# 33432 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33233 "parser_cocci_menhir.ml" +# 33438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33268,19 +33473,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 33274 "parser_cocci_menhir.ml" +# 33479 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 33279 "parser_cocci_menhir.ml" +# 33484 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33284 "parser_cocci_menhir.ml" +# 33489 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -33292,33 +33497,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 33303 "parser_cocci_menhir.ml" +# 33508 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33309 "parser_cocci_menhir.ml" +# 33514 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33316 "parser_cocci_menhir.ml" +# 33521 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33322 "parser_cocci_menhir.ml" +# 33527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33348,14 +33553,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33354 "parser_cocci_menhir.ml" +# 33559 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33359 "parser_cocci_menhir.ml" +# 33564 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33365,28 +33570,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33371 "parser_cocci_menhir.ml" +# 33576 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33377 "parser_cocci_menhir.ml" +# 33582 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33384 "parser_cocci_menhir.ml" +# 33589 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33390 "parser_cocci_menhir.ml" +# 33595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33421,19 +33626,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33427 "parser_cocci_menhir.ml" +# 33632 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33432 "parser_cocci_menhir.ml" +# 33637 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 33437 "parser_cocci_menhir.ml" +# 33642 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33445,31 +33650,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33454 "parser_cocci_menhir.ml" +# 33659 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33460 "parser_cocci_menhir.ml" +# 33665 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33467 "parser_cocci_menhir.ml" +# 33672 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33473 "parser_cocci_menhir.ml" +# 33678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33494,9 +33699,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33500 "parser_cocci_menhir.ml" +# 33705 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33505,28 +33710,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33511 "parser_cocci_menhir.ml" +# 33716 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33517 "parser_cocci_menhir.ml" +# 33722 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33524 "parser_cocci_menhir.ml" +# 33729 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33530 "parser_cocci_menhir.ml" +# 33735 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33551,9 +33756,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33557 "parser_cocci_menhir.ml" +# 33762 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33562,28 +33767,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33568 "parser_cocci_menhir.ml" +# 33773 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33574 "parser_cocci_menhir.ml" +# 33779 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33581 "parser_cocci_menhir.ml" +# 33786 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33587 "parser_cocci_menhir.ml" +# 33792 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33608,9 +33813,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33614 "parser_cocci_menhir.ml" +# 33819 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33619,28 +33824,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33625 "parser_cocci_menhir.ml" +# 33830 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33631 "parser_cocci_menhir.ml" +# 33836 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33638 "parser_cocci_menhir.ml" +# 33843 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33644 "parser_cocci_menhir.ml" +# 33849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33665,9 +33870,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33671 "parser_cocci_menhir.ml" +# 33876 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -33676,29 +33881,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33683 "parser_cocci_menhir.ml" +# 33888 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33689 "parser_cocci_menhir.ml" +# 33894 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33696 "parser_cocci_menhir.ml" +# 33901 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33702 "parser_cocci_menhir.ml" +# 33907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33732,14 +33937,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 33738 "parser_cocci_menhir.ml" +# 33943 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 33743 "parser_cocci_menhir.ml" +# 33948 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -33750,33 +33955,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 33761 "parser_cocci_menhir.ml" +# 33966 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33767 "parser_cocci_menhir.ml" +# 33972 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33774 "parser_cocci_menhir.ml" +# 33979 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33780 "parser_cocci_menhir.ml" +# 33985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33801,9 +34006,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33807 "parser_cocci_menhir.ml" +# 34012 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33812,28 +34017,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33818 "parser_cocci_menhir.ml" +# 34023 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33824 "parser_cocci_menhir.ml" +# 34029 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33831 "parser_cocci_menhir.ml" +# 34036 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33837 "parser_cocci_menhir.ml" +# 34042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33863,14 +34068,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33869 "parser_cocci_menhir.ml" +# 34074 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33874 "parser_cocci_menhir.ml" +# 34079 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -33881,31 +34086,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33890 "parser_cocci_menhir.ml" +# 34095 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 33896 "parser_cocci_menhir.ml" +# 34101 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33903 "parser_cocci_menhir.ml" +# 34108 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33909 "parser_cocci_menhir.ml" +# 34114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33930,9 +34135,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" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 33936 "parser_cocci_menhir.ml" +# 34141 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33941,28 +34146,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 528 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 33947 "parser_cocci_menhir.ml" +# 34152 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 33953 "parser_cocci_menhir.ml" +# 34158 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33960 "parser_cocci_menhir.ml" +# 34165 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33966 "parser_cocci_menhir.ml" +# 34171 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33987,9 +34192,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 33993 "parser_cocci_menhir.ml" +# 34198 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -33998,28 +34203,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 530 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 34004 "parser_cocci_menhir.ml" +# 34209 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34010 "parser_cocci_menhir.ml" +# 34215 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34017 "parser_cocci_menhir.ml" +# 34222 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34023 "parser_cocci_menhir.ml" +# 34228 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34044,9 +34249,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 34050 "parser_cocci_menhir.ml" +# 34255 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34055,28 +34260,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 532 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 34061 "parser_cocci_menhir.ml" +# 34266 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34067 "parser_cocci_menhir.ml" +# 34272 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34074 "parser_cocci_menhir.ml" +# 34279 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34080 "parser_cocci_menhir.ml" +# 34285 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34107,9 +34312,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 34113 "parser_cocci_menhir.ml" +# 34318 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34120,28 +34325,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 534 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 34126 "parser_cocci_menhir.ml" +# 34331 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34132 "parser_cocci_menhir.ml" +# 34337 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34139 "parser_cocci_menhir.ml" +# 34344 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34145 "parser_cocci_menhir.ml" +# 34350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34181,28 +34386,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 536 "parser_cocci_menhir.mly" +# 563 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 34187 "parser_cocci_menhir.ml" +# 34392 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34193 "parser_cocci_menhir.ml" +# 34398 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34200 "parser_cocci_menhir.ml" +# 34405 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34206 "parser_cocci_menhir.ml" +# 34411 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34242,15 +34447,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34248 "parser_cocci_menhir.ml" +# 34453 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34254 "parser_cocci_menhir.ml" +# 34459 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -34269,36 +34474,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 34273 "parser_cocci_menhir.ml" +# 34478 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 34283 "parser_cocci_menhir.ml" +# 34488 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34289 "parser_cocci_menhir.ml" +# 34494 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34296 "parser_cocci_menhir.ml" +# 34501 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34302 "parser_cocci_menhir.ml" +# 34507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34343,15 +34548,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34349 "parser_cocci_menhir.ml" +# 34554 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34355 "parser_cocci_menhir.ml" +# 34560 "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 @@ -34374,36 +34579,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34378 "parser_cocci_menhir.ml" +# 34583 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 34388 "parser_cocci_menhir.ml" +# 34593 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34394 "parser_cocci_menhir.ml" +# 34599 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34401 "parser_cocci_menhir.ml" +# 34606 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34407 "parser_cocci_menhir.ml" +# 34612 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34443,20 +34648,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34449 "parser_cocci_menhir.ml" +# 34654 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 34455 "parser_cocci_menhir.ml" +# 34660 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34460 "parser_cocci_menhir.ml" +# 34665 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34471,30 +34676,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 545 "parser_cocci_menhir.mly" +# 572 "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)) ) -# 34479 "parser_cocci_menhir.ml" +# 34684 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34485 "parser_cocci_menhir.ml" +# 34690 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34492 "parser_cocci_menhir.ml" +# 34697 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34498 "parser_cocci_menhir.ml" +# 34703 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34519,9 +34724,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 34525 "parser_cocci_menhir.ml" +# 34730 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -34530,28 +34735,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 549 "parser_cocci_menhir.mly" +# 576 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 34536 "parser_cocci_menhir.ml" +# 34741 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 34542 "parser_cocci_menhir.ml" +# 34747 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34549 "parser_cocci_menhir.ml" +# 34754 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34555 "parser_cocci_menhir.ml" +# 34760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34586,14 +34791,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 34592 "parser_cocci_menhir.ml" +# 34797 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34597 "parser_cocci_menhir.ml" +# 34802 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34604,15 +34809,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 34610 "parser_cocci_menhir.ml" +# 34815 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34616 "parser_cocci_menhir.ml" +# 34821 "parser_cocci_menhir.ml" in let cv = @@ -34620,13 +34825,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34624 "parser_cocci_menhir.ml" +# 34829 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34630 "parser_cocci_menhir.ml" +# 34835 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34661,14 +34866,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 34667 "parser_cocci_menhir.ml" +# 34872 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34672 "parser_cocci_menhir.ml" +# 34877 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34679,15 +34884,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34685 "parser_cocci_menhir.ml" +# 34890 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34691 "parser_cocci_menhir.ml" +# 34896 "parser_cocci_menhir.ml" in let cv = @@ -34695,13 +34900,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34699 "parser_cocci_menhir.ml" +# 34904 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34705 "parser_cocci_menhir.ml" +# 34910 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34736,14 +34941,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 34742 "parser_cocci_menhir.ml" +# 34947 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34747 "parser_cocci_menhir.ml" +# 34952 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34754,15 +34959,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34760 "parser_cocci_menhir.ml" +# 34965 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34766 "parser_cocci_menhir.ml" +# 34971 "parser_cocci_menhir.ml" in let cv = @@ -34770,13 +34975,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34774 "parser_cocci_menhir.ml" +# 34979 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34780 "parser_cocci_menhir.ml" +# 34985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34811,14 +35016,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34817 "parser_cocci_menhir.ml" +# 35022 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34822 "parser_cocci_menhir.ml" +# 35027 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34829,16 +35034,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 34836 "parser_cocci_menhir.ml" +# 35041 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34842 "parser_cocci_menhir.ml" +# 35047 "parser_cocci_menhir.ml" in let cv = @@ -34846,13 +35051,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34850 "parser_cocci_menhir.ml" +# 35055 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34856 "parser_cocci_menhir.ml" +# 35061 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34896,19 +35101,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 34902 "parser_cocci_menhir.ml" +# 35107 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 34907 "parser_cocci_menhir.ml" +# 35112 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34912 "parser_cocci_menhir.ml" +# 35117 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -34921,20 +35126,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 34932 "parser_cocci_menhir.ml" +# 35137 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 34938 "parser_cocci_menhir.ml" +# 35143 "parser_cocci_menhir.ml" in let cv = @@ -34942,13 +35147,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34946 "parser_cocci_menhir.ml" +# 35151 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34952 "parser_cocci_menhir.ml" +# 35157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34983,14 +35188,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 34989 "parser_cocci_menhir.ml" +# 35194 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 34994 "parser_cocci_menhir.ml" +# 35199 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35001,15 +35206,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35007 "parser_cocci_menhir.ml" +# 35212 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35013 "parser_cocci_menhir.ml" +# 35218 "parser_cocci_menhir.ml" in let cv = @@ -35017,13 +35222,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35021 "parser_cocci_menhir.ml" +# 35226 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35027 "parser_cocci_menhir.ml" +# 35232 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35063,19 +35268,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35069 "parser_cocci_menhir.ml" +# 35274 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35074 "parser_cocci_menhir.ml" +# 35279 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35079 "parser_cocci_menhir.ml" +# 35284 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35088,18 +35293,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35097 "parser_cocci_menhir.ml" +# 35302 "parser_cocci_menhir.ml" in -# 554 "parser_cocci_menhir.mly" +# 581 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35103 "parser_cocci_menhir.ml" +# 35308 "parser_cocci_menhir.ml" in let cv = @@ -35107,13 +35312,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35111 "parser_cocci_menhir.ml" +# 35316 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35117 "parser_cocci_menhir.ml" +# 35322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35148,14 +35353,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35154 "parser_cocci_menhir.ml" +# 35359 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35159 "parser_cocci_menhir.ml" +# 35364 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35166,15 +35371,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35172 "parser_cocci_menhir.ml" +# 35377 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35178 "parser_cocci_menhir.ml" +# 35383 "parser_cocci_menhir.ml" in let cv = @@ -35182,13 +35387,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35186 "parser_cocci_menhir.ml" +# 35391 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35192 "parser_cocci_menhir.ml" +# 35397 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35223,14 +35428,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35229 "parser_cocci_menhir.ml" +# 35434 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35234 "parser_cocci_menhir.ml" +# 35439 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35241,15 +35446,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35247 "parser_cocci_menhir.ml" +# 35452 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35253 "parser_cocci_menhir.ml" +# 35458 "parser_cocci_menhir.ml" in let cv = @@ -35257,13 +35462,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35261 "parser_cocci_menhir.ml" +# 35466 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35267 "parser_cocci_menhir.ml" +# 35472 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35298,14 +35503,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35304 "parser_cocci_menhir.ml" +# 35509 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35309 "parser_cocci_menhir.ml" +# 35514 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35316,15 +35521,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35322 "parser_cocci_menhir.ml" +# 35527 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35328 "parser_cocci_menhir.ml" +# 35533 "parser_cocci_menhir.ml" in let cv = @@ -35332,13 +35537,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35336 "parser_cocci_menhir.ml" +# 35541 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35342 "parser_cocci_menhir.ml" +# 35547 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35373,14 +35578,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35379 "parser_cocci_menhir.ml" +# 35584 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35384 "parser_cocci_menhir.ml" +# 35589 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35391,16 +35596,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35398 "parser_cocci_menhir.ml" +# 35603 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35404 "parser_cocci_menhir.ml" +# 35609 "parser_cocci_menhir.ml" in let cv = @@ -35408,13 +35613,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35412 "parser_cocci_menhir.ml" +# 35617 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35418 "parser_cocci_menhir.ml" +# 35623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35458,19 +35663,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 35464 "parser_cocci_menhir.ml" +# 35669 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 35469 "parser_cocci_menhir.ml" +# 35674 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35474 "parser_cocci_menhir.ml" +# 35679 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35483,20 +35688,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 35494 "parser_cocci_menhir.ml" +# 35699 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35500 "parser_cocci_menhir.ml" +# 35705 "parser_cocci_menhir.ml" in let cv = @@ -35504,13 +35709,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35508 "parser_cocci_menhir.ml" +# 35713 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35514 "parser_cocci_menhir.ml" +# 35719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35545,14 +35750,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35551 "parser_cocci_menhir.ml" +# 35756 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35556 "parser_cocci_menhir.ml" +# 35761 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35563,15 +35768,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35569 "parser_cocci_menhir.ml" +# 35774 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35575 "parser_cocci_menhir.ml" +# 35780 "parser_cocci_menhir.ml" in let cv = @@ -35579,13 +35784,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35583 "parser_cocci_menhir.ml" +# 35788 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35589 "parser_cocci_menhir.ml" +# 35794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35625,19 +35830,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35631 "parser_cocci_menhir.ml" +# 35836 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35636 "parser_cocci_menhir.ml" +# 35841 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( -# 51 "parser_cocci_menhir.mly" +# 73 "parser_cocci_menhir.mly" (Data.clt) -# 35641 "parser_cocci_menhir.ml" +# 35846 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35650,18 +35855,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35659 "parser_cocci_menhir.ml" +# 35864 "parser_cocci_menhir.ml" in -# 556 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35665 "parser_cocci_menhir.ml" +# 35870 "parser_cocci_menhir.ml" in let cv = @@ -35669,13 +35874,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35673 "parser_cocci_menhir.ml" +# 35878 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35679 "parser_cocci_menhir.ml" +# 35884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35705,9 +35910,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35711 "parser_cocci_menhir.ml" +# 35916 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35717,15 +35922,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 502 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35723 "parser_cocci_menhir.ml" +# 35928 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 35729 "parser_cocci_menhir.ml" +# 35934 "parser_cocci_menhir.ml" in let cv = @@ -35733,13 +35938,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35737 "parser_cocci_menhir.ml" +# 35942 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35743 "parser_cocci_menhir.ml" +# 35948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35769,9 +35974,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35775 "parser_cocci_menhir.ml" +# 35980 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35781,15 +35986,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 504 "parser_cocci_menhir.mly" +# 531 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35787 "parser_cocci_menhir.ml" +# 35992 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 35793 "parser_cocci_menhir.ml" +# 35998 "parser_cocci_menhir.ml" in let cv = @@ -35797,13 +36002,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35801 "parser_cocci_menhir.ml" +# 36006 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35807 "parser_cocci_menhir.ml" +# 36012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35833,9 +36038,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 35839 "parser_cocci_menhir.ml" +# 36044 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35845,15 +36050,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 506 "parser_cocci_menhir.mly" +# 533 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35851 "parser_cocci_menhir.ml" +# 36056 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 35857 "parser_cocci_menhir.ml" +# 36062 "parser_cocci_menhir.ml" in let cv = @@ -35861,13 +36066,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35865 "parser_cocci_menhir.ml" +# 36070 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35871 "parser_cocci_menhir.ml" +# 36076 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35897,9 +36102,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35903 "parser_cocci_menhir.ml" +# 36108 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35909,16 +36114,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 508 "parser_cocci_menhir.mly" +# 535 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35916 "parser_cocci_menhir.ml" +# 36121 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 35922 "parser_cocci_menhir.ml" +# 36127 "parser_cocci_menhir.ml" in let cv = @@ -35926,13 +36131,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35930 "parser_cocci_menhir.ml" +# 36135 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35936 "parser_cocci_menhir.ml" +# 36141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35971,14 +36176,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let p00 : ( -# 59 "parser_cocci_menhir.mly" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 35977 "parser_cocci_menhir.ml" +# 36182 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( -# 47 "parser_cocci_menhir.mly" +# 69 "parser_cocci_menhir.mly" (string) -# 35982 "parser_cocci_menhir.ml" +# 36187 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35990,20 +36195,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 511 "parser_cocci_menhir.mly" +# 538 "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*))) ) -# 36001 "parser_cocci_menhir.ml" +# 36206 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 36007 "parser_cocci_menhir.ml" +# 36212 "parser_cocci_menhir.ml" in let cv = @@ -36011,13 +36216,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36015 "parser_cocci_menhir.ml" +# 36220 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36021 "parser_cocci_menhir.ml" +# 36226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36047,9 +36252,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 36053 "parser_cocci_menhir.ml" +# 36258 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36059,15 +36264,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 518 "parser_cocci_menhir.mly" +# 545 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36065 "parser_cocci_menhir.ml" +# 36270 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 36071 "parser_cocci_menhir.ml" +# 36276 "parser_cocci_menhir.ml" in let cv = @@ -36075,13 +36280,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36079 "parser_cocci_menhir.ml" +# 36284 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36085 "parser_cocci_menhir.ml" +# 36290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36116,14 +36321,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let ty200 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 36122 "parser_cocci_menhir.ml" +# 36327 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( -# 49 "parser_cocci_menhir.mly" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 36127 "parser_cocci_menhir.ml" +# 36332 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36135,18 +36340,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 520 "parser_cocci_menhir.mly" +# 547 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36144 "parser_cocci_menhir.ml" +# 36349 "parser_cocci_menhir.ml" in -# 557 "parser_cocci_menhir.mly" +# 584 "parser_cocci_menhir.mly" ( ty ) -# 36150 "parser_cocci_menhir.ml" +# 36355 "parser_cocci_menhir.ml" in let cv = @@ -36154,13 +36359,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36158 "parser_cocci_menhir.ml" +# 36363 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36164 "parser_cocci_menhir.ml" +# 36369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36190,9 +36395,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" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 36196 "parser_cocci_menhir.ml" +# 36401 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36202,15 +36407,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 528 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 36208 "parser_cocci_menhir.ml" +# 36413 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36214 "parser_cocci_menhir.ml" +# 36419 "parser_cocci_menhir.ml" in let cv = @@ -36218,13 +36423,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36222 "parser_cocci_menhir.ml" +# 36427 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36228 "parser_cocci_menhir.ml" +# 36433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36254,9 +36459,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 36260 "parser_cocci_menhir.ml" +# 36465 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36266,15 +36471,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 530 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 36272 "parser_cocci_menhir.ml" +# 36477 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36278 "parser_cocci_menhir.ml" +# 36483 "parser_cocci_menhir.ml" in let cv = @@ -36282,13 +36487,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36286 "parser_cocci_menhir.ml" +# 36491 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36292 "parser_cocci_menhir.ml" +# 36497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36318,9 +36523,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" +# 71 "parser_cocci_menhir.mly" (Data.clt) -# 36324 "parser_cocci_menhir.ml" +# 36529 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36330,15 +36535,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 532 "parser_cocci_menhir.mly" +# 559 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 36336 "parser_cocci_menhir.ml" +# 36541 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36342 "parser_cocci_menhir.ml" +# 36547 "parser_cocci_menhir.ml" in let cv = @@ -36346,13 +36551,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36350 "parser_cocci_menhir.ml" +# 36555 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36356 "parser_cocci_menhir.ml" +# 36561 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36388,9 +36593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m : 'tv_list_TMul_ = Obj.magic m in let i00 : 'tv_ident = Obj.magic i00 in let s00 : ( -# 50 "parser_cocci_menhir.mly" +# 72 "parser_cocci_menhir.mly" (Data.clt) -# 36394 "parser_cocci_menhir.ml" +# 36599 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36402,15 +36607,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 534 "parser_cocci_menhir.mly" +# 561 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 36408 "parser_cocci_menhir.ml" +# 36613 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36414 "parser_cocci_menhir.ml" +# 36619 "parser_cocci_menhir.ml" in let cv = @@ -36418,13 +36623,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36422 "parser_cocci_menhir.ml" +# 36627 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36428 "parser_cocci_menhir.ml" +# 36633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36470,15 +36675,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 536 "parser_cocci_menhir.mly" +# 563 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 36476 "parser_cocci_menhir.ml" +# 36681 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36482 "parser_cocci_menhir.ml" +# 36687 "parser_cocci_menhir.ml" in let cv = @@ -36486,13 +36691,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36490 "parser_cocci_menhir.ml" +# 36695 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36496 "parser_cocci_menhir.ml" +# 36701 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36537,15 +36742,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36543 "parser_cocci_menhir.ml" +# 36748 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36549 "parser_cocci_menhir.ml" +# 36754 "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 @@ -36565,23 +36770,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 36569 "parser_cocci_menhir.ml" +# 36774 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 36579 "parser_cocci_menhir.ml" +# 36784 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36585 "parser_cocci_menhir.ml" +# 36790 "parser_cocci_menhir.ml" in let cv = @@ -36589,13 +36794,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36593 "parser_cocci_menhir.ml" +# 36798 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36599 "parser_cocci_menhir.ml" +# 36804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36645,15 +36850,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36651 "parser_cocci_menhir.ml" +# 36856 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36657 "parser_cocci_menhir.ml" +# 36862 "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 @@ -36677,23 +36882,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36681 "parser_cocci_menhir.ml" +# 36886 "parser_cocci_menhir.ml" in -# 539 "parser_cocci_menhir.mly" +# 566 "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)) ) -# 36691 "parser_cocci_menhir.ml" +# 36896 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36697 "parser_cocci_menhir.ml" +# 36902 "parser_cocci_menhir.ml" in let cv = @@ -36701,13 +36906,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36705 "parser_cocci_menhir.ml" +# 36910 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36711 "parser_cocci_menhir.ml" +# 36916 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36752,20 +36957,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let m : 'tv_list_TMul_ = Obj.magic m in let r00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36758 "parser_cocci_menhir.ml" +# 36963 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( -# 102 "parser_cocci_menhir.mly" +# 124 "parser_cocci_menhir.mly" (Data.clt) -# 36764 "parser_cocci_menhir.ml" +# 36969 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36769 "parser_cocci_menhir.ml" +# 36974 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36781,17 +36986,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 545 "parser_cocci_menhir.mly" +# 572 "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)) ) -# 36789 "parser_cocci_menhir.ml" +# 36994 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36795 "parser_cocci_menhir.ml" +# 37000 "parser_cocci_menhir.ml" in let cv = @@ -36799,13 +37004,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36803 "parser_cocci_menhir.ml" +# 37008 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36809 "parser_cocci_menhir.ml" +# 37014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36835,9 +37040,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" +# 81 "parser_cocci_menhir.mly" (string * Data.clt) -# 36841 "parser_cocci_menhir.ml" +# 37046 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36847,15 +37052,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 549 "parser_cocci_menhir.mly" +# 576 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 36853 "parser_cocci_menhir.ml" +# 37058 "parser_cocci_menhir.ml" in -# 558 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( ty ) -# 36859 "parser_cocci_menhir.ml" +# 37064 "parser_cocci_menhir.ml" in let cv = @@ -36863,13 +37068,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36867 "parser_cocci_menhir.ml" +# 37072 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 602 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36873 "parser_cocci_menhir.ml" +# 37078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36898,24 +37103,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 36904 "parser_cocci_menhir.ml" +# 37109 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 36910 "parser_cocci_menhir.ml" +# 37115 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 577 "parser_cocci_menhir.mly" +# 604 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 36919 "parser_cocci_menhir.ml" +# 37124 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36937,9 +37142,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1641 "parser_cocci_menhir.mly" +# 1710 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 36943 "parser_cocci_menhir.ml" +# 37148 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36958,17 +37163,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 65 "parser_cocci_menhir.mly" +# 87 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36964 "parser_cocci_menhir.ml" +# 37169 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1643 "parser_cocci_menhir.mly" +# 1712 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36972 "parser_cocci_menhir.ml" +# 37177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36990,9 +37195,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_ = -# 1319 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( _1 ) -# 36996 "parser_cocci_menhir.ml" +# 37201 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37017,16 +37222,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37023 "parser_cocci_menhir.ml" +# 37228 "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_ = -# 1321 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37030 "parser_cocci_menhir.ml" +# 37235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37051,16 +37256,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37057 "parser_cocci_menhir.ml" +# 37262 "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_ = -# 1323 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37064 "parser_cocci_menhir.ml" +# 37269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37088,9 +37293,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_ = -# 1325 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37094 "parser_cocci_menhir.ml" +# 37299 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37115,17 +37320,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37121 "parser_cocci_menhir.ml" +# 37326 "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_ = -# 1327 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37129 "parser_cocci_menhir.ml" +# 37334 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37150,16 +37355,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37156 "parser_cocci_menhir.ml" +# 37361 "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_ = -# 1330 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37163 "parser_cocci_menhir.ml" +# 37368 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37193,29 +37398,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 37199 "parser_cocci_menhir.ml" +# 37404 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37205 "parser_cocci_menhir.ml" +# 37410 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37210 "parser_cocci_menhir.ml" +# 37415 "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_ = -# 1332 "parser_cocci_menhir.mly" +# 1361 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37219 "parser_cocci_menhir.ml" +# 37424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37237,9 +37442,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1319 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( _1 ) -# 37243 "parser_cocci_menhir.ml" +# 37448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37264,16 +37469,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37270 "parser_cocci_menhir.ml" +# 37475 "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_ = -# 1321 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37277 "parser_cocci_menhir.ml" +# 37482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37298,16 +37503,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37304 "parser_cocci_menhir.ml" +# 37509 "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_ = -# 1323 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37311 "parser_cocci_menhir.ml" +# 37516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37335,9 +37540,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1325 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37341 "parser_cocci_menhir.ml" +# 37546 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37362,17 +37567,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37368 "parser_cocci_menhir.ml" +# 37573 "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_ = -# 1327 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37376 "parser_cocci_menhir.ml" +# 37581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37397,16 +37602,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37403 "parser_cocci_menhir.ml" +# 37608 "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_ = -# 1330 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37410 "parser_cocci_menhir.ml" +# 37615 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37440,29 +37645,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 37446 "parser_cocci_menhir.ml" +# 37651 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37452 "parser_cocci_menhir.ml" +# 37657 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37457 "parser_cocci_menhir.ml" +# 37662 "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_ = -# 1332 "parser_cocci_menhir.mly" +# 1361 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37466 "parser_cocci_menhir.ml" +# 37671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37484,9 +37689,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_ = -# 1319 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( _1 ) -# 37490 "parser_cocci_menhir.ml" +# 37695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37511,16 +37716,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37517 "parser_cocci_menhir.ml" +# 37722 "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_ = -# 1321 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37524 "parser_cocci_menhir.ml" +# 37729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37545,16 +37750,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37551 "parser_cocci_menhir.ml" +# 37756 "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_ = -# 1323 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37558 "parser_cocci_menhir.ml" +# 37763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37582,9 +37787,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_ = -# 1325 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37588 "parser_cocci_menhir.ml" +# 37793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37609,17 +37814,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37615 "parser_cocci_menhir.ml" +# 37820 "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_ = -# 1327 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37623 "parser_cocci_menhir.ml" +# 37828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37644,16 +37849,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37650 "parser_cocci_menhir.ml" +# 37855 "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_ = -# 1330 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37657 "parser_cocci_menhir.ml" +# 37862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37687,29 +37892,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 37693 "parser_cocci_menhir.ml" +# 37898 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37699 "parser_cocci_menhir.ml" +# 37904 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37704 "parser_cocci_menhir.ml" +# 37909 "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_ = -# 1332 "parser_cocci_menhir.mly" +# 1361 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37713 "parser_cocci_menhir.ml" +# 37918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37731,9 +37936,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1319 "parser_cocci_menhir.mly" +# 1348 "parser_cocci_menhir.mly" ( _1 ) -# 37737 "parser_cocci_menhir.ml" +# 37942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37758,16 +37963,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37764 "parser_cocci_menhir.ml" +# 37969 "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_ = -# 1321 "parser_cocci_menhir.mly" +# 1350 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37771 "parser_cocci_menhir.ml" +# 37976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37792,16 +37997,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 86 "parser_cocci_menhir.mly" +# 108 "parser_cocci_menhir.mly" (Data.clt) -# 37798 "parser_cocci_menhir.ml" +# 38003 "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_ = -# 1323 "parser_cocci_menhir.mly" +# 1352 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37805 "parser_cocci_menhir.ml" +# 38010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37829,9 +38034,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1325 "parser_cocci_menhir.mly" +# 1354 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37835 "parser_cocci_menhir.ml" +# 38040 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37856,17 +38061,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37862 "parser_cocci_menhir.ml" +# 38067 "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_ = -# 1327 "parser_cocci_menhir.mly" +# 1356 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37870 "parser_cocci_menhir.ml" +# 38075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37891,16 +38096,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in let _1 : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37897 "parser_cocci_menhir.ml" +# 38102 "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_ = -# 1330 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37904 "parser_cocci_menhir.ml" +# 38109 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37934,29 +38139,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct }; } = _menhir_stack in let rp : ( -# 78 "parser_cocci_menhir.mly" +# 100 "parser_cocci_menhir.mly" (Data.clt) -# 37940 "parser_cocci_menhir.ml" +# 38145 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( -# 77 "parser_cocci_menhir.mly" +# 99 "parser_cocci_menhir.mly" (Data.clt) -# 37946 "parser_cocci_menhir.ml" +# 38151 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( -# 58 "parser_cocci_menhir.mly" +# 80 "parser_cocci_menhir.mly" (Data.clt) -# 37951 "parser_cocci_menhir.ml" +# 38156 "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_ = -# 1332 "parser_cocci_menhir.mly" +# 1361 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37960 "parser_cocci_menhir.ml" +# 38165 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37975,16 +38180,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 94 "parser_cocci_menhir.mly" +# 116 "parser_cocci_menhir.mly" (Data.clt) -# 37981 "parser_cocci_menhir.ml" +# 38186 "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" +# 1365 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 37988 "parser_cocci_menhir.ml" +# 38193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38003,16 +38208,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 38009 "parser_cocci_menhir.ml" +# 38214 "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" +# 1366 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 38016 "parser_cocci_menhir.ml" +# 38221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38031,16 +38236,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 38037 "parser_cocci_menhir.ml" +# 38242 "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" +# 1367 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 38044 "parser_cocci_menhir.ml" +# 38249 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38059,16 +38264,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 99 "parser_cocci_menhir.mly" +# 121 "parser_cocci_menhir.mly" (Data.clt) -# 38065 "parser_cocci_menhir.ml" +# 38270 "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" +# 1368 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 38072 "parser_cocci_menhir.ml" +# 38277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38087,16 +38292,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; } = _menhir_stack in let _1 : ( -# 100 "parser_cocci_menhir.mly" +# 122 "parser_cocci_menhir.mly" (Data.clt) -# 38093 "parser_cocci_menhir.ml" +# 38298 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1340 "parser_cocci_menhir.mly" +# 1369 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 38100 "parser_cocci_menhir.ml" +# 38305 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38124,9 +38329,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1861 "parser_cocci_menhir.mly" +# 1930 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 38130 "parser_cocci_menhir.ml" +# 38335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38154,9 +38359,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1863 "parser_cocci_menhir.mly" +# 1932 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 38160 "parser_cocci_menhir.ml" +# 38365 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38178,9 +38383,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 922 "parser_cocci_menhir.mly" +# 951 "parser_cocci_menhir.mly" ( w ) -# 38184 "parser_cocci_menhir.ml" +# 38389 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38214,9 +38419,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" +# 1998 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 38220 "parser_cocci_menhir.ml" +# 38425 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38250,9 +38455,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_ = -# 1930 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 38256 "parser_cocci_menhir.ml" +# 38461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38282,9 +38487,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_ = -# 1932 "parser_cocci_menhir.mly" +# 2001 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 38288 "parser_cocci_menhir.ml" +# 38493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38318,9 +38523,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" +# 2002 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 38324 "parser_cocci_menhir.ml" +# 38529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38354,9 +38559,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_ = -# 1934 "parser_cocci_menhir.mly" +# 2003 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 38360 "parser_cocci_menhir.ml" +# 38565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38377,106 +38582,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1811 lexer lexbuf) : ( -# 160 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1820 lexer lexbuf) : ( +# 182 "parser_cocci_menhir.mly" (string * Ast_cocci.meta_name) -# 38384 "parser_cocci_menhir.ml" +# 38589 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1739 lexer lexbuf) : ( -# 154 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1748 lexer lexbuf) : ( +# 176 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38392 "parser_cocci_menhir.ml" +# 38597 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1737 lexer lexbuf) : ( -# 132 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1746 lexer lexbuf) : ( +# 154 "parser_cocci_menhir.mly" (unit) -# 38400 "parser_cocci_menhir.ml" +# 38605 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1701 lexer lexbuf) : ( -# 141 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : ( +# 163 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38408 "parser_cocci_menhir.ml" +# 38613 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1693 lexer lexbuf) : ( -# 144 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1702 lexer lexbuf) : ( +# 166 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38416 "parser_cocci_menhir.ml" +# 38621 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1687 lexer lexbuf) : ( -# 169 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1696 lexer lexbuf) : ( +# 191 "parser_cocci_menhir.mly" (unit) -# 38424 "parser_cocci_menhir.ml" +# 38629 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1607 lexer lexbuf) : ( -# 135 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1616 lexer lexbuf) : ( +# 157 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38432 "parser_cocci_menhir.ml" +# 38637 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1595 lexer lexbuf) : ( -# 138 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1604 lexer lexbuf) : ( +# 160 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38440 "parser_cocci_menhir.ml" +# 38645 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : ( -# 158 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1601 lexer lexbuf) : ( +# 180 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38448 "parser_cocci_menhir.ml" +# 38653 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1588 lexer lexbuf) : ( -# 150 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1597 lexer lexbuf) : ( +# 172 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38456 "parser_cocci_menhir.ml" +# 38661 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1342 lexer lexbuf) : ( -# 166 "parser_cocci_menhir.mly" + (Obj.magic (MenhirInterpreter.entry 1343 lexer lexbuf) : ( +# 188 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38464 "parser_cocci_menhir.ml" +# 38669 "parser_cocci_menhir.ml" )) and iso_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( -# 163 "parser_cocci_menhir.mly" +# 185 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 38472 "parser_cocci_menhir.ml" +# 38677 "parser_cocci_menhir.ml" )) and include_main = fun lexer lexbuf -> (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( -# 147 "parser_cocci_menhir.mly" +# 169 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 38480 "parser_cocci_menhir.ml" +# 38685 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mli b/parsing_cocci/parser_cocci_menhir.mli index 85287f3..c6d8f57 100644 --- a/parsing_cocci/parser_cocci_menhir.mli +++ b/parsing_cocci/parser_cocci_menhir.mli @@ -40,6 +40,7 @@ type token = | TTildeEq of (Data.clt) | TTilde of (Data.clt) | TSwitch of (Data.clt) + | TSub of (Data.clt) | TString of (string * Data.clt) | TStrict of (Data.clt) | TStatement diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 93d4d5a..cdec1e9 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -20,6 +20,28 @@ */ +/* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + */ + + %{ (* Not clear how to allow function declarations to specify a return type @@ -92,7 +114,7 @@ module P = Parse_aux %token TOr %token TXor %token TAnd -%token TEqEq TNotEq TTildeEq TTildeExclEq +%token TEqEq TNotEq TTildeEq TTildeExclEq TSub %token TLogOp /* TInf TSup TInfEq TSupEq */ %token TShOp /* TShl TShr */ %token TDmOp /* TDiv TMod */ @@ -289,12 +311,13 @@ metadec: { P.create_metadec_with_constraints ar ispure kindfn ids } | ar=arity ispure=pure kindfn=metakind_atomic_expi - ids=comma_list(pure_ident_or_meta_ident_with_econstraint(re_or_not_eqe)) + ids=comma_list(pure_ident_or_meta_ident_with_econstraint(re_or_not_eqe_or_sub)) TMPtVirg { P.create_metadec_with_constraints ar ispure kindfn ids } | ar=arity ispure=pure kindfn=metakind_atomic_expe - ids=comma_list(pure_ident_or_meta_ident_with_x_eq(not_ceq)) TMPtVirg + ids=comma_list(pure_ident_or_meta_ident_with_econstraint(not_ceq_or_sub)) + TMPtVirg { P.create_metadec_with_constraints ar ispure kindfn ids } | ar=arity TPosition a=option(TPosAny) ids=comma_list(pure_ident_or_meta_ident_with_x_eq(not_pos)) TMPtVirg @@ -457,27 +480,31 @@ metadec: TExpression { (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) } + !Data.add_exp_meta None name constraints pure; tok) } | vl=meta_exp_type // no error if use $1 but doesn't type check { (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; + (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 (Ast0.NotExpCstrt constraints) pure; tok) + !Data.add_exp_meta ty name constraints pure; tok) } @@ -680,6 +707,8 @@ includes: P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name $1))) (P.drop_bef clt))) } +| d=defineop TLineEnd + { d (Ast0.wrap(Ast0.DOTS([]))) } | d=defineop t=ctype TLineEnd { let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) } @@ -1497,11 +1526,11 @@ pure_ident_or_meta_ident_with_idconstraint(constraint_type): } re_or_not_eqid: - re=regexp_eqid {re} + re=regexp_eqid {Ast.IdRegExpConstraint re} | ne=not_eqid {ne} regexp_eqid: - TTildeEq re=TString + TTildeEq re=TString { (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -1524,18 +1553,40 @@ not_eqid: (* 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([snd i]) } + (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],[])) } | TNotEq TOBrace l=comma_list(pure_ident_or_meta_ident) TCBrace { (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 snd 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) } -re_or_not_eqe: - re=regexp_eqid {Ast0.NotIdCstrt (re)} - | ne=not_eqe {Ast0.NotExpCstrt (ne)} +re_or_not_eqe_or_sub: + re=regexp_eqid {Ast0.NotIdCstrt re} + | ne=not_eqe {Ast0.NotExpCstrt ne} + | s=sub {Ast0.SubExpCstrt s} + +not_ceq_or_sub: + ceq=not_ceq {Ast0.NotExpCstrt ceq} + | s=sub {Ast0.SubExpCstrt s} not_eqe: TNotEq i=pure_ident @@ -1570,6 +1621,30 @@ not_ceq: then failwith "constraints not allowed in a generated rule file"); l } +sub: + (* has to be inherited because not clear how to check subterm constraints + in the functorized CTL engine, so need the variable to be bound + already when bind the subterm constrained metavariable *) + TSub i=meta_ident + { (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] } + | TSub TOBrace l=comma_list(meta_ident) TCBrace + { (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} + ident_or_const: i=pure_ident { Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) } | TInt @@ -1582,25 +1657,19 @@ not_pos: 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] } + let i = + P.check_inherited_constraint i + (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in + [i] } | TNotEq TOBrace l=comma_list(meta_ident) TCBrace { (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 } func_ident: pure_ident diff --git a/parsing_cocci/plus.ml b/parsing_cocci/plus.ml index 610d760..7968618 100644 --- a/parsing_cocci/plus.ml +++ b/parsing_cocci/plus.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* The plus fragments are converted to a list of lists of lists. Innermost list: Elements have type anything. For any pair of successive elements, n and n+1, the ending line of n is the same as the starting line diff --git a/parsing_cocci/plus.mli b/parsing_cocci/plus.mli index 58894d7..6f1a719 100644 --- a/parsing_cocci/plus.mli +++ b/parsing_cocci/plus.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val plus : Ast_cocci.rule -> (Ast_cocci.anything * int * int * int * int) list list list diff --git a/parsing_cocci/pretty_print_cocci.ml b/parsing_cocci/pretty_print_cocci.ml index 68e40af..947646c 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Format module Ast = Ast_cocci @@ -128,22 +150,15 @@ let dots between fn d = | Ast.CIRCLES(l) -> print_between between fn l | Ast.STARS(l) -> print_between between fn l -let nest_dots multi fn f d = - let mo s = if multi then "<+"^s else "<"^s in - let mc s = if multi then s^"+>" else s^">" in - match Ast.unwrap d with - Ast.DOTS(l) -> - print_string (mo "..."); f(); start_block(); - print_between force_newline fn l; - end_block(); print_string (mc "...") - | Ast.CIRCLES(l) -> - print_string (mo "ooo"); f(); start_block(); - print_between force_newline fn l; - end_block(); print_string (mc "ooo") - | Ast.STARS(l) -> - print_string (mo "***"); f(); start_block(); - print_between force_newline fn l; - end_block(); print_string (mc "***") +let nest_dots starter ender fn f d = + mcode print_string starter; + f(); start_block(); + (match Ast.unwrap d with + Ast.DOTS(l) -> print_between force_newline fn l + | Ast.CIRCLES(l) -> print_between force_newline fn l + | Ast.STARS(l) -> print_between force_newline fn l); + end_block(); + mcode print_string ender (* --------------------------------------------------------------------- *) @@ -165,12 +180,18 @@ let print_type keep info = function (* Contraint on Identifier and Function *) (* FIXME: Not called at the moment *) -let idconstraint c = - match c with - Ast.IdNoConstraint -> print_string "/* No constraint */" - | Ast.IdNegIdSet ids -> List.iter (fun s -> print_string (" "^s)) ids - | Ast.IdRegExp (re,_) -> print_string "~= \""; print_string re; print_string "\"" - | Ast.IdNotRegExp (re,_) -> print_string "~!= \""; print_string re; print_string "\"" +let rec idconstraint = function + Ast.IdNoConstraint -> print_string "/* No constraint */" + | Ast.IdNegIdSet (str,meta) -> + List.iter (function s -> print_string (" "^s)) str; + List.iter (function (r,n) -> print_string " "; print_meta(r,n)) meta + | Ast.IdRegExpConstraint re -> regconstraint re + +and regconstraint = function + Ast.IdRegExp (re,_) -> + print_string "~= \""; print_string re; print_string "\"" + | Ast.IdNotRegExp (re,_) -> + print_string "~!= \""; print_string re; print_string "\"" (* --------------------------------------------------------------------- *) (* Identifier *) @@ -257,12 +278,12 @@ let rec expression e = | Ast.MetaExprList(name,_,_,_) -> mcode print_meta name | Ast.EComma(cm) -> mcode print_string cm; print_space() | Ast.DisjExpr(exp_list) -> print_disj_list expression exp_list - | Ast.NestExpr(expr_dots,Some whencode,multi) -> - nest_dots multi expression + | Ast.NestExpr(starter,expr_dots,ender,Some whencode,multi) -> + nest_dots starter ender expression (function _ -> print_string " when != "; expression whencode) expr_dots - | Ast.NestExpr(expr_dots,None,multi) -> - nest_dots multi expression (function _ -> ()) expr_dots + | Ast.NestExpr(starter,expr_dots,ender,None,multi) -> + nest_dots starter ender expression (function _ -> ()) expr_dots | Ast.Edots(dots,Some whencode) | Ast.Ecircles(dots,Some whencode) | Ast.Estars(dots,Some whencode) -> @@ -681,9 +702,9 @@ and statement arity s = | Ast.Define(header,body) -> rule_elem arity header; print_string " "; dots force_newline (statement arity) body - | Ast.Nest(stmt_dots,whn,multi,_,_) -> + | Ast.Nest(starter,stmt_dots,ender,whn,multi,_,_) -> print_string arity; - nest_dots multi (statement arity) + nest_dots starter ender (statement arity) (function _ -> open_box 0; print_between force_newline diff --git a/parsing_cocci/pretty_print_cocci.mli b/parsing_cocci/pretty_print_cocci.mli index dd6df2c..f0580ee 100644 --- a/parsing_cocci/pretty_print_cocci.mli +++ b/parsing_cocci/pretty_print_cocci.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val unparse : Ast_cocci.rule -> unit val unparse_to_string : Ast_cocci.rule -> string val expression : Ast_cocci.expression -> unit diff --git a/parsing_cocci/semantic_cocci.ml b/parsing_cocci/semantic_cocci.ml index 691797c..b68e36e 100644 --- a/parsing_cocci/semantic_cocci.ml +++ b/parsing_cocci/semantic_cocci.ml @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + exception Semantic of string diff --git a/parsing_cocci/simple_assignments.ml b/parsing_cocci/simple_assignments.ml index 2971aa4..d9fa6e7 100644 --- a/parsing_cocci/simple_assignments.ml +++ b/parsing_cocci/simple_assignments.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/simple_assignments.mli b/parsing_cocci/simple_assignments.mli index 1f10d82..c8b1ecd 100644 --- a/parsing_cocci/simple_assignments.mli +++ b/parsing_cocci/simple_assignments.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val simple_assignments : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/single_statement.ml b/parsing_cocci/single_statement.ml index 7de9163..2d198dd 100644 --- a/parsing_cocci/single_statement.ml +++ b/parsing_cocci/single_statement.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* detect statements that are between dots in the minus code, because they may need a special treatment if they are if branches *) @@ -563,9 +585,13 @@ let rec statement dots_before dots_after s = statement_dots_list, mids,ender)) | Ast0.Nest(starter,stmt_dots,ender,whencode,multi) -> - Ast0.rewrap s - (Ast0.Nest - (starter,statement_dots true true stmt_dots,ender,whencode,multi)) + (match Ast0.get_mcode_mcodekind starter with + Ast0.MINUS _ -> (* everything removed, like -... *) s + | _ -> + Ast0.rewrap s + (Ast0.Nest + (starter,statement_dots true true stmt_dots,ender, + whencode,multi))) | Ast0.Exp(exp) -> s | Ast0.TopExp(exp) -> s | Ast0.Ty(ty) -> s diff --git a/parsing_cocci/single_statement.mli b/parsing_cocci/single_statement.mli index cd1700c..84eddaf 100644 --- a/parsing_cocci/single_statement.mli +++ b/parsing_cocci/single_statement.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val single_statement : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/test_exps.ml b/parsing_cocci/test_exps.ml index e6955e3..4e9b0dc 100644 --- a/parsing_cocci/test_exps.ml +++ b/parsing_cocci/test_exps.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module Ast0 = Ast0_cocci module V0 = Visitor_ast0 diff --git a/parsing_cocci/test_exps.mli b/parsing_cocci/test_exps.mli index 21e18a0..74f89f6 100644 --- a/parsing_cocci/test_exps.mli +++ b/parsing_cocci/test_exps.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val process : Ast0_cocci.rule -> Ast0_cocci.rule val process_anything : Ast0_cocci.anything -> Ast0_cocci.anything diff --git a/parsing_cocci/top_level.ml b/parsing_cocci/top_level.ml index aeb9a10..37ae75f 100644 --- a/parsing_cocci/top_level.ml +++ b/parsing_cocci/top_level.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* Reorganize the top level of a rule to be a list of either top-level declarations or code dots. A function declaration is always considered top level. A statement is always considered code dots. A variable declaration diff --git a/parsing_cocci/top_level.mli b/parsing_cocci/top_level.mli index 846b80c..3e2358f 100644 --- a/parsing_cocci/top_level.mli +++ b/parsing_cocci/top_level.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val top_level : Ast0_cocci.rule -> Ast0_cocci.rule diff --git a/parsing_cocci/type_cocci.ml b/parsing_cocci/type_cocci.ml index 743b857..1e9663d 100644 --- a/parsing_cocci/type_cocci.ml +++ b/parsing_cocci/type_cocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* for metavariables in general, but here because needed for metatypes *) type inherited = bool (* true if inherited *) type keep_binding = Unitary (* need no info *) diff --git a/parsing_cocci/type_cocci.mli b/parsing_cocci/type_cocci.mli index 0029593..a6248fb 100644 --- a/parsing_cocci/type_cocci.mli +++ b/parsing_cocci/type_cocci.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type inherited = bool (* true if inherited *) type keep_binding = Unitary (* need no info *) | Nonunitary (* need an env entry *) | Saved (* need a witness *) diff --git a/parsing_cocci/type_infer.ml b/parsing_cocci/type_infer.ml index 04b0ca7..7001492 100644 --- a/parsing_cocci/type_infer.ml +++ b/parsing_cocci/type_infer.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module T = Type_cocci module Ast = Ast_cocci module Ast0 = Ast0_cocci diff --git a/parsing_cocci/type_infer.mli b/parsing_cocci/type_infer.mli index 6ad7e0c..aff8ded 100644 --- a/parsing_cocci/type_infer.mli +++ b/parsing_cocci/type_infer.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val type_infer : Ast0_cocci.rule -> unit diff --git a/parsing_cocci/unify_ast.ml b/parsing_cocci/unify_ast.ml index 955789f..fe90032 100644 --- a/parsing_cocci/unify_ast.ml +++ b/parsing_cocci/unify_ast.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* --------------------------------------------------------------------- *) (* Given two patterns, A and B, determine whether B can match any matched subterms of A. For simplicity, this doesn't maintain an environment; it @@ -187,7 +209,7 @@ let rec unify_expression e1 e2 = disjunct_all_bindings (List.map (function x -> unify_expression x e2) e1) | (_,Ast.DisjExpr(e2)) -> disjunct_all_bindings (List.map (function x -> unify_expression e1 x) e2) - | (Ast.NestExpr(e1,_,_),Ast.NestExpr(e2,_,_)) -> + | (Ast.NestExpr(_,e1,_,_,_),Ast.NestExpr(_,e2,_,_,_)) -> unify_dots unify_expression edots e1 e2 (* dots can match against anything. return true to be safe. *) @@ -554,7 +576,7 @@ let rec unify_statement s1 s2 = (List.map (function x -> unify_dots unify_statement sdots s1 x) s2) - | (Ast.Nest(s1,_,_,_,_),Ast.Nest(s2,_,_,_,_)) -> + | (Ast.Nest(_,s1,_,_,_,_,_),Ast.Nest(_,s2,_,_,_,_,_)) -> unify_dots unify_statement sdots s1 s2 | (Ast.FunDecl(h1,lb1,s1,rb1),Ast.FunDecl(h2,lb2,s2,rb2)) -> conjunct_bindings (unify_rule_elem h1 h2) diff --git a/parsing_cocci/unify_ast.mli b/parsing_cocci/unify_ast.mli index 2781738..54c28ed 100644 --- a/parsing_cocci/unify_ast.mli +++ b/parsing_cocci/unify_ast.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type res = NO | MAYBE val unify_statement_dots : diff --git a/parsing_cocci/unitary_ast0.ml b/parsing_cocci/unitary_ast0.ml index 3823ce4..6d46bc7 100644 --- a/parsing_cocci/unitary_ast0.ml +++ b/parsing_cocci/unitary_ast0.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* find unitary metavariables *) module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/parsing_cocci/unitary_ast0.mli b/parsing_cocci/unitary_ast0.mli index f243af3..cfbef97 100644 --- a/parsing_cocci/unitary_ast0.mli +++ b/parsing_cocci/unitary_ast0.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* 'iso is the return type of parse_iso, which currently is (Ast_cocci.metavar list * Ast0_cocci.anything list list) list *) diff --git a/parsing_cocci/unparse_ast0.ml b/parsing_cocci/unparse_ast0.ml index aae81d9..b12855e 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Format module Ast = Ast_cocci module Ast0 = Ast0_cocci diff --git a/parsing_cocci/unparse_ast0.mli b/parsing_cocci/unparse_ast0.mli index 6c7c1df..c95d5e1 100644 --- a/parsing_cocci/unparse_ast0.mli +++ b/parsing_cocci/unparse_ast0.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val expression_dots : Ast0_cocci.expression Ast0_cocci.dots -> unit val parameter_list : Ast0_cocci.parameterTypeDef Ast0_cocci.dots -> unit val statement_dots : Ast0_cocci.statement Ast0_cocci.dots -> unit diff --git a/parsing_cocci/visitor_ast.ml b/parsing_cocci/visitor_ast.ml index 4717cba..8fd2add 100644 --- a/parsing_cocci/visitor_ast.ml +++ b/parsing_cocci/visitor_ast.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci @@ -168,8 +190,11 @@ let combiner bind option_default | Ast.MetaExprList(name,_,_,_) -> meta_mcode name | Ast.EComma(cm) -> string_mcode cm | Ast.DisjExpr(exp_list) -> multibind (List.map expression exp_list) - | Ast.NestExpr(expr_dots,whencode,multi) -> - bind (expression_dots expr_dots) (get_option expression whencode) + | Ast.NestExpr(starter,expr_dots,ender,whencode,multi) -> + bind (string_mcode starter) + (bind (expression_dots expr_dots) + (bind (string_mcode ender) + (get_option expression whencode))) | Ast.Edots(dots,whencode) | Ast.Ecircles(dots,whencode) | Ast.Estars(dots,whencode) -> bind (string_mcode dots) (get_option expression whencode) @@ -434,9 +459,12 @@ let combiner bind option_default | Ast.Atomic(re) -> rule_elem re | Ast.Disj(stmt_dots_list) -> multibind (List.map statement_dots stmt_dots_list) - | Ast.Nest(stmt_dots,whn,_,_,_) -> - bind (statement_dots stmt_dots) - (multibind (List.map (whencode statement_dots statement) whn)) + | Ast.Nest(starter,stmt_dots,ender,whn,_,_,_) -> + bind (string_mcode starter) + (bind (statement_dots stmt_dots) + (bind (string_mcode ender) + (multibind + (List.map (whencode statement_dots statement) whn)))) | Ast.FunDecl(header,lbrace,body,rbrace) -> multibind [rule_elem header; rule_elem lbrace; statement_dots body; rule_elem rbrace] @@ -675,8 +703,9 @@ let rebuilder Ast.MetaExprList(meta_mcode name,lenname_inh,keep,inherited) | Ast.EComma(cm) -> Ast.EComma(string_mcode cm) | Ast.DisjExpr(exp_list) -> Ast.DisjExpr(List.map expression exp_list) - | Ast.NestExpr(expr_dots,whencode,multi) -> - Ast.NestExpr(expression_dots expr_dots, + | Ast.NestExpr(starter,expr_dots,ender,whencode,multi) -> + Ast.NestExpr(string_mcode starter,expression_dots expr_dots, + string_mcode ender, get_option expression whencode,multi) | Ast.Edots(dots,whencode) -> Ast.Edots(string_mcode dots,get_option expression whencode) @@ -943,8 +972,9 @@ let rebuilder | Ast.Atomic(re) -> Ast.Atomic(rule_elem re) | Ast.Disj(stmt_dots_list) -> Ast.Disj (List.map statement_dots stmt_dots_list) - | Ast.Nest(stmt_dots,whn,multi,bef,aft) -> - Ast.Nest(statement_dots stmt_dots, + | Ast.Nest(starter,stmt_dots,ender,whn,multi,bef,aft) -> + Ast.Nest(string_mcode starter,statement_dots stmt_dots, + string_mcode ender, List.map (whencode statement_dots statement) whn, multi,bef,aft) | Ast.FunDecl(header,lbrace,body,rbrace) -> diff --git a/parsing_cocci/visitor_ast.mli b/parsing_cocci/visitor_ast.mli index ef3da68..9407c0d 100644 --- a/parsing_cocci/visitor_ast.mli +++ b/parsing_cocci/visitor_ast.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type 'a combiner = {combiner_ident : Ast_cocci.ident -> 'a; combiner_expression : Ast_cocci.expression -> 'a; diff --git a/parsing_cocci/visitor_ast0.ml b/parsing_cocci/visitor_ast0.ml index 87e96e1..53facab 100644 --- a/parsing_cocci/visitor_ast0.ml +++ b/parsing_cocci/visitor_ast0.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* --------------------------------------------------------------------- *) (* Generic traversal: rebuilder *) diff --git a/parsing_cocci/visitor_ast0.mli b/parsing_cocci/visitor_ast0.mli index 9e66a69..f73953b 100644 --- a/parsing_cocci/visitor_ast0.mli +++ b/parsing_cocci/visitor_ast0.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val combiner_functions : 'a Visitor_ast0_types.combiner_functions val combiner : ('a -> 'a -> 'a) -> diff --git a/parsing_cocci/visitor_ast0_types.ml b/parsing_cocci/visitor_ast0_types.ml index 30550d0..b9a812f 100644 --- a/parsing_cocci/visitor_ast0_types.ml +++ b/parsing_cocci/visitor_ast0_types.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast0 = Ast0_cocci module Ast = Ast_cocci diff --git a/popl/ast_popl.ml b/popl/ast_popl.ml index 6b768f6..173e567 100644 --- a/popl/ast_popl.ml +++ b/popl/ast_popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type sequence = Seq of element * sequence | Empty diff --git a/popl/asttopopl.ml b/popl/asttopopl.ml index 3d39098..50859be 100644 --- a/popl/asttopopl.ml +++ b/popl/asttopopl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl/asttopopl.mli b/popl/asttopopl.mli index 3e149fb..c98cdac 100644 --- a/popl/asttopopl.mli +++ b/popl/asttopopl.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val top : Ast_cocci.top_level -> Ast_popl.sequence diff --git a/popl/insert_befaft.ml b/popl/insert_befaft.ml index 7ac2eda..15aaa7e 100644 --- a/popl/insert_befaft.ml +++ b/popl/insert_befaft.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Past = Ast_popl (* --------------------------------------------------------------------- *) diff --git a/popl/insert_befaft.mli b/popl/insert_befaft.mli index 5f3e897..ccadde2 100644 --- a/popl/insert_befaft.mli +++ b/popl/insert_befaft.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val insert_befaft : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl/insert_quantifiers.ml b/popl/insert_quantifiers.ml index 83d2459..c808fa5 100644 --- a/popl/insert_quantifiers.ml +++ b/popl/insert_quantifiers.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl/insert_quantifiers.mli b/popl/insert_quantifiers.mli index f823a04..646a79c 100644 --- a/popl/insert_quantifiers.mli +++ b/popl/insert_quantifiers.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val insert_quantifiers : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl/popl.ml b/popl/popl.ml index e1d4429..6b653ec 100644 --- a/popl/popl.ml +++ b/popl/popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/popl.mli b/popl/popl.mli index 8a8fa16..dbbc91a 100644 --- a/popl/popl.mli +++ b/popl/popl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/popltoctl.ml b/popl/popltoctl.ml index de2937f..e2c32b1 100644 --- a/popl/popltoctl.ml +++ b/popl/popltoctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Past = Ast_popl module Ast = Ast_cocci module V = Visitor_ast diff --git a/popl/popltoctl.mli b/popl/popltoctl.mli index 2d96afc..c8312e3 100644 --- a/popl/popltoctl.mli +++ b/popl/popltoctl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl/pretty_print_popl.ml b/popl/pretty_print_popl.ml index 3c3022d..669d5d0 100644 --- a/popl/pretty_print_popl.ml +++ b/popl/pretty_print_popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Format module Past = Ast_popl diff --git a/popl/pretty_print_popl.mli b/popl/pretty_print_popl.mli index b3238dc..5cb0503 100644 --- a/popl/pretty_print_popl.mli +++ b/popl/pretty_print_popl.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val pretty_print : Ast_popl.sequence -> unit val pretty_print_e : Ast_popl.element -> unit diff --git a/popl09/ast_popl.ml b/popl09/ast_popl.ml index 9f0c720..3d6dae4 100644 --- a/popl09/ast_popl.ml +++ b/popl09/ast_popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type sequence = Seq of element * sequence | Empty diff --git a/popl09/asttopopl.ml b/popl09/asttopopl.ml index 9817a53..f323e61 100644 --- a/popl09/asttopopl.ml +++ b/popl09/asttopopl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module Past = Ast_popl @@ -63,7 +85,10 @@ let rec stm s = Ast.WhenNot(a) -> Past.When(prev,stm_list a) | _ -> failwith "only when != supported") Past.Dots whencodes) - | Ast.Nest(stmt_dots,whencodes,false,_,_) -> + | Ast.Nest(starter,stmt_dots,ender,whencodes,false,_,_) -> + (match Ast.get_mcodekind starter with + Ast.MINUS _ -> failwith "only context nests supported" + | _ -> ()); let nest = Past.Nest(stm_list stmt_dots) in Past.DInfo (List.fold_left diff --git a/popl09/asttopopl.mli b/popl09/asttopopl.mli index 3e149fb..c98cdac 100644 --- a/popl09/asttopopl.mli +++ b/popl09/asttopopl.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val top : Ast_cocci.top_level -> Ast_popl.sequence diff --git a/popl09/flag_popl.ml b/popl09/flag_popl.ml index bdcc37a..5f34bd4 100644 --- a/popl09/flag_popl.ml +++ b/popl09/flag_popl.ml @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let mark_all = ref false let keep_all_wits = ref false diff --git a/popl09/insert_quantifiers.ml b/popl09/insert_quantifiers.ml index 2a34b60..50762b5 100644 --- a/popl09/insert_quantifiers.ml +++ b/popl09/insert_quantifiers.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Ast = Ast_cocci module Past = Ast_popl diff --git a/popl09/insert_quantifiers.mli b/popl09/insert_quantifiers.mli index f823a04..646a79c 100644 --- a/popl09/insert_quantifiers.mli +++ b/popl09/insert_quantifiers.mli @@ -20,4 +20,26 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val insert_quantifiers : Ast_popl.sequence -> Ast_popl.sequence diff --git a/popl09/popl.ml b/popl09/popl.ml index 419a564..d2d3d70 100644 --- a/popl09/popl.ml +++ b/popl09/popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/popl.mli b/popl09/popl.mli index 8a8fa16..dbbc91a 100644 --- a/popl09/popl.mli +++ b/popl09/popl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/popltoctl.ml b/popl09/popltoctl.ml index 6cde698..5c261aa 100644 --- a/popl09/popltoctl.ml +++ b/popl09/popltoctl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + module Past = Ast_popl module Ast = Ast_cocci module V = Visitor_ast diff --git a/popl09/popltoctl.mli b/popl09/popltoctl.mli index 2d96afc..c8312e3 100644 --- a/popl09/popltoctl.mli +++ b/popl09/popltoctl.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + type cocci_predicate = Lib_engine.predicate * Ast_cocci.meta_name Ast_ctl.modif type formula = (cocci_predicate,Ast_cocci.meta_name, Wrapper_ctl.info) Ast_ctl.generic_ctl diff --git a/popl09/pretty_print_popl.ml b/popl09/pretty_print_popl.ml index dfe86f3..664806f 100644 --- a/popl09/pretty_print_popl.ml +++ b/popl09/pretty_print_popl.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Format module Past = Ast_popl module Ast = Ast_cocci diff --git a/popl09/pretty_print_popl.mli b/popl09/pretty_print_popl.mli index b3238dc..5cb0503 100644 --- a/popl09/pretty_print_popl.mli +++ b/popl09/pretty_print_popl.mli @@ -20,5 +20,27 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + val pretty_print : Ast_popl.sequence -> unit val pretty_print_e : Ast_popl.element -> unit diff --git a/pycaml/._d/pycaml.d b/pycaml/._d/pycaml.d new file mode 100644 index 0000000..991ed77 --- /dev/null +++ b/pycaml/._d/pycaml.d @@ -0,0 +1,2 @@ +pycaml.cmo: +pycaml.cmx: diff --git a/pycaml/dllpycaml_stubs.so b/pycaml/dllpycaml_stubs.so new file mode 100755 index 0000000000000000000000000000000000000000..77cd440a6f6dec1186546ac13aa1619c6e7b9718 GIT binary patch literal 47422 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

    Ss^-Fmjge5oCuy&=LXt8ikyg} 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 literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.a b/pycaml/pycaml.a new file mode 100644 index 0000000000000000000000000000000000000000..05baba6ba8a090ebb186d74b8229c93cb4fb3ab4 GIT binary patch literal 37708 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 K9E8Jg6#h>`3byS4 literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.cma b/pycaml/pycaml.cma new file mode 100644 index 0000000000000000000000000000000000000000..5fbe7614d09f8dfb1c4a9100ac78faa7340b9a06 GIT binary patch literal 13426 zcmeI2dw5jE8OC>E5<&=wpp+^_prD&;ArLB)rO4Sw%oiBO6hvDtAf3^Q*pXcy9-}#+) z&N*{tCdq35(6mVBo;`c^&CBZ%2xOld6$k|GsO|o7pX=OqqucJ1!hPDiEm*a8>6o0; z#%;B5{F~%C+r;_)Zj;;uoO?Zv&2g0Wr5@ro`N%b;?GA41=r-}P)pMKX^&EF7P}gmp zWXFBZUA%Zv@2w_Z(|c-HPg~s6PMi%b({Xs((xMi&Q^B^&?cz zr@D;laa0eYx+~Q;P+gDe&%eC$rNd zn>+eFL#EqrSbTDS>EyP*q7t=z2i4~#~WPX_*LF< z_vJ~|wWOVfS2%vPcf6-}zT96%3McDs=kJB{YdqJN+_j$TM^3(<((B3hRQ~n8;<*9j zntJY5a$oh_KyvyWn>^1Ta`HWx-pgQe%~H6prEtwtxEoTq7Ac(E%;}mbPJZW- zYwPprx+rcWIb9dU6_C?)QQUXQ>Drepr|X-zJ1D2?TQZlAbH&N;lKwOF^_)DH?{s~W zTnRZ{-^5KJr|Vm?>*@NIET`+6xG=S;>szum2jg6E{El?pNY%9|I)3DO+-EvQ#8sjVT?=%Mi{p88 zH_lDwLY|wCeQi_Ur{um*uF%Ux$mu(iT#TIduefq@+E3z^kkfTT9QTVpueb*(r|X8e z736fBi~Aut9p~Z}kkjWC_Yk>hsKqTJSL(UN~ zN^-iU$bGINH^=ef<~bd1QoSaLdEll7<0V{tqN7or_;JYKZ# z#Vy5ox=!dg7su~buOaS9%IP)4Z6~MK5cd>09k1fJuXVhN`x)hQyo%dNPS*`_Ja%>6 z5cdnp>AE3q54lRz;+`R=V^Z9+|S);5ce*%sq03vHuar}dyjJZ&cywJoW2)vC&|5lTHFWZUi91_$?fyp zpUCMPmp1ji*LC}y+$NtjpH+Y7+sp0WRduBL?}Gc>zMK#U_RIn8~_dk z2ZKYwVc>9Z1UM2L1&#*CfMdb&-~{k)a3WX)7K4+)DPROF1*2dLjDyp`d%>CDEO0hB z7n}z!02hLbz$M@^a5=aFtOOqhSAna+HQ+jMJ!rv=;3jZ0xCPt_ZUeW2JHVabE^s%v z2YeRX3%&sE1NVamz*oS7;34n`coaMaz7D!K5qVg?l$=}cH4Qk^_0SW7OdRtmbP^F<04oR2pG4Vo2!r6j6k4upzVl6q5D6= zM+CD^S^H3D*)J$5jd$->5HFLRF?6)7SdK>A(cG$Yr-i153qrA2C=nPYr$!U;ifANU zP#i0pR(*JsJKVME+^V`@QaD}^Dk_QvqE2*(CMJbT3qz4eFtCH_Gnd!FJgO-lqmi}JN8Uz_r^DPNoNhVq8;hVq8;X_QZ+d>ZA`D4$OGbjqhwKArM)C|`&2 zbtqql@)?xRpnL}9Gbmq|@^vX+m-2NfpGo;l%4bqOlk)W_Uyt(jC|{5AS(MMBd=}-i zC|_Uly{aZsxU{??7A`1{hYF__6o#Uq!jgC*Sii`fkRuZ+UR>ekluXKCeYuJ`5p3h8 zcjb7nwH>EZIcMTf6V zJNW!RH=TI>*MGmYU6)-hHbmBjyf=eyo!)TbRI|j{`1yfDR=#PixsbP`^^id=_Pq4| z*fUcWuNfEJmT$A8iHg!0u~2k+C{hu&ouY|LMb~IzT3JzrTPjLQOXAhL*4=&81D1#5 zq1dEysU=ZR7%7t{wz;~z#LKE4&;Iv%^FKY57EHJ8qKV>Aq&#ffx{Jr$V>p(Ul~%JN z60vE)I&L#=3%YKw=DamuSo05S&RX-SH6L5^XKOyR<^yX^TJx?o$E|tWnm4R@&6=au z9Jc15H7{GU-`kmDW^R^Pn}$ ztXXW$LTlz*GuN8?t(j@f3~S=n+*5VWiD=lGNPgdZ_pzp)9WTL!{>eF%y V%Sww&Cgs~MMUl(S&nYj<{}1w%S4;o^ literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.cmi b/pycaml/pycaml.cmi new file mode 100644 index 0000000000000000000000000000000000000000..278b1ea05314741c7f106f76b32f4cb4752c4805 GIT binary patch literal 39117 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࢙Z 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 Vd2dVT^s^rPTIgMh*7?7o{|AGV-)8^- literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.cmo b/pycaml/pycaml.cmo new file mode 100644 index 0000000000000000000000000000000000000000..6c6fe4ed7f39c5304370a74e809dc94dfaa97966 GIT binary patch literal 13306 zcmeI2eV9zw9mi)l%UVm)5Y7gh)QCO-C0@2?qqfrD}tgzqN3|1 zigKcYiinD;h@gllsv_R1sD_HRc@ot$Nh_u2xBLA)j&H~O)&95hJU5^FyPx|#_ug~Q zIlDX3Jv1iLx?{(V{W3Bh2n1SuIxr9j465k<<34w}?OwM%DTVtqaa*u-@5V7Xr=i;_ z;P|)5bGDZA-Q6a+VL1109GmPY?MvO;ZSs+8O507{*350JeB%M=@Pu$-ue*Jr@-=+Eus+Uv!0@dTF&ZfE_)elnLnCco-U%z(q z{r{Ef6IAb}`gN+8Q2iX$g;Zxz{Rq_$P<d(Kt`FYM${adQvqIxye^QfLo^=PUeqq;lQt*E}6>dLNu%FP}9 zo*~Wc-{H1zxJ~})x6{G%aGEn9It+hZsg?qDZQS2Pvu|ltDbv^Ty4)i zOzvx*>p@PxW0U9UNlv~8(|hSfu1*s7^(3xt5_eA$S1*Z^d%V?s*7sa*?CTi3&vSjq zHAv#*J3YM~=Nct(jXn1W_Vr$xBymkW*Ozk5JojyKvL5Muvb*1Nk5aBh64x?`Yn8-h zByp`h*AM&JFKv>zwn6$F=JCxJ)H<8mdQ=I(HCD+#H z({)kY0CKu6ipwIW>!P^tk<+y=QBK!4af2wQ>sun1iF3ut?~?vAboHD(m+y3alUyD- zUEjowBB$$HqU-7UmMEv|o47Ewsq0&!HhbY*ar};S-AL4?&VO;k=z2QG6FHs7iJZ<= zak2k$KrY+MMabzplU$6P_OG}?a@tSgo+qd4hB)pQeO_@dQcl+madXM( zI2ZRLayrh%O(&<%D{daSF{s7OB$w~GS>y^l$L}HPxp9=!aVOVf7xQx5pW645n@w%T zz1$DUY2Qn34mq92;(kI-?@ipRxlkM-x3apK{N7ZUH%6 zQ{+AulAG-1Hjta*xz*&p@41!arh0A_IUOT%FP5B+*F^oP^H>~@!5L^r9FG_6dvPz| zJY6SroQvaktJe_s8s+pF;?|SXYlwTDoQ_v<+}Ao@#r>ReI$p(XB&X|!I3ByYZixFO z<#gQ;w}o5@YH@Fp(=jP-D>)sLiQ3dLnW#-2lZo1V3D*$!7F}5w{!rIzFxE_K}_n zd)Y_s6)*Q|ayrK)w~3st8{+npTZ3BM0dha{+(B|{J$Hzl&SPnl$ICh|$Kyrkxa5ve zn>xqEy-iN%xVXdQbdHOAgPhLsL~bL_756*JX*=Rhk<-3Ul=}tF6?cMin>}}uoUR** z+SGL;(Y@%pA?^&dsq03fHuar}J4-ozXX5@qPTz~TbL6(87I&W94$u9O+)mH^iJZ=H zX;a^O6}R8qZSqr_GO1u1m=4N0;`Kb)m#rpP3#<*^1=a!Ug7v`qU<0rb*aU0_-Ve3}Gr%@rJFq?2 z0hIoc`|AvL0W-mF;6q>!uou_|>LEz=_}_a0)mToDR+aXM)dzv%xvwT(AV34=w~3fs4VV;4;vHE5McD zDsTXt&AGjYp2p$3tgGa!l;BoLIcnUlX zo(0c=AAlFYi{K^jWAHL~1^g8J4EzH87x*Q34U`4p4!2(cG+-q#6-)!u!Rp}c;2mI1 zuohSwybG)Y)&=W<^}z;UBd`hB47?v~31)z8z;X!6+C5Mn%1Go{~1a1bmfLpmy5OL5CXa8Mv%9t;F3zMmQhGzc{6U!3j!fAIdn78k6Y z*IM?o^77;D+hxTIWM>E+Ey$Il5qGpz>A7P8_FBX8_K6pK85lrlux02CCXQ#d?m_PqI_k_SEhVr%2%d* zD&P&SEYP9<mY=>*r}#?zYLDIvj#+E2Wo&5ByJx*EyFVCudDN`M zk4M*K+7{8`qWp2OP;_i4QWUn$qs2Fhw$b7-1vy1-smROEiC1R<|AwVY|TY$&RcWNnlsj%vgU*}N3D6!nnTtcux6h% z?^v_TnjO|`v*t}}He2(CbxVSI&6>5=thQ#QH7{GU%$gSH6_-(Xw7VEW?3`C fnrYTdvF2H8CRj7hnz%Jjm)>)6G;B>I(|!H}`j;x( literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.cmx b/pycaml/pycaml.cmx new file mode 100644 index 0000000000000000000000000000000000000000..7d19378a290c219b737e220c4c28cd2614bf02bd GIT binary patch literal 2256 zcmdUx%WD%s9LFbhtMO#T$Dx$c`l=L!*_qjwB1|GGx%H|ZmRJ%=Nz#zS!XDI15B3(7 zdJv&=P%nB2D42^9P(hI51L`S4ksdsF@Nw~RaW?aV5R%^?;IibwcOIYbhh=w9WlKdn z2!eCewwG5QJSQZn2qBwu103bv~^BJUzpn=xLd9-4%2r@$t)AXKNz* zQU7};v$~;_HAb6xdmJd6+Ic^Dtq^D#cq=VN>tIM(YUd<^{g2p`vdCR`EVp2luhYr8TbC-X*Px_>2#gjz3$Q51&qM@BBJmy8R~_n|}2V6S^i7 literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.cmxa b/pycaml/pycaml.cmxa new file mode 100644 index 0000000000000000000000000000000000000000..368cc3abee29e15f18c8e9c0b0753362c34718bb GIT binary patch literal 276 zcmZ=x%*`>hw6u&eFf?eHx@;c<1H%^}RtMs#KwP(B!2%8j1`P(afXZZ`QWnMqEKCjy z7N|NF6(v?0%$dLRqnvK$q$BEgpIj7c>0GctDCU+_`l2 zv#Yw%7N9oIyb?1LgR6|!Ud+GqM5gjn$!|B$saF>)U=c9bpyKJSu;cKfs1I44v!V;u zI5;>gZ~_vJ20I?C-Y&;>=Z979v|p71ibow5DC_1VgNWP(YPvb4C7C%3RCIGvau#Un z<`k4<6s0DnEYJorD@!u+^NjS&7U+REAos@?my{+IJ1nr)_0caaF4E7*Owxxd(@)ON JOUq1m005N4ZczXL literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.customtop b/pycaml/pycaml.customtop new file mode 100755 index 0000000000000000000000000000000000000000..a29c0f70abd8e38aef3ac0c2cd27f8d9321586a3 GIT binary patch literal 1142339 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�HbbG@IRwYgsY*GGCk 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%0D2pX$2SI>~o)d*R! z?YjDV^e6cjf}UTpz%xa;FL-8vv$nnO4A{2RSzXqbpEh}N>tvw({^40bzdJze`}}jC z^0#+QrF!M4b;{X5n@lnJ^g$-S%GZ5?!ankL+WYby_VQcOouFZ2~QzIWBy);rE`WqhA7`s8y|f31?7YPsE_}|Y$H&#aZt#m9}lrq%Q1Ye7C-x@K&i~; z^%ytjQJ=2H?bT^3#yZ}Z-IXz5A06x9`})S+i)4E*b=PhLZ0MQTDJJZzkK{5L_VJyX z?2jfUOW&6dS@kLZo(#wJgyJ4F9kOQ`+_M@rq$P{<44A3AYMIR zmN?_D)krBPWB0B`*5}V1nS(hC)n@sU74>3O&@C!auposlOP~FzyW6Yd!F;**oF7egIt?P{Qsdd33JUB@}@wUR$rg?>1e;au=iv2sWV<4^o#%aER~;1 z{awB4o~O;UcY2=kIo?WRL1*)8EA7T*yd$l5R(mGJ2+wawy!NDSyyV%qud#eAz%>Z1m?aeaOZzn94#*6J2_wAU>*5lxEatRpTzY-;ErIc+_cVn zoqc?ID3}5T_faMp*DAC3>6ATtgPmk&YQ>FT`4kUrHfWdk*|hOgrq$Q&`&M4_$9v+B zQ>ocH1$We<;n=a(_K$LLCS#r5&4Em>{D{LC$LFTcAGMt?*e@q;5BQGXz9N38AFb!F#

    # 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%0Dre%i`aYzI^c2 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 literal 0 HcmV?d00001 diff --git a/pycaml/pycaml.o b/pycaml/pycaml.o new file mode 100644 index 0000000000000000000000000000000000000000..8c662e1070899fbf3ab2b87924cbd1458237a8bb GIT binary patch literal 34512 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 literal 0 HcmV?d00001 diff --git a/pycaml/pycaml_ml.o b/pycaml/pycaml_ml.o new file mode 100644 index 0000000000000000000000000000000000000000..9716b92877ccaf9a40c011d24798976621657698 GIT binary patch literal 33072 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. + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_c open Common open Pycocci_aux diff --git a/python/no_pycocci_aux.ml b/python/no_pycocci_aux.ml index 30e67fa..de13d3e 100644 --- a/python/no_pycocci_aux.ml +++ b/python/no_pycocci_aux.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_c open Common @@ -58,11 +80,11 @@ let call_pretty f a = String.concat " " (List.rev !str) let stringrep mvb = match mvb with - Ast_c.MetaIdVal s -> s + Ast_c.MetaIdVal (s,_) -> s | Ast_c.MetaFuncVal s -> s | Ast_c.MetaLocalFuncVal s -> s -| Ast_c.MetaExprVal ((expr,_),[il]) -> (exprrep expr) -| Ast_c.MetaExprVal e -> "TODO: <>" +| Ast_c.MetaExprVal (((expr,_),[il]),_) -> (exprrep expr) +| Ast_c.MetaExprVal _ -> "TODO: <>" | Ast_c.MetaExprListVal expr_list -> "TODO: <>" | Ast_c.MetaTypeVal typ -> call_pretty Pretty_print_c.pp_type_gen typ | Ast_c.MetaStmtVal statement -> "TODO: stmt" diff --git a/python/yes_pycocci.ml b/python/yes_pycocci.ml index 50bd32c..e768e31 100644 --- a/python/yes_pycocci.ml +++ b/python/yes_pycocci.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_c open Common open Pycaml @@ -251,11 +273,11 @@ let construct_variables mv e = List.iter (function (py,(r,m)) -> match find_binding (r,m) with None -> () - | Some (_, Ast_c.MetaExprVal expr) -> + | Some (_, Ast_c.MetaExprVal (expr,_)) -> let expr_repr = instantiate_Expression(expr) in let _ = build_variable py expr_repr in () - | Some (_, Ast_c.MetaIdVal id) -> + | Some (_, Ast_c.MetaIdVal (id,_)) -> let id_repr = instantiate_Identifier(id) in let _ = build_variable py id_repr in () diff --git a/python/yes_pycocci_aux.ml b/python/yes_pycocci_aux.ml index da73321..db6d4df 100644 --- a/python/yes_pycocci_aux.ml +++ b/python/yes_pycocci_aux.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Ast_c open Common open Pycaml @@ -34,10 +56,10 @@ let call_pretty f a = let exprrep = call_pretty Pretty_print_c.pp_expression_gen let stringrep mvb = match mvb with - Ast_c.MetaIdVal s -> s + Ast_c.MetaIdVal (s,_) -> s | Ast_c.MetaFuncVal s -> s | Ast_c.MetaLocalFuncVal s -> s -| Ast_c.MetaExprVal expr -> exprrep expr +| Ast_c.MetaExprVal (expr,_) -> exprrep expr | Ast_c.MetaExprListVal expr_list -> "TODO: <>" | Ast_c.MetaTypeVal typ -> call_pretty Pretty_print_c.pp_type_gen typ | Ast_c.MetaInitVal ini -> call_pretty Pretty_print_c.pp_init_gen ini diff --git a/standard.iso b/standard.iso index 555f6ee..f050301 100644 --- a/standard.iso +++ b/standard.iso @@ -356,7 +356,6 @@ identifier i; @@ for(X;Y;i++) S <=> for(X;Y;++i) S - // **************************************************************************** // gcc specific isomorphisms // **************************************************************************** diff --git a/test.ml b/test.ml index 6d67c2f..ea77806 100644 --- a/test.ml +++ b/test.ml @@ -108,6 +108,72 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix diff --git a/testing.ml b/testing.ml index 84ca3fe..045c54b 100644 --- a/testing.ml +++ b/testing.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (*****************************************************************************) diff --git a/testing.mli b/testing.mli index 1c1e0ab..f0822d1 100644 --- a/testing.mli +++ b/testing.mli @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (*****************************************************************************) diff --git a/tests/bad_kfree.c b/tests/bad_kfree.c new file mode 100644 index 0000000..ffada84 --- /dev/null +++ b/tests/bad_kfree.c @@ -0,0 +1,20 @@ +int main () { + for (i = 0; i < IVTV_VBI_FRAMES; i++) { + a = itv[i]; + kfree(itv[i]); + } + print("foo",itv[i]); + print("foo",itv[i]); + a = itv[i]; + itv[i]=12; + a = itv[i]; +} + +int bad () { + kfree(itv[i]); + print("foo",itv[i]); + print("foo",itv[i]); + a = itv[i]; + itv[i]=12; + a = itv[i]; +} diff --git a/tests/bad_kfree.cocci b/tests/bad_kfree.cocci new file mode 100644 index 0000000..802eef5 --- /dev/null +++ b/tests/bad_kfree.cocci @@ -0,0 +1,39 @@ +@print@ +constant char *c; +expression E1; +position p; +identifier f; +@@ + +f(...,c,...,E1@p,...) + +@free@ +expression E; +position p1; +@@ + +kfree@p1(E) + +@r exists@ +expression free.E, subE<=free.E, E2; +iterator iter; +statement S; +position free.p1,p2!=print.p; +@@ + +kfree@p1(E) +... +( +iter(subE,...) S // no use +| +subE = E2 // no use +| +subE++ // no use +| +subE-- // no use +| +&subE // no use +| +- E@p2 // bad use ++ NULL +) diff --git a/tests/bad_kfree.res b/tests/bad_kfree.res new file mode 100644 index 0000000..a60923a --- /dev/null +++ b/tests/bad_kfree.res @@ -0,0 +1,20 @@ +int main () { + for (i = 0; i < IVTV_VBI_FRAMES; i++) { + a = itv[i]; + kfree(itv[i]); + } + print("foo",itv[i]); + print("foo",itv[i]); + a = itv[i]; + itv[i]=12; + a = itv[i]; +} + +int bad () { + kfree(itv[i]); + print("foo",itv[i]); + print("foo",itv[i]); + a = NULL; + itv[i]=12; + a = itv[i]; +} diff --git a/tests/double_lines.c b/tests/double_lines.c new file mode 100644 index 0000000..7413366 --- /dev/null +++ b/tests/double_lines.c @@ -0,0 +1,7 @@ +int main () { + test(); + foo(); + foo(); + foo(); + endtest(); +} diff --git a/tests/double_lines.cocci b/tests/double_lines.cocci new file mode 100644 index 0000000..880c705 --- /dev/null +++ b/tests/double_lines.cocci @@ -0,0 +1,4 @@ +@@ +@@ + +- foo(); diff --git a/tests/double_lines.res b/tests/double_lines.res new file mode 100644 index 0000000..fd47ec3 --- /dev/null +++ b/tests/double_lines.res @@ -0,0 +1,4 @@ +int main () { + test(); + endtest(); +} diff --git a/tests/fnty.c b/tests/fnty.c new file mode 100644 index 0000000..cfc73bd --- /dev/null +++ b/tests/fnty.c @@ -0,0 +1,14 @@ +struct allfns { + int (*x) (int); + int (*y) (int); +}; + +struct somefns { + int (*x) (int); + int y; +}; + +struct nofns { + int x; + int y; +}; diff --git a/tests/fnty.cocci b/tests/fnty.cocci new file mode 100644 index 0000000..a49fce5 --- /dev/null +++ b/tests/fnty.cocci @@ -0,0 +1,32 @@ +@structure@ +identifier idtype, y; +type t; +position p; +@@ +struct idtype { + ... + t (*y)(...);@p + ... +}; + +@bad@ +identifier structure.idtype, y; +type t; +position p != structure.p; +@@ + +struct idtype { + ... + t y;@p + ... +}; + +@depends on !bad@ +identifier structure.idtype; +@@ +struct +- idtype ++ newname +{ + ... +}; diff --git a/tests/fnty.res b/tests/fnty.res new file mode 100644 index 0000000..5f7902b --- /dev/null +++ b/tests/fnty.res @@ -0,0 +1,14 @@ +struct newname { + int (*x) (int); + int (*y) (int); +}; + +struct somefns { + int (*x) (int); + int y; +}; + +struct nofns { + int x; + int y; +}; diff --git a/tests/insdef.c b/tests/insdef.c new file mode 100644 index 0000000..1ddb5ad --- /dev/null +++ b/tests/insdef.c @@ -0,0 +1 @@ +#define TABINFOGEN diff --git a/tests/insdef.cocci b/tests/insdef.cocci new file mode 100644 index 0000000..6680ff6 --- /dev/null +++ b/tests/insdef.cocci @@ -0,0 +1,5 @@ +@@ +@@ + +#define TABINFOGEN ++#include diff --git a/tests/insdef.res b/tests/insdef.res new file mode 100644 index 0000000..9398f40 --- /dev/null +++ b/tests/insdef.res @@ -0,0 +1,2 @@ +#define TABINFOGEN +#include diff --git a/tools/alloc_free.ml b/tools/alloc_free.ml index c0d2cbf..e169d03 100644 --- a/tools/alloc_free.ml +++ b/tools/alloc_free.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* The following finds out for each file, how it does deallocation for each allocator *) diff --git a/tools/bridge.ml b/tools/bridge.ml index bc7a22c..bd967eb 100644 --- a/tools/bridge.ml +++ b/tools/bridge.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let drop_spaces s = String.concat "" (Str.split (Str.regexp "[ ]+") s) diff --git a/tools/dir_stats.ml b/tools/dir_stats.ml index 92d14c8..d6e4d96 100644 --- a/tools/dir_stats.ml +++ b/tools/dir_stats.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* for each marked thing, how often does it occur and in what files and directories *) diff --git a/tools/extract_c_and_res.ml b/tools/extract_c_and_res.ml index f110377..29438e9 100644 --- a/tools/extract_c_and_res.ml +++ b/tools/extract_c_and_res.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (*****************************************************************************) diff --git a/tools/generate_dependencies.ml b/tools/generate_dependencies.ml index 3a8b2d4..5d5df96 100644 --- a/tools/generate_dependencies.ml +++ b/tools/generate_dependencies.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common (*****************************************************************************) diff --git a/tools/gitgrep.ml b/tools/gitgrep.ml index 919e2ae..2c8bfa2 100644 --- a/tools/gitgrep.ml +++ b/tools/gitgrep.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* adjust as convenient *) let prefix = "/tmp/" let prefix = "" diff --git a/tools/gitsort.ml b/tools/gitsort.ml index 69072e9..03540cf 100644 --- a/tools/gitsort.ml +++ b/tools/gitsort.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* sort a list of git codes such that the most recent comes first *) let git_home = ref "/home/julia/linux-2.6" diff --git a/tools/licensify.ml b/tools/licensify.ml index dcf4cc5..2cdd797 100644 --- a/tools/licensify.ml +++ b/tools/licensify.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + let lines = ["Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen"; "Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix"; diff --git a/tools/process_isoprofile.ml b/tools/process_isoprofile.ml index ef9fdb5..cad0204 100644 --- a/tools/process_isoprofile.ml +++ b/tools/process_isoprofile.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* This is for processing information created with the -profile_iso option. Runs are assumed separated with a line beginning with =. The first run is discarded *) diff --git a/tools/split_patch.ml b/tools/split_patch.ml index f30ae9b..9b058c5 100644 --- a/tools/split_patch.ml +++ b/tools/split_patch.ml @@ -20,44 +20,152 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* split patch per file *) +let git_tree = "/var/linuxes/linux-next" + +let maintainer_command file = + Printf.sprintf + "cd %s; scripts/get_maintainer.pl --separator , --nomultiline --nogit -f %s" + git_tree file + +let subsystem_command file = + Printf.sprintf + "cd %s; scripts/get_maintainer.pl --nogit --subsystem -f %s | grep -v @" + git_tree file + +let checkpatch_command file = + Printf.sprintf "cd %s; scripts/checkpatch.pl %s" git_tree file + +let default_string = "THE REST" (* split by file *) + +let extra_cc = Some "kernel-janitors@vger.kernel.org" (* comma separated *) + +let prefix_before = Some "/var/linuxes/linux-next" +let prefix_after = Some "/var/julia/linuxcopy" + +(* ------------------------------------------------------------------------ *) + +let spaces = Str.regexp "[ \t]" + +let fix_before_after l prefix = function + Some old_prefix -> + (match Str.split spaces l with + ("diff"|"+++"|"---")::_ -> + (match Str.split (Str.regexp old_prefix) l with + [a;b] -> + (match Str.split_delim (Str.regexp ("[ \t]"^prefix)) a with + [_;""] -> a^b (* prefix is alwaredy there *) + | _ -> a^prefix^b) + | _ -> l) + | _ -> l) + | _ -> l + +let fix_date l = + match Str.split spaces l with + (("+++"|"---") as a)::path::rest -> Printf.sprintf "%s %s" a path + | _ -> l + +(* ------------------------------------------------------------------------ *) + let is_diff = Str.regexp "diff " let split_patch i = let patches = ref [] in let cur = ref [] in - let rec loop _ = + let get_size l = + match Str.split_delim (Str.regexp ",") l with + [_;size] -> int_of_string size + | _ -> failwith ("bad size: "^l) in + let rec read_diff_or_atat _ = let l = input_line i in - (if Str.string_match is_diff l 0 - then - (if List.length !cur > 0 - then begin patches := List.rev !cur :: !patches; cur := [l] end) - else cur := l :: !cur); - loop() in - try loop() with End_of_file -> !patches + let l = fix_date(fix_before_after l "a" prefix_before) in + let l = fix_date(fix_before_after l "b" prefix_after) in + match Str.split spaces l with + "diff"::_ -> + (if List.length !cur > 0 + then patches := List.rev !cur :: !patches); + cur := [l]; + read_diff() + | "@@"::min::pl::"@@"::rest -> + let msize = get_size min in + let psize = get_size pl in + cur := l :: !cur; + read_hunk msize psize + | "\\"::_ -> cur := l :: !cur; read_diff_or_atat() + | _ -> + failwith + "expected diff or @@ (diffstat information should not be present)" + and read_diff _ = + let l = input_line i in + let l = fix_date(fix_before_after l "a" prefix_before) in + let l = fix_date(fix_before_after l "b" prefix_after) in + cur := l :: !cur; + match Str.split spaces l with + "+++"::_ -> read_diff_or_atat() + | _ -> read_diff() + and read_hunk msize psize = + if msize = 0 && psize = 0 + then read_diff_or_atat() + else + let l = input_line i in + cur := l :: !cur; + match Str.split spaces l with + "-"::_ -> read_hunk (msize - 1) psize + | "+"::_ -> read_hunk msize (psize - 1) + | _ -> read_hunk (msize - 1) (psize - 1) in + try read_diff_or_atat() + with End_of_file -> List.rev ((List.rev !cur)::!patches) (* ------------------------------------------------------------------------ *) -(* can get_maintainers takea file as an argument, or only a patch? *) -let resolve_maintainers cmd patches = +(* can get_maintainers take a file as an argument, or only a patch? *) +let resolve_maintainers patches = let maintainer_table = Hashtbl.create (List.length patches) in List.iter (function diff_line::rest -> (match Str.split (Str.regexp " a/") diff_line with [before;after] -> - (match Str.split (Str.regexp " ") after with + (match Str.split spaces after with file::_ -> - (match Common.cmd_to_list (cmd ^ " " ^ file) with - [info] -> - let cell = - try Hashtbl.find maintainer_table info - with Not_found -> - let cell = ref [] in - Hashtbl.add maintainer_table info cell; - cell in - cell := (diff_line :: rest) :: !cell - | _ -> failwith "badly formatted maintainer result") + let maintainers = + List.hd (Common.cmd_to_list (maintainer_command file)) in + let maintainers = + match extra_cc with + None -> maintainers + | Some extra_cc -> maintainers ^ "," ^ extra_cc in + let subsystems = + Common.cmd_to_list (subsystem_command file) in + let info = (subsystems,maintainers) in + let cell = + try Hashtbl.find maintainer_table info + with Not_found -> + let cell = ref [] in + Hashtbl.add maintainer_table info cell; + cell in + cell := (file,(diff_line :: rest)) :: !cell | _ -> failwith "filename not found") | _ -> failwith (Printf.sprintf "prefix a/ not found in %s" diff_line)) @@ -67,29 +175,90 @@ let resolve_maintainers cmd patches = (* ------------------------------------------------------------------------ *) +let common_prefix l1 l2 = + let rec loop = function + ([],_) | (_,[]) -> [] + | (x::xs,y::ys) when x = y -> x :: (loop (xs,ys)) + | _ -> [] in + match loop (l1,l2) with + [] -> + failwith + (Printf.sprintf "found nothing in common for %s and %s" + (String.concat "/" l1) (String.concat "/" l2)) + | res -> res + +let merge_files the_rest files = + let butlast l = if the_rest then l else List.rev(List.tl(List.rev l)) in + match List.map (function s -> Str.split (Str.regexp "/") s) files with + first::rest -> + let rec loop res = function + [] -> String.concat "/" res + | x::rest -> loop (common_prefix res x) rest in + loop (butlast first) rest + | _ -> failwith "not possible" + +(* ------------------------------------------------------------------------ *) + let print_all o l = List.iter (function x -> Printf.fprintf o "%s\n" x) l let make_output_files template maintainer_table patch = let ctr = ref 0 in - Hashtbl.iter - (function maintainers -> - function diffs -> - ctr := !ctr + 1; - let o = open_out (Printf.sprintf "%s%d" patch !ctr) in - Printf.fprintf o "To: %s\n\n" maintainers; - print_all o template; - List.iter (print_all o) (List.rev !diffs); - close_out o) - maintainer_table - + let elements = + Hashtbl.fold + (function (services,maintainers) -> + function diffs -> + function rest -> + if services=[default_string] + then + (* if no maintainer, then one file per diff *) + (List.map + (function (file,diff) -> + ctr := !ctr + 1; + (!ctr,true,maintainers,[file],[diff])) + (List.rev !diffs)) @ + rest + else + begin + ctr := !ctr + 1; + let (files,diffs) = List.split (List.rev !diffs) in + (!ctr,false,maintainers,files,diffs)::rest + end) + maintainer_table [] in + let number = List.length elements in + List.iter + (function (ctr,the_rest,maintainers,files,diffs) -> + let output_file = Printf.sprintf "%s%d" patch ctr in + let o = open_out output_file in + Printf.fprintf o "To: %s\n\n" maintainers; + Printf.fprintf o "Subject: [PATCH %d/%d] %s: " + ctr number (merge_files the_rest files); + print_all o template; + let (nm,o1) = Filename.open_temp_file "patch" "patch" in + List.iter (print_all o1) (List.rev diffs); + close_out o1; + let diffstat = + Common.cmd_to_list + (Printf.sprintf "diffstat -p1 < %s ; /bin/rm %s" nm nm) in + List.iter (print_all o) [diffstat]; + Printf.fprintf o "\n"; + List.iter (print_all o) diffs; + close_out o; + let (info,stat) = + Common.cmd_to_list_and_status + (checkpatch_command ((Sys.getcwd())^"/"^output_file)) in + if not(stat = Unix.WEXITED 0) + then (print_all stderr info; Printf.fprintf stderr "\n")) + (List.rev elements); + let later = Printf.sprintf "%s%d" patch (number + 1) in + if Sys.file_exists later + then Printf.fprintf stderr "Warning: %s and other files may be left over from a previous run\n" later + (* ------------------------------------------------------------------------ *) -let command = ref "get_maintainers.pl" let file = ref "" -let options = - ["-cmd", Arg.String (function x -> command := x), "get maintainer command"] +let options = [] let usage = "" @@ -99,6 +268,7 @@ let _ = Arg.parse (Arg.align options) (fun x -> file := x) usage; let i = open_in !file in let patches = split_patch i in - let maintainer_table = resolve_maintainers !command patches in + close_in i; + let maintainer_table = resolve_maintainers patches in let template = Common.cmd_to_list (Printf.sprintf "cat %s.tmp" !file) in make_output_files template maintainer_table !file diff --git a/tools/spp.ml b/tools/spp.ml index 78e7228..8c13276 100644 --- a/tools/spp.ml +++ b/tools/spp.ml @@ -20,6 +20,28 @@ *) +(* + * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + open Common exception WrongArguments -- 2.20.1